Sunteți pe pagina 1din 57

Retele neuronale

Calcul neuronal (Neural Computing)


Calcul evolutiv (Evolutionary Computing)
Calcul fuzzy (Fuzzy Computing)

Retele neuronale - curs 1

Tipuri de probleme
Rezolvarea problemelor dificile
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)

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

Retele neuronale - curs 1

Tipuri de probleme
Probleme bine puse

Date de
intrare

Algoritm =
descriere a
metodei

Venit

Rezultat
Clasa 1 sau
Clasa 2

If venit>1000 then Clasa 1


else Clasa 2
Retele neuronale - curs 1

Tipuri de probleme
Probleme rau puse

Date de
intrare
Venit

Exemple: (900, Clasa1), (500,


Clasa 1),(5000,Clasa 2), (1100,
Clasa2)

Sistem adaptiv
(incorporeaza un
modul de
invatare/evolutie)

Rezultate
Clasa 1 sau
Clasa 2

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
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]

Retele neuronale - curs 1

Scopul cursului
Directii

Instrumente

Sursa de inspiratie

Calcul neuronal

Retele neuronale
artificiale

Creierul uman

Calcul evolutiv

Algoritmi evolutivi

Evolutia naturala

Calcul fuzzy

Sisteme fuzzy

Rationament uman
si limbaj natural

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)

Retele neuronale - curs 1

Raspuns

10

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

11

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

12

Calcul neuronal
Principii de baza
Modelul biologic
Retele neuronale artificiale
Aplicabilitate
Scurt istoric
Retele neuronale - curs 1

13

Modelul biologic
Creier uman
cca 1011 neuroni si 1015 interconexiuni (sinapse)

Retele neuronale - curs 1

14

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

15

Modelul biologic
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

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
Retele neuronale - curs 1

16

Calcul neuronal
Principii de baza
Modelul biologic
Retele neuronale artificiale
Aplicabilitate
Scurt istoric
Retele neuronale - curs 1

17

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.
1

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.
1

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.

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
2

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
2

Modelul neuronului artificial


McCulloch, Pitts (1943) au propus un model
simplu al neuronului, cu intrari binare

23

Modelul neuronului artificial (cont.)


X0=

x1
x2
xn

w2

-1

w1

,
wn

y
f(x) = 1 - daca x 0
0 - in caz contrar

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

24

Reele 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

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


g ( h)

1
1 e 2 h

1
K BT

T temperatur absolut (grade Kelvin).


KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann.
28

2.2 Exemple
x1
N Intrari

x2

...

y1
y2

M Iesiri

...
yM

xN

29

Exemple (cont.)

30

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

RN de clasificare cu sabloane fixe taxonomie


Retele neuronale de clasificare
cu sabloane fixe
Intrari binare

Invatare
supervizata

Invatare
nesupervizata

Intrari reale

Invatare
supervizata

Invatare
nesupervizata

Retea
Retea
Clasificator
Perceptron Perceptron Harti cu auto-organizare
Hopfield Hamming Carpenter/Grossberg
multi-nivel Kohonen

34

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

y f ( w j x j w0 )
j 1

Ponderi
numerice
atasate
conexiunilor

f (u ) sgn(u )
f (u ) H (u )
Retele neuronale - curs 1

f (u ) tanh(u )
1
f (u )
1 exp(u )
35

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:

yi f

N1

w
k 0

Retele neuronale - curs 1

2
ik

N0

w
j 0

1
kj

x j , i 1, N 2


36

Retele neuronale artificiale


Exemple de arhitecturi:

Arhitectura pe nivele

Arhitectura recurenta

Arhitectura celulara
Retele neuronale - curs 1

37

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

38

Calcul neuronal
Principii de baza
Modelul biologic
Retele neuronale artificiale
Aplicabilitate
Scurt istoric
Retele neuronale - curs 1

39

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

40

Exemplu: recunoasterea caracterelor


Problema: recunoasterea caracterelor reprezentate prin bitmap-uri
Exemple de reprezentari ale cifrei 1
0 0

0 0

1 1

1 1

1 0

11 0

1 0

11 0

0 0

11 0

0 0

11 0

0 11 11 11 0

0 0

11 0

0 0

Dupa antrenare va
recunoaste si
reprezentarea:

0 0

1 1

0 0

11 0

1 1

0 0

11 0

0 0

11 0

0 0

11 0

0 0

11 0

11

0 11 11 11 0

Reteaua invata aceste exemple

Retele neuronale - curs 1

41

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

42

Aplicatii
Exemplu: segmentarea imaginilor =
identificarea regiunilor omogene din
imagine (faciliteaza analiza continutului
imaginii)

Retele neuronale - curs 1

43

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

44

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

45

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

46

Calcul neuronal
Principii de baza
Modelul biologic
Retele neuronale artificiale
Aplicabilitate
Scurt istoric
Retele neuronale - curs 1

47

Legatura cu alte domenii


Informatica

Biologie
Neurofiziologie

Inteligenta artificiala
Data mining

Psihologie cognitiva
Retele neuronale

Prelucrarea semnalelor
Control adaptiv

Matematica
Algebra liniara (calcul vectorial si matricial)
Analiza numerica (metode de minimizare)
Statistica
(estimare, regresie)

Inginerie

Ecuatii diferentiale

Retele neuronale - curs 1

Economie
Predictie stocuri
Analiza riscului
48

Calcul evolutiv
Principiile calculului evolutiv
Structura unui algoritm evolutiv
Clase de algoritmi evolutivi
Aplicatii ale calculului evolutiv

Retele neuronale - curs 1

49

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

50

Principiile calculului evolutiv


Analogia dintre procesele de evolutie din natura si
rezolvarea problemelor
Evolutia in natura
Mediu
Individ

Rezolvarea
problemelor
Problema
Solutie candidat

Grad de adaptare la
mediu

Calitate solutie

Retele neuronale - curs 1

51

Structura unui algoritm evolutiv


solutie
Initializare
populatie

Conditie
de oprire

Evaluare

Selectie

Algoritm evolutiv =
proces iterativ constand
in aplicarea succesiva a
unor operatori
- recombinare
- mutatie
- selectie
asupra unei populatii
initializata aleator

Recombinare,
mutatie

Retele neuronale - curs 1

52

Variante 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

Retele neuronale - curs 1

53

Variante 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

Retele neuronale - curs 1

54

Aplicatii 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.)
Retele neuronale - curs 1

55

Calcul 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)

Retele neuronale - curs 1

56

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

57