Sunteți pe pagina 1din 13

Retele neuronale de tip perceptron multistrat (MLP)

1. Arhitectura reţelei

Discuţia din cursul precedent evidenţiază faptul că limitele instruirii folosind


algoritmul perceptronului nu sunt datorate algoritmului însuşi. Aceste limite sunt legate
de topologia extrem de simplă a reţelei utilizate, care asigură doar împărţirea spaţiului
intrărilor în două semiplane. Dacă problema de instruire necesită regiuni de decizie mai
complicate, atunci trebuie mărită complexitatea reţelei.
Exemplul privind funcţia XOR poate să ne furnizeze o sugestie pentru depăşirea
dificultăţilor perceptronului legate de geometria regiunilor de decizie. Soluţia constă în
utilizarea unor reţele având mai multe straturi (câmpuri) de neuroni între neuronii de
intrare şi cei de ieşire. Dacă neuronii unui strat nu sunt legaţi direct la intrările şi ieşirile
reţelei, câmpul respectiv se numeşte strat (câmp) ascuns.

x  Rn Straturile ascunse y  Rm
x
1
y
x 1
2
x
3 y
2
x
4
x y
5 3
. .
. .
.
y
x m
n

F F F F
o x y z
Stratul de Primul strat Al doilea Stratul de
intrare ascuns strat ascuns ieçire

Figura 1. Un perceptron cu trei straturi


Perceptronul din Figura 1 are un singur strat ascuns. Stratul zero (de intrare, notat
Fo) este format din neuroni liniari, care nu realizează nici un proces de calcul. Rolul
neuronilor din câmpul Fo este de a dirija intrările spre neuronii de calcul ai următorului
câmp (notat Fx), care este singurul strat ascuns al acestui perceptron. Se consideră deci că
topologia de reţea din Figura 1 reprezintă un perceptron cu două straturi ascunse dacă nu
se iau în considerare stratul de intrare şi cel de ieşire. Câmpul de ieşire, Fy , este format
dintr-un singur neuron.

2. Forma regiunilor de decizie

Un perceptron multistrat (Multi Layered Perceptron, prescurtat MLP) poate fi


capabil să depăşească unele dintre limitările perceptronului standard (cu un singur strat).
Ajustarea ponderilor conexiunilor se poate face astfel încât să fie obţinute regiuni de
decizie complexe. Aceste regiuni rezultă din reuniunea şi intersecţia în straturile finale a
regiunilor generate de neuronii straturilor anterioare. De exemplu, un perceptron
multistrat este capabil să identifice orice regiune convexă, cu condiţia ca stratul ascuns să
conţină un număr suficient de neuroni şi ponderile să fie ajustate corespunzător.
Un perceptron cu un singur strat şi o singură ieşire poate genera doar regiuni de
decizie care au forma unor semiplane. Un perceptron cu două straturi poate forma zone
de decizie (posibil infinite) convexe, obţinute prin intersecţia semiplanelor generate de
fiecare neuron din primul strat. Fiecare neuron din stratul ascuns (câmpul Fx) se

comportă ca un perceptron standard şi generează un hiperplan de separare. Neuronul este


activat (are ieşirea 1) doar pentru puncte aflate de partea pozitivă a acestui hiperplan. Un
neuron din stratul Fy generează o regiune de decizie mai complicată utilizând
semiplanele obţinute de neuronii primului strat.
Fie n1 numărul de neuroni din câmpul Fx. Considerăm că ponderile conexiunilor

dintre Fx şi Fy sunt toate +1 şi că pragul fiecărui neuron din Fy este (n1a), în care 0

 a  1. Acum fiecare neuron din Fy are ieşirea +1 doar dacă ieşirile tuturor neuronilor
din primul strat sunt +1. Aceasta înseamnă că fiecare neuron din Fy realizează funcţia

logică ŞI. Regiunea de decizie generată de fiecare neuron din acest strat va fi intersecţia
semiplanelor formate în primul câmp. Intersecţia hiperplanelor formează regiuni de
decizie convexe ce au cel mult n1 laturi.

O problemă importantă este alegerea numărului de neuroni într-un perceptron cu


două straturi. Acest număr trebuie să fie suficient de mare pentru a genera o configuraţie
a regiunilor de decizie suficient de complexă pentru o problemă dată. Dacă numărul de
neuroni este prea mic reţeaua nu poate fi instruită să realizeze funcţia dorită. Dacă acest
număr este prea mare, atunci numărul conexiunilor devine foarte mare. Ponderile acestor
conexiuni nu pot fi estimate corect folosind exemplele de instruire disponibile.

Un exemplu. Pentru problema XOR sunt suficienţi doi neuroni în primul strat.
Mărirea numărului de neuroni nu poate genera regiuni de decizie oricât de complexe. De
exemplu, indiferent câţi neuroni vom folosi, clase având configuraţia celor din Figura 2
nu vor putea fi separate de un perceptron cu două straturi.
Să considerăm o clasă de forme de intrare căreia îi corespunde o regiune de
decizie formată din două sub-regiuni convexe (Figura 3). Fiecare dintre sub-regiunile A şi
B poate fi realizată de câte un neuron al celui de-al doilea strat (câmpul Fy). Fie r şi s

aceşti neuroni. Pentru a combina A şi B într-o singură regiune este necesar ca ieşirile
neuronilor r şi s să devină intrările unui neuron care realizează funcţia logică SAU.
Problema considerată poate fi aşadar rezolvată într-un perceptron cu trei straturi.

Figura 2. Două clase neseparabile Figura 3. O regiune de decizie


de către un perceptron cu două straturi formată din două mulţimi convexe
Funcţia SAU poate fi realizată în mod simplu de către un neuron al stratului de ieşire
(câmpul Fz în Figura 1). Să considerăm că toate ponderile conexiunilor spre acest neuron

sunt egale cu +1 şi că pragul lui este t  1. În acest fel dacă oricare dintre neuronii
stratului precedent (Fy) este activat, atunci ieşirea neuronului va fi +1.

Un perceptron cu trei straturi poate genera suprafeţe de decizie capabile să separe


cele două clase din Figura 2.

3. Estimarea numărului de neuroni necesari

Considerăm acum problema estimării numărului de neuroni într-un perceptron cu


trei straturi. Fie n dimensiunea formelor de intrare. Numărul de neuroni din cel de al
doilea strat trebuie să fie mai mare ca unu când regiunile de decizie sunt disconexe sau au
goluri, neputând fi reduse la o singură regiune convexă. Nu este însă necesar ca numărul
neuronilor din stratul Fy să fie mai mare decât numărul de regiuni disconexe din spaţiul

formelor de intrare (numărul de regiuni care trebuie învăţate).


În ceea ce priveşte primul strat, Fx , se apreciază că numărul de neuroni trebuie să

fie suficient de mare pentru ca acest câmp să furnizeze trei sau mai multe laturi pentru
fiecare regiune convexă identificată de al doilea strat, Fy. Deci numărul de neuroni al
stratului Fx trebuie să fie de peste trei ori mai mare decât numărul neuronilor din Fy.
Evident, aceasta este o estimare euristică a numărului de neuroni din Fx .

Dacă numărul de neuroni dintr-un strat este mai mic decât cel necesar, atunci
reţeaua nu poate construi o reprezentare completă a distribuţiei vectorilor de intrare şi
deci nu poate învăţa întreaga informaţie conţinută în aceşti vectori.
Dacă numărul neuronilor din oricare strat este prea mare, atunci în reţea se poate
genera zgomot. Reţeaua nu va putea construi o reprezentare compactă a relaţiilor
existente între formele de intrare. Pe de altă parte, robusteţea reţelei poate fi obţinută doar
permiţând o anumită redundanţă referitoare la numărul neuronilor. În practică, cea mai
bună arhitectură a reţelei se poate determina doar prin încercări.
În cazul în care problema de instruire presupune partiţionarea spaţiului vectorilor
de intrare în m clase, perceptronul trebuie să aibă m ieşiri, fiecare ieşire corespunzând
unei clase. Presupunem că reţeaua a fost instruită. Când se prezintă reţelei un vector-
formă, această formă este asignată (asociată) clasei ce corespunde neuronului de ieşire
având cea mai mare valoare a activării.

4. Complexitatea arhitecturii în raport cu diferite tipuri de neliniaritate

În unele situaţii se pot rezolva probleme de instruire complexe prin creşterea


numărului de câmpuri ascunse. În realitate aceasta nu este o soluţie universală. Pentru
unele probleme este necesară o creştere exponenţială a numărului de straturi pentru a
obţine o creştere liniară a vitezei de învăţare. De asemenea, există probleme pentru care
viteza de instruire descreşte cu mărirea numărului de straturi. Mărirea complexităţii
reţelei este aşadar o cale problematică în abordarea proceselor de instruire. O cale diferită
este considerarea altor tipuri de neuroni. Acest lucru revine, în esenţă, la adoptarea unor
tipuri diferite de neliniaritate în comportarea neuronilor.
Găsirea unor tipuri adecvate de neliniarităţi conferă forţă de calcul superioară
reţelelor neuronale. Comportarea neliniară a neuronilor este esenţială pentru un
perceptron cu mai multe straturi. Dacă funcţia de ieşire ar fi liniară, considerarea mai
multor straturi nu ar aduce nici un avantaj  se poate întotdeauna găsi un perceptron cu
un singur strat care să realizeze aceeaşi funcţie ca şi perceptronul multistrat liniar.
Utilizarea funcţiilor de ieşire neliniare de tip prag prezintă un dezavantaj legat de
faptul că aceste funcţii nu sunt derivabile. Prin urmare, funcţiile de tip prag nu pot fi
utilizate pentru determinarea ponderilor prin metode de optimizare standard. Acest
neajuns poate fi depăşit considerând funcţii de ieşire (neliniare) de tip sigmoidal. În acest
caz instruirea reţelei se poate face, de exemplu, cu ajutorul algoritmului de propagare
înapoi.
5. Instruirea perceptronului multistrat

Un algoritm clasic pentru instruirea perceptronului multistrat (MLP) a fost propus


de către Widrow ş.a. [11]. Acest algoritm nu presupune derivabilitatea funcţiilor de ieşire
şi foloseşte "principiul celei mai mici disturbanţe". În concordanţă cu acest principiu sunt
modificate ponderile neuronilor al căror răspuns este cel mai puţin indecis. Pornind
dinspre câmpul de intrare spre cel de ieşire, se modifică uşor ponderile nodurilor a căror
activare este cea mai apropiată de zero, astfel încât ajustarea ponderilor să determine o
mică reducere a erorii la ieşire. Modificările se opresc atunci când se obţine eroarea
minimă sau o valoare considerată acceptabilă a erorii. Procedura este pur euristică, autorii
neprezentând o descriere formală a algoritmului.
În mod uzual, ajustarea ponderilor unui MLP se face folosind o schemă de
instruire bazată pe metoda de propagare înapoi. Procedurile de acest tip propagă înapoi
prin reţea o eroare reprezentând diferenţa dintre ieşirile dorite şi cele observate.
S-au făcut diverse analogii între clasificatorii neuronali (reţele bazate pe
paradigma clasificatorului) şi metodele probabiliste de clasificare. Unul dintre rezultatele
cele mai puternice a fost obţinut de Ruck şi colaboratorii [10]. Aceşti autori au
demonstrat că orice reţea neuronală tip MLP (şi, în general, orice reţea complet conectată
cu transmitere unidirecţională) învăţată să clasifice datele de instruire în m clase este
asimptotic echivalentă cu un clasificator Bayes optimal. Acest rezultat amendează o
afirmaţie anterioară a lui Lippman ([6]) care susţine că un perceptron cu trei straturi poate
forma regiuni de decizie de tipul celor realizate de un clasificator ce foloseşte regula k-nn
(a celor mai apropiaţi k vecini). În continuare reamintim unele rezultate din teoria
clasificării. Vom stabili unele echivalenţe între calculul neuronal şi diferite tipuri de
clasificatori.
6. Clasificatori vs calculul neuronal

6.1. Proiectarea clasificatorilor

A proiecta un clasificator înseamnă, în esenţă, următoarele lucruri:


1. (i) a stabili clasele de obiecte din mulţimea X a datelor de instruire şi
(ii) a stabili prototipurile claselor ;
2. a da o regulă pentru alocarea (asignarea) unui obiect necunoscut (nou
considerat, care nu aparţine mulţimii X) la una din clasele precizate.

Fie X o mulţime de date. Presupunem că utilizând un algoritm de clasificare (vezi,


de exemplu, [3]) am stabilit c clase de obiecte şi prototipurile L1, L2, ... , Lc ale acestor
clase. Fie de asemenea un obiect x care nu aparţine mulţimii X. Se pune problema de a
găsi clasa căreia îi poate fi ataşat acest nou obiect. Următoarele trei reguli îşi propun să
rezolve această problemă.

1. Regula celui mai apropiat prototip

Un clasificator de tipul celui mai apropiat prototip utilizează următoarea regulă de


decizie:
Se decide că obiectul x aparţine clasei i dacă şi numai dacă

d(x, Li)  d(x, Lk) , k = 1, 2, ... , c,

unde cu d am notat distanţa.

Această regulă defineşte un clasificator neambiguu, chiar dacă parametrii săi


(clasele, prototipurile) au fost determinaţi utilizând un algoritm nuanţat de clasificare
(vezi, de exemplu, [3]).
2. Regula celui mai apropiat vecin

Fie X = x1, x2, ... , xp mulţimea de instruire şi fie xr  X obiectul cel mai
apropiat de x. Regula celui mai apropiat vecin constă în a aloca obiectul x clasei i dacă
xr  Ai, unde se consideră că Ai este o clasă neambiguă (este descrisă printr-o mulţime

clasică).
Regula se poate formula astfel :

Dacă
d(x, xr)  d(x, xj) , j = 1, 2, ... , p
şi
xr  Ai ,

atunci se decide că obiectul x este alocat clasei i.

3. Regula k-nn

Această regulă este o extindere naturală a regulii celui mai apropiat vecin. Pentru
un obiect necunoscut x se caută cei mai apropiaţi k vectori din mulţimea de instruire X.
Dacă dintre cei k vecini cei mai mulţi aparţin clasei Ai, atunci forma necunoscută x este
alocată clasei i. Această regulă de decizie se numeşte regula k-nn ("k - nearest
neighbour"). Ea se bazează în mod esenţial pe presupunerea că fiecare clasă de instruire
conţine un număr mare de vectori presupuşi corect clasificaţi.
Regula k-nn implică o metodă de alegere a numărului k de vecini şi stabilirea unei
distanţe peste mulţimea vectorilor x. Dacă numărul claselor este c=2, atunci k se alege
impar pentru a evita ambiguităţile.

Să notăm că toate cele trei reguli considerate reprezintă metode neparametrice de


clasificare. Ele nu folosesc nici o informaţie sau presupunere în legătură cu proprietăţile
statistice ale datelor din mulţimea de instruire. Este de asemenea interesant de observat că
regula k-nn este asimptotic echivalentă cu regula Bayes ([1]). Acest rezultat este
surprinzător, deoarece regula k-nn nu conţine nici o premiză de natură statistică.
Rezultatul lui Ruck ş.a. [10] stabileşte că reţelele neuronale cu transmitere unidirecţională
posedă o proprietate similară.

6.2. Echivalenţa asimptotică a reţelelor neuronale şi clasificatorilor Bayes

Notăm cu X = x1, x2, ... , xp mulţimea formelor de instruire. Fie Er eroarea

medie asociată unui perceptron multistrat care foloseşte orice algoritm de instruire. Fie
Dr(x) eticheta clasei asociată vectorului x după ce reţeaua a fost instruită. Notăm cu Eb
eroarea asociată regulii de decizie Bayes şi fie Db(x) clasa asociată vectorului x prin

regula Bayes.
Rezultatul lui Ruck şi al colaboratorilor săi stabileşte că există egalităţile

( i) lim E r  E b ;
p 

(ii) lim D r (x )  D b (x )  0 .
p 

Aşadar o reţea neuronală, indiferent de algoritmul de învăţare, este asimptotic


echivalentă cu un clasificator Bayes optimal (ce utilizează regula de decizie Bayes). S-a
stabilit deci echivalenţa asimptotică a următoarelor patru tipuri de clasificatori:
(i) clasificatorii neuronali (reţelele neuronale înscrise în paradigma clasificatorului);
(ii) perceptronul multistrat ;
(iii) clasificatorii Bayes ;
(iv) clasificatorii k-nn.

Importanţa rezultatului lui Ruck ş.a. constă în explicarea diferenţelor mici,


nesemnificative, între ratele de eroare asociate reţelelor neuronale cu transmitere
unidirecţională şi celor obţinute pentru clasificatorii k-nn. În plus, acest rezultat
evidenţiază un fapt destul de surprinzător referitor la arhitecturile reţelelor neuronale, în
sensul că multe astfel de arhitecturi se dovedesc a fi doar implementări diferite ale
perceptronului multistrat. Aplicabilitatea diferitelor arhitecturi în probleme practice poate
fi variabilă, însă la limită toate generează aceeaşi funcţie.

7 Agoritmul lui Gllant (Agoritmul Pocket)

S. Gallant a propus în [4] o modificare a algoritmului perceptronului, prin care


acesta devine aplicabil chiar şi pentru clase neseparabile. Algoritmul urmăreşte
determinarea unui vector pondere, numit optimal, capabil să clasifice corect numărul
maxim posibil de forme de instruire. Ideea esenţială a algoritmului propus de Gallant
constă în a păstra în "buzunarul nostru" vectorul pondere care a realizat cea mai lungă
secvenţă de clasificări consecutive corecte, până la momentul curent. Clasificările eronate
determină o modificare a vectorului pondere, exact ca în algoritmul perceptronului.
Clasificările corecte pot determina o schimbare a vectorului memorat, lucru care se
întâmplă dacă vectorul curent clasifică în mod corect o secvenţă mai lungă decât cea
realizată de ultimul vector memorat. Gallant a demonstrat că pe măsură ce numărul de
iteraţii creşte, probabilitatea ca vectorul memorat să fie optimal se apropie de unu. Este
însă posibil ca numărul de iteraţii care asigură obţinerea unui vector optimal să fie foarte
mare.
Pentru completitudinea expunerii, dăm mai jos paşii algoritmului Gallant de
stabilire a unui vector pondere (aproape) optimal.

ALGORITMUL MODIFICAT AL PERCEPTRONULUI


(ALGORITMUL GALLANT)

P1. Iniţializările.
Se alege rata de instruire c  0.

Se alege un vector pondere v1 arbitrar.


Se alege No  numărul maxim de iteraţii.
Se iniţializează vectorul aproximativ de separare punând
B := v1.

Se iniţializează numărul nB al formelor de instruire corect clasificate de


vectorul B, punând
nB := 0 .

P2. Se repetă paşii P3  P7 până când este îndeplinită una din condiţiile
următoare :
(I) vectorul pondere nu s-a schimbat la p paşi consecutivi. În acest caz avem
n = p.
(ii) k  No.

În cazul (i) s-a obţinut un vector de separare. În cazul (ii) B este un vector
aproximativ de separare.

P3. Se pune n := 0 .

P4. Ajustarea ponderilor.


Se prezintă reţelei forma de instruire zk.
Se iniţializează o variabilă locală a punând

 1 , dacä v kT z k  0 ,

a : 
 kT k
 0 , dacä v z > 0 .

Se modifică vectorul pondere folosind regula perceptronului, adică punând

 v k  c z k , dacã a  1 ,

v k 1 :  
 k
v , dacã a  0 .
P5. Dacă a = 0 se pune
n := n + 1
şi
k := k + 1.

Se merge la pasul P4.

P6. Modificarea conţinutului buzunarului.


Dacă a = 1, atunci se compară clasificarea rezolvată de vectorul vk şi cea
realizată de vectorul B (reprezentând "conţinutul buzunarului").
(i) Dacă n = 0, atunci se trece la pasul P7.
(ii) Dacă este îndeplinită condiţia n  n B atunci se pune
n B := n
şi
B := vk .
P7. Se pune
k := k + 1 .

Se trece la pasul P3.

Observaţii.
(i) n reprezintă numărul de forme de instruire corect clasificate de vectorul pondere
curent vk+1.
(ii) B reprezintă cel mai bun vector pondere ce poate fi obţinut în No iteraţii ale

procesului de instruire.

Teorema de convergenţă a algoritmului perceptronului modificat (algoritmul


Gallant) se formulează astfel :
Teorema de convergenţă a algoritmului lui Gallant. Pentru orice probabilitate p
 1, există un număr N astfel încât după n  N iteraţii ale algoritmului perceptronului
modificat, probabilitatea ca vectorul memorat să fie optimal depăşeşte p.

Dacă datele de instruire sunt separabile, algoritmul Gallant va produce, conform


teoremei de convergenţă a perceptronului, un vector de separare. Pentru clase
neseparabile, chiar pentru probleme de mărime medie nu este sigur că vom obţine un
vector pondere optim într-un număr rezonabil de iteraţii. Convergenţa spre vectorul optim
este asimptotică. Cu toate acestea, experimental s-a constatat că algoritmul produce
vectori pondere satisfăcători, care aproximează numărul optim de clasificări corecte.
Aceasta face ca algoritmul propus de Gallant să aibă utilitate practică deosebită.

BIBLIOGRAFIE

[1] Cover, T., Hart, P., Nearest Neighbor Pattern Classification, IEEE Trans. Inf. Theory, 13(1967), 21-
27.
[2] Duda, R.O., Hart, P.E., Pattern Classification and Scene Analysis, John Wiley, 1973.
[3] Dumitrescu, D., Principiile Matematice ale Teoriei Clasificării, Editura Academiei, Bucureşti, 1996.
[4] Gallant, S.I., Optimal Linear Discriminants, Proc. 8-th Int. Conf. on Pattern Recognition, Paris, 1986,
849-852.
[5] Gallant, S.I., Neural Network Learning and Expert Systems, MIT Press, Cambridge, MA, 1993.
[6] Lippman, R.P., An Introduction to Computing with Neural Nets, IEEE ASSP Magazine, 4(1987), 4-
22.
[7] Minsky, M., Papert, S., Perceptrons. An Introduction to Computational Geometry, MIT Press,
Cambridge, MA, 1969.
[8] Pao, Y.-H., Adaptive Pattern Recognition and Neural Networks, Addison-Wesley, Reading, MA,
1989.
[9] Rosenblatt, F., Principles of Neurodinamics, Spartan Book, New York, 1962.
[10] Ruck, D., Rogers, S., Kabrisky, M., Oxley, M., Sutter, B., The Multi-Layer Perceptron as an
Approximation of a Bayes Optimal Discriminant Function, IEEE Trans. Neural Networks, 1(1990),
296-298.
[11] Widrow, B., Winter, R.G., Baxter, R.A., Learning Phenomena in Layered Neural Networks, in Proc.
First Int. Conf. on Neural Networks, IEEE, 1987, vol. II, 411-429.

S-ar putea să vă placă și