curs2

57
Retele neuronale - curs 1 1 Retele neuronale Calcul neuronal (Neural Computing) Calcul evolutiv (Evolutionary Computing) Calcul fuzzy (Fuzzy Computing)

Upload: cernatand

Post on 17-Sep-2015

228 views

Category:

Documents


4 download

DESCRIPTION

Curs

TRANSCRIPT

  • Retele neuronale - curs 1*Retele neuronale

    Calcul neuronal (Neural Computing)

    Calcul evolutiv (Evolutionary Computing)

    Calcul fuzzy (Fuzzy Computing)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Tipuri de problemeRezolvarea problemelor dificileProbleme bine-puse:Exista un model formal asociat problemeiExista un algoritm de rezolvare

    Exemplu: clasificarea angajatilor unei companii in doua clase in functie de venitul acestora (venit mai mic respectiv mai mare decat un prag dat)Probleme rau-puse:Dificil de formalizatSe cunosc doar exemple nu si un model general Metodele clasice nu pot fi aplicateExemplu: clasificarea angajatilor unei companii in doua clase in functie de credibilitatea privind acordarea unui imprumut bancar

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Tipuri de problemeProbleme bine puse Algoritm = descriere a metodeiDate de intrareRezultatIf venit>1000 then Clasa 1 else Clasa 2VenitClasa 1 sau Clasa 2

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Tipuri de problemeProbleme rau puseSistem adaptiv (incorporeaza un modul de invatare/evolutie)Date de intrareRezultateModelul este extras de catre sistemul adaptiv pe baza exemplelorVenitClasa 1 sau Clasa 2Exemple: (900, Clasa1), (500, Clasa 1),(5000,Clasa 2), (1100, Clasa2)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Tipuri de problemeMetodele de rezolvare a problemelor rau-puse se caracterizeaza prin:

    Abilitatea de a extrage modele din exempleAdaptabilitate la probleme cu caracter dinamicRobustete la erori (zgomot) in datele de intrareCapacitatea de a furniza rezultate intr-un interval rezonabil de timp (chiar daca rezultatele sunt aproximative dar acceptabile dpdv practiv)

    Domeniul care se ocupa cu dezvoltarea unor astfel de tehnici este denumit computational intelligence sau soft computing

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Tipuri de problemeComputational Intelligence

    is a branch of the study of artificial intelligence; it aims to use learning, adaptive, or evolutionary algorithms to create programs that are, in some sense, intelligent. [Wikipedia]Terminologie:Calcul inteligent (?)Inteligenta computationala (?)Calcul tolerant (?)Soft Computingis a collection of new techniques in computer science, especially in artificial intelligence; unlike hard computing, it is tolerant of imprecision, uncertainty and partial truth. In effect, the role model for soft computing is the human mind. The guiding principle of soft computing is: exploit the tolerance for imprecision, uncertainty and partial truth to achieve tractability, robustness and low solution cost. [Wikipedia]

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Scopul cursuluiDirectii

    Calcul neuronal

    Calcul evolutiv

    Calcul fuzzyInstrumente

    Retele neuronale artificiale

    Algoritmi evolutivi

    Sisteme fuzzy Sursa de inspiratie

    Creierul uman

    Evolutia naturala

    Rationament uman si limbaj natural

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Scopul cursuluiCalcul natural = metode de rezolvare a problemelor inspirate de naturaCalcul neuronalCalcul evolutiv Calcul fuzzy Calcul ADN Calcul cuanticCalcul membranar

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul neuronal

    Principii de baza

    Modelul biologic

    Retele neuronale artificiale

    Aplicabilitate

    Scurt istoric

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Principii de bazaDpdv functional: retea neuronala artificiala = sistem adaptiv capabil sa furnizeze raspunsuri pentru o problema dupa ce a fost antrenata pentru probleme similareData de intrareRaspunsExempleRetea neuronala =Sistem adaptiv (antrenabil)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Principii de bazaDpdv structural:

    Retea neuronala = ansamblu de unitati functionale (neuroni) interconectate

    Unitate functionala = model foarte simplificat al neuronului biologic care efectueaza prelucrari simple asupra unor date de intrare

    Retea neuronala artificiala = model foarte simplificat la creierului

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Principii de bazaComportarea complexa a unei RN emerge din interactiunea si aplicarea in paralel a multor reguli simple

    Abordarea bottom-up este complementara abordarii top down specifica inteligentei artificiale clasice

    Abilitatea de invatare deriva din adaptabilitatea unor parametri asociati unitatilor functionale (acesti parametri sunt ajustati in procesul de invatare)

    Prelucrarile sunt preponderent numerice spre deosebire de abordarile din inteligenta artificiala clasica care acopera si sfera simbolica

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul neuronal

    Principii de baza

    Modelul biologic

    Retele neuronale artificiale

    Aplicabilitate

    Scurt istoric

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Modelul biologicCreier uman cca 1011 neuroni si 1015 interconexiuni (sinapse)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Modelul biologicCum lucreaza un neuron ?Primeste semnale de intrare prin dendrite

    Semnalele de intrare genereaza diferente de potential pe membrana celulara

    Diferenta de potential se propaga pana la conul axonal

    De-a lungul axonului este transmis un tren de impulsuri electrice

    Impulsurile electrice ajunse la terminatiile axonului provoaca eliberarea unor neurotransmitatori in spatiul sinaptic transfer de informatie catre dendritele altui neuron

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Modelul biologicCalculator (vonNeumann) Unul sau cateva procesoare de viteza mare (timp raspuns: ns) si cu putere mare de calcul

    Una sau cateva magistrale de comunicare de viteza mare

    Memorie accesata prin adresa

    Componenta ce incorporeaza cunoasterea este separata de cea destinata efectuarii calculelor

    Adaptabilitate redusaCreier uman Un numar mare (1011) de unitati functionale de viteza relativ mica (ms) cu putere de calcul limitata

    Numar foarte mare (1015) de conexiuni de viteza limitata

    Memorie cu caracter asociativ

    Cunostintele sunt stocate in sinapse

    Adaptarea se realizeaza prin modificarea conexiunilor

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul neuronal

    Principii de baza

    Modelul biologic

    Retele neuronale artificiale

    Aplicabilitate

    Scurt istoric

    Retele neuronale - curs 1

  • Reele neurale - Introducere(Artificial Neural Networks)RN (ANN) - multime de elemente de prelucrare neliniara care opereaza in paralel si care sunt legate intre ele in structuri ce seamana cu retelele neuronale biologice.Model inspirat din retelele neuronale din creierul uman.retele neurale, modele conexioniste (nume dat mai ales structurilor aparute recent), sisteme neuromorfice, modele de calcul distribuit.*

  • CaracteristiciSunt formate dintr-un numar mare de elemente de prelucrare simple, identice; din punct de vedere functional aceste elemente sunt asemanatoare neuronilor din creierul umanElementele de prelucrare sunt conectate prin legaturi; fiecare legatura are asociata o pondere ce codifica cunostintele retelei neuronaleControlul functionarii este paralel si distribuit Sunt capabile sa invete prin modificarea automata a ponderilor; pot realiza deci achizitia automata a cunostintelor.*

  • De ce ANN?Capacitate de invatare si adaptare din exempleAuto-organizare: o RN poate sa-si creeze propria organizare sau reprezentare a informatiei primita pe parcursul invatariiOperare in timp real: odata invatata functioneaza repede + prelucrari in paralelGrad mare de robustete si toleranta la defecte: defectarea unui anumit numar de noduri sau legaturi nu afecteaza, in general, comportarea si performanta retelei.

    *

  • Scurt istoric1943 - McCulloch, Pitts - model simplu (binary devices with fixed thresholds)1960 - Rosenblatt- perceptron - (feed-forward ANN)- enunta si demonstreaza teorema de convergenta a perceptronului1960 - Widrow, Hoff - ADALINE (ADAptive LInear Element)- dispozitiv electronic analogic- folosea ca regula de invatare Least-Mean-Squares (LMS)1969 - Minsky, Papert - au demonstrat limitarile perceptronului1970 - Retele neurale ca memorii adresabile prin continut*

  • Scurt istoric (cont.)1970 - RN s-au cam abandonat1980 - Cercetari reluate1982 - Hopfield - functia de energie - a pus in evidenta notiunea de memorie ca o multime de atractori dinamici stabili1986 - Rumelhart - perceptroni multinivel, retele backpropagation (recurrent networks) 1988 - Grossberg si Carpenter in 1988 - algoritmi de rezonanta - retele ART (Adaptive Resonance Theory)1988 - Anderson si Kohonen (independent) - tehnici asociative*

  • Modelul neuronului artificialMcCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare*

  • Modelul neuronului artificial (cont.)y = f (i=1,nwixi - )y = f (i=0,nwixi)wi reprezinta intensitatea legaturii (conexiunii) de la neuronul cu iesirea xiDaca fi > 0 excitareDaca fi < 0 inhibareDaca fi = 0 nu exista sinapsa intre neuroni - valoarea de prag peste care neuronul se activeaza X0= -1f(x) = 1 - daca x 0 0 - in caz contrar*

  • Reele neurale artificialeModelul unei ANN este caracterizat de:Topologia reteleiCaracteristicile elementelor de prelucrare (noduri / neuroni)Regulile de actualizare / modificare (invatare) a ponderilorSensul de propagare a semnalelor de activare prin retea

    *

  • Caracteristici ANNTipul de invatare: supervizat, nesupervizat, fara invatareSensul de propagare a semnalelorFeed-forward networks - un singur sensFeedback networks - in ambele sensuri (dinamice, numite si recurente)Regulile de actualizare a ponderilor (invatare)Mapare asociativa: reteaua invata sa produca anumite valori ale intrarilor pentru sabloane particulare aplicate la intrare (regasire sabloane distorsionate, memorie adresabila prin continut)Detectarea regularitatilor: reteaua invata sa raspunda anumitor propietati particulare ale sabloanelor de intrare; fiecare iesire are o anumita semnificatie

    *

  • Caracteristici ANN (cont.)Numarul de straturi sau niveluriTipul intrarilor si al iesirilor: intreg, realTipul functiei de transfer (activare)limitator logica nivel sigmoid

    *t = i=1,nwixi -

    f(t) = 1 / (1 + e-t)f(t) = (et - e-t) / (et + e-t)fffttt111

  • Caracteristici ANN (cont.)Functia activare - sigmoid

    T temperatur absolut (grade Kelvin).KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann.

    *

  • 2.2 Exemple*

  • Exemple (cont.)*

  • Exemple (cont.) - Recunoasterea sabloanelor*Retea antrenata sa recunoasca literele T si H

  • Exemple (cont.) - Recunoasterea sabloanelor*AntrenareFunctionare

  • Exemple (cont.)*O retea poate arata si asa!

  • RN de clasificare cu sabloane fixe - taxonomie*

  • Retele neuronale - curs 1*Retele neuronale artificiale RNA = unitati functionale interconectate cu parametri ajustabili

    Unitate functionala: mai multe intrari, o singura iesireintrariiesirePonderi numerice atasate conexiunilorOperatii specifice unei unitati functionale (ex.)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Retele neuronale artificialeStructura RNA

    Arhitectura (graf orientat etichetat)

    Functionare (functii vectoriale, relatii de recurenta, ecuatii diferentiale)

    Invatare/antrenare (algoritm de ajustare a parametrilor ajustabili)Exemplu: arhitectura pe nivele (feedforward) Relatie de functionare:

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Retele neuronale artificialeExemple de arhitecturi:Arhitectura pe niveleArhitectura recurentaArhitectura celulara

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Retele neuronale artificialeInvatare = extragerea modelului corespunzator problemei pornind de la exemple

    = determinarea parametrilor retelei

    Strategii de invatare:

    Supervizata (i.e. invatare cu instructor, set de antrenare ce contine date de intrare si raspunsuri corecte)

    Nesupervizata (i.e. bazata doar pe datele de intrare)

    Intarire (i.e. de tip recompensa/penalizare)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul neuronal

    Principii de baza

    Modelul biologic

    Retele neuronale artificiale

    Aplicabilitate

    Scurt istoric

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiClasificare si recunoasterea formelor

    Date de intrare: ansamblu de trasaturi ale unui obiectEx: informatii despre angajat

    Iesire: Clasa caruia ii apartine obiectulEx: eligibil sau neeligibil pt. un credit bancar

    Alte exemple: recunoasterea caracterelor, clasificarea imaginilor, clasificarea texturilor, recunoasterea vorbirii, clasificarea semnalelor (EEG, EKG)Particularitate: antrenare supervizata (bazata pe exemple de clasificare corecta)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Exemplu: recunoasterea caracterelorProblema: recunoasterea caracterelor reprezentate prin bitmap-uri

    0001011000100010011101111110000001011000100010011101111100000001011000100010001001111000Exemple de reprezentari ale cifrei 100010110001000100010111110000Reteaua invata aceste exempleDupa antrenare va recunoaste si reprezentarea:

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiGruparea datelor (varianta nesupervizata a clasificarii datele se grupeaza in functie de similaritatile intre ele)

    Date de intrare: ansamblu de trasaturi ale unui obiectEx: informatii privind traseul urmat de catre utilizator intr-un sistem de comert electronic

    Iesire: clasa caruia ii apartine obiectulEx: grupuri de utilizatori cu comportare similare

    Alte exemple: segmentarea imaginilor

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiExemplu: segmentarea imaginilor = identificarea regiunilor omogene din imagine (faciliteaza analiza continutului imaginii)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiAproximare / estimarea = determinarea unei relatii intre doua variabile

    Date de intrare: valori ale variabilelor independenteEx: valori obtinute prin masuratori

    Iesire: valoare corespunzatoare variabilei dependenteEx: valoarea estimata pentru marimea care depinde de variabilele independente

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiPredictie = estimarea valorii(valorilor) viitoare dintr-o serie temporala

    Date intrare: succesiune de valoriEx: rata de schimb valutar din ultima luna

    Iesire: estimarea valorii urmatoareEx: estimarea ratei pentru maine

    Alte exemple: predictia stocurilor, predictia in meteorologie

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*AplicatiiOptimizare = rezolvare in timp rezonabil a unor probleme de optimizare combinatoriala pentru care nu exista algoritmi clasici de complexitate polinomiala

    Memorii asociative = memorii in care regasirea informatiei se bazeaza pe versiuni partiale ale informatiei stocate si nu pe adresa

    Control adaptiv = determinarea unui semnal de control ce asigura un anumit semnal de iesire al sistemului

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul neuronal

    Principii de baza

    Modelul biologic

    Retele neuronale artificiale

    Aplicabilitate

    Scurt istoric

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Legatura cu alte domeniiRetele neuronaleBiologieNeurofiziologiePsihologie cognitivaAlgebra liniara (calcul vectorial si matricial)Analiza numerica (metode de minimizare)Statistica(estimare, regresie)Ecuatii diferentialeInformaticaMatematicaInteligenta artificialaData miningIngineriePrelucrarea semnalelorControl adaptivEconomiePredictie stocuriAnaliza riscului

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul evolutiv

    Principiile calculului evolutiv

    Structura unui algoritm evolutiv

    Clase de algoritmi evolutivi

    Aplicatii ale calculului evolutiv

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Principii de bazaEste inspirat de procesele de evolutie din natura bazate pe principiile ereditatii si a supravietuirii celui mai bun individ

    Se bazeaza pe determinarea solutiei unei probleme prin explorarea spatiului solutiilor potentiale folosind o populatie de cautatori (agenti)

    Elementele populatiei sunt codificate in functie de specificul problemei (siruri de biti, vectori de valori reale, arbori etc.)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Principiile calculului evolutivEvolutia in naturaMediuIndividGrad de adaptare la mediu

    Rezolvarea problemelorProblemaSolutie candidatCalitate solutieAnalogia dintre procesele de evolutie din natura si rezolvarea problemelor

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Structura unui algoritm evolutiv

    Initializare populatieEvaluareRecombinare,mutatieSelectieConditie de opriresolutieAlgoritm evolutiv = proces iterativ constand in aplicarea succesiva aunor operatori - recombinare - mutatie - selectieasupra unei populatiiinitializata aleator

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Variante de algoritmi evolutivi Algoritmi genetici: Codificarea binara a informatieiIncrucisarea (recombinarea) este operatorul principalMutatia este operator secundarAdecvate pentru probleme de optimizare combinatoriala

    Strategii evolutive:Codificare reala a informatieiMutatia este operatorul principalIncrucisarea este operator secundarAdecvate pentru rezolvarea de probleme de optimizare continua

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Variante de algoritmi evolutiviProgramare genetica: Elementele populatiei sunt structuri (arbori, expresii, programe etc)Permit generarea unor structuri de calcul prin procese de evolutie

    Programare evolutiva:Codificare reala a informatieiMutatia este singurul operatorUtilizata in rezolvarea problemelor de optimizare continua

    Tendinta curenta: hibridizarea diferitelor variante

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Aplicatii ale algoritmilor evolutiviProbleme de planificare a activitatilor (generarea automata a orarelor sau planificarea sarcinilor).

    Probleme de predictie (evolutia unui activ financiar sau a cursului valutar).

    Programare automata (generarea unor programe care sau structuri computationale cum sunt automatele celulare si retelele de sortare).

    Prelucrarea imaginilor (proiectarea filtrelor pentru imagini si analiza imaginilor).

    Proiectarea retelelor neuronale (stabilirea arhitecturii si/sau a ponderilor).

    Probleme de identificare a unor structuri (bioinformatica)

    Simularea unor activitati creative (generare de imagini, muzica etc.)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Calcul fuzzySe bazeaza pe calculul nuantat ce foloseste valori fuzzy in locul unor valori exacteMultime fuzzy: fiecare element are asociata o functie de apartenentaRegula fuzzy: regula implicand variabile lingvisticeReceCaldFierbinteAplicatii: dispozitive de control (masini de spalat, frigidere, lifturi etc)

    Retele neuronale - curs 1

  • Retele neuronale - curs 1*Materiale de curs

    C. Bishop Neural Networks for Pattern Recognition, Clarendon Press, 1995

    L. Chua, T. Roska Cellular neural networks and visual computing , Cambridge.University Press, 2004.

    A. Engelbrecht Computational Intelligence. An Introduction, 2007

    M.Hagan, H. Demuth, M.Beale Neural Networks Design, PWS Publishing 1996

    Hertz,J.;Krogh,A.;Palmer,R. - Introduction to the Theory of Neural Computation, Addison-Wesley P.C., 1991.

    Ripley, B.D. - Pattern Recognition and Neural Networks, Cambridge University Press, 1996.

    Retele neuronale - curs 1