Documente Academic
Documente Profesional
Documente Cultură
Or Lab Seminar
Or Lab Seminar
Definiţie
Reţelele neuronale (RN) sunt sisteme neliniare formate dintr-un număr mare de
procesoare elementare relativ simple, numite neuroni (sau unităţi, sau perpeptroane) care
operează în paralel . Cunoştinţele sistemului sunt reprezentate prin ponderile asociate
legăturilor dintre neuroni. Învăţarea se realizează prin modificarea ponderilor
interconexiunilor.
1
1.Structura paralelă şi distribuită
Fie citeva entitati ce trebuie reprezentate si o retea de procesoare elementare.
Reprezentarea locala aloca cite un procesor pentru fiecare entitate. In reprezentarea distribuita
fiecare entitate este un model de activitate distribuit asupra mai multor elemente de procesare.
Astfel, fiecare procesor elementar este implicat in mai multe modele. Avantajul consta in
eficienta cu care se utilizeaza posibilitatile fiecarui procesor, nu in usurinta notarii sau
implementarii. De exemplu, doua imagini diferite vor fi reprezentate prin modele de activitate
diferite asupra aceluiasi sistem. În acest sens reprezentarile distribuite sint locale la scară globala.
Fiecare procesor, la rândul său este potenţial afectat de activitatea globală a tuturor celorlalte
procesoare din reţea. Reprezentarea cunoasterii este similara celei umane, care demonstreaza
distribită per global şi locală pentru auz, vedere, vorbire...
Reprezentarile distribuite asigura o utilizare eficienta a hardului disponibil. Un item este
un model de activitate asupra unor procesoare elementare. Fiecare procesor este un detector de
caracteristica. Informatia are o reprezentare activa, prin ponderile conexiunilor intre unitatile
modelului de activitate. O descriere partiala a caracteristicilor itemului dorit determina activarea
unitatilor corespunzatoare din modelul sau de activitate. Interactiunile dintre unitati permit
unitatilor active sa influenteze alte unitati, completând modelul si generind itemul care se
potriveste cel mai bine. In nici o situatie, cu exceptia avariilor majore, nu se blocheaza
procesarea.
2.2 Adaptarea
Capacitatea de adaptare este strâns lagată de procesul de învăţare şi este indispensabilă în
situaţia în care reţeaua operează înt-un mediu nestaţionar.
Există , din acest punct de vedere, două tipuri de reţele neuronale:
2
cu ponderi fixe, care îşi modifică ponderile numai în procesul de învăţare, după care le
“îngheaţă” la valorile finale rezultate
cu ponderi adaptabile, la care procesul de învăţare continuă şi în etapa de funcţionare propriu-
zisă (învăţare “on line”) ,în care la intrare se aplică date care nu au fost utilizate în faza de
învăţare propriu-zisă. In acest caz este necesar un algoritm de adaptare suficient de rapid, care
să permită modificarea ponderilor în timp real. În plus, trebuie rezolvată şi problema
stabilităşii, care impune condiţii contradictorii în privinţa vitezei de convergenţă.
6. Toleranţa la deteriorare
In creierul uman, distrugerea patologica a unei zone nu duce la blocarea sistemului.
In timp, alte zone devin capabile sa preia, cu o marja de eroare, functiile zonelor afectate. Pe de
alta parte pierderea difuza de neuroni din intreaga materie cenusie este continua (zilnic pierdem
zeci de mii de neuroni). Functiile creierului ramin nealterate, datorita compensarii prin structura.
Acest proces este valabil pina la un prag.
Într-un mod similar, performanţa reţelei neuronale se degradează treptat, într-un mod
similar celui din sistemul nervos uman, în funcţie de deteriorarea interconexiunilor neuronele sau
3
a funcţionării neuronilor înşişi. Datorită procesării distribuite, reţeaua ca sistem va continua să
funcţioneze , chiar în condiţii de deteriorare, până la gradul de avarie majoră.
7. Neliniaritatea
Modelele adoptate pentru funcţia de transfer intrare-ieşire a neuronilor elementari sunt ,
în general , neliniare, iar interconexiunile distribuie practic neliniaritatea în întreaga reţea.Acest
aspect este determinant în numeroase aplicaţii, mai ales în cele de identificare-modelare de
sistem, în care sistemul analizat are un caracter neliniar intrinsec.
7.Viteza de procesare
Timpul necesar unei R.N. pentru a furniza iesirea este independent de numarul
asociatiilor stocate. Procesarea nu corespunde unei cautari secventiale, ci unui proces de relaxare,
de minimizare a unei functii de cost. Aceasta are ca efect stabilizara retelei intr-un minim global.
Timpul de stabilizare este o constanta in majoritatea arhitecturilor. O retea data ce stocheaza zece
milioane de asociatii este la fel de rapida ca una ce stocheaza zece mii. De aici avantajul major al
R.N. in aplicatiile ce necesita o mare viteza si capacitate de procesare.
8.Implementarea
Prin structura masiv paralelă reţelele neuronale reprezintă un cadru adecvat pentru
implementările VLSI. Soluţiile oferite utilizează deci ,în general circuite VLSI, deşi s-au
raportat şi realizări optice .Gama de produse oferite include atât chip-uri care conţin câteva zeci
de neuroni elementari, plăci cu rol de coprocesor care se includ în calculatoare clasice, cât şi
calculatoare care funcţionează integral după principii neuronale, dar dedicate unor aplicaţii
specifice.
Scurt istoric
Conceptul de "neuron" a fost introdus în 1943 de McCulloch et Pitts, ca un model
matematic pentru neuronul elementar biologic. Deşi caracterizat prin limitări majore acest
model a permis explicarea funcţionării unor ansambluri de neuroni elementari, demonstrând
capacitatea lor de a efectua calcule matematice şi logice.
În 1957 Rosenblatt a descris perceptronul, primul model operaţional cu capabilităţi
de învăţare, capabil să soluţioneze probleme de clasificare. Rosenblat a demonstrat şi o
teoremă de convergenţă a algoritmului de adaptare corespunzător. În 1958 a fost proiectat
primul neurocomputer Mark I. Perceptronul care a funcţionat cu succes în recunoaşterea de
caractere. Perceptronul a stimulat cercetare până în 1969, când printr-un studiu riguros
publicat sub numele de "Perceptrons" ei demonstrează limitările majore ale arhitecturilor
neuronale cu un strat. Neexistând în acel moment nici o teorie referitoare la reţelele multistrat
cei doi cercetători au lansat ideea ca limitările se extind şi asupra reţeleor multistrat. Prestigiul
celor doi savanţi au determinat refocalizarea atenţiei în alte domenii de cercetare, ducând
practic la anularea investiţiilor în următorii cincisprezece ani.
Puţini au fost cercetătorii care şi-au continuat studiile în domeniu. În 1960 Widrow şi
colaboratorii săi propune ADALINE (ADaptive LInear NEuron) şi MADALINE (more
ADALINE) pentru rezolvarea unor probleme filtrare, de recunoaştere a formelor. Primele
succese au fost primite cu mare entuziasm de lumea ştiinţifică. Specialiştii au emis ipoteza că
şi alte procese asociate cu inteligenţa şi memoria umană pot fi modelate prin reţele neuronale.
La începutul anilor 80 descoperirile teoretice cât şi progresul tehnologic au dus la un
reviriment al domeniului. Au fost descoperite şi implementate reguli de învăţare noi (ca de
exemplu bine cunoscuta regula a retropropagării erorii pentru reţelele multistrat) care au pus
în valoare potenţialul aplicativ al reţelelor neuronale. În 1982 J.J Hopfield introduce un punct
de vedere elegant asupra reţelelor neuronale, care permite interpretarea lor ca sisteme
4
energetice cărora li se poate asocia o funcţie de energie. Evoluţia sistemului este spre
minimizarea funcţiei de energie similara unei funcţii de cost specifică aplicaţiei.
Prima conferinţă internaţională consacrată reţelelor neuronale are loc în 1987 la San
Diego (SUA). În următorii ani apar primele organizaţii de profil şi primele reviste dedicate
domeniului.
În prezent majoritatea universităţilor au grupuri de cercetare heterogene, incluzând ingineri,
matematicieni, informaticieni, psihologi, medici, biologi.
Egalizarea de canal
Abordând egalizarea de canal ca o problemă de clasificare neliniară, RN generează
curbe neliniare de separare a semnalelor, inclusiv complexe, astfel încât realizează cu succes
egalizarea şi detecţia semnalelor transmise prin canale complexe, profund neliniare şi
5
variabile în timp [S. Chen, 94]. Performanţele egalizoarelor neuronale raportate de literatura
de specialitate [G.De. Vecciana, 92], [M. Ibnkahla, 97], [A. Hussain, 97], [A. Guntsch, 98],
[C. Botoca,00], [N. Miclău,04], sunt superioare egalizoarelor convenţionale atât din punctul
de vedere al preciziei cât şi al vitezei de procesare.
Utilizarea RN la recepţie permite eliminarea atât a distorsiunilor liniare cât şi celor
neliniare introduse de canalul de comunicaţie în caracteristica de fază şi cea de amplitudine a
semnalului de comunicaţie. Între efectele nedorite compensate menţionăm: interferenţa
intersimbol, interferenţa cu canalele adiacente, zgomotul aditiv, fluctuaţiile de fază şi
amplitudine ale semnalelor transmise datorate condiţiilor meteo de propagare.
Eliminarea ecoului
Pentru eliminarea ecoului, respectiv pentru eliminarea zgomotului de fundal şi a
reverberaţiilor, tehnicile convenţionale au găsit soluţii acceptabile. Suprapunerea acestor două
efecte nedorite, mai evidente în cazul transmisiilor fără fir, în condiţiile transmisiilor multiple,
constituie o problemă în mare parte nerezolvată însă până în prezent. RN sunt o bună
alternativă datorită potenţialului lor deosebit de procesare, în timp real [M. Moonen, 97].
Procesarea de imagini
Compresia imaginilor este importantă pentru multe aplicaţii din telecomunicaţii, ca de
exemplu detecţia prin satelit, comunicaţiile multimedia, televiziunea digitală, Internetul. RN
sunt o alternativă de succes la procesarea tradiţională datorită factorului de compresie ridicat
realizat, a calităţii imaginilor reproduse, vitezei de procesare în timp real [S.B.Zahir, 00].
Literatura de specialitate consemnează rezultate remarcabile în această direcţie, de la
procesările simple de imagini statice, la cele complexe, de imagini video, în mişcare.
Menţionăm: extragerea de contur, filtrarea, sortarea de obiecte în funcţie de orientare sau
dimensiune, detecţia de minime şi maxime într-o imagine pe scara nuanţelor de gri, mărirea şi
micşorarea de imagine, segmentarea imaginilor şi recunoaşterea texturilor în imaginile
transmise prin satelit, recunoaşterea caracterelor scrise pentru automatizarea serviciilor poştale,
eliminarea zgârieturilor sau a altor perturbaţii în faxuri şi copiatoare, recunoaşterea bancnotelor
şi blocarea copiatoarelor inteligente pentru evitarea fraudelor.
În ceea ce priveşte detecţia mişcării, se raportează permanent realizări noi în:
extragerea unui anumit model din imagine (detecţia gurii şi a ochilor pe imaginile faciale în
mişcare, detecţia mânerelor de uşă din imagini pentru orientarea orbilor într-un mediu
necunoscut),
reconstrucţia de obiecte tridimensionale prin interpolare şi aproximare, rotaţia obiectelor
tridimensionale;
analiza şi detecţia mişcării;
detecţie de ţinte multiple şi urmărire;
controlul roboţilor la distanţă, într-un mediu necunoscut;
6
caracterizarea şi predicţia traficului de comunicaţii [N. Leitao, 95] (estimarea calităţii
serviciilor);
controlul comutării, controlul fluxului şi congestiei [S. Jagannathan, 01], [I. Reljin, 97];
dirijarea dinamică a traficului de comunicaţii [E. Nordstrom,95];
proiectarea de reţea [C. Srivaree-Ratana, 99];
atribuirea de canal în reţelele de comunicaţii mobile [J. Nie, 99];
Capacitatea RN de a învăţa din exemple este un avantaj esenţial pentru managementul
adaptiv al resurselor. Pentru controlul rapid şi exact al traficului este necesară adesea
caracterizarea traficului şi predicţia sa. O RN este capabilă să înveţe funcţia densitate de
probabilitate a traficului, să selecteze parametrii semnificativi statistici şi să estimeze valorile
previzibile ale lor. Caracterizarea, clasificarea şi predicţia traficului reprezintă o aplicaţie
directă a RN. Strategiile de control cu RN ale comutării au evoluat în general ca o soluţie la
problemele de optimizare. Simulările au demonstrat beneficiile utilizării RN în rutarea
dinamică prin îmbunătăţirea semnificativă a performanţelor în special în condiţii de trafic
intens.
7
Lucrarea nr.1
2. Noţiuni teoretice
Intrări
x1
x2
Fig. 1: Modelul unui neuron
Ieşirea y
unde:
wi sunt numere reale numite ponderi ;
xi sunt intrări;
este o constantă , numită prag;
f(.) este funcţia de activare;
8
f(net)
1
-1
net
-2 -1 0 1 2
1
1 1
0
0
net net net
-1 -1
-1
Adesea funcţia de activare trebuie să fie o funcţie neliniară, nedescrescătoare, astfel încât intrarea
netă trebuie să depăşească o valoare numită prag pentru determinarea unei noi activări :
a (t 1) fi ( w ija (t ) i (t ))
i j j
Uzual funcţia de activare este o funcţie neliniară, numită logistică sau sigmoidă, dată de
relaţia :
1 dacă net i ( t ) i
a i (t 1) net i ( t ) dacă net i (t ) i
0 în rest
unde este un factor de proporţionalitate. Avantajul acestei funcţii este derivata sa, simplu de
determinat :
f ' ( x ) f ( x )[1 f ( x )]
Funcţia tangentă hiperbolică este şi ea des utilizată deoarece intervalul său de răspuns
este [-1, +1].:
e x e x
tanh( x)
e x e x
9
şi derivata sa se calculează relativ uşor :
d tanh( x ) 4
[sec h( x )]2 x
dx (e e x ) 2
1
p(a i (t ) 1) net i ( t )
1e T
Probabilite
aa
Intrarea netă
Fig.3 Fonction probabilistique d’activation
Fig.3 Funcţie probabilistică de activare
Reţelele cu funcţii neliniare sunt uzual utilizate, performanţele lor fiind superioare celor
cu funcţii liniare sau semiliniare. Se pot utiliza şi alte tipuri de funcţii, unele cunoscute din teoria
aproximării, care de la aplicaţie la aplicaţie conduc la performanţe superioare.
Deşi majoritate funcţiilor de activare sunt monotone, există şi funcţii nemonotone care
conduc la performanţe foarte bune în special în memoriile asociative.
x x x
10
Fig.4 Funcţii de activare nonmonotone
w ij o i x j
unde:
wij este variaţia vectorului pondere wij de la neuronul j către neuronul i din
pasul k în pasul (k+1), dată de relaţia: w ij [k 1] w ij [k ] w ij ;
oi este ieşirea neuronului i;
xj este intrarea în neuronul j ;
η este o constantă de care depinde viteza de învăţare, η (o,1);
Această regulă de învăţare este fără control (nesupravegheată) deoarece nu utilizează
răspunsul dorit.
2) Regula perceptronului :
Este o regulă supervizată pentru că în calculul variaţiei ponderii se utilizează răspunsul
dorit notat cu di :
w ij .[d i sgn( w T
i x )].x j
Regula este cunoscută şi sub denumirea autorilor săi regula Widrow şi Hoff.
11
4) Regula Delta generalizată (supervizată)
Modificările în ponderi se calculează cu :
unde f este derivata funcţiei de activare, deci este valabilă doar pentru funcţii de activare
continue .
5) Regula de învăţare a corelaţiei
Este tot o variantă a regulii lui Hebb:
w ij d i x j
12
errsurf calculul suprafeţei de eroare pentru perceptronul simplu cu o intrare şi
un prag ;
hintonw reprezentarea simbolică a ponderilor;
hintonwb reprezentarea pragului;
ploterr reprezentarea simbolică a funcţiei eroare;
plotfa reprezentarea simbolică a valorilor dorite furnizate reţelei ;
plotlr reprezentarea simbolică a funcţiei de învăţare ;
plotpc reprezintă linia de clasificare generată de perceptronul cu două intrări;
plotpv reprezintă vectorii de învăţare pentru perceptronul cu două intrări;
5. Desfăşurarea lucrării
5.1 Neuronul cu o intrare
Se lansează programul MATLAB. Se selectează din menu-ul Help, Examples and
Demos, apoi din Toolboxes, Neural Networks.
Se încarcă “Simple neuron and transfer functions”.
5.1.1
Se alege funcţia de activare cu F. Ieşirea neuronului este dată de relaţia:
a=f(w.p+b)
Reprezentaţi funcţia de transfer selectată, în spaţiul intrării selectând pragul b la zero.
Modificaţi pe rând intrarea p, pragul b şi ponderea conexiunii w. Observaţi schimbările
asupra funcţiei de activare şi ieşirea curentă. Ce concluzie puteţi trage
5.1.2 Repetaţi punctul 5.1.1 pentru toate funcţiile de activare prevăzute în F.
Lucrarea nr. 2
Limitele perceptronului
Separabilitatea liniară şi separabiltatea nonlineară
1. Noţiuni teoretice
Se poate demonstra că un neuron adaptabil (perceptronul) nu poate discrimina decât clase
liniar separabile.
Definiţie
Clasele distincte se pot separa prin aşa zise suprafeţe de decizie. Pentru determinarea
suprafeţelor de decizie trebuie evaluat un set de funcţii de discriminare. Două clase se numesc
liniar separabile dacă funcţiile de discriminare au forma următoare:
13
(0,1) (1,1)
Categoria C2
Intrarea x2
Categoria C1
Categoria C2
x2
(0,0) (1,0)
Intrarea x1
Categoria
C2
Categoria x1
C1
Dreaptă de decizie
w1. x1+ w2 .x2-=0
N
g i ( X) a o a
n
n . xn
Deci două categorii sunt liniar separabile dacă pot fi separate printr-o dreaptă (Fig1).
Funcţiile logice SI, SAU şi NU implică clasificări separabile printr-o dreaptă.
Cel mai cunoscut caz de categorii nonseparabile liniar este cel al funcţiei SAU
EXCLUSIV (XOR). Tabelul de adevăr al funcţiei XOR este următorul :
x1 x2 XOR
0 0 0
0 1 1
1 0 1
1 1 0
Regiunile de decizie ale funcţieie SAU Exclusiv nu pot fi separate printr-o dreaptă, ci
prin două drepte , cum se poate vedea în Fig.2.
Limitele de învăţare ale unei reţele neuronale cu un singur strat de neuroni adaptivi nu
sunt date de algoritmul de învăţare ci de topologia reţelei, care permite divizarea spaţiului de
intrare doar în două semiplane.
14
Dacă funcţia SAU EXCLUSIV este adecvat codată se pot utiliza trei neuroni de intrare,
celui de-al treilea aplicâdu-i-se la intrare produsul primelor două. Problema de nonseparabilitate
liniară se transformă într-una de separabilitate liniară, concretizată prin următorul tabel de
adevăr :
x1 x2 x3 XOR
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
După cum se poate observa cea de-a treia coloană se obţine prin multiplicarea primelor
două. Fie funcţia de activare dată de relaţia:
1 dacă net i ( t )
f ( net ( t ))
0 dacă net i ( t )
Dacă se aleg ponderile w1 1, w2 1, w3 -2 şi pragul neuronului 0, problema lui XOR
devine o problemă de separabilitate liniară. Deci un aspect important în practica RN este o
reprezentare adecvată a problemei de rezolvat.
O altă metodă pentru rezolvarea unor probleme non-separabile liniar este utilizarea de
reţele cu mai multe straturi. Pentru limite de decizie mai complexe sunt necesare mai multe
straturi. Pentru SAU EXCLUSIV sunt necesare două straturi de neuroni. Fig.3 reprezintă două
variante pentru implementarea funcţiei .
x1 1 θ=1 θ=0
1
XOR
-2
x2
θ=0.3
1 θ=0.5
x1 0.6
1 XOR
1
1
x2 -0.2
θ=1.1
Fig.3 Două reţele pentru învăţarea funcţiei logice XOR
Pentru limite de decizie mai complexe sunt necesare mai multe straturi de neuroni.
Reţelele din Fig.3 se numesc cu două straturi, pentru că au două straturi de neuroni adaptabili.
15
O RN cu două straturi este capabilă să identifice orice fel de regiuni convexe, dacă
numărul neuronilor din stratul ascuns este suficient şi ponderile sunt adecvat adaptate.
Deci cu alte cuvinte o RN cu trei straturi este capabilă să proceseze orice transformare
neliniară continuă cu o precizie arbitrar de bună.
3. Desfăşurarea lucrării
Se lansează programul MATLAB. Se selectează din menu-ul Help, Examples and
Demos, apoi din Toolboxes, Neural Networks.
16
3.1 Limitele neuronului adaptabil
Încărcaţi programul “Decision Bounderies ”.
Neuronul testat are două intrări cu valori în intervalul (-3,3).Selectaţi vectorii de intrare
mutând cu mouse-ul punctele albe, respectiv negre, pentru a alege diferite probleme. Mutaţi
dreapta de decizie a neuronului încercând să clasificaţi modelele de intrare astfel înc-t nici
unul dintre modele să nu aibe contur roşu (caz în care nu poate fi clasificat nici într-una dintre
cele două categorii posibile). Observaţi şi notaţi valorile ponderilor şi pragul. Ce concluzii
puteţi trage în legătură cu posibilitatea de clasificare a unui neuron
17
3.8 Rulaţi programul “Training a linear neuron ”
Prin acest program se antrenează un neuron pentru a răspunde unui model de intrare cu
un anumit model de ieşire. Vizualizaţi suprafaţa de eroare. Câte răspunsuri posibile are
neuronul?
3.11 Selectaţi "Linearly depenendent problem" Vectorii aplicaţi la intrarea neuronului sunt
liniar dependenţi. Încercaţi să daţi o definiţie pentru liniar dependenţă. Vectorii de ieşire care
se doresc a se asocia nu sunt în aceeaţi relaţie de liniar dependenţă ca şi vectorii de intrare.
Problema dată spre rezolvare este una de tip neliniar, astfel încât eroarea la ieşirea neuronului
liniar nu va fi nulă.
Pentru toate subpunctele din "Desfăşurarea practică a lucrării" notaţi modele de intarre,
modelele de ieşire dorite, ponderile şi pragul neuronului obţinute ca soluţie.
Lucrarea nr.3
1. Scopul lucrării
Scopul lucrării este :
testarea unor aplicaţii implementabile cu neuroni adaptivi liniari ce utilizează regula
Widrow-Hoff: filtrarea adaptivă, aproximarea de funcţie, identificarea de sistem;
studiul diferitelor variante ale algoritmului retropropagării erorii şi a influenţei
parametrilor asupra convergenţei algoritmului ;
testarea unor aplicaţii ce utilizează RN multistrat antrenate cu algoritmul retropropagării
erorii: filtrarea adaptivă, controlul unui sistem, identificarea de sistem neliniar;
18
x1
·
· ui
xi · · ·
wji uj · ·
· ·
·
·
xN wkj uk
·
Strat de ieşire
Strat de intrare
Strat ascuns
Fig.1 Arhitectura unei reţele neuronale multistrat
O funcţie de activare liniară , cel mult semiliniară, pentru neuronii stratului de ieşire este
suficientă pentru majoritatea aplicaţiilor:
0, pentru net ( t )
net ( t )
a i ( t 1) f net , pentru net
2
1,
pentru net ( t )
(1)
e x e x
tanh( x) (4)
e x e x
Derivata ei este:
d tanh( x ) 4
[sec h( x )]2 x (5)
dx (e e x ) 2
19
Algoritmul propagării inverse a erorii (back-propagation)
Algoritmul a fost fundamentat independent de mai mulţi cercetători din domeniul
analizei numerice (Bryson & Ho, 1969) şi al statisticii (Werbos în 1974) până în cel al RN
(Parker 1982 , Le Cun 1986, Rumelhart, Hinton & Wiliam 1986).. Algoritmul este o învăţare cu
control în două faze şi este cunoscut şi sub denumirea de "regula delta generalizată", denumire
introdusă în "Parallel Distributed Processing" de grupul creat de Rumelhart şi Mc Clelland .
Prima etapă
În prima faza, modelul p de intrare se propagă prin reţea din strat in strat, până la ieşire.
Fie notaţiile:
N input : numărul intrărilor în RN (care dă dimensiunea vectorilor de intrare);
N h : numărul unităţilor stratului ascuns;
N output : numărul unităţilor stratului de ieşire;
Intrarea netă în fiecare neuron ascuns este pentru fiecare model de intrare p:
Ninput
net pj w
i 1
ji .x i j (6)
Ieşirea fiecărui neuron ascuns este o funcţie de suma ponderată a intrărilor şi pragul :
N input
oj f( w
i 1
ji x i j) j=1,.., N h (7)
În cazul unei reţele neuronale cu un singur strat ascuns, ieşirea o k a neuronului k de ieşire se
exprimă în funcţie de informaţia primită din stratul ascuns cu relaţia:
Nh Nh
ok f (
j1
w kj o j k ) ou net k w
j1
ij o j k k=1,.., N output (8)
Nh N input
ok f (
k 1
w kjf ( w
i 1
ji x i j ) k ) k=1,.., N output (9)
Etapa a doua
20
În faza a doua, erorile se propagă de la ieşire spre intrare, din strat în strat determinând
schimbarea ponderilor conexiunilor în sensul minimizării erorii la nivelul fiecărui neuron în
parte. Regula de învăţare pentru conexiunile dintre neuronii de ieşire şi cei ascunşi este:
p w kj . pk .o pj (11)
unde este constanta de învăţare care poate lua valori în intervalul (0,1).
Pentru unităţile ascunse, indexate după j, erorile pj se calculează cu ajutorul erorilor de la
neuronii de ieşire pk cu relaţia:
pj ( pk . w kj ). f `( net pj )
(12)
k
p w ji . j .o pi (13)
Dacă în RN există mai multe straturi ascunse eroarea se evaluează pentru fiecare strat cu
relaţia (12) în care erorile reprezintă erorile stratului ascuns superior şi apoi se determină noile
ponderi dintre stratul anterior şi cel succesiv (într-o convenţie de notare a straturilor de la intrare
spre ieşire). În reţea pot exista şi ponderi fixe. Dacă exista unităţi de ieşire şi în straturile ascunse,
acestea însumează două tipuri de erori: erori rezultate din compararea ieşirii cu răspunsul dorit şi
erori obţinute prin propagare de la unităţile de ieşire spre unităţile cu care sunt cuplate.
Observaţie
Această procedură minimizează eroarea pătratică medie în fiecare iteraţie ( dacă viteză de
învăţare este adecvat aleasă). Rezultatele practice arată că RN converge în general spre un
minim local (care poate fi şi global), care reprezintă în unele cazuri o soluţie acceptabilă. În
literatura de specialitate sunt prezentate mai multe metode pentru evitarea minimelor locale,
aspect care va fi abordat ulterior.
dE
w ( t 1) w( t ) . (14)
dw
unde dE/dw este gradientul aleatoriu necunoscut al erorii totale dintre modelele de intrare şi
modele de ieşire dorite. White a demonstrat că relaţia (14) este o aproximare stohastică.
Demonstraţie
Se demonstrează că o RN antrenată cu regulă de învăţare dată de relaţia (11)
minimizează eroarea pătratică medie pentru toate modele de intrare dacă funcţia de activare a
neuronilor este sigmoidă:
21
1
f (net p ) o p net p (15)
1e
şi
net pk w j
kjo pj k
net p j w i
ji o pi j
1
Ep
2
(d
k
pk o pk ) 2 (16)
E totală E
p
p
(17)
E p
pk .o pj (18)
w kj
-------------------------------------------------------------------------------------------------
Se ştie că pentru algoritmul BKP variaţia ponderilor este dată de relaţia (11):
p w kj p k o pj
E p
p w kj (19)
w kj
E p E p net p k E p E p o pk
şi
w kj net p k w kj net p k o pk net p k
dar
net p k
o pj
w kj
o pk
netp k
o p k 1 o pk f ' netp k
22
Ep
o pk
d pk o pk
Dacă se înlocuieşte această ultimă relaţie în relaţia (19) se obţine chiar relaţia (11):
p w kj f ' net p k d pk o ok o pj p k o pj q.e.d.
-------------------------------------------------------------------------------------------------
p w ji pj o pi
p k w kj
'
f net p o pi
j
k
E p E p o pj
net pj o pj net pj
net p j
o pi
w ji
o pj
net p j
f ' net p j
Se ştie că:
p j
pk w kj
'
f net p
j
k
Ep
Dacă se înlocuieşte w în relaţia (20) se obţine chiar relaţia (13), ceea ce trebuia
ji
demonstrat.
Observaţii
Algoritmul presupune o etapă de antrenament, una de testare şi apoi cea de utilizare.
Crearea bazei de date, împărţirea acesteia în mod adecvat influenţează major succesul sau eşecul
funcţionării unei RN. În timpul antrenamentului, fiecare pereche p de model de intrare-model de
control, este prezentată repetat. În timpul testării se aplică doar modelele de intrare,
23
verificându-se statistic corectitudinea funcţionarii. În cazul în care performanta este acceptabila
reţeaua poate fi utilizată.
Dezavantajul metodei constă în necesitatea unei prezentări repetate a modelelor în timpul
antrenamentului (deci la un timp îndelungat afectat antrenamentului).
Exemplu
Fie o RN cu trei neuroni de intrare I=3, doi neuroni ascunşi L=2 şi trei neuroni de
ieşire J=3. Matricea interconexiunilor dintre neuronii de intrare şi cei ascunşi W de
ordinul L I=2 3 este:
0. 5 0.3 0.1
w w 21 w 31
W 11
w 12 w 22
w 32 0. 3
(21)
0.2 0.1
1 0.8022
h f(b)= 1 e b (25)
0.7311
24
0.5564
o f (a ) 0.6302 (27)
0.6984
Astfel a fost generat un prim răspuns al reţelei. Se calculează apoi diferenţa dintre răspunsul
dorit t şi ieşirea curentă a neuronilor de ieşire:
0.4564
e t o 0.3302 (28)
0.0016
Pentru calculul semnalelor de eroare cu relaţia (10) se determină derivata funcţiei de
activare a neuronilor de ieşire:
0.5564 0.4436 0.2468
f © (a ) o 1 o 0.6302 0.3698 0.2330 (29)
0.6984 0.3016 0.2106
R Z 1 T iesire Z iesire iesire
Rezultă:
.1 .2 0.0904 0.0823 0.0096 0.1177
Z[t 1]
.3 .4
0.0617 0.0563
0.2383 0.3437 (32)
.5 .6
0.0003
0.0002
0.5003 0.6002
25
Se determină erorile neuronilor ascunşi. Notăm cu f suma ponderată a erorilor
neuronilor de ieşire cu care este cuplat fiecare dintre cei doi neuroni ascunşi. Se obţine:
0.0342
f R T 1 Z T iesire
0.0531
3. Desfăşurarea lucrării
Se lansează programul MATLAB. Se selectează din menu-ul Help, Examples and
Demos, apoi din Toolboxes, Neural Networks.
2.1 Selectaţi “Adaptive linear prediction”. Aplicaţia realizează predicţia unui semnal pe
baza ultimelor cinci eşantioane, utilizând regula Widrow Hoff şi o viteză de învăţare
=0.1.Se vizualizează semnalul de intrare, semnalul de ieşire curent marcat cu
albastru şi diferenţa dintre ele, eroarea. Se observă că deşi semnalul de intrare are
două frecvenţa diferite, filtrul se adaptează la schimbările din semnal pentru a
prezice cea mai bună estimare (în medie pătratică a semnalului de intrare).
26
2.3 Selectaţi “Linear system identification”. Aplicaţia implementată este de identificare
de sistem, utilizând un neuroni adaptivi liniari. Sistemul necunoscut generează
sin((sint).10t). Intrările în RN. Sunt ultimele trei eşantioane ale semnalului de
intrare. Răspunsul dorit este ieşirea sistemului necunoscut. Vizualizaţi intrarea,
ieşirea şi eroarea RN. Ce concluzie puteţi trage?
2.5 Rulaţi programul “Generalization ”. Modificaţi numărul neuronilor din stratul ascuns
şi gradul de dificultate al funcţiei aproximate de RN. Observaţi şi notaţi diferitele
situaţii studiate şi performanţele obţinute de RN.
27
Selectaţi cu mouse-ul punctul de plecare al antrenării pe graful curbelor de nivel ale
erorii. Punctul marcat cu roşu reprezintă soluţia optimă. Alegeţi diferite puncte de plecare
şi observaţi comportarea reţelei. Care este performanţa reţelei comparativ cu algoritmul
standard BKP?
2.9 Selectaţi “Adaptive linear system identification”. Aplicaţia realizează predicţia unui
semnal pe baza ultimelor două eşantioane, utilizând regula retropropagării erorii şi o
viteză de învăţare =0.5.
Lucrarea numărul 4
1.Scopul lucrării
Scopul lucrării este studiul reţelei Hopfield:
Implementarea unei reţele care să memoreze anumite modele ;
Verificarea posibilităţii de apel din memorie a unui anumit model memorat atunci când la
intrare se aplică modelul eronat ;
Studiul memorării de modele nedorite
x1 x2 xi xN
w2i wiN
w2m
28
Fig.1 Reţeaua neuronală Hopfield
1. Înmagazinarea informaţiilor Fie un set de p modele bipolare X1, X2, X3, … XP, de
dimensiune N, pe care dorim să le memorăm.Aceste modele se numesc şi modele
prototip sau modele fundamentale. Ponderile interconexiunilor se determină cu o
generalizare a regulii lui Hebb, regula bipolară hebbiană (outer product rule):
p
w ij X ki X kj (1)
k 1
Ţinând cont şi de faptul că autoreacţia trebuie să fie nulă w ii=0, relaţia (5.1) se
poate scrie sub formă matriceală:
P
W X Tk .X k p.I (2)
k 1
unde :
I este matricea unitate de dimensiune N x N ;
p este numărul modelelor memorate;
Xk este model prototip Xk =[ X k1 X k2 X k3 … X kN];
termenul p.I a fost introdus pentru anularea ponderilor de autoreacţie;
De exemplu pentru a coda modelul bipolar [1,-1] într-o reţea cu doi neuroni se obţine
matricea W1 :
29
îşi schimbă starea la un moment dat în conformitate cu funcţia de activare. Intrarea
netă a acestui neuron depinde de ieşirile tuturor celorlalţi:
N
neti [k + 1] = w ji .x j [ k ] Ii (5)
j1
unde:
xj este starea de activare a neuronului j;
Ii este o intrare constantă, numită curent de polarizare ;
N este numărul neuronilor reţelei ;
Se aplică apoi funcţia de activare care poate fi o funcţie bipolară cu prag , dată de
relaţia :
1 dacă net i [ k ] i
f ( net i [k 1]) f ( net i [ k ]) dacă net i [ k ] i
0 dacă net [k ] i
i
( 6)
Observaţii
1.
Fie X= [1,1] aplicat la intrarea reţelei anterior introduse (care a memorat modelul
[1 –1] ).
Printr-o actualizare asincronă un singur neuron îşi schimbă starea. Fie acesta
neuronul unu. Doar prima coloană a matricii pondere este implicată (ponderile
neuronului unu către neuronul doi). Starea neuronului 2 rămâne 1.
0 1
X.W1 1 1. 1 1 (8)
1 0
Aplicând din nou reţelei vectorul [-1,1] prin W şi actualizând neuronul 2 se obţine
acelaşi vector
[-1,1] . Deşi s-a dorit memorarea doar a modelului [1, -1] implicit, prin codarea
bipolară hebbiană a fost memorat şi modelul complementar [-1,1].
3. Contribuţia cea mai importantă a lui Hopfield este introducerea unei funcţii de
energie în analiza comportamentului RN. Aceasta permite abordarea RN într-o
30
manieră similară sistemelor fizice, marcându-le evoluţia. Fie funcţia ce
caracterizează reţeaua Hopfield :
n n n
E ( x ) w ij .x i .x j 2 i .x i (9)
i 1 j1 i 1
Se poate demonstra că de fiecare dată când un neuron îşi schimbă starea, E(x)
descreşte :
n n n n n n
E E( x n ) E( x v ) w ij .x in .x nj 2 i .x in w ij .x iv .x vj 2 i .x iv
i 1 j1 i 1 i 1 j1 i 1
n n
2.x nk . w
j1, j k
ij .x nj 2. k .x nk 2.x kv . w
j1, j k
ij .x vj 2. k .x kv
(10)
unde x nk ( x kv ) este starea nouă (veche) a neuronului k, singurul neuron care îşi
schimbă starea în iteraţia curentă. Toţi ceilaţi neuroni ik rămân în aceeaşi stare x nk
= x kv astfel încât vor exista termeni care se anulează.
Există două situaţii posibile:
1.când starea neuronului k a fost x kv 1 şi devine x nk 1
n n
Pentru că w ij .x j w
n
ij .x vj se poate rescrie relaţia (10) :
j1, j k j1, j k
n
E 2( x kv x nk ).( w
j1, j k
ij .x vj k ) (11)
Semnul celui de-al doilea factor al produsului din relaţia (11) este plus pentru că
n
starea neuronului k devine +1 dacă este îndeplinită condiţia ( w
j1, j k
ij .x vj k ) 0 .
Observaţii
1. Aplicaţiile posibile ale reţelei Hopfield sunt de memorie asociativă şi de optimizare.
2. Memoriile asociative implementează o transformare între o mulţime de modele
aparţinând spaţiului de intrare şi o mulţime de modele aparţinând spaţiului de ieşire.
Ori de câte ori la intrare se aplică un model particular , la ieşire se obţine modelul
asociat acestuia.
Un caz particular este autoasocierea, când un model este asociat cu el însuşi. Scopul
procesării este completarea de model sau eliminarea zgomotului, asociindu-se modelul de
intrare , incomplet, sau afectat de zgomot cu el însuşi la ieşire. Reţeaua Hopfield est o RN
auto-asociativă .
31
Capacitatea de memorare cea mai mare dintre toate memoriile asociative cunoscute.
Capacitatea de memorare este numărul modelelor distincte pe care sistemul le poate învăţa cu
precizie şi rememora, deci coda şi decoda.
N
C (12)
log 2 N
Exemplul 1
Construiţi o reţea Hopfield care să memoreze modelele X 1=[1 -1] şi X2=[-1 1], printr-o
codare bipolară hebbiană.
a) Determinaţi matricea ponderilor. De ce este suficientă memorarea unui singur model?
b) Determinaţi stările succesive ale reţelei până în starea finală pentru toate intrările posibile.
Ce observaţi?
c) Se ştie că pentru cazul particular al pragurilor şi ponderilor nule funcţia de energie a reţelei
1
este : E X.W .X T . Determinaţi evoluţia reţelei pentru intrările de la punctul b. Ce
2
puteţi spune despre stabilitatea reţelei ?
Soluţie
a) Reţeaua are 2 neuroni. Este suficientă memorarea unui singur model pentru că un artefact
al codării bipolare hebbiene este memorarea modelelor complementare. Matricea ponderilor
este :
b)Intrările posibile sunt : X=[1 1], [-1 -1], [1 -1] et [-1 1].
Fie strarea iniţială X1= [1,1]. Fie neuronul 1 cel care işi schimbă starea. Starea
neuronului 2 rămâne neschimbată.Noua stare va fi :
32
0 1
X 1 .W1 1 1. 1 1 (14)
1 0
Se aplică funcţia de activare, funcţia signum. Stare reţelei rămâne aceeaşi [-1,1]. După
actualizarea neuronului 2 starea reţelei va fi tot [-1,1], care este un punct de echilibru.
Dacă se aplică la intrare X2 = [-1 -1] se obţine prin actualizarea primului neuron:
0 1
X 2 .W1 1 1. 1 1 (15)
1 0
0 1
1 1. 1 1 (17)
1 0
Reţeaua va ajunge într-un alt punct de echilibru [1 -1]. Pentru celelalte stări posibile,
care reprezintă modelele memorate [1 -1] şi [-1 1], reţeaua nu-şi va schimba starea . În
concluzie, indiferent de starea iniţială RN, va evolua înspre unul dintre punctele sale de
echilibru
c) Pentru starea iniţială X1= [1 1] energia RN este:
1 0 1 1 1 1 1
E1i [1 1]. . [1 1] (2) 1 (19)
2 1 0 1 2 1 2
1 0 1 1 1 1 1
E1f [1 1]. . [1 1] (2) 1 (20)
2 1 0 1
2 1 2
1 0 1 1 1 1 1
E 2i [1 1]. . [1 1] (2) 1 (21)
2 1 0 1 2 1 2
1 0 1 1 1 1 1
E 2f [1 1]. . [1 1] (2) 1 (22)
2 1 0 1 2 1 2
În mod similar se poate calcula energia şi pentru celelalte intrări care sunt puncte de
echilibru ale reţelei. Pentru aceste cazuri energia rămâne la o aceeaşi valoare –1. Deci în toate
cazurile energia are o evoluţie descrescătoare astfel încât satisface condiţia de stabilitate
33
Exemplul 2
Construiţi o reţea Hopfield cu patru neuroni care să memoreze modelul X 1=[1 1 1 -1],
printr-o codare bipolară hebbiană. Fie funcţia de activare funcţia signum, pragurile şi curenţii
de polarizare nuli.
a) Determinaţi matricea ponderilor.
b) Fie starea iniţială una dintre următoarele:
X0=[1 1 1 1] ;
X0=[1 1 -1 -1] ;
X0=[1 -1 1 -1] ;
X0=[-1 1 1 -1] ;
Actualizaţi neuronii în ordinea 1, 2, 3, et 4. Determinaţi stările succesive ale reţelei până în
starea finală pentru toate intrările posibile .
c) Se ştie că pentru cazul particular al pragurilor şi ponderilor nule funcţia de energie a reţelei
1
este : E X.W .X T . Determinaţi evoluţia reţelei pentru intrările de la punctul b. Ce
2
puteţi spune despre stabilitatea reţelei ?
Soluţie
Structura reţelei este cea din Fig.2. Matricea ponderilor este dată de relaţia:
W X 1T .X 1 U (23)
1 1 0 0 0 1 1 1 1 1 0 0 0
1 1
1 0 0
W .1 1 1 1 1.0 1 0 0
1 1
1 0
1 0 0 1 0 1 1 1 1 0 0 1 0
(24)
1 0 0 0 1 1 1 1 1 0 0 0 1
0 1 1 1
1 0 1 1
W
1 1 0 1
1 1 1 0
z-1
z-1
z-1
z-1
b) Fie starea iniţială: X=[1 1 1 1]. În mod secvenţial, conform schemei de actualizare câte un
neuron îşi actualizează starea:
0 1 1 1
1 0 1
1
X 0
.W 1 1 1 1. 1 1 1 1
1 1 0 1
1 1 1 0
(25)
34
Noua stare a neuronului 1 este f (1) 1 1 1 1 1 1 1 . (26)
Într-un mod similar se actualizează neuronul 2, 1 f (1) 1 1 , apoi neuronul 3 , a cărui stare
devine 1 1 f (1) 1 . Neuronii 2 şi 3 rămân în aceeaşi stare 1. Doar neuronul 4 îşi schimbă
starea :
0 1 1 1
1 1
(27)
0 1
1 1 1 1. 1 1 1 1
1 1 0 1
1 1 1 0
sgn(3) 1 1 1 1 1 1 1 (29)
Modelul X=[-1 –1 –1 1] este un model nedorit, dar este un atractor al reţelei memorat
printr-o codare bipolară hebbiană .
d) Pentru starea iniţială X= [1 –1 –1 1] energia reţelei este:
0 1 1 1 1 1
1 0 1 1 1 1
(36)
1 1
Ei 1 1 1 1. . 3 1 1 1. 0
2 1 1 0 1 1 2 1
1 1 1 0 1 1
35
Asfel încât evoluţia energiei reţelei este descrescătoare, deci satisface condiţia de stabilitate..
3. Desfăşurarea lucrării
Se lansează programul MATLAB. Se selectează din menu-ul Help, Examples and
Demos, apoi din Toolboxes, Neural Networks.
3.1 Încărcaţi programul “Hopfield two neuron design ”. Acesta permite construirea unei
reţele Hopfield cu doi neuroni cu două puncte de echilibru, [+1 -1] şi [-1 +1].
Verificaţi cu “help NEWHOP ” modul de implementare a RN.
Funcţia de activare utilizată este SATLINS. Extrageţi expresia analitică a funcţiei.
Cei doi atractori ai reţelei sunt reprezentaţi în planul stărilor de intrare posibile prin
puncte roşii. Rulaţi programul pentru diferite intrări posibile. Ce constataţi?
3.3 Încărcaţi programul “Hopfield three neuron design ”. Acest program implementează
o reţea Hopfield cu trei neuroni cu două puncte de echilibru dorite, [+1 -1-1] şi [+1 +1 -1],
marcate în spaţiul stărilor posibile cu puncte roţii. Testaţi reţeaua pentru diferite modele de
intrare. Ce puteţi constata?
Aplicaţi la intrare unul dintre modelele [+1 0 -1] şi [+1 0 -1]. Reţeaua va evolua înspre
centrul spaţiului stărilor. Ce reprezintă acest model?
36
Lucrarea nr.5
1. Noţiuni teoretice
1.1 Reţele neuronale cu învăţare competitivă
Arhitectura unei reţele neuronale cu învăţare competitiva este prezentata in fig.1.
Învăţarea competitiva este o procedura cu sau fără control, aplicabilă în timp real.
37
Fig.1 Structura generală a unei reţele competitive
Unităţile unui strat se împart în grupări (bazine), care nu se suprapun. Numărul de unităţi
poate varia de la o grupare la alta. Fiecare unitate primeşte conexiuni excitatorii de la toate
unităţile din stratul anterior şi transmite conexiuni inhibitorii către toate unităţile grupării din
care face parte. Unităţile unei grupări intra în competiţie pentru a răspunde unui model de intrare
dat. Unitatea care are intrarea cea mai mare tinde către valoarea de activare maxima, în timp ce
toate celelalte tind către valoarea minima. Învăţarea are loc prin modificarea ponderilor,
conform unei strategii cunoscute în literatura sub numele
de "câştigătorul ia totul ".In final o singura unitate va fi activa într-o grupare. Astfel are loc
specializarea unităţilor asupra seturilor de modele de intrare similare. Fiecare unitate devine un
detector de caracteristica sau clasificator de model.
In decursul anilor, mai mulţi cercetători au elaborat modele competitive, având la baza
diferite reguli de învatare: von der Malsburg (1973), Grossberg (1972, 1976), Fukushima
(1975), Bienenstock , Cooper şi Munro (1980), Rumelhart şi Ziepser (1985).
1.2 Caracteristici
1. Unităţile unui strat sunt asemănătoare, cu excepţia unui set de caracteristici care le
face sa răspundă în mod diferit la aplicarea unui model de intrare. Dacă exista doua unităţi intr-o
grupare, fiecare este activă pentru valorile opuse ale unei caracteristici binare. Dacă exista trei
unităţi, fiecare este activa la una dintre valorile unei caracteristici ternare. Astfel o grupare poate
fi considerata ca formatoare a unei caracteristici M -are, în care fiecare model este clasificat ca
având una dintre cele M valori posibile ale acestei caracteristici.
38
2.Dacă exista o structura în modelele de stimuli unitatea va fragmenta modelele în
caracteristici structural relevante. Dacă stimulii sunt puternic structuraţi, clasificatoarele vor fi
stabile. Dacă stimulii nu au o structura clară, când o unitate , când alta, va câstiga competiţia,
generând instabilitate.
3. Clasificarea depinde atât de valorile iniţiale ale ponderilor , cât şi de secvenţa curenta
de stimuli. Un stimul Sj consta dintr-un model binar de 1 şi 0.
4. Pentru o unitate uj suma ponderilor liniilor de intrare este constantă
w ij 1
i
O unitate învaţă prin trecerea ponderilor de la liniile active la cele inactive. Doar unităţile
care vor câştigă competiţia învaţă.
w j ( t 1) w j ( t ) c t . rj ( x( t )).[ x( t ) w j ( t )]
unde -rj(x(t))= 1 dacă clasificarea făcută a fost corectă
-rj(x(t))= -1 dacă clasificarea făcută nu a fost corectă
39
Şi vectorii pondere au o lungime fixă (deoarece suma lor este 1) deci şi ei se vor
reprezenta printr-un punct pe sfera N dimensională. La prezentarea unui model la intrarea
reţelei, neuronul care are cea mai mare stare de activare este cel al cărui vector pondere este
mai aproape de stimul. El va fi declarat câştigător. Ori de câte ori un neuron câştigă
competiţia vectorul său pondere se va roti din locaţia curentă înspre locaţia modelului de
intrare.
În Fig.2a sunt reprezentaţi 8 stimuli, grupaţi în trei regiuni pe sferă.
Fig.2b. Când se aplică un model de intrare va câştiga competiţia neuronul al cărui
vector pondere este mai apropiat. Vectorul pondere se va deplasa spre gruparea cea mai
apropiată de modele.
Fig3c Vectorii pondere ai celor trei neuroni din figură au migrat înspre centrul grupării
mai apropiate.
2a 2b 2c
w j (t 1) w j ( t ) .h( j, k ).[x(t ) w j (t )]
40
Funcţia h(j,k) este o funcţie proporţională cu distanţa dintre neuronii j şi k, cunoscută sub
denumirea dată de formă, ca "pălăria mexicană". H(j,j) este 1.
O funcţie posibilă este h(j, k) e - (j - k)2
Vecinătăţile descresc în timp ca mărime spre o limita predefinită, localizând zona de
maximă activitate. Algoritmul va produce grupări pentru toate tipurile de clase găsite în datele
de antrenament Reţeaua devine astfel o hartă topografica de caracteristici. Ordonarea pe hartă a
grupărilor si timpul de convergenta sunt dependente, de modul în care, datele de antrenament
sunt prezentate reţelei. Odată antrenata reţeaua, detectoarele de caracteristici trebuie insă
etichetate manual.
Kohonen si colaboratorii au utilizat aceste reţele în recunoaşterea vorbirii, realizând un
procesor hard, ca parte integranta a unui sistem mai mare.
x2
x1
41
standard. Ponderea neuronului care câştigă competiţia se modifică cu regula de învăţare
Kohonen.
w j (t 1) w j (t ) (t ).[ x(t ) w j (t )]
Toţi ceilaţi neuroni nu-şi modifică ponderile.
w j (t 1) w j (t )
După determinarea vectorilor prototip, aceştia se etichetează, fiecare urmând să reprezinte una
dintre clasele modelelor de intrare.
Se poate demonstra că LVQ realizează convergenţa înspre valori numite centroizi, care
minimizează eroarea de cuantizare.
x. p( x ).dx
Ck
wk xkmediu
Ck
p( x ).dx
Observaţii
1.Eroarea de reconstrucţie:
x wk
w k (t 1) w k (t ) ( t )( x( t ) w k ( t ))
Dacă clasificarea este incorectă, adică x şi vectorul pondere w k aparţin la clase diferite,
vectorul neuronului câştigător este îndepărtat de intrare cu:
w k (t 1) w k (t ) (t )( x(t ) w k (t ))
42
Pentru toţi ceilalţi neuroni ponderile răm-n neschimbate:
w i (t 1) w i (t )
x p w k 2 x p w k1 x p w i
4. Etichetele de clasă corespunzătoare dpk1, dpk2 sunt comparate cu eticheta corectă dp.
Să considerăm că :
dp dk2 ; d p d k1
Neuronul k2 va câştiga competiţia. Se aplică regula de învăţare diferit ptr. Cei doi
neuroni câştigători ai competiţiei:
wk 2 (t 1) wk 2 (t ) (t )( x(t ) wk 2 (t ))
wk 1 (t 1) wk 1 (t ) (t )( x(t ) wk 1 (t ))
Vectorul xp trebuie să aparţină unei "ferestre" definite ca un plan median între vectorii
wk1 şi wk2. Fie:
x p w k1 d1 ; xp w k 2 d 2
d1 d 2 1 w
min( ; ) s avec s
d 2 d1 1 w
43
Diferite reguli de învăţare, mai selective sau mai puţin selective;
Algoritmii LVQ pot fi utilizaţi în reţele neuronale multistrat , ca o etapă intermediară în:
Recunoaşterea de caractere
Aproximarea de funcţii
2. Scopul lucrării
Scopul lucrării este studiul principiului de funcţionare competitiv şi al unor reţelecompetitive:
Reţeaua cu autoorganizare de tip Kohonen;
Cuantizarea vectorială;
Câteva dintre modelele competitive ale lui Grossberg : Instar şi Outstar ;
Testarea unor aplicaţii ce utilizează reţele competitive;
3. Desfăşurarea lucrării
Se lansează programul MATLAB. Se selectează din menu-ul Help, Examples and
Demos, apoi din Toolboxes, Neural Networks, şi apoi Other Neural Networks Design
Textbook Demos
3.3 Selectaţi din menu-ul Help, Examples and Demos, apoi din Toolboxes, Neural
Networks, programul “Competitive learning”.
Neuronii reţelei competitive învaţă să reprezinte diferite regiuni ale spaţiului de intrare,
acolo unde apar modelele de intrare, reprezentate prin puncte.
Tastaţi help NEWC pentru a obţine informaţii referitoare la modul de funcţionare al
reţelei competitive.
Vectorii pondere ai celor 8 neuroni se vor orienta spre centrele de greutate ale grupărilor
modelelor de intrare, realizând o clasificare a acestora.
La aplicarea unui model de intrare va fi activ doar neuronul corespunzător clasei de
apartenenţă .
3.4 Încărcaţi din menu-ul Help, Examples and Demos, apoi din Toolboxes, Neural
Networks programul “One dimensional self organising map”
O RN competitivă de tip Kohonen învaţă să reprezinte diferite regiuni ale spaţiului de
intrare, răspunzând la modele similare (care aparţin unei regiuni) prin activarea neuronului
corespunzător clasei. RN învaţă topologia spaţiului de intrare.
Modelele de intrare sunt 100 de punct pe un cerc de rază unitate. Reţeaua implementată
are 10 neuroni. După 1000 de iteraţii fiecare neuron va învăţa să răspundă (să fie activ) pentru
44
unul dintre cele 10 intervale ale segmentului de cerc de pe care au fost selectate modelele de
intrare. Vectorii pondere marcaţi prin puncte roşii sunt vectorii prototip pentru cele 10 clase .
3.5 Selectaţi din menu-ul Help, Examples and Demos, apoi din Toolboxes, Neural
Networks “Two dimensional self organising map”
O RN competitivă de tip Kohonen de dimensiune 5x6 neuroni învaţă să clasifice 1000
de vectori bidimensionali de coordonate x1, x2, cu valori în intervalul
-1,+1.
Ponderile sunt iniţializate la 0 astfel încât ele vor fi reprezentate în planul ponderilor
printr-un punct. În timp ponderile se vor autoorganiza într-o reţea regulată fiecare neuron
încercând să reprezinte una dintre cele 5x6 zone ale spaţiului modelelor de intrare
3.6 Din “Other Neural Networks Design Textbook Demos”, Chapter 14 demos încărcaţi
programul “2 D Feature Map”. Pentru diferite constante de învăţare şi diferite vecinătăţi
antrenaţi reţeaua pentru a reprezenta spaţiul modelelor de intrare.
Notaţi experimentele şi concluziile trase.
Lucrarea nr.6
1. Scopul lucrării
Scopul lucrării este studiul reţelei competitive MAXNET într-o aplicaţie practică de
recunoaştere de caractere
În reţeaua MAXNET fiecare neuron este cuplat cu el însuţi excitator şi îi inhibă pe toţi
ceilalţi:
45
pentru i j
w ij
1 pentru i j (6.20)
1
unde < 1 este o constantă pozitivă mică, iar N numărul de neuroni din RN
N
Relaţia (6.20) se poate scrie ca o matrice de dimensiune NxN:
1 ...
1 ...
WN = (6.
... ...
... 1
21)
Modelul de intrare este activ doar în momentul iniţial x[0]. Fiecare neuron procesează
intrarea sa netă conform relaţiei (6.1), adică sub formă matricială:
o[ k 1] f (net[ k ]) (6.23)
Exemplul 1
Tipic o reţea neuronală competitivă este alcătuită din două straturi de neuroni:
-stratul de măsurare al distanţei;
-stratul competitiv, de tip MAXNET sau MINNET;
Structura unei reţele neuronale competitive este reprezentată în figura:
Regulă de
învăţare 46
Fig. Structura reţelei neuronale competitive
Pentru litera C, modelul prototip, conform imaginii de mai jos, are structura
s1=[1 1 1 1 -1 -1 1 1 1 1].
În mod similar pentru litera I modelul prototip este s2=[-1 1 -1 -1 1 -1 1 -1 1 ] şi pentru
litera T modelul prototip este s3=[1 1 1 -1 1 -1 -1 1 -1 ]. Matricea ponderilor pentru reţeaua
Hamming este:
1 1 1 1 1 1 1 1 1
1
WH 1 1 1 1 1 1 1 1 1
2
1 1 1 1 1 1 1 1 1
47
unde HD este distanţa Hamming, numărul de poziţii în care cei doi vectori diferă.
Practic net ne dă numărul de poziţii în care cei doi vectori x şi sm se aseamănă.
1
f (net m ) net m
N
1
1
1
1
1 9 5 9
net 1 1 1 1 1 1 1 1 1 1 1 7
2 2 2 2
1
1
1
1
1
1
1
1
1 9 3 9
net 2 1 1 1 1 1 1 1 1 1 1 3
2 2 2 2
1
1
1
1
1
1
1
1
1 9 1 9
net 3 1 1 1 1 1 1 1 1 1 1 5
2 2 2 2
1
1
1
1
48
1 3
f (net 2 ) net 2
9 9
1 5
f ( net 3 ) net 3
9 9
7 3 5
x[0]
9 9 9
Dacă se alege ε=0.2 (care respectă condiţia ε<1/3), matricea ponderilor pentru reţeaua
Maxnet WN este :
1 1
1 5 5
1 1
WN 1
5 5
1 1
5 5 1
1 1 7
1 5 5 9 0.599
1 1 3
net[0] WN x[0] 1 0.067
5 5 9
1 1 1 5 0.333
5 5 9
0.599
o[1] f ( net[0])
0.067
0.333
1 1
1 5 5 0.599
1 0.520
1
net[1] WN f (net[0]) 1 0.067 0.120
5 5
1 1 0.333 0.120
5 1
5
49
0.520
o[ 2] f ( net[1])
0
0.120
1 1
1 5 5 0.520
1 0.480
1
net[2] WN f (net[0]) 1 0 0.140
5 5
1 1 0.120 0.096
5 1
5
0.480
o[3] f (net[ 2])
0
0.096
1 1
1
5 5 0.520 0.461
1 1
net[3] WN f (net[2]) 1 0 0.115
5 5 7
1 1 0.120 10
5 5 1
0.461
o[ 4] f ( net[3])
0
0
o[ 4] 0.461 0 0
Exemplul 2
Pentru litera C, modelul prototip, conform imaginii de mai jos, are structura
s=[1 1 1 1 0 0 1 1 1 1]
1 2 3
4 5 6
7 8 9
În mod similar pentru litera I modelul prototip este s=[0 1 0 0 1 0 1 0 1 ] şi pentru litera T
modelul prototip este s=[1 1 1 0 1 0 0 1 0 ]. Matricea ponderilor pentru reţeaua Hamming
este:
50
1 1 1 1 0 0 1 1 1
1
WH 0 1 0 0 1 0 0 1 0
2
1 1 1 0 1 0 0 1 0
Intrarea netă pentru reţeaua Hamming este dată de relaţia
1 m T N
net m s x , pentru m=1,2, … , p
2 2
sau de :
net m N HD( x, s ( m ) )
unde HD este distanţa Hamming, numărul de poziţii în care cei doi vectori diferă.
Practic net ne dă numărul de poziţii în care cei doi vectori x şi sm se aseamănă.
1
f (net m ) net m
n
1
1
1
1
1 9 3 9
net 2 0 1 0 0 1 0 0 1 0 1 6
2 2 2 2
1
1
1
1
51
1
1
1
1
1 9 5 9
net 3 1 1 1 0 1 0 0 1 0 1 7
2 2 2 2
1
1
1
1
1 6
f (net 2 ) net 2
9 9
1 7
f (net 3 ) net 3
9 9
8 6 7
o[0]
9 9 9
Intrarea netă în stratul MAXNET este:
1 1 8
1 4
4 9 0.528
1 1 6
net[0] WN o[O] 1 0.25
4 4 9
1 1 7 0.389
4 4 1
9
52
1 1
1 4
4 0.368 0.314
1 1
o[2] WN f (net[1]) 1 0.021 0.12
4 4
1 1 0.194 0.097
4 1
4
1 1
1 4 4 0.314
1 0.29
1
o[3] WN f (net[2]) 1 0 0.103
4 4
1 1 0.097 0.019
4 1
4
1 1
1
4 4 0.29 0.285
1 1
o[4] WN f (net[3]) 1 0 0.077
4 4
1 1 0.019 0.053
4 1
4
0.285
o[5] f (net[4])
0
0
o[5] 0.285 0 0
Cel mai apropiat model prototip este deci cel corespunyător literei C.
x 1 1 1 1 0 0 1 1 1
53
54