Title: Sisteme de programe pentru timp real
1Sisteme de programepentru timp real
- Universitatea Politehnica din Bucuresti
- 2004-2005
- Adina Magda Florea
- http//turing.cs.pub.ro/sptr_05
2Curs Nr. 4
- Retele neurale
- Retele neurale - introducere
- Retele neurale artificiale
- Retele neurale Hopfield
2
31. Retele 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. - In literatura de specialitate ele se mai numesc
retele neurale, modele conexioniste (nume dat mai
ales structurilor aparute recent), sisteme
neuromorfice, modele de calcul distribuit.
3
41.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.
4
51.2 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.
5
61.3 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
6
7Scurt 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
7
81.4 Modelul neuronului uman
8
9Picture from PENN School of Medicine
http//mail.med.upenn.edu/hessd/Lesson2.html
Purkinje neuron in the cerebellum. The
branch-like structures above the spherical cell
body are dendrites. Colors represent membrane
potentials (top) and calcium ion concentrations
(bottom) during signal conduction through the
dendrites.
9
10Modelul neuronului uman (cont.)
- Creierul are 1010 neuroni. 1 neuron primeste
intrari de la 105 sinapse ? 1016 sinapse
Componentele unui neuron
Sinapse
10
111.5 Modelul neuronului artificial
- McCulloch, Pitts (1943) au propus un model simplu
al neuronului, cu intrari binare
11
12Modelul neuronului artificial (cont.)
X0 ?
-1
f(x) 1 - daca x ? 0 0 - in caz contrar
- y f (?i1,nwixi - ?) y f (?i0,nwixi)
- wi reprezinta intensitatea legaturii (conexiunii)
de la neuronul cu iesirea xi - Daca fi gt 0 ? excitare
- Daca fi lt 0 ? inhibare
- Daca fi 0 ? nu exista sinapsa intre neuroni
- ? - valoarea de prag peste care neuronul se
activeaza
12
132. Retele 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
13
142.1 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
14
15Caracteristici 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 ?i1,nwixi - ? f(t) 1 / (1 e-t) f(t)
(et - e-t) / (et e-t)
15
16Caracteristici ANN (cont.)
- Functia activare - sigmoid
- T temperatura absoluta (grade Kelvin).
- KB 1,38 10-16 erg/K, constanta lui Boltzmann.
16
172.2 Exemple
17
18Exemple (cont.)
18
19Exemple (cont.) - Recunoasterea sabloanelor
Retea antrenata sa recunoasca literele T si H
19
20Exemple (cont.) - Recunoasterea sabloanelor
Antrenare
Functionare
20
21Exemple (cont.)
O retea poate arata si asa!
21
222.3 RN de clasificare cu sabloane fixe - taxonomie
22
233. Retele neurale Hopfield
- 1986 Hopfield a propus un model de RN ca o
teorie a memoriei - Caracteristici
- ? Reprezentare distribuita. O data este stocata
ca un sablon de activare a unui set de elemente
de prelucrare. In plus, diverse date pot fi
stocate sub forma de sabloane diferite, utilizind
aceeasi multime de elemente de prelucrare. - ? Control asincron, distribuit. Fiecare element
de prelucrare (nod/neuron) ia decizii numai pe
baza informatiilor locale. Aceste informatii
locale converg spre sinteza solutiei globale.
23
24Retele neurale Hopfield
- Caracteristici
- ? Memorie adresabila prin continut. In retea
pot fi stocate un anumit numar de sabloane.
Pentru regasirea unui sablon, este suficient sa
se specifice numai o parte a acestuia, iar
reteaua gaseste automat intreg sablonul. - ? Toleranta la defecte. Daca o parte din
elementele de prelucrare lucreaza incorect sau se
defecteaza, reteaua continua sa functioneze
corect.
24
253.1 Caracteristici retele Hopfield
- Problema Sa se memoreze un set de M sabloane xis
(x1xN), s1,M, astfel incat daca se da un sablon
li reteaua sa raspunda producand sablonul care
este cel mai apropiat de li , deci cel mai
apropiat xis - Posibilitate calcul serial(conventional) -
memorarea sabloanelor xis si scrierea unui
program care sa calculeze distanta Hamming - si alegem xis pentru care aceasta distanta este
minima
s 1,M
25
26Caracteristici retele Hopfield (cont.)
- Cum se poate face acelasi lucru cu o RN?
- Prezentand la intrare sablonul li ce structura si
ce ponderi va face iesirile egale cu xis minim? - Memorie adresabila prin continut si nu foarte
sensibila la erori - Dinamica unei memorii asociative
- atractori
- bazine de atractie
26
273.2 Structura retelei Hopfield
- wij wji, intrari binare (1 si 1 sau 1 si 0),
functia de transfer limitator
Intrari la mom. t1
Intrari la momentul t
27
28Structura retelei Hopfield (cont.)
- Relaxare paralela
- Exista doua moduri de actualizare a iesirilor
- sincron si asincron
- Abordarea sincrona necesita un ceas central si
este potential sezitiva la erori de timing. - In modul asincron se poate proceda in doua
feluri - - la fiecare interval de timp se selecteaza
aleator un neuron si se actualizeza - - fiecare neuron isi actualizeaza independent
iesirea cu o anumita probabilitate la fiecare
unitate de timp. - Cele doua posibilitati sunt echivalente (cu
exceptia distributiei intervalelor de
actualizare). Prima este potrivita pentru
simularea cu un control centralizat iar cea de a
doua este potrivita pentru unitati hardware
independente.
28
29Algoritmul de relaxare paralela a retelei Hopfield
- Calculul ponderilor initiale
- 2. Initializeaza reteaua cu sablonul necunoscut
- 3. repeta pana la convergenta (xj(tk1) xj(tk))
- 4. xj ? xj este sablonul cautat
- sfarsit
0
29
303.3 Avantaje
- Utilizare
- memorata asociativ iesirea reprezinta
continutul cautat - clasificator iesirea comparata cu unul dintre
cele M exemple - Procedura de relaxare paralela cautare în
spatiul starilor. O configurare de intrare va
folosi reteaua ca sa ajunga într-un minim local,
starea cea mai apropiata.
30
313.4 Limitari
- Doua limitari majore
- (1) numarul de sabloane ce pot fi stocate si
regasite este limitat - memoria adresata poate contine ? elemente
incorect regasite - clasificate ? neidentificari
- Hopfield a aratat ca acest comportament apare
destul de rar daca numarul de clase M ? 0.138N - (2) - un sablon poate fi instabil daca are multe
valori identice cu un alt sablon în exemple. - Sablon instabil ? reteaua converge spre o stare
diferita de cea asociata sablonului
31
323.5 Motivarea alegerii ponderilor
- Caz simplu un singur sablon xi (M1) pe care
vrem sa-l memoram. - Conditia ca reteaua sa fie stabila
- Acest lucru este adevarat daca wij proportional
cu xixj deoarece xi2 1. - Se observa ca daca un numar de intrari din
sablonul de intrare (? 1/2) sunt gresite, ele vor
fi depasite în suma intrarilor si f(...) va
genera corect xj (exista 2 atractori). - O configuratie initiala apropiata (in termeni de
distanta Hamming) de xj se va relaxa repede la
xj.
32
33Motivarea alegerii ponderilor (cont.)
- Caz cu mai multe sabloane (M)
- Regula lui Hebb
- Stabilitatea unui sablon particular xpj
- Conditia de stabilitate este
- unde hpj al neuronului j pentru sablonul p este
33
343.6 Functia de energie
- O functie a configuratiei ni a sistemului. Putem
sa ne imaginam aceasta functie ca descriind niste
suprafete. - Proprietatea fundamentala a functiei de energie
este aceea ca descreste întotdeauna, pe masura ce
sistemul evolueaza asa cum s-a specificat. - Atractorii (sabloanele memorate) sunt minime
locale pe suprafetele de energie. - wii 0
- F. de energie care minimizeaza o masura in
starile stabile permite un mod alternativ de
calcul al ponderilor, valorile obtinute fiind
cele date de regula lui Hebb.
34
35Functia de energie (cont.)
- Cazul unui singur sablon dorim ca functia de
energie sa fie minima daca suprapunerea de valori
intre configuratia retelei si valoarea unui
sablon memorat xi este maxima. Astfel alegem - unde factorul 1/(2N) este luat pentru a obtine
1/N in formula, altfel se poate lua 1/2. - Cazul cu mai multe sabloane xis - minime locale
pentru H prin insumarea peste toate sabloanele
35
36Functia de energie (cont.)
- Inmultind se obtine
- ceea ce reprezinta aceeasi formula ca cea
initiala a energiei considerind wij dupa regula
lui Hebb. - Aceasta abordare este utila in cazul in care se
doreste utilizarea retelei ca un dispozitiv de
aflare a solutiei optime (solutie de cost minim). - Daca putem scrie o functie de energie o carui
minim satisface conditia de solutie optima a
problemei, atunci se poate dezvolta acesta
functie si identifica ponderile wij drept
coeficientii factorilor de forma ninj. - Se pot intalni si alti termeni. Constantele nu
sunt o problema (se ignora), coeficientii
termenilor de forma ni (liniari) se considera
valorile de prag ale neuronilor sau legaturi de
la un neuron x0. Termenii de forma ninjnk - nu
discutam.
36
373.7 Aplicatii de optimizare
- Identificarea ponderata a grafurilor (bipartite)
- Fie o multime de N puncte (N par) si distantele
dij intre fiecare pereche de puncte. Sa se lege
punctele in perechi a.i. un punct sa fie legat cu
un singur alt punct si sa se minimizeze lungimea
totala a legaturilor. - Problema nu este NP
- Se modeleaza problema cu o retea Hopfield
- Vom folosi 0/1 in loc de 1/-1
- Se asociaza un neuron nij , iltj fiecarei perechi
de puncte din problema gt N(N-1)/2 neuroni. - Fiecare solutie candidat corespunde unei stari a
retelei cu nij1 daca exista legatura intre i si
j si 0 in caz contrar (in solutie). - Problema revine la a gasi un mod de specificare a
ponderilor wij,kl intre unitati.
37
38Identificarea ponderata a grafurilor
- Intr-o retea simetrica (Hopfield) cu N(N-1)/2
neuroni exista N(N-1)N(N-1)-2/8 conexiuni. - Dorim sa minimizam lungimea totala a legaturilor
- respectand restrictia, pt. orice i 1,N
- Aceasta restrictie spune ca fiecare nod din graf
trebuie sa fie conectat cu exact un singur alt
nod. - Definim nijnji pt. jlti si luam nii0.
- Deoarece este dificil sa impunem restrictia de la
inceput, adaugam functiei de energie un termen de
penalizare care este minimizat daca restrictia
este satisfacuta.
38
39Identificarea ponderata a grafurilor (cont.)
- Functia totala de cost este
- termeni constanti - se ignora
- coeficienti ai termenilor liniari (nij)
valoarea de prag a unui neuron - coeficienti ai termenilor patratici (nij nkl)
valorile wij,nk - Comparand cu relatia initiala, se observa ca este
? pentru neuronul nij si restul de termeni din
relatie indica faptul ca nij primeste intrari cu
activarea -? de la celelalte unitati care au
legatura cu i sau j. - In general, wij,kl -? ori de cate ori ij are un
index in comun cu kl altfel wij,kl 0 .
39
40Identificarea ponderata a grafurilor (cont.)
- Interpretarea valorilor
- Contributia dij la ? a lui nij reflecta faptul
ca, fara restrictia impusa, lungimea minima
totala ar fi minimizata la 0 (nici o legatura). - Cealalta contributie la ?, care este -?,
contracareaza acest lucru astfel incat un numar
pozitiv de legaturi sa fie admise. - Inhibitia mutuala -? reprezentata de wij,kl
descurajeaza configuratii cu mai mult de o
legatura de la sau spre un neuron. - Cum se alege ??
- Cam de aceeasi marime cu dij tipice ? aceeasi
prioritate de satisfacere a restrictiei cat si de
a avea legaturi scurte. - ? mica ? solutii cu putine legaturi (violeaza
restrictia de toate leg) - ? mare ? nu cele mai scurte legaturi dar
satisface restrictia - ? se modifica pe masura ce se relaxeaza reteaua
intai mic (relaxez restr.) apoi gradual mai mare
(fortez restrictia). - Grafuri bipartite legaturi numai dij cu i?S1 si
j ?S2
40
41Problema comis-voiajorului
- Hopfield si Tank 1985, 1986
- Se modeleaza problema cu o retea Hopfield
- Orasele, cu distantele dij între ele
- Daca sunt N orase, se aleg N x N neuroni
- nia 1 daca si numai daca orasul i este parcurs
în pasul a
41
42Problema comis-voiajorului (cont.)
- Lungimea totala a unui traseu este (de fapt este
lungimea tuturor traseelor posibile, daca toti
neuronii ar fi activi) - a 1,N, cu regula a 0 ? a N si a N1 ? a
1 - 2 restrictii
- 1) ? i 1, N 2) ? a 1, N
- Functia de cost se adauga la L doi termeni de
penalizare care sunt minimizati daca restrictiile
sunt satisfacute
42
43Problema comis-voiajorului (cont.)
- Din primul termen al lui H obtinem ponderi - dij
intre toti neuronii dintr-o coloana si neuronii
de pe coloana dinainte si de dupa. - Termenii proportionali cu ? dau ponderi
inhibatoare pentru conexiunile intre perechi de
neuroni de pe o coloana si intre perechi de
neuroni de pe o linie (pt. a satisface
restrictiile).
dij
dij
43