820 likes | 1.63k Views
Retele neuronale. Calcul neuronal (Neural Computing) Calcul evolutiv (Evolutionary Computing) Calcul fuzzy (Fuzzy Computing). Tipuri de probleme. Rezolvarea problemelor dificile. Probleme rau-puse: Dificil de formalizat Se cunosc doar exemple nu si un model general
E N D
Retele neuronale • Calcul neuronal (Neural Computing) • Calculevolutiv (Evolutionary Computing) • Calcul fuzzy (Fuzzy Computing) Retele neuronale - curs 1
Tipuri de probleme • Rezolvarea problemelor dificile Probleme rau-puse: • Dificil de formalizat • Se cunosc doar exemple nu si un model general • Metodele clasice nu pot fi aplicate Exemplu: clasificarea angajatilor unei companii in doua clase in functie de credibilitatea privind acordarea unui imprumut bancar Probleme “bine-puse”: • Exista un model formal asociat problemei • Exista 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) Retele neuronale - curs 1
Tipuri de probleme • Probleme bine puse Algoritm = descriere a metodei Date de intrare Rezultat Clasa 1 sau Clasa 2 Venit If venit>1000 then Clasa 1 else Clasa 2 Retele neuronale - curs 1
Tipuri de probleme Exemple: (900, Clasa1), (500, Clasa 1),(5000,Clasa 2), (1100, Clasa2) • Probleme rau puse Sistem adaptiv (incorporeaza un modul de invatare/evolutie) Date de intrare Rezultate Clasa 1 sau Clasa 2 Venit Modelul este extras de catre sistemul adaptiv pe baza exemplelor Retele neuronale - curs 1
Tipuri de probleme Metodele de rezolvare a problemelor rau-puse se caracterizeaza prin: • Abilitatea de a extrage modele din exemple • Adaptabilitate la probleme cu caracter dinamic • Robustete la erori (zgomot) in datele de intrare • Capacitatea 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
Tipuri de probleme Soft Computing “is 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] Computational 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 (?) Retele neuronale - curs 1
Scopul cursului Sursa de inspiratie Creierul uman Evolutia naturala Rationament uman si limbaj natural Instrumente Retele neuronale artificiale Algoritmi evolutivi Sisteme fuzzy Directii Calcul neuronal Calcul evolutiv Calcul fuzzy Retele neuronale - curs 1
Scopul cursului Calcul natural = metode de rezolvare a problemelor inspirate de natura Calcul neuronal Calcul ADN Calcul membranar Calcul evolutiv Calcul cuantic Calcul fuzzy Retele neuronale - curs 1
Calcul neuronal • Principii de baza • Modelul biologic • Retele neuronale artificiale • Aplicabilitate • Scurt istoric Retele neuronale - curs 1
Principii de baza Dpdv functional: retea neuronala artificiala = sistem adaptiv capabil sa furnizeze raspunsuri pentru o problema dupa ce a fost antrenata pentru probleme similare Exemple Data de intrare Retea neuronala = Sistem adaptiv (antrenabil) Raspuns Retele neuronale - curs 1
Principii de baza Dpdv 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
Principii de baza • Comportarea 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
Calcul neuronal • Principii de baza • Modelul biologic • Retele neuronale artificiale • Aplicabilitate • Scurt istoric Retele neuronale - curs 1
Modelul biologic Creier uman cca 1011 neuroni si 1015 interconexiuni (sinapse) Retele neuronale - curs 1
Modelul biologic Cum “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
Modelul biologic Creier 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 Calculator (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 redusa Retele neuronale - curs 1
Calcul neuronal • Principii de baza • Modelul biologic • Retele neuronale artificiale • Aplicabilitate • Scurt istoric Retele neuronale - curs 1
Reţele 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. 18
Caracteristici • Sunt formate dintr-un numar mare de elemente de prelucrare simple, identice; din punct de vedere functional aceste elemente sunt asemanatoare neuronilor din creierul uman • Elementele de prelucrare sunt conectate prin legaturi; fiecare legatura are asociata o pondere ce codifica cunostintele retelei neuronale • Controlul functionarii este paralel si distribuit • Sunt capabile sa invete prin modificarea automata a ponderilor; pot realiza deci achizitia automata a cunostintelor. 19
De ce ANN? • Capacitate de invatare si adaptare din exemple • Auto-organizare: o RN poate sa-si creeze propria organizare sau reprezentare a informatiei primita pe parcursul invatarii • Operare in timp real: odata invatata functioneaza repede + prelucrari in paralel • Grad mare de robustete si toleranta la defecte: defectarea unui anumit numar de noduri sau legaturi nu afecteaza, in general, comportarea si performanta retelei. 20
Scurt istoric • 1943 - McCulloch, Pitts - model simplu (binary devices with fixed thresholds) • 1960 - Rosenblatt - perceptron - (feed-forward ANN) - enunta si demonstreaza teorema de convergenta a perceptronului • 1960 - Widrow, Hoff - ADALINE (ADAptive LInear Element)- dispozitiv electronic analogic- folosea ca regula de invatare Least-Mean-Squares (LMS) • 1969 - Minsky, Papert - au demonstrat limitarile perceptronului • 1970 - Retele neurale ca memorii adresabile prin continut 21
Scurt istoric (cont.) • 1970 - RN s-au cam abandonat • 1980 - Cercetari reluate • 1982 - Hopfield - functia de energie - a pus in evidenta notiunea de memorie ca o multime de atractori dinamici stabili • 1986 - 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 22
Modelul neuronului artificial • McCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare 23
x1 w1 w2 x2 , y xn wn Modelul neuronului artificial (cont.) X0= -1 • y = f (i=1,nwixi - ) y = f (i=0,nwixi) • wi reprezinta intensitatea legaturii (conexiunii) de la neuronul cu iesirea xi • Daca fi > 0 excitare • Daca fi < 0 inhibare • Daca fi = 0 nu exista sinapsa intre neuroni • - valoarea de prag peste care neuronul se activeaza f(x) = 1 - daca x 0 0 - in caz contrar 24
Reţele neurale artificiale Modelul unei ANN este caracterizat de: • Topologia retelei • Caracteristicile elementelor de prelucrare (noduri / neuroni) • Regulile de actualizare / modificare (invatare) a ponderilor • Sensul de propagare a semnalelor de activare prin retea 25
Caracteristici ANN • Tipul de invatare: supervizat, nesupervizat, fara invatare • Sensul de propagare a semnalelor • Feed-forward networks- un singur sens • Feedback 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 26
Caracteristici ANN (cont.) • Numarul de straturi sau niveluri • Tipul intrarilor si al iesirilor: intreg, real • Tipul functiei de transfer (activare) limitator logica nivel sigmoid f f f 1 1 1 t t t t = i=1,nwixi - f(t) = 1 / (1 + e-t) f(t) = (et - e-t) / (et + e-t) 27
Caracteristici ANN (cont.) • Functia activare - sigmoid • T – temperatură absolută (grade Kelvin). • KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann. 28
2.2 Exemple 29
Exemple (cont.) - Recunoasterea sabloanelor Retea antrenata sa recunoasca literele T si H 31
Exemple (cont.) - Recunoasterea sabloanelor Antrenare Functionare 32
Exemple (cont.) O retea poate arata si asa! 33
Retele neuronale artificiale RNA = unitati functionale interconectate cu parametri ajustabili Unitate functionala: mai multe intrari, o singura iesire Operatii specifice unei unitati functionale (ex.) intrari iesire Ponderi numerice atasate conexiunilor Retele neuronale - curs 1
Retele neuronale artificiale Exemplu: arhitectura pe nivele (feedforward) Structura RNA • Arhitectura (graf orientat etichetat) • Functionare (functii vectoriale, relatii de recurenta, ecuatii diferentiale) • Invatare/antrenare (algoritm de ajustare a parametrilor ajustabili) Relatie de functionare: Retele neuronale - curs 1
Retele neuronale artificiale Exemple de arhitecturi: Arhitectura pe nivele Arhitectura recurenta Arhitectura celulara Retele neuronale - curs 1
Retele neuronale artificiale Invatare = 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
Calcul neuronal • Principii de baza • Modelul biologic • Retele neuronale artificiale • Aplicabilitate • Scurt istoric Retele neuronale - curs 1
Aplicatii • Clasificare si recunoasterea formelor Date de intrare: ansamblu de trasaturi ale unui obiect Ex: informatii despre angajat Iesire: Clasa caruia ii apartine obiectul Ex: 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
Exemplu: recunoasterea caracterelor Exemple de reprezentari ale cifrei 1 Problema: recunoasterea caracterelor reprezentate prin bitmap-uri Dupa antrenare va recunoaste si reprezentarea: 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 Reteaua invata aceste exemple 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 0 Retele neuronale - curs 1
Aplicatii • Gruparea datelor (varianta nesupervizata a clasificarii – datele se grupeaza in functie de similaritatile intre ele) Date de intrare: ansamblu de trasaturi ale unui obiect Ex: informatii privind traseul urmat de catre utilizator intr-un sistem de comert electronic Iesire: clasa caruia ii apartine obiectul Ex: grupuri de utilizatori cu comportare similare Alte exemple: segmentarea imaginilor Retele neuronale - curs 1
Aplicatii Exemplu: segmentarea imaginilor = identificarea regiunilor omogene din imagine (faciliteaza analiza continutului imaginii) Retele neuronale - curs 1
Aplicatii • Aproximare / estimarea = determinarea unei relatii intre doua variabile Date de intrare: valori ale variabilelor independente Ex: valori obtinute prin masuratori Iesire: valoare corespunzatoare variabilei dependente Ex: valoarea estimata pentru marimea care depinde de variabilele independente Retele neuronale - curs 1
Aplicatii • Predictie = estimarea valorii(valorilor) viitoare dintr-o serie temporala Date intrare: succesiune de valori Ex: rata de schimb valutar din ultima luna Iesire: estimarea valorii urmatoare Ex: estimarea ratei pentru maine Alte exemple: predictia stocurilor, predictia in meteorologie Retele neuronale - curs 1
Aplicatii • Optimizare = 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
Calcul neuronal • Principii de baza • Modelul biologic • Retele neuronale artificiale • Aplicabilitate • Scurt istoric Retele neuronale - curs 1
Legatura cu alte domenii Informatica Biologie Neurofiziologie Inteligenta artificiala Data mining Psihologie cognitiva Retele neuronale Inginerie Prelucrarea semnalelor Control adaptiv Matematica Algebra liniara (calcul vectorial si matricial) Analiza numerica (metode de minimizare) Economie Predictie stocuri Analiza riscului Statistica (estimare, regresie) Ecuatii diferentiale 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
Principii de baza • Este 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