Title: Retele neuronale
1Retele neuronale
- Scopul cursului
- Calcul neuronal (Neural Computing)
- Calcul evolutiv (Evolutionary Computing)
- Calcul fuzzy (Fuzzy Computing)
- Structura cursului si aspecte organizatorice
2Scopul cursului
- 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)
3Scopul cursului
Algoritm descriere a metodei
Date de intrare
Rezultat
Clasa 1 sau Clasa 2
Venit
If venitgt1000 then Clasa 1
else Clasa 2
4Scopul cursului
Exemple (900, Clasa1), (500, Clasa
1),(5000,Clasa 2), (1100, Clasa2)
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
5Scopul cursului
- 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
6Scopul cursului
- 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 (?)
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
7Scopul cursului
- Directii
- Calcul neuronal
- Calcul evolutiv
- Calcul fuzzy
Sursa de inspiratie Creierul uman Evolutia
naturala Rationament uman si limbaj natural
Instrumente Retele neuronale artificiale Algorit
mi evolutivi Sisteme fuzzy
8Scopul cursului
- Calcul natural metode de rezolvare a
problemelor inspirate de natura
Calcul neuronal
Calcul ADN
Calcul membranar
Calcul evolutiv
Calcul cuantic
Calcul fuzzy
9Calcul neuronal
- Principii de baza
- Modelul biologic
- Retele neuronale artificiale
- Aplicabilitate
- Scurt istoric
10Principii 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
11Principii 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
12Principii 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
13Calcul neuronal
- Principii de baza
- Modelul biologic
- Retele neuronale artificiale
- Aplicabilitate
- Scurt istoric
14Modelul biologic
- Creier uman
- cca 1011 neuroni si 1015 interconexiuni
(sinapse)
15Modelul 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
16Modelul 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
17Calcul neuronal
- Principii de baza
- Modelul biologic
- Retele neuronale artificiale
- Aplicabilitate
- Scurt istoric
18Retele 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
19Retele 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
20Retele neuronale artificiale
Arhitectura pe nivele
Arhitectura recurenta
Arhitectura celulara
21Retele 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)
22Calcul neuronal
- Principii de baza
- Modelul biologic
- Retele neuronale artificiale
- Aplicabilitate
- Scurt istoric
23Aplicatii
- 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)
24Exemplu recunoasterea caracterelor
- Problema recunoasterea caracterelor reprezentate
prin bitmap-uri
Exemple de reprezentari ale cifrei 1
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
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
Reteaua invata aceste exemple
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
25Aplicatii
- 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
26Aplicatii
- Exemplu segmentarea imaginilor identificarea
regiunilor omogene din - imagine (faciliteaza analiza continutului
imaginii)
27Aplicatii
- 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
28Aplicatii
- 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
29Aplicatii
- 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
30Calcul neuronal
- Principii de baza
- Modelul biologic
- Retele neuronale artificiale
- Aplicabilitate
- Scurt istoric
31Scurt istoric
- Pitts McCulloch (1943)
- Primul model matematic al neuronului biologic
-
- Hebb (1949)
- Regula de ajustare a ponderilor sinaptice
permeabilitatea sinaptica dintre doi neuroni
creste daca acestia devin activi simultan
32Scurt istoric
- Prima lansare a retelelor neuronale (1950 1965)
- Rosenblatt (1958)
- Perceptron retea simpla pentru recunoasterea
caracterelor - Perceptron learning rule primul algoritm de
invatare (bazat pe principiul penalizarii
erorilor) - Algoritm de antrenare si teorema de convergenta
perceptronul poate fi antrenat sa raspunda corect
pentru orice problema de clasificare liniar
separabila - Widrow and Hoff (1960, 1962)
- Algoritm de antrenare bazat pe minimizarea unei
functii de eroare folosind o metoda de optimizare
33Scurt istoric
- Perioada de stagnare (1965 1980)
- Minski si Papert au facut cunoscute limitarile
perceptronului - Nu poate reprezenta (invata) unele functii
booleene simple (XOR) - - Tot ei au intuit solutia (utilizarea mai
multor nivele) dar nu au putut dezvolta la ora
respectiva un algoritm de antrenare adecvat
34Scurt istoric
- Renasterea interesului pt. domeniu (1980 -
prezent) - Tehnici noi
- Algoritmul BackPropagation (Werbos-1974,
Rumelhart-1985) - Modele inspirate de fizica (reteaua Hopfield,
masina Boltzmann, etc.) - Invatare nesupervizata (Kohonen, Grossberg)
- Extinderea domeniului de aplicabilitate
- Observatie
- Retelele neuronale au limitari si dezavantaje
- Trebuie utilizata doar cand tehnicile clasice
esueaza (solutii de compromis)
35Legatura 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
36Calcul evolutiv
- Principiile calculului evolutiv
- Structura unui algoritm evolutiv
- Clase de algoritmi evolutivi
- Aplicatii ale calculului evolutiv
37Principii 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.)
38Principiile calculului evolutiv
Analogia dintre procesele de evolutie din natura
si rezolvarea problemelor
Rezolvarea problemelor Problema Solutie
candidat Calitate solutie
Evolutia in natura Mediu Individ Grad de adaptare
la mediu
39Structura unui algoritm evolutiv
solutie
Algoritm evolutiv proces iterativ constand in
aplicarea succesiva a unor operatori -
recombinare - mutatie - selectie asupra
unei populatii initializata aleator
Initializare populatie
Conditie de oprire
Evaluare
Selectie
Recombinare, mutatie
40Variante de algoritmi evolutivi
- Algoritmi genetici
- Codificarea binara a informatiei
- Incrucisarea (recombinarea) este operatorul
principal - Mutatia este operator secundar
- Adecvate pentru probleme de optimizare
combinatoriala - Strategii evolutive
- Codificare reala a informatiei
- Mutatia este operatorul principal
- Incrucisarea este operator secundar
- Adecvate pentru rezolvarea de probleme de
optimizare continua
41Variante de algoritmi evolutivi
- Programare genetica
- Elementele populatiei sunt structuri (arbori,
expresii, programe etc) - Permit generarea unor structuri de calcul prin
procese de evolutie - Programare evolutiva
- Codificare reala a informatiei
- Mutatia este singurul operator
- Utilizata in rezolvarea problemelor de optimizare
continua - Tendinta curenta hibridizarea diferitelor
variante
42Aplicatii ale algoritmilor evolutivi
- Probleme 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.)
43Calcul fuzzy
- Se bazeaza pe calculul nuantat ce foloseste
valori fuzzy in locul unor valori exacte - Multime fuzzy fiecare element are asociata o
functie de apartenenta - Regula fuzzy regula implicand variabile
lingvistice
Rece
Cald
Fierbinte
Aplicatii dispozitive de control (masini de
spalat, frigidere, lifturi etc)
44Structura cursului
- Proiectarea retelelor neuronale
- Retele cu un singur nivel. Perceptron. Probleme
liniar separabile. Algoritmii Widrow-Hoff si
Delta. - Retele multinivel. Algoritmul BackPropagation si
variante. Probleme neliniar separabile si
aproximare - Retele cu functii radiale
- Invatare bazata pe competitie. Retele Kohonen.
Teoria rezonantei adaptive - Invatare de tip corelativ. Analiza in componente
principale - Retele recurente (Hopfield, Elman, retele
celulare) - Proiectarea evolutiva a retelelor neuronale
45Structura laboratorului
- Scop simularea tipurilor fundamentale de retele
neuronale - Instrumente MatLab (Scilab, Weka, JavaSNNS)
- Teme laborator
- Implementare perceptron simplu
- Implementare algoritm Backpropagation
- Implementare retea cu functii radiale
- Implementare retea Kohonen
46Notare
- Teme 40 (1 punct/ tema)
- Test final 60
- Proiect optional 60-80
- Pot fi combinate in orice varianta
47Materiale de curs
- http//web.info.uvt.ro/dzaharie/
- 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.