Sunteți pe pagina 1din 151

Capitolul 1

Introducere în recunoaşterea formelor

1.1 NOŢIUNI DE BAZĂ

Inteligenţa maşinilor a început să devină un subiect atractiv şi dominant


prin anii '90. Tehnicile de recunoaştere a formelor sunt adesea componente
importante ale sistemelor inteligente şi sunt utilizate atât pentru preprocesarea
datelor cât şi pentru luarea deciziilor. În sens larg, recunoaşterea formelor este
acea ştiinţă care se ocupă cu descrierea şi/sau clasificarea (recunoaşterea)
măsurărilor. Fără îndoială, recunoaşterea formelor este un domeniu important,
util şi cu o dezvoltare foarte rapidă, care suscită interes din partea altor
discipline conexe. Recunoaşterea formelor nu cuprinde numai un singur mod de
abordare ci, mai degrabă, reprezintă o "colecţie" de cunoştinţe şi tehnici care
sunt adesea vag asociate. Din punct de vedere istoric, cele două abordări majore
ale recunoaşterii formelor sunt abordarea statistică (sau teoretică decizională −
StatPR) şi abordarea sintactică (sau structurală − SyntPR). Recent, tehnologia
reţelelor neuronale a furnizat o a treia abordare (NeurPR), în special pentru
implementarea "black box" a algoritmilor de recunoaştere a formelor. Pentru că
o unică tehnologie nu este întotdeauna soluţia optimă pentru o problemă de
recunoaştere a formelor, cititorul ar trebui să aibă în vedere toate aceste trei
abordări. Deşi în primul capitol vom trece în revistă toate cele trei abordări,

1
1/ Introducere în recunoaşterea formelor
această carte este dedicată modului în care pot fi utilizate reţelele neuronale
pentru recunoaşterea formelor.
Abordarea inginerească a rezolvării unei probleme înseamnă utilizarea
tuturor informaţiilor disponibile şi relevante legate de problema respectivă, într −
o manieră structurată, astfel încât să poată fi formulată o soluţie. Aceasta include
dezvoltarea sau modificarea modelelor care, poate, conţin informaţie structurală
şi "a priori", inclusiv date de antrenare. În consecinţă, pe tot parcusrul acestei
cărţi, studiul va fi guvernat de trei întrebări:

1. Sunt tehnicile de recunoaştere a formelor potrivite, sau chiar aplicabile


pentru problema pusă în discuţie? (Poate fi rezolvată problema?)
2. Putem dezvolta sau modifica în mod util modele pentru situaţia
respectivă şi, dacă este necesar, putem determina parametrii modelului?
3. Dacă răspunsul la întrebarea anterioară este afirmativ, există un aparat
matematic formal sau euristic potrivit pentru a fi aplicat, şi există o
procedură practică de calcul pentru determinarea soluţiei?

După cum am menţionat mai înainte, tehnicile de recunoaştere a formelor


se întrepătrund cu alte domenii, cum sunt:
 Procesarea semnalelor şi sisteme adaptive
 Inteligenţa artificială
 Modelarea neuronală
 Teoria optimizării/estimării
 Teoria automatelor
 Mulţimi fuzzy
 Modelarea structurală
 Limbaje formale

Aplicaţiile de recunoaştere a formelor includ:


 Preprocesarea, segmentarea şi analiza imaginilor
 Vederea artificială
 Analiza seismică
 Clasificarea/analiza semnalelor radar
 Recunoaşterea feţelor (persoanelor)
 Recunoaşterea/înţelegerea vorbirii
 Identificarea amprentelor
 Recunoaşterea caracterelor (litere sau cifre)
 Analiza scrierii de mână (calculatoare "notepad")
 Analiza/înţelegerea semnalelor EKG (electrocardiograme)
 Diagnoza medicală

2
Recunoaşterea, clasificarea şi descrierea formelor

1.2 RECUNOAŞTEREA, CLASIFICAREA


ŞI DESCRIEREA FORMELOR

Recunoaşterea formelor poate fi caracterizată printr-un proces de reducere


de informaţie, transformare de informaţie sau etichetare a informaţiei. O
reprezentare abstractă a unei probleme de recunoaştere, clasificare/descriere a
formelor este cea din Figura 1.1.
Presupunem că există o tranformare între spaţiul claselor, C , şi spaţiul
formelor, P . Această transformare se realizează cu ajutorul unei relaţii, Gi ,
pentru fiecare clasă, şi poate fi probabilistică. Fiecare clasă, wi , generează o
submulţime de forme în spaţiul formelor, unde fiecare a i  a formă este notată
pi . Aceste subspaţii se intersectează (în cazul general) astfel încât să permită
formelor din clase diferite să împartă aceleaşi atribute.
O altă relaţie, M , transformă formele din subspaţiile lui P în observaţii
sau forme/caracteristici măsurate caracteristici, notate cu mi . Folosind acest
concept, caracterizarea multor probleme de recunoaştere a formelor se poate
face simplu în modul următor: considerând cunoscută o măsurare mi , dorim o
metodă pentru a identifica şi inversa transformările M şi Gi , pentru orice i .
Din nefericire, în practică, aceste transformări nu sunt funcţii. Chiar în cazurile
în care sunt funcţii, ele sunt rareori inversabile. De exemplu, Figura 1.1 arată că
măsurări sau observaţii identice pot fi obţinute din diferite pi , ceea ce
corespunde unor clase de bază diferite. Aceasta sugerează o potenţială problemă
cu ambiguitate. În orice caz, pare rezonabil să se încerce modelarea şi
înţelegerea acestor procese, cu speranţa că vom obţine astfel tehnici de clasifi-
care/descriere mai bune.

Gi M
p4
m1
clasa wi
Gj p1
p2 m2
clasa w j Gk
p3
m3
clasa wk

Spaţiul claselor Spaţiul formelor Spaţiul măsurărilor


C P F

Figura 1.1 O reprezentare abstractă a transformărilor din


sistemele de generare/clasificare/interpretare a formelor.

3
1/ Introducere în recunoaşterea formelor
Formularea abstractă din Figura 1.1 este potrivită atât pentru StatPR cât şi
pentru SyntPR. În perspectivă, Figura 1.13 prezintă modul în care formalizări
mai detaliate ale acestor abordări pot fi legate de Figura 1.1.
Un alt aspect important în reprezentarea din Figura 1.1 se referă la relaţia
M . Această transformare reflectă opţiunea noastră asupra sistemului de
măsurare. Proiectarea sistemului de măsurare este un aspect important al
proiectării sistemelor de recunoaştere a formelor, în sensul că obţinerea
ulterioară a unor "caracteristici" sau "primitive" bune necesită măsurări bune,
sau cel puţin adecvate. Este greu de crezut că măsurări eronate sau incomplete
vor facilita performanţe bune ale unui sistem de recunoaştere a formelor.
În sfârşit, să menţionăm că forme care sunt generate de aceeaşi clasă ( p4 şi
p1 , din wi , de exemplu) şi care sunt "apropiate" în spaţiul formelor, P , nu
conduc în mod necesar la măsurări ( m1 şi m3 în acest caz) care sunt de
asemenea "apropiate".

Exemplul 1.1. Utilizarea reprezentării abstracte

Să considerăm o problemă cu două clase unde w1 corespunde clasei "măr"


iar w2 corespunde clasei "grenadă de mână". În spaţiul realizat al formelor, va fi
o oarecare diferenţă între pi , diferenţă care decurge din faptul că nu toate merele
au aceleaşi mărimi, forme, greutăţi, culori etc. O remarcă similară se poate face
şi pentru realizările clasei w2 . Pe de altă parte, unele realizări ale clasei "măr" şi
ale clasei "grenadă de mână" împart atribute similare (de exemplu, masă, volum,
greutate). Aşadar, dacă sistemul nostru de recunoaştere a formelor are la bază o
măsurare care constă din forma realizată greutate, este probabil să:
- clasificăm greşit unele mere şi grenade ca fiind obiecte identice.
- clasificăm greşit mere grele şi uşoare ca aparţinând claselor diferite
(similar pentru w2 ).
În acelaşi timp, ne străduim să înţelegem aceste transformări, abordări
alternative cum sunt cele bazate pe reţele neuronale căpătând o atenţie mai mare.
Aceste abordări de tip "black box" încearcă să elimine nevoia de informaţie
detaliată asupra transformărilor şi inverselor acestora dar, necesită o mulţime de
date de antrenare potrivită precum şi un sistem care poate fi antrenat. 

Structura tipică a unui sistem de recunoaştere a formelor este prezentată în


Figura 1.2. Acesta constă dintr-un senzor (senzor vizual sau cameră de luat
vederi, de exemplu), un mecanism (algoritm) de extragere a caracteristicilor şi
un algoritm de clasificare sau de descriere (în funcţie de abordarea aleasă). În
plus, în mod uzual, unele date care au fost deja clasificate sau descrise sunt
disponibile pentru a antrena sistemul (aşa numitul set sau mulţime de antrenare).

4
Recunoaşterea, clasificarea şi descrierea formelor

5
1/ Introducere în recunoaşterea formelor

Algoritm de reacţie sau interacţiune

Statistic
Algoritm de
clasificare Clasificare
Algoritm pentru
Senzor/ Preprocesare extragerea
şi
Traductor accentuare caracteristicilor Sintactic
/primitivelor
Măsurare, mi Algoritm de
descriere
Descriere
Date din lumea
formei observate, pi

Figura 1.2 Structuri tipice de sisteme de recunoaştere a formelor.

1.3 FORME ŞI EXTRAGEREA CARACTERISTICILOR.


EXEMPLE

Forme Se întâmplă, oarecum ca o surpriză, că o mare cantitate de


informaţie din lumea care ne înconjoară se manifestă ca forme sau şabloane.
Uşurinţa cu care oamenii clasifică şi descriu formele conduce adesea la
presupunerea incorectă că această capabilitate este uşor de automatizat.
Uneori, similaritatea dintr-o mulţime de forme este în mod imediat vizibilă, în
timp ce alteori este mai greu de observat. Recunoaşterea caracterelor este un
exemplu din prima categorie; predicţia economică este un exemplu din cea de-a
doua categorie.
În mod normal, recunoaşterea formelor se bazează pe forme. O formă este
o noţiune de bază, ca şi un set de măsurări sau de observaţii care poate fi
reprezentat sub formă vectorială sau matricială. Astfel, transformarea M , de la
P la F , din Figura 1.1 este o transformare identitate. Utilizarea măsurărilor
presupune anumite operaţii de preprocesare şi o anumită complexitate a
instrumentaţiei. Aceste măsurări pot fi entităţi ca presiunea sângelui, vârsta,
numărul de roţi, grosimea unei linii, perimetrul unei figuri geometrice ş.a.m.d.
Mai mult, formele pot fi convertite dintr-o reprezentare în alta.
Formele, după cum se arată în Figura 1.3, pot fi imagini 2-D, desene, forme
de undă, seturi de măsurări, secvenţe temporale sau spaţiale de evenimente,
stările unui sistem, aranjamentul unui set de obiecte, etc.

6
Forme şi extragerea caracteristicilor. Exemple

Aceasta este o formă

Dar şi aceasta

ISBN 0-471-50453-7

6451-8394

9 780471 505365
6561-5921

O
O O O
C
N N C

O O

XXX000XX00X0000X0

Figura 1.3 Exemple de forme/măsurări (vizuale).

Caracteristici În sens general, prin caracteristică înţelegem orice


proprietate care se poate obţine printr-o măsurare asupra formei. Caracteristici
de nivel inferior sunt intensităţile semnalelor. Caractersiticile pot fi simbolice,
numerice sau de ambele tipuri. Un exemplu de caracteristică simbolică este
culoarea; o caracteristică numerică este greutatea (măsurată în kilograme).
Caractersiticile pot rezulta din aplicarea unui algoritm sau operator extractor de
caracteristici asupra datelor de intrare. Caracteristicile pot fi entităţi de nivel
înalt: de exemplu, rezultatele aplicării unor descriptori geometrici fie asupra
unei regiuni dintr-o imagine, fie asupra unui obiect 3-D care apare în imagine.
Numărul lui Euler este o caracteristică geometrică de nivel înalt.
Trebuie să menţionăm următoarele:

7
1/ Introducere în recunoaşterea formelor
1. Pentru extragerea caracteristicilor poate fi necesar un efort de calcul
semnificativ.
2. Caracteristicile extrase pot conţine erori sau "zgomot".

Caracteristicile pot fi reprezentate prin variabile continue, discrete sau


binare. Caracteristicile binare pot fi utilizate pentru a reprezenta existenţa sau
absenţ unei caractersitici particulare.
Problemele legate de selecţia caracteristicilor şi extragerea caracteristicilor
trebuie să fie rezolvate la proiectarea oricărui sistem de recunoaştere a formelor.
Cheia constă din alegerea şi extragerea caracteristicilor care:
(1) pot fi obţinute cu puterea de calcul de care dispunem;
(2) conduc la sisteme "bune" de recunoaştere a formelor (poate în sensul
apariţiei unor erori mici de clasificare);
(3) reduc necesarul de date ale problemei (de exemplu, număr de măsurări)
la un nivel rezonabil fără a afecta informaţia vitală.

Selecţia caracteristicilor este un proces de alegere a intrărilor unui sistem


de recunoaştere a formelor şi presupune folosirea unei judecăţi pertinente.
Caractersiticile extrase trebuie să fie relevante pentru sarcina sistemului
folosit/proiectat. În unele cazuri există aparate matematice care ajută în selecţia
caractersiticilor. În alte cazuri, simularea poate ajuta în procesul de selectare a
caracteristicilor potrivite. În mod clar, restricţiile sistemului de măsurare pot
limita setul de posibile caractersitici. Mai mult, caractersiticile nu trebuie să fie
date de nivel inferior. Totuşi, nivelul la care sunt extrase caracteristicile
determină cantitatea de calcule necesară pentru preprocesare şi poate influenţa
nivelul de eroare care este introdus în caractersiticile extrase. De exemplu, în
aplicaţiile medicale caracteristicile pot fi simptome iar clasele pot fi stări de
sănătate, care includ w1  'sănătos' w2 ' are gripă' ş.a.m.d.
Adesea, ne interesează clasificarea, recunoaşterea sau descrierea unei forme
care este invariantă la unele schimbări (cunoscute) sau deviaţii ale formei faţă de
cazul "ideal". Aceste deviaţii se pot datora multor cauze, inclusiv "zgomotului".
Totuşi, în multe situaţii, un set de forme din aceeaşi clasă poate prezenta mari
variaţii faţă de un singur exemplar al clasei. De exemplu, oamenii sunt capabili
să recunoască (adică să clasifice) toate caracterele tipărite sau scrise de mână,
caractere ce pot avea diferite dimensiuni şi orientări. În Figura 1.4 sunt
prezentate exemple de forme cu distorsiuni. În aceste cazuri, pentru recunoaştere
se poate utiliza o alegere atentă a caracteristicilor invariante precum şi a
structurii formelor. De exemplu, în aplicaţiile de procesare a imaginilor pentru
recunoaşterea formelor, căutăm adesea recunoaşterea obiectelor atunci când
obiectele se află în poziţii arbitrare (Translatate), au orientări diferite (Rotite)
sau sunt asemenea cu o formă dată (Scalate). Adică, sunt dorite caracteristici
invariante RST [Cas76] [Sch89].

8
Forme şi extragerea caracteristicilor. Exemple

Forma "nominală" Dilatare Translaţie Rotaţie

(a)

(b)

(c)

(d)

Figura 1.4 Exemple de distorsiuni ale formelor (forme vizuale):


(a) distorsiuni geometrice ale unui pătrat;
(b) distorsiuni geometrice ale unei grile;
(c) distorsiuni geometrice ale unor caractere;
(d) mai multe distorsiuni extreme (părţi lipsă sau suplimentare) ale
formelor din (a), (b) şi (c).

9
1/ Introducere în recunoaşterea formelor

Exemplul 1.2 Extragerea caracteristicilor cu ajutorul cilindrilor


generalizaţi pentru descrierea şi clasificarea 3-D

Clasificarea obiectelor 3-D din date vizuale (imagini) reprezintă o sarcină


importantă pentru sistemele de recunoaştere a formelor. Această operaţie
exemplifică multe aspecte a unei probleme tipice de recunoaştere a formelor,
incluzând aici selectarea caracteristicilor, reducerea dimensională (informaţia
legată de lumea 3-D este transformată într-o imagine 2-D) şi utilizarea
descriptorilor calitativi şi structurali. Modelele bazate pe un cilindru generalizat
(CG) [AB76] [Bie85] ale obiectelor 3-D furnizează un cadru de lucru pentru:
1. Modele pentru generarea caracteristicilor specifice unor clase;
2. Extragerea caracteristicilor;
3. Abordări structurale pentru a construi obiecte 3-D mai complexe.

La baza modelelor CG stă conceptul de "volum baleiat" de o suprafaţă (2-


D) în lungul unei traiectorii 3-D. Aşadar, un cilindr generalizat este un solid a
cărui axă este o curbă în spaţiul 3-D; în mod uzual, axa este perpendiculară pe
secţiunea transversală. De exemplu, un cilindru tipic poate fi descris prin
deplasarea unui cerc în lungul unei linii. Putem caracteriza un cilindru
generalizat prin trei parametri:
1. O secţiune transversală plană;
2. O curbă tridimensională numită axă;
3. O regulă de deplasare a secţiunii plane.

După cum se arată în Figura 1.5, diferite obiecte 3-D pot fi generate prin
definirea următoarelor caracteristici:
1. Un descriptor calitativ, Muchii, al secţiunii transversale. Aceasta poate
avea muchii drepte ( S ) sau curbe ( C ).
2. Gradul de simetrie a secţiunii transversale. Simetria se defineşte ca un
invariant la reflexie şi rotaţie ( Symm   ), invariant numai la reflexie
( Symm  ) asimetric ( Asymm ).
3. Modul în care se modifică secţiunea transversală în funcţie de deplasare.
Aria secţiunii poate fi constantă ( Const ), se poate expanda ( Exp ), se
poate contracta ( Contr ), se poate expanda şi apoi contracta
( Exp  Contr ) sau se poate contracta şi apoi dilata ( Contr  Exp ).
4. Gradul de curbare a axei. Axa poate fi dreaptă ( S ) sau curbă ( C ).
În Figura 1.5 sunt prezentate diferite tipuri de cilindri generalizaţi şi
caracteristicile calitative corespunzătoare.
Metoda cilindrilor generalizaţi poate fi utilizată într-o schemă ierarhică de
reprezentare a formelor în care cilindrii generalizaţi sunt primitive iar regulile de
compoziţie specifică orientările relative ale primitivelor [Sch89]. 

10
Forme şi extragerea caracteristicilor. Exemple

Muchii: S Muchii: C Muchii: S


Simetrie: Symm   Simetrie: Symm   Simetrie: Symm 
Aria secţiunii: Const Aria secţiunii: Const Aria secţiunii: Exp
Axa: S Axa: S Axa: S

Muchii: C Muchii: S Muchii: C


Simetrie: Symm  Simetrie: Symm  Simetrie: Symm 
Aria secţiunii: Exp Aria secţiunii: Exp Aria secţiunii: Exp
Axa: S Axa: C Axa: C

Figura 1.5 Exemple de extragere a caracteristicilor pentru figuri 3-D.

x2
600 R1
500 R2
R3
400

300 R4
R6
200

100 R5

(0,0) 100 200 300 400 500 600 x1

Figura 1.6 Exemplu de regiuni 2-D pentru extragerea caracteristicilor RST.

Exemplul 1.3 Generarea caracteristicilor invariante RST şi aplicaţii la


recunoaşterea figurilor 2-D

O aplicaţie comună de recunoaştere a formelor include recunoaşterea


formelor 2-D din date vizuale (imagini). Un exemplu de mai multe clase de
forme, la care ne vom referi mai târziu ca fiind "regiuni", este cel prezentat în

11
1/ Introducere în recunoaşterea formelor
Figura 1.6. Vom prezenta modul de tratare a problemei şi vom menţiona
complexitatea procesului necesar pentru a realiza invarianţa RST.
Momentele sunt caracteristici extrase care derivă din măsurări primare şi
care, în spaţiul 2-D, sunt utilizate pentru a obţine invarianţi la rotaţie ( R ),
scalare ( S ) şi translaţie ( T ). Din Figura 1.6 se observă că mai multe regiuni sunt
versiuni scalate, rotite ale altor regiuni. Pentru simplitate, strategia următoare
este dezvoltată în cazul continuu. Dacă se consideră datele de intrare 2-D sub
forma f ( x, y) , atunci un set de caracteristici de tip moment [Hu61] se defineşte
prin:

 
m pq   x y q f ( x, y)dxdy p, q  0,1,2,...
p
(1.1)
  
Momentele centrale,  pq , se definesc prin:

 
 pq    ( x  xˆ) ( y  yˆ ) q f ( x, y)dxdy p, q  0,1,2,...
p
(1.2)
 

unde xˆ  m10 / m00 şi yˆ  m01 / m00 . După cum se arată în [Sch89], caracteristicile
care au la bază momentele centrale transmit informaţie descriptivă despre o
regiune. Dacă se normalizează caracteristicile  pq , se obţine:

 pq
 pq  p  q  2,3,... (1.3)
 00
[( p  q ) / 2 ]1

Din relaţia (1.3) se poate obţine setul de şapte caractersitici invariante RST,
1  7 , prezentate în Tabelul 1.1.

Tabelul 1.1 Caracteristici invariante RST care au la bază momente centrale

1  20  02
 2  (20  02 ) 2  4112
3  (30  312 ) 2  (321  03 ) 2
 4  (30  12 ) 2  (21  03 ) 2
5  (30  312 )(30  12 )[(30  12 ) 2  3(21  03 ) 2 ] 
 (321  03 )(21  03 )[3(30  12 ) 2  (21  03 ) 2 ]
6  (20  02 )[(30  12 ) 2  (21  03 ) 2 ]  411 (30  12 )(21  03 )
 7  (321  02 )(30  12 )[(30  12 ) 2  3(21  03 ) 2 ] 
 (30  12 )(21  03 )[3(30  12 ) 2  (21  03 ) 2 ]

12
Forme şi extragerea caracteristicilor. Exemple

În Tabelul 1.2 sunt prezentate valorile 1  7 corespunzătoare fiecărei


regiuni binare, R1  R6 , din Figura 1.6. Din această figură putem observa:
 R1 şi R4 , precum şi R2 şi R5 sunt versiuni scalate una faţă de cealaltă;
 R6 este o versiune rotită a lui R2 şi o versiune scalată şi rotită a lui R5 .

Tabelul 1.2 Caracteristici bazate pe momente pentru R j , j  1,2,..., 6


Caracteristica R1 R2 R3 R4 R5 R6
1 1.67E-01 1.94E-01 2.083E-01 1.67E-01 1.94E-01 1.94E-01
2 0.00E+00 6.53E-03 1.56E-02 0.00E+00 6.53E-03 6.53E-03
3 0.00E+00 1.02E-03 0.00E+00 0.00E+00 1.02E-03 1.02E-03
4 0.00E+00 4.56E-05 0.00E+00 0.00E+00 4.56E-05 4.56E-05
5 0.00E+00 4.25E-09 0.00E+00 0.00E+00 4.25E-09 4.25E-09
6 0.00E+00 1.70E-06 0.00E+00 0.00E+00 1.70E-06 1.70E-06
7 0.00E+00 -8.85E-09 0.00E+00 0.00E+00 -8.85E-09 -8.85E-09

Analiza
Din Tabelul 1.2 observăm următoarele:
 Comparând valorile  i pentru R1 şi R4 , ca şi pentru R2 şi R5 se poate
verifica faptul că  i sunt invarianţi la S şi T .
 Comparând valorile  i pentru R2 , R5 şi R6 putem verifica faptul că  i
sunt invarianţi la R şi S ;
 Observând că R3 este o clasă a cărei formă nu este un invariant R , S sau
T a nici unei Ri , verificăm faptul că  i pentru R3 furnizează
caractersitici numerice care permit discriminarea între clase.
Extensii ale acestei tehnici de extragere a caracteristicilor şi clasificare sunt
prezentate în [Sch89].

Pentru că obiectivul recunoaşterii formelor sau al clasificării este


distingerea între diferite tipuri de forme, este logic să investigăm fundamentele
acestei abilităţi de discriminare. Un răspuns intuitiv este acela că diferite forme
(diferite clase de forme) au caracteristici diferite sau caracteristicicu valori
numerice diferite. Din păcate, aceasta nu este întotdeauna adevărat. Să
considerăm de exemplu o aşa-numită imagine alb-negru dintr-un ziar. Imaginea
constă dintr-o matrice de puncte, fiecare punct fiind alb sau negru. Dacă vom
considera aceste puncte ca fiind caracteristici de bază sau primitive, vom
observa că toate imaginile au aceleaşi caracteristici. Totuşi, în încercarea de a

13
1/ Introducere în recunoaşterea formelor
distinge între imaginea unei maşini şi cea a unei bărci, observăm că
aranjamentele spaţiale ale acestor caracteristici sunt indiscutabil diferite.
Multe din metodele utilizate în StatPR, SyntPR şi NeurPR au la bază
conceptul de similaritate a formelor. De exemplu, dacă o formă x este "foarte
similară" cu alte forme depre care se cunoaşte că aparţin clasei w1 , vom avea
tendinţa să clasificăm x ca aparţinând clasei w1 . Cuantificarea similarităţii prin
dezvoltarea unor măsuri ale similarităţii este adesea un proces dificil. Sunt de
dorit măsuri ale similarităţii aplicabile în mod universal, care permit o bună
clasificare. Totuşi, rareori ne putem bizui pe ele.
De multe ori este util să se dezvolte o interpretare geometrică a
caracteristicilor, în special în cazul StatPR. Caractersisticile sunt aranjate sub
forma unui vector al caractersiticilor, d  dimensional, notat x , care generează
un spaţiu al măsurărilor (spaţiul caractersiticilor) multidimensional. Dacă
fiecare caractersitică este un număr real nesupus la restricţii, spaţiul
caracteristicilor este R d . În alte cazuri, cum este cel al reţelelor neuronale
artificiale, este convenabil să restrângem spaţiul caractersiticilor la un subspaţiu
din R d . Aceasta înseamnă că dacă ieşirile neuronilor individuali şi intrările
reţelei sunt restricţionate să aparţină intervalului [0,1], pentru un vector al
caracteristicilor d  dimensional, atunci vom avea un spaţiu al formelor care este
un hipercub cu volumul egal cu unitatea în R d . Adesea, clasificarea este
realizată prin partiţionarea spaţiului caracteristicilor în regiuni, câte una pentru
fiecare clasă, după cum vom arăta în continuare. În cazul vectorilor
caracteristicilor cu dimensiuni mari, se combină extragerea caracteriticilor cu
aplicarea directă a metodelor de recunoaştere a formelor. De exemplu, în
aplicaţiile de procesare a imaginilor, nu este practic să se utilizeze direct toate
intensităţile pixelilor dintr-o imagine pentru a forma vectorul caracteristicilor,
pentru că o imagine cu 512  512 pixeli va conduce la un vector al
caracteristicilor cu 262.144  1 componente!!
Vectorii caracteristicilor sunt utilizaţi în mod curent în StatPR şi NeurPR.
Ei sunt oarecum inadecvaţi sau, cel puţin, stânjenitori când este necesar să se
reprezinte relaţiile dintre componentele formelor. În Figura 1.7 se arată modul în
care procesul de extragere a caracteristicilor este o problemă comună, deşi
diferită, pentru fiecare aplicaţie de recunoaştere a formelor şi pentru fiecare tip
de abordare.
Diagramele împrăştiate sunt reprezentări grafice ale eşantioanelor
vectorilor carcteristicilor, x , în spaţiul caracteristicilor. În Figura 1.8 este
prezentat un exemplu al unei astfel de diagrame. Acolo unde se pot aplica,
aceste diagrame sunt instrumente excelente pentru vizualizare, pentru
determinarea distribuţiei vectorului caracteristicilor în spaţiul R d , cu d  3 .
Diagramele împrăştiate facilitează identificarea grupurilor de caracteristici
naturale sau evidente pentru gruparea datelor şi partiţionarea spţiului R d în
regiuni de decizie pentru clasificare.

14
Forme şi extragerea caracteristicilor. Exemple

Mediul de x (vectorul caracteristicilor)


observare
Extragerea x (şir)
caracteristicilor
p (structură*)

* De exemplu, graf Caracteristici observate

Figura 1.7 Preprocesarea datelor de intrare/extragerea caracteristicilor.

x2
8

-4

-8

-12
-8 -6 -4 -2 0 2 4 6 x1

Figura 1.8 Exemplu de diagramă împrăştiată pentru clasa c  2.

Definiţii

Prin operaţia de clasificare se asignează datele de intrare unei sau mai


multor clase prespecificate c , pe baza procesului de extragere a caracteristicilor
semnificative sau atributelor, prin procesarea şi analiza acestor atribute. Este util
să se recurgă la modele probabilistice sau la gramatici în operaţia de clasificare.
Prin recunoaştere vom înţelege abilitatea de a clasifica. De multe ori formulăm
problemele de recunoaştere a formelor cu o clasă în plus, a c  1-a clasă, care
corespunde clasei "neclasificabil" sau "nu se ştie" sau "nu se poate decide".
Descrierea este o alternativă la procesul de clasificare la carese doreşte o
descriere structurală a formei de intrare. În acest caz se recurge la modele
lingvistice sau structurale.
O clasă de forme este reprezentată de o mulţime de forme (avem speranţa
că ele împart unele atribute comune) cunoscute ca avându-şi originea în aceeaşi
sursă C . Pasul important în multe aplicaţii de recunoaştere a formelor este

15
1/ Introducere în recunoaşterea formelor
identificarea atributelor potrivite (caracteristici), formarea unei măsuri bune a
similarităţii şi a unui proces asociat de identificare.
Preprocesarea este operaţia de filtrare sau de transformare a datelor brute
de intrare astfel încât să se permită calculul numeric, extragerea caracteristicilor
şi minimizarea zgomotului.
Zgomotul este un concept care îşi are originea în Teoria Comunicaţiilor. În
domeniul recunoaşterii formelor acest concept se generalizează, astfel încât să
reprezinte un număr de circumstanţe ne-ideale, cum sunt:
 Distorsiuni sau erori în semnalul/forma de intrare (de exemplu, erori de
măsurare)
 Erori în operaţia de preprocesare
 Erori în extragerea caracteristicilor
 Erori în datele de antrenare

Conceptul de regiuni de decizie este aplicabil cu precădere la StatPR şi


NeurPR. Un clasificator prtiţionează spaţiul caracteristicilor în clase etichetate,
numite regiuni de decizie. Pentru a utiliza regiunile de decizie la o posibilă şi
unică asignare, aceste regiuni trebuie să acopere spaţiul R d şi să fie disjuncte (să
nu se suprapună). O excepţie de la ultima restricţie este noţiunea de mulţimi
fuzzy [Zad75]. Frontiera fiecărei regiuni de decizie este o frontieră de decizie.
Cu aceste considerente, clasificarea vectorului caracteristicilor x devine un
proces simplu: determinăm regiunea de decizie (din R d ) în care se găseşte x şi
asignăm x clasei respective. Deşi strategia de clasificare este simplă,
determinarea regiunilor de decizie este o provocare. Uneori este convenabil, deşi
nu este întotdeauna necesar (sau posibil), să vizualizăm regiunile şi frontierele
de decizie. În plus, aspectele geometrice şi cele de calcul ale anumitor frontiere
de decizie (de exemplu, clasificatori liniari care generează ca frontiere nişte
hiperplane de decizie) sunt demne de luat în considerare.
În cele ce urmează, vom construi un număr de clasificatori pe baza
funcţiilor discriminant. În cazul în care avem c clase, funcţiile discriminant,
notate gi ( x),i  1,2,..., c , sunt utilizate pentru a partiţiona R d după cum
urmează.
Regula de decizie. Se asignează x clasei wm (regiunii Rm ), unde
g m ( x)  gi ( x),i  1,2,..., c şi i  m .
Cazul în care g k ( x)  g l ( x) defineşte o frontieră de decizie. Figurile 1.9 şi
1.10 arată câteva exemple.
O funcţie discriminant cu importanţă particulară este funcţia discriminant
de tip liniar:

g i ( x)  wi  x  w0i ,
T

16
Forme şi extragerea caracteristicilor. Exemple

R3 R1 R2
R1
R3
R1 R2
R2 R3 R1
R2
R4

Figura 1.9 Tipuri de regiuni de decizie (exemple 2-D):


(a) liniare; (b) pătratice (hiperbolice); (c) caz general.

x1 g1  g 2

g1 ( x)  x  x 1
R1
g 2 ( x)  x  x 2
x2
R2
(a)

(b)

Figura 1.10 Funcţia discriminant şi regiunile de decizie


corespunzătoare (clasificatorul distanţă minimă): (a) funcţiile
discriminant; (b) partiţia corespunzătoare a lui R 2 .

unde wi este un vector d  1 al ponderilor utilizat pentru clasa i . Această


funcţie conduce la frontiere de decizie care sunt hiperplane [Sch92]. O legătură
importantă între StatPR şi NeurPR este utilizarea reţelelor neuronale pentru
implementarea funcţiilor discriminant.

1.4 ANTRENAREA ŞI ÎNVĂŢAREA ÎN SISTEMELE


DE RECUNOAŞTERE A FORMELOR

În orice tip de abordare, StatPR, SyntPR, NeurPR, are sens să folosim


maximum de informaţie disponibilă în proiectarea sistemului de recunoaştere a
formelor. În mod intuitiv, aceasta ar părea să conducă la cele mai bune
performanţe realizabile ale sistemului. Presupunem că o anumită cantitate de
informaţie apriori, cum sunt eşantioane de form care au clasa de origine
cunoscută, este accesibilă proiectntului sistemului. de fapt, poate părea o

17
1/ Introducere în recunoaşterea formelor
nebunie să se încerce realizarea unui sistem de recunoaştere a formelor fără
această informaţie (Aceasta nu este întotdeauna adevărat. A se vedea, de
exemplu, învăţarea nesupervizată).
Un set de forme "tipice", unde atributele tipice ale clasei sau structura
fiecăreia sunt cunoscute, formează o bază de date numită set de antrenare şi
notată H . În sens general, setul de antrenare furnizează informaţie semnificativă
despre cum să se asocieze datele de intrare cu deciziile de ieşire (de exemplu,
clasificări sau descrieri structurale). Antrenarea este deseori asociată (sau
inexact identificată) cu învăţarea. Setul de antrenare se foloseşte pentru a
permite sistemului să "înveţe" informaţia relevantă, cum ar fi parametri statistici,
formarea de grupuri naturale, caracteristici cheie sau structura fundamentală. În
SyntPR, eşantioanele de antrenare pot fi utilizate pentru a învăţa sau a deduce
diferite gramatici.
În domenii ca intelifenţa artificială, învăţarea capătă o conotaţie mai
generală, oarecum analogă procesului de autoadaptare utilizat de oameni
[Michalski et. al. 1986] [Sch90]. Un sistem de învăţare işi poate adapta structura
internă astfel încât să se obţină un răspuns mai bun, posibil pe baza performanţei
anterioare cuantificate. O măsură a performanţei ar putea fi diferenţa dintre
valoarea dorită a ieşirii şi valoarea curentă. Acest concept generic de învăţare
este legat de tehnicile de recunoaştere bazate pe corecţia erorilor, tehnici pe care
le folosim pentru a dezvolta funcţii discriminant liniare în StatPR sau pentru a
obţine regula delta generalizată în NeurPR. Aceste două tehnici sunt tehnici
tipice care sunt incluse în metoda gradientului descrescător în care, sistemele se
modifică după fiecare experiment sau iteraţie. Aceasta poate conduce la o curbă
de învăţare tipică în experimentele biologice, în care P(n) reprezintă
probabilitatea ca subiectul (uman sau animal) să furnizeze răspunsul corect la
încercarea a n -a a experimentului de învăţare. O relaţie [Bol79] care arată
această comportare, şi care reflectă adesea rezultatele experimentale, este
(Figura 1.11):

P(n)  1  [1  P(1)](1   ) n1 n  1,

unde  este un parametru de învăţare. Din păcate, performanţea monoton


crescătoare din figură este, de multe ori, greu de atins în sistemele practice de
recunoaştere a formelor.
Pentru antrenare se utilizează eşantioane reprezentative ale tipurilor de
forme care pot fi întâlnite în aplicaţia curentă. Setul de antrenare se notează cu
H sau H i , în care indicele arată un set de antrenare pentru o clasă specifică de
forme. În acest context, învăţarea supervizată presupune un set etichetat (în
raport cu clasele formelor), în timp ce la învăţarea nesupervizată elementele din
H nu au etichete ale claselor iar sistemul trebuie să determine partiţiile
"naturale" ale eşantioanelor.

18
Antrenarea şi învăţarea în sistemele de recunoaştere a formelor

0.9

0.8
Probabilitatea de succes

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12
Numãr de încercãri

Figura 1.11 Curbă tipică de învăţare.

Separabilitatea liniară a setului de antrenare Să presupunem că


dispunem de un set de antrenare etichetat, H  {x1 , x 2 ,... x n } , unde partiţiile
etichetate ale claselor sunt reprezentate de H  {H1 , H 2 ,..., H c } . Eşantionul x i
este asignat partiţiei H j dacă eticheta lui x i este w j . Dacă se poate folosi un set
de funcţii discriminant liniare pentru a clasifica în mod corect fiecare element
din H (sau, echivalent, să genereze regiunile de decizie care să realizeze această
clasificare), atunci este vorba despre o problemă liniar separabilă. O lemă utilă
este [Nil65]: dacă H este linar separabil, atunci partiţiile lui H , adică
H1 , H 2 ,..., H c , sunt liniar separabile două câte două.

1.5 MODURI DE ABORDARE A PROCESULUI


DE RECUNOAŞTERE A FORMELOR

Aplicaţiile de recunoaştere a formelor sunt deosebit de variate şi îmbracă


multe forme. În unele cazuri, există o bază cuantificabilă statistică pentru
generarea formelor. În alte cazuri, structura de bază a formelor furnizează
informaţia fundamentală pentru recunoaşterea formelor. Alteori, nu se aplică
nici unul din cazurile anterioare, dar utilizatorul este capabil să dezvolte şi să

19
Transformări liniar asociative, antrenare şi exemple

Exemplul 3 Soluţia problemei din Exemplul 2 folosind


gradientul descrescător

Vom formula problema prin:

S T  w  RT
T
(6.46)

şi vom determina w folosind metoda gradientului descrescător. După 15 iteraţii,


cu   0.1 şi w ( 0 )   1 0 1 , rezultatele sunt:
T

gradient=
 0.0078
 0.0047
 0.0016
w=
0.3747
0.3752
0.3756

Observăm că valorile gradientului se apropie de vectorul 0 , indicând


atingerea unui minim local în funcţia eroare. Cititorul trebuie să verifice soluţia
rezultată. Totuşi, succesul soluţiei obţinute pe baza gradientului depinde de
alegerile potrivite pentru w şi  . 
(0)

Exemplul 4 Convertor A/D

Setul de antrenare, H . Implementarea unui convertor D/A a fost abordată


în Capitolul 5. Aici vom lua în considerare dezvoltarea unei reţele pentru
realizarea transformării inverse: de la o intrare analogică la o reprezentarea
binară a ieşirii. Cititorul ar trebui să revadă soluţiile "clasice" ale acestei
probleme. Setul de antrenare pentru un convertor A/D de 2 biţi este prezentat în
Tabelul 6.2 [Sch97].

Tabelul 6.2 Datele de antrenare


pentru convertorul A/D
Intrare (i1 ) Ieşiri (o1 o2 )
0,0 0 0
0,25 0 1
0,50 1 0
0,75 1 1

223
6/ Aplicaţii ale asociatorilor neuronali

Studenţii ar putea să ia în considerare formulări alternative: de exemplu,


cazuri în care ieşirea este centrată pe un punct de la mijlocul intervalului de
intrare.
Formularea A/D cu două unităţi, fără polarizare. Soluţia MATLAB este
prezentată în continuare.
S=
0 0.2500 0.5000 0.7500
R
R=
0 0 1 1
0 1 0 1
W=R*pinv(S)
W=
1.4286
1.1429
M=W*S
M=
0 0.3571 0.7143 1.0714
0 0.2857 0.5714 0.8571
e1=R-M
e1=
0  0.3571 0.2857  0.0714
0 0.7143  0.5714 0.1429

Rezultatele arată că şi în cazul în care se foloseşte un element neliniar (de


exemplu, o unitate cu prag), nu este posibilă o transformare perfectă.

Formularea A/D folosind o unitate cu polarizare. Soluţia MATLAB este


prezentată în continuare.
SB=
0 0.2500 0.5000 0.7500
1.0000 1.0000 1.0000 1.0000
WB=R*pinv(SB)
WB=
1.6000  0.1000
0.8000 0.2000
MB=WB*SB
MB=
 0.1000 0.3000 0.7000 1.1000
0.2000 0.4000 0.6000 0.8000
e2=MB-R
e2=
 0.1000 0.3000  0.3000 0.1000
0.2000  0.6000 0.6000  0.2000

224
Transformări liniar asociative, antrenare şi exemple

Formularea A/D folosind intrări adiţionale. Pentru a vedea problema


fundamentală în cazul implementării cu un singur strat a convertorului A/D, să
cpnsiderăm separabilitatea liniară a fiecăreia dintre transformările dorite. În mod
clar, transformarea dorită pentru răspunsul r1 este liniar separabilă, în timp ce
aceea pentru r2 nu este. Pentru a rezolva această problemă, să presupunem că
adăugăm o a treia intrare în reţea, formată prin aplicarea unui prag ieşirii o1 . În
acest caz, sunt două consecinţe:
 Structura conduce la o soluţie exactă
 Structura poate fi considerată ca o reţea cu două straturi, fiecare strat
constând dintr-un singur neuron.
Soluţia MATLAB este prezentată în continuare. Mai întâi, se formează
matricea stimul:
SBr2=[SB; 0 0 1 1]
SBr2=
0 0.2500 0.5000 0.7500
1.0000 1.0000 1.0000 1.0000
0 0 1.0000 1.0000

Observăm că liniile lui SBr2 corespund respectiv intrărilor, polarizării şi


intrărilor adiţionale. Obţinem:
WBr2=R*pinv(SBr2)
WBr2=
 0.0000 0.0000 1.0000
4.0000  0.0000  2.0000
WBr2*SBr2
ans=
0.0000  0.0000 1.0000 1.0000
 0.0000 1.0000  0.0000 1.0000

Rezultatul indică faptul că, folosind această formulare, este posibilă o


transformare perfectă.
Prezenţa unei funcţii de activare neliniare, cu formularea WLIC pentru
neti , nu cere în mod necesar o soluţie neliniară. dacă funcţia de activare
neliniară este inversabilă, este posibilă o formă liniară a transformării intrării în
neti şi poate fi folosită pentru a determina W . De exemplu, presupunem că
funcţia de activare neliniară este funcţia sigmoid, reprezentată în Figura 6.8.
Specificarea lui oi permite determinarea lui neti ; deci, transformarea intrare-
neti este liniară. Structura globală pentru această metodă este prezentată în
Figura 6.9. 

225
6/ Aplicaţii ale asociatorilor neuronali

oi
ok

netk neti

Figura 6.8 Inversarea funcţiei de activare de tip sigmoid


pentru a permite o soluţie liniară.

i o
W f (.)
net

net
f 1 (.)

antrenare

Figura 6.9 Soluţia globală pentru folosirea unui algoritm liniar


de antrenare cu un singur strat de unităţi neliniare (inversabile).

6.5 ÎNVĂŢAREA DE TIP HEBBIAN

Mai multe din metodele anterioare s-au bazat pe produsul exterior sau pe
tehnici de corelaţie pentru determinarea ponderilor. De exemplu, rezultatele din
paragraful 6.3, unde forme speciale S au condus la un algoritm de antrenare
care avea la bază produsul exterior. În acest paragraf vom dezvolta o procedură
în care se folosesc direct valorile si şi rj pentru a forma W .
Să considerăm o pereche stimul-răspuns (s, r ) cu vectorul d  1, s ,
s  s  s  1. Dorim
T
normalizat la lungimea egală cu unitatea, adică
obţinerea unei matrici pondere de forma următoare:

W  rs .
T
(6.47)

Ne reamitim că r este de dimensiuni c 1 ; deci, W este o matrice c  d


(rang 1) formată prin intermediul produsului exterior din relaţia (6.47).
Elementul i j din W , notat wij , este valoarea ponderii care se formează prin
produsul ri  s j , unde

226
Învăţarea de tip Hebbian

 s1 
s 
s 2 (6.48)
 ... 
s 
 d

şi

 r1 
r 
r   2 . (6.49)
 ... 
r 
 c

Semnul elementului wij depinde de semnele lui s j şi ri . Semne identice


vor conduce la ponderi pozitive, semne opuse conduc la valori negative pentru
wij . O altă interpretare este aceea că din ecuaţia (6.47) rezultă ponderi pozitive
dacă valorile intrare-ieşire au o corelaţie pozitivă; ponderi negative se formează
din valori negative ale corelaţiei intrare-ieşire din H .

Evaluarea proprietăţilor de memorare

Pentru un vector stimul arbitrar, se foloseşte ecuaţia (6.47) pentru a găsi


răspunsul reţelei. În cazul în care se foloseşte vectorul s pentru a antrena
sistemul, prin formarea produsului matricial:

W s  r s s  s r  r
T T
(6.50)

se generează răspunsul corect r . Dacă un vector stimul s  reprezintă o versiune


distorsionată a lui s , răspunsul reţelei liniare este:

W  s   r  s  s   ( s  s )  r
T T
(6.51)

unde termenul s  s  reprezintă o pondere care determină ca ieşirea reţelei să fie


T

o versiune scalată a răspunsului antrenat. Pentru forme normalizate s şi s  ,


cititorul ar trebui să verifice (folosind inegalitatea cosinusului) că:

s  s  s .
T 2
(6.52)

Deci, ponderea sau factorul de scală al răspunsului r în ecuaţia (6.50) la un


vector stimul distorsionat este predictibil şi este dat de:

227
6/ Aplicaţii ale asociatorilor neuronali

s  s  1.
T
(6.53)

Aceasta arată capacitatea de generalizare a acestui tip de RNA şi algoritm


de antrenare.
Este de dorit să putem folosi ecuaţiile (6.47) şi (6.50) pentru a memora mai
multe perechi ( s , r ) , i  1,2,..., n din H . Să considerăm formarea lui W pentru
i i

n perechi, prin superpoziţia cazului unei singure perechi reprezentat de ecuaţia


(6.47), adică:

n
W   r  (s )T .
i i
(6.54)
i 1

O alternativă la ecuaţia (6.54) este forma:

W  R  ST . (6.55)
u
Dacă se dă un stimul de intrare, notat s , răspunsul se calculează din:

n n
W  s   r  ( s )  s  [( s ) T  s ]  r .
u i i T u i u i
(6.56)
i 1 i 1

Menţionăm că n termeni contribuie la determinarea ieşirii în ecuaţia


(6.56). Aceştia se pot rescrie sub forma:

n n
W   r  ( s )  Wi
i i T
(6.57)
i 1 i 1

unde Wi corespunde matricii obţinute prin produs exterior folosită pentru a


i i
memora perechile de forme din setul de antrenare ( s , r ) . Presupunem că
u p u p
răspunsul dorit la intrarea s este r ; adică, s corespunde lui s în asocierea
p p
"memorată" ( s , r ) . O caracteristică dezirabilă în ecuaţia (6.56) este:

1 pentru i  p
s, s   ip   (6.58)
0 in rest

unde  este simbolul lui Kronecker. Ecuaţia (6.58) defineşte W ca un set de n


vectori ortonormali care pot fi obţinuţi prin procedeul de ortogonalizare Gram-
i
Schmidt. Din păcate, pentru că s sunt forme de intrare sau stimuli (deci, nu sunt

228
Învăţarea de tip Hebbian

întotdeauna controlabili de proiectantul RNA), această ortogonalitate dorită este


dificil de obţinut într-o problemă generală.

Exemplul 1 Formularea problemei pentru ieşiri cu valori ternare (o


singură pereche de forme)
Să considerăm următorul set de antrenare H , unde este specificată o
pereche stimul-răspuns cu valori ternare (valorile {-1, 0, 1}) (s, r ) :

1  s1 
s  1   s 2  (6.59)
1  s 
   3

 1  r1 
r   0    r2  . (6.60)
  1  r 
   3

Soluţia bazată pe produsul exterior

Pentru această pereche de forme, ponderile reţelei, folosind ecuaţiile (6.47)


sau (6.30), sunt:

 1 1 1
T 
W  [ wij ]  r  s   0 0 0  . (6.61)
  1  1  1
 

Din modul în care sunt formate wij , rezultă că W este de asemenea cu


valori ternare. Este lăsată ca exerciţiu pentru cititor formularea şi rezolvarea
acestei probleme cu ajutorul pseudoinversei şi compararea rezultatelor cu cele
obţinute aici folosind produsul exterior sau metoda hebbiană.

Evaluarea soluţiei

În ecuaţia (6.61), ponderea w11 este pozitivă, indicând o corelaţie (dorită)


pozitivă între s1 şi r1 . În contrast, w31 este negativă, indicând o corelaţie
negativă între s1 şi r3 . Din ecuaţia (6.54), setul global de ponderi ale reţelei se
determină prin sumarea ponderilor individuale. Astfel, fiecare componentă
pondere din suma din ecuaţia (6.57) de forma:

wij  s j  ri (6.62)

229
6/ Aplicaţii ale asociatorilor neuronali

unde s j şi ri sunt respectiv componenta j şi i din s şi r , reprezintă o porţiune


incrementală din ponderea globală a reţelei, wij . Ponderea globală este
wij  n wij . Perechile de forme din setul de antrenare în care s j şi ri sunt
pozitive conduc la creşterea lui wij . Dacă în H apar multe asemenea perechi,
atunci, pe măsură ce wij se dezvoltă prin procesarea secvenţială a lui H , puterea
conexiunii wij creşte sau devine mare şi pozitivă. Acesta este un exemplu de
învăţare de tip Hebbian. O remarcă similară se poate face în cazul corelaţiei
negative între s j şi ri . 

Exemplul 2 Asociator de forme cu trei intrări şi trei ieşiri, antrenare de tip


Hebbian
Acest exemplu foloseşte perechile S-R din Exemplul 1/paragraful 6.3, unde
s-a aplicat o metodă bazată pe matricea pseudoinversă. În plus, se introduce o
problemă cu un factor de scală pentru matricea W obţinut din prescripţia
Hebbiană.
Folosind datele din paragraful 6.3, formăm W cu notaţiile care urmează.
Cititorul trebuie să verifice faptul această procedură şi aceea dată prin ecuaţia
(6.54) sunt identice.
R=
1 2 3
4 5 6
7 8 9
S=[1 3 5; 5 3 1; 1 0 2]
W1=R*S'
W1=
22 14 7
49 41 16
76 68 25

Versiunea scalată a acestei matrici trebuie comparată cu aceea din


formularea cu ajutorul pseudoinversei.
Una dintre problemele majore care apar la învăţarea Hebbiană este arătată
în acest exemplu. Concret, trebuie să se ia în considerare dimensiunea sau scala
elementelor din H . În exemple, scala lui W este evident prea mare; este nevoie
de un anumit proces de normalizare. Subiectul va fi tratat în paragraful de
probleme. 

230
Transformări liniar asociative, antrenare şi exemple

H  {(i , t )}, p  1,2,..., n


p p
(6.16)

sau, în notaţia stimul-răspuns din acest capitol:

H  {( s , r )}, p  1,2,..., n .
p p
(6.17)

Observăm că ecuaţia (6.6) poate fi folosită pentru a defini o reţea cu mai


multe straturi la care, în cazul în care se consideră două straturi, intrarea în al
doilea strat, i 2 , este ieşirea primului strat, definită prin ecuaţia (6.6), adică
i 2  o , iar transformarea globală este:

o  W2  i 2  W2  W1  i . (6.18)

Nu este nevoie ca matricile W1 şi W2 să aibă aceleaşi dimensiuni.

Să presupunem că se defineşte structura unei reţele hetero-asociative


[Sch97] sub forma:

W  s  r , p  1,2,..., n
p p
(6.19)

unde r este vectorul răspuns c 1 , s este vectorul stimul d  1, iar W este


p p

matricea c  d care reprezintă structura de interconexiuni a reţelei liniare. Să ne


amintim că linia i din W reprezintă ponderile unităţii i . Problema este
determinarea matricii W , mai ales atunci când setul de antrenare H  {( s , r )}
p p

este arbitrar. Folosind H , ecuaţia (6.10) se poate rescrie sub forma:

W S  R. (6.20)

O metodă de rezolvare a ecuaţiei (6.20) are la bază observaţia că ecuaţia se


poate scrie sub altă formă:

S T  W T  RT (6.21)

care poate fi înţeleasă ca un sistem de ecuaţii de forma:

S T  w i  r i , i  1,2,..., c .
T T
(6.22)

T
Prin w i am notat coloana i din W T , care reprezintă ponderile
T
corespunzătoare unităţii i . Similar, r i este coloana răspunsurilor dorite pentru

216
6/ Aplicaţii ale asociatorilor neuronali

unitatea i (fiecare corespunzând unei linii din S T ) aranjată ca un vector n 1 .


Presupunând că S T are rangul egal cu numărul coloanelor, soluţia pentru fiecare
wi se poate găsi cu ajutorul pseudo-inversei lui S T , care este de forma:

( S T )   ((S T ) T S T ) 1 ( S T ) T  ( SS T ) 1 S . (6.23)

Pentru că această matrice pseudo-inversă este aceeaşi indiferent de vectorii


necunoscuţi wi din ecuaţia (6.22), este posibil să se obţină o soluţie mai directă
notând:

W T  ( SS T ) 1 SRT (6.24)
sau

W  ((SS T ) 1 SRT ) T  RS T ( SS T ) 1 . (6.25)

O altă metodă, neabordată aici, are la bază folosirea tehnicii gradientului


descrescător pentru a obţine fiecare din vectorii pondere din ecuaţia (6.22).
Presupunând că S T are gradul egal cu numărul liniilor [Sch97], ecuaţia
(6.20) se poate multiplica la dreapta cu pseudo-inversa lui S , notată S  , ceea ce
conduce la:

RS   WSS   W (6.26)

sau

W  RS   RS T ( SS T ) 1 . (6.27)

Atunci când matricea stimul S T din ecuatia (6.10) sau (6.20), cu


dimensiunile d  n , nu are rangul egal cu numărul coloanelor (adică S nu are
rangul egal cu numărul liniilor), nu există n coloane liniar independente în S T ,
iar procedura bazată pe pseudo-inversă (6.27) nu se poate aplica. O cale pentru a
depăşi această problemă este creşterea dimensiunilor [WCM 90] pentru fiecare
i
vector stimul s .
Fiecărui vector stimul din S i se adaugă componente suplimentare ( d  1 ,
d  2 , etc.), ceea ce este echivalent cu adăugarea de coloane la matricea S T .
Ecuaţia (6.27) se simplifică în mod considerabil atunci când S (matricea
ale cărei coloane sunt vectorii stimul) este ortogonală. În acest caz, se arată că:

S   S 1  S T (6.28)

astfel că matricea pondere se formează folosind:

217
Transformări liniar asociative, antrenare şi exemple

W  R  ST . (6.29)

Dezvoltând ecuaţia (6.29) rezultă:

 (s1 )T 
 2 T
W  [r r ... r ]   ( s )  .
1 2 n
(6.30)
 ... 
 (s n )T 
 

Ecuaţia (6.30) se poate rescrie pentru a arăta

 (s1 )T 
 2 T
W  [r r ... r ]   ( s )   (c1 c 2 ... c n )
1 2 n
(6.31)
 ... 
 (s n )T 
 

unde coloana c j este formată din:

n
c j   r  sij
i
(6.32)
i 1

i
iar s ij este elementul j al vectorului linie ( s ) T . De exemplu, prima coloană,
c 1 , a matricii rezultante din ecuaţia (6.31) este:

c1  r  s11  r  s 21  ...  r  s n1 .
1 2 n
(6.33)

Aşadar, forma generală a ecuaţiei (6.31) este:

 (s1 )T 
 2 T n n n
[r r ... r ]   ( s )   ( r i  si1  r i  si2 ... r  sin ) .
1 2 n i
(6.34)
 ...  i 1 i 1 i 1
 (s n )T 
 

În acest caz, o formă specială pentru W este:


n
W   r  (s )T .
i i
(6.35)
i 1

Aceasta se reduce la o formulare de tip produs exterior şi trebuie comparată


cu ecuaţia (6.54) obţinută anterior.

218
6/ Aplicaţii ale asociatorilor neuronali

Exemplul 1 Trei intrări, ieşire 1-din-3

Formularea problemei. Considerăm următorul set de antrenare pentru


n  3 , care constă din d  3 perechi ( s , r ) , unde:
i i

 4 1
s   1  r   0 
 
1 1
(6.36)
1 0
   

 4  0
s   1  r   1 
 
2 2
(6.37)
 0  0
   

 2  0
s   0  r   0 
 
3 3
(6.38)
1 1
   

În mod clar, forma dorită a ieşirii asociatorului de forme indică un selector


1-din-3 unde, în acest exemplu de clasă c  3 , elementul ri  1 corespunde
k
clasificării (binare) a stimulilor s în clasa wi . Ecuaţia (6.20) devine:

R  I 33 (6.39)

şi

 
 4 4 2
s   1 1 0  .
3
S s
1 2
s (6.40)
1 0 1
 

Pentru că S are rangul egal cu numărul coloanelor, iar dimensiunea este


3 3 , S este inversabilă. Folosind ecuaţia (6.28) W se scrie:

 1 
 2 1
 2 
1
W  S 1    1  1 . (6.41)
 2 
 1 
  2 0
 2 

219
Transformări liniar asociative, antrenare şi exemple

Verificarea proprietăţilor de memorare. Cititorul ar trebui să verifice că,


pentru perechile S-R date în ecuaţiile (6.36), (6.37), (6.38), matricea
interconexiunilor (antrenată) din (6.41) conduce la [Sch92]:

W  s  r , i  1,2,3 .
i i
(6.42)

Este interesant să considerăm răspunsul reţelei atât pentru setul de


antrenare cât şi pentru forme perturbate ale stimulilor. De exemplu, pentru o
1 p
versiune perturbată a lui s , notată s , unde:

 4
s   1 
p
(6.43)
 2
 

răspunsul este:

 2
r  W  s    1 .
p p
(6.44)
 0
 

În mod clar, reţeaua prezintă o anumită formă de răspuns de tip


interpolator. 

Exemplul 2 Detector liniar 2-din-3 şi variante

Formularea problemei. Să considerăm dezvoltarea, cu ajutorul unor unităţi


liniare, a unui detector 2-din-3. Se foloseşte o arhitectură cu o singură unitate.
Relaţia intrare/ieşire pentru un astfel de dispozitiv este prezentată în Tabelul 6.1.
Cititorul ar trebui să compare caracteristica din acest tabel cu aceea a unui
detector sau generator de paritate. de asemenea, trebuie să menţionăm că în
această problemă setul de antrenare este exhaustiv, adică nu există alte
combinaţii de intrare de luat în considerare, astfel că generalizarea nu este o
problemă. Vom considera mai multe variante ale acestei probleme, inclusiv
introducerea unei polarizări şi modificarea caracteristicii dorite de ieşire.

Separabilitate liniară. Folosirea unei unităţi liniare pentru a îndeplini


transformările specificate conduce la o problemă de separabilitate liniară.
Folosind tehnicile din Capitolul , este posibil să se arate că H reprezintă un set
de date neliniar separabil. Acest lucru se ilustrează grafic în Figura 6.7.

220
6/ Aplicaţii ale asociatorilor neuronali

Tabelul 6.1 Caracteristica pentru un detector


(exact) 2 din 3
Intrări (i1 , i2 , i3 ) Ieşire o1
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

Dacă exact 2 din 3

Dacă mai mult sau egal cu 2 din 3

Figura 6.7 Reprezentarea unui detector 2 din 3.

Formularea MATLAB (fără polarizare). Transformarea dorită prezentată


în Tabelul 6.1 se rescrie în forma indicată în ecuaţia (6.20) sau, simplu:

w S  r
T T
(6.45)

unde fiecare coloană a lui S corespunde unei linii din Tabelul 6.1. Formularea
MATLAB şi soluţia sunt indicate în continuare.

S=
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
R=
0 0 0 1 0 1 1 0
W=R*pinv(S)
W=
0.2500 0.2500 0.2500

221
Transformări liniar asociative, antrenare şi exemple

Pentru a verifica transformare rezultată, se calculează un vector eroare. Mai


întîi determinăm răspunsul actual pentru toate elementele lui H .

W*S
ans=
0 0.25 0.25 0.50 0.25 0.50 0.50 0.75

Se observă că acest rezultat este semnificativ diferit de cel specificat în


Tabelul 6.1; de fapt, transformarea realizată cu o singură unitate liniară şi fără
polarizare este destul de slabă. cantitativ:
error=R-W*S
error=
0  0.25  0.25 0.50  0.25 0.50 0.50  0.75
e=errnorm2(error)
err2=
1.5000
e=
1.5000

Folosirea unităţii polarizate. În încercarea de a obţine o transformare mai


bună, luăm în considerare adăugarea unei polarizări, implementată aici prin
creşterea dimensiunilor fiecărui vector cu a d  1 -a intrare.
Formularea MATLAB modificată este:
S=
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
R
R=
0 0 0 1 0 1 1 0
B=[1 1 1 1 1 1 1 1]
B=
1 1 1 1 1 1 1 1
SB=[S;B]
SB=
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1
WB=R*pinv(S)
WB=
0.25 0.25 0.25  0.00

222
6/ Aplicaţii ale asociatorilor neuronali

Evaluarea rezultatului şi compararea cu formularea anterioară sunt lăsate pe


seama cititorului. 

223
Transformări liniar asociative, antrenare şi exemple

Exemplul 3 Soluţia problemei din Exemplul 2 folosind


gradientul descrescător

Vom formula problema prin:

S T  w  RT
T
(6.46)

şi vom determina w folosind metoda gradientului descrescător. După 15 iteraţii,


cu   0.1 şi w ( 0 )   1 0 1 , rezultatele sunt:
T

gradient=
 0.0078
 0.0047
 0.0016
w=
0.3747
0.3752
0.3756

Observăm că valorile gradientului se apropie de vectorul 0 , indicând


atingerea unui minim local în funcţia eroare. Cititorul trebuie să verifice soluţia
rezultată. Totuşi, succesul soluţiei obţinute pe baza gradientului depinde de
alegerile potrivite pentru w şi  . 
(0)

Exemplul 4 Convertor A/D

Setul de antrenare, H . Implementarea unui convertor D/A a fost abordată


în Capitolul 5. Aici vom lua în considerare dezvoltarea unei reţele pentru
realizarea transformării inverse: de la o intrare analogică la o reprezentarea
binară a ieşirii. Cititorul ar trebui să revadă soluţiile "clasice" ale acestei
probleme. Setul de antrenare pentru un convertor A/D de 2 biţi este prezentat în
Tabelul 6.2 [Sch97].

Tabelul 6.2 Datele de antrenare


pentru convertorul A/D
Intrare (i1 ) Ieşiri (o1 o2 )
0,0 0 0
0,25 0 1
0,50 1 0
0,75 1 1

223
6/ Aplicaţii ale asociatorilor neuronali

Studenţii ar putea să ia în considerare formulări alternative: de exemplu,


cazuri în care ieşirea este centrată pe un punct de la mijlocul intervalului de
intrare.
Formularea A/D cu două unităţi, fără polarizare. Soluţia MATLAB este
prezentată în continuare.
S=
0 0.2500 0.5000 0.7500
R
R=
0 0 1 1
0 1 0 1
W=R*pinv(S)
W=
1.4286
1.1429
M=W*S
M=
0 0.3571 0.7143 1.0714
0 0.2857 0.5714 0.8571
e1=R-M
e1=
0  0.3571 0.2857  0.0714
0 0.7143  0.5714 0.1429

Rezultatele arată că şi în cazul în care se foloseşte un element neliniar (de


exemplu, o unitate cu prag), nu este posibilă o transformare perfectă.

Formularea A/D folosind o unitate cu polarizare. Soluţia MATLAB este


prezentată în continuare.
SB=
0 0.2500 0.5000 0.7500
1.0000 1.0000 1.0000 1.0000
WB=R*pinv(SB)
WB=
1.6000  0.1000
0.8000 0.2000
MB=WB*SB
MB=
 0.1000 0.3000 0.7000 1.1000
0.2000 0.4000 0.6000 0.8000
e2=MB-R
e2=
 0.1000 0.3000  0.3000 0.1000
0.2000  0.6000 0.6000  0.2000

224
Transformări liniar asociative, antrenare şi exemple

Formularea A/D folosind intrări adiţionale. Pentru a vedea problema


fundamentală în cazul implementării cu un singur strat a convertorului A/D, să
cpnsiderăm separabilitatea liniară a fiecăreia dintre transformările dorite. În mod
clar, transformarea dorită pentru răspunsul r1 este liniar separabilă, în timp ce
aceea pentru r2 nu este. Pentru a rezolva această problemă, să presupunem că
adăugăm o a treia intrare în reţea, formată prin aplicarea unui prag ieşirii o1 . În
acest caz, sunt două consecinţe:
 Structura conduce la o soluţie exactă
 Structura poate fi considerată ca o reţea cu două straturi, fiecare strat
constând dintr-un singur neuron.
Soluţia MATLAB este prezentată în continuare. Mai întâi, se formează
matricea stimul:
SBr2=[SB; 0 0 1 1]
SBr2=
0 0.2500 0.5000 0.7500
1.0000 1.0000 1.0000 1.0000
0 0 1.0000 1.0000

Observăm că liniile lui SBr2 corespund respectiv intrărilor, polarizării şi


intrărilor adiţionale. Obţinem:
WBr2=R*pinv(SBr2)
WBr2=
 0.0000 0.0000 1.0000
4.0000  0.0000  2.0000
WBr2*SBr2
ans=
0.0000  0.0000 1.0000 1.0000
 0.0000 1.0000  0.0000 1.0000

Rezultatul indică faptul că, folosind această formulare, este posibilă o


transformare perfectă.
Prezenţa unei funcţii de activare neliniare, cu formularea WLIC pentru
neti , nu cere în mod necesar o soluţie neliniară. dacă funcţia de activare
neliniară este inversabilă, este posibilă o formă liniară a transformării intrării în
neti şi poate fi folosită pentru a determina W . De exemplu, presupunem că
funcţia de activare neliniară este funcţia sigmoid, reprezentată în Figura 6.8.
Specificarea lui oi permite determinarea lui neti ; deci, transformarea intrare-
neti este liniară. Structura globală pentru această metodă este prezentată în
Figura 6.9. 

225
6/ Aplicaţii ale asociatorilor neuronali

oi
ok

netk neti

Figura 6.8 Inversarea funcţiei de activare de tip sigmoid


pentru a permite o soluţie liniară.

i o
W f (.)
net

net
f 1 (.)

antrenare

Figura 6.9 Soluţia globală pentru folosirea unui algoritm liniar


de antrenare cu un singur strat de unităţi neliniare (inversabile).

6.5 ÎNVĂŢAREA DE TIP HEBBIAN

Mai multe din metodele anterioare s-au bazat pe produsul exterior sau pe
tehnici de corelaţie pentru determinarea ponderilor. De exemplu, rezultatele din
paragraful 6.3, unde forme speciale S au condus la un algoritm de antrenare
care avea la bază produsul exterior. În acest paragraf vom dezvolta o procedură
în care se folosesc direct valorile si şi rj pentru a forma W .
Să considerăm o pereche stimul-răspuns (s, r ) cu vectorul d  1, s ,
s  s  s  1. Dorim
T
normalizat la lungimea egală cu unitatea, adică
obţinerea unei matrici pondere de forma următoare:

W  rs .
T
(6.47)

Ne reamitim că r este de dimensiuni c 1 ; deci, W este o matrice c  d


(rang 1) formată prin intermediul produsului exterior din relaţia (6.47).
Elementul i j din W , notat wij , este valoarea ponderii care se formează prin
produsul ri  s j , unde

226
Învăţarea de tip Hebbian

 s1 
s 
s 2 (6.48)
 ... 
s 
 d

şi

 r1 
r 
r   2 . (6.49)
 ... 
r 
 c

Semnul elementului wij depinde de semnele lui s j şi ri . Semne identice


vor conduce la ponderi pozitive, semne opuse conduc la valori negative pentru
wij . O altă interpretare este aceea că din ecuaţia (6.47) rezultă ponderi pozitive
dacă valorile intrare-ieşire au o corelaţie pozitivă; ponderi negative se formează
din valori negative ale corelaţiei intrare-ieşire din H .

Evaluarea proprietăţilor de memorare

Pentru un vector stimul arbitrar, se foloseşte ecuaţia (6.47) pentru a găsi


răspunsul reţelei. În cazul în care se foloseşte vectorul s pentru a antrena
sistemul, prin formarea produsului matricial:

W s  r s s  s r  r
T T
(6.50)

se generează răspunsul corect r . Dacă un vector stimul s  reprezintă o versiune


distorsionată a lui s , răspunsul reţelei liniare este:

W  s   r  s  s   ( s  s )  r
T T
(6.51)

unde termenul s  s  reprezintă o pondere care determină ca ieşirea reţelei să fie


T

o versiune scalată a răspunsului antrenat. Pentru forme normalizate s şi s  ,


cititorul ar trebui să verifice (folosind inegalitatea cosinusului) că:

s  s  s .
T 2
(6.52)

Deci, ponderea sau factorul de scală al răspunsului r în ecuaţia (6.50) la un


vector stimul distorsionat este predictibil şi este dat de:

227
6/ Aplicaţii ale asociatorilor neuronali

s  s  1.
T
(6.53)

Aceasta arată capacitatea de generalizare a acestui tip de RNA şi algoritm


de antrenare.
Este de dorit să putem folosi ecuaţiile (6.47) şi (6.50) pentru a memora mai
multe perechi ( s , r ) , i  1,2,..., n din H . Să considerăm formarea lui W pentru
i i

n perechi, prin superpoziţia cazului unei singure perechi reprezentat de ecuaţia


(6.47), adică:

n
W   r  (s )T .
i i
(6.54)
i 1

O alternativă la ecuaţia (6.54) este forma:

W  R  ST . (6.55)
u
Dacă se dă un stimul de intrare, notat s , răspunsul se calculează din:

n n
W  s   r  ( s )  s  [( s ) T  s ]  r .
u i i T u i u i
(6.56)
i 1 i 1

Menţionăm că n termeni contribuie la determinarea ieşirii în ecuaţia


(6.56). Aceştia se pot rescrie sub forma:

n n
W   r  ( s )  Wi
i i T
(6.57)
i 1 i 1

unde Wi corespunde matricii obţinute prin produs exterior folosită pentru a


i i
memora perechile de forme din setul de antrenare ( s , r ) . Presupunem că
u p u p
răspunsul dorit la intrarea s este r ; adică, s corespunde lui s în asocierea
p p
"memorată" ( s , r ) . O caracteristică dezirabilă în ecuaţia (6.56) este:

1 pentru i  p
s, s   ip   (6.58)
0 in rest

unde  este simbolul lui Kronecker. Ecuaţia (6.58) defineşte W ca un set de n


vectori ortonormali care pot fi obţinuţi prin procedeul de ortogonalizare Gram-
i
Schmidt. Din păcate, pentru că s sunt forme de intrare sau stimuli (deci, nu sunt

228
Învăţarea de tip Hebbian

întotdeauna controlabili de proiectantul RNA), această ortogonalitate dorită este


dificil de obţinut într-o problemă generală.

Exemplul 1 Formularea problemei pentru ieşiri cu valori ternare (o


singură pereche de forme)
Să considerăm următorul set de antrenare H , unde este specificată o
pereche stimul-răspuns cu valori ternare (valorile {-1, 0, 1}) (s, r ) :

1  s1 
s  1   s 2  (6.59)
1  s 
   3

 1  r1 
r   0    r2  . (6.60)
  1  r 
   3

Soluţia bazată pe produsul exterior

Pentru această pereche de forme, ponderile reţelei, folosind ecuaţiile (6.47)


sau (6.30), sunt:

 1 1 1
T 
W  [ wij ]  r  s   0 0 0  . (6.61)
  1  1  1
 

Din modul în care sunt formate wij , rezultă că W este de asemenea cu


valori ternare. Este lăsată ca exerciţiu pentru cititor formularea şi rezolvarea
acestei probleme cu ajutorul pseudoinversei şi compararea rezultatelor cu cele
obţinute aici folosind produsul exterior sau metoda hebbiană.

Evaluarea soluţiei

În ecuaţia (6.61), ponderea w11 este pozitivă, indicând o corelaţie (dorită)


pozitivă între s1 şi r1 . În contrast, w31 este negativă, indicând o corelaţie
negativă între s1 şi r3 . Din ecuaţia (6.54), setul global de ponderi ale reţelei se
determină prin sumarea ponderilor individuale. Astfel, fiecare componentă
pondere din suma din ecuaţia (6.57) de forma:

wij  s j  ri (6.62)

229
6/ Aplicaţii ale asociatorilor neuronali

unde s j şi ri sunt respectiv componenta j şi i din s şi r , reprezintă o porţiune


incrementală din ponderea globală a reţelei, wij . Ponderea globală este
wij  n wij . Perechile de forme din setul de antrenare în care s j şi ri sunt
pozitive conduc la creşterea lui wij . Dacă în H apar multe asemenea perechi,
atunci, pe măsură ce wij se dezvoltă prin procesarea secvenţială a lui H , puterea
conexiunii wij creşte sau devine mare şi pozitivă. Acesta este un exemplu de
învăţare de tip Hebbian. O remarcă similară se poate face în cazul corelaţiei
negative între s j şi ri . 

Exemplul 2 Asociator de forme cu trei intrări şi trei ieşiri, antrenare de tip


Hebbian
Acest exemplu foloseşte perechile S-R din Exemplul 1/paragraful 6.3, unde
s-a aplicat o metodă bazată pe matricea pseudoinversă. În plus, se introduce o
problemă cu un factor de scală pentru matricea W obţinut din prescripţia
Hebbiană.
Folosind datele din paragraful 6.3, formăm W cu notaţiile care urmează.
Cititorul trebuie să verifice faptul această procedură şi aceea dată prin ecuaţia
(6.54) sunt identice.
R=
1 2 3
4 5 6
7 8 9
S=[1 3 5; 5 3 1; 1 0 2]
W1=R*S'
W1=
22 14 7
49 41 16
76 68 25

Versiunea scalată a acestei matrici trebuie comparată cu aceea din


formularea cu ajutorul pseudoinversei.
Una dintre problemele majore care apar la învăţarea Hebbiană este arătată
în acest exemplu. Concret, trebuie să se ia în considerare dimensiunea sau scala
elementelor din H . În exemple, scala lui W este evident prea mare; este nevoie
de un anumit proces de normalizare. Subiectul va fi tratat în paragraful de
probleme. 

230
Regula delta şi regula delta generalizată

Ca o observaţie, ne reamintim din Capitolul 5 că alegerea anumitor funcţii


de activare (de exemplu, sigmoid) poate conduce la calcule mai uşoare ale
cantităţilor din ecuaţia (7.34). De exemplu, dacă se alege o caracteristică
sigmoidală, unde

1
o j  f (net j )   net
(7.35)
1 e j

calculul derivatei din ecuaţia (7.35) este foarte simplu, adică:

f (net j )  o j  (1  o j ) . (7.36)

Unităţi de ieşire

Pentru o unitate de ieşire, folosind definiţia erorii din (7.12), rezultă:

E p
 (t jp  o jp ) . (7.37)
o j
p

Din ecuaţiile (7.29) şi (7.33) se obţine pentru unităţile de ieşire

 jp  (t jp  o jp )  f j(net jp ) (7.38)

iar corecţia ponderilor pentru aceste unităţi se obţine din (7.31)

 p w ji   (t jp  o jp )  f j( net jp )  o~i p . (7.39)

Această tehnică de corecţie este o strategie de corecţie de tip produs. O


investigaţie mai atentă sugerează mai multe deficienţe potenţiale, printre care:
1. Dacă o~i p  0 , caz care poate apărea dacă intrările sunt binare, atunci nu
există nici o corecţie.
2. Observăm că ecuaţia (7.39) ia în considerare f j( net jp ) . Deci, corecţia
va fi minimizată ori de câte ori unităţile se află în "regiuni inactive",
adică acolo unde derivata are valori mici. Aceasta reprezintă un
dezavantaj pentru reţelele în care ponderile sunt iniţializate aleator şi se
folosesc unităţi cu funcţii de activare în regiunea de saturaţie. De
exemplu, în cazul unităţilor sigmoidale, folosind (7.36), f j( net jp )  .
 o j  (1  o j ) Dacă o unitate sau un grup de unităţi au o activare care
determină saturaţia, deşi valorile câştigului  şi a erorii sunt mari,
valorile  vor fi mici, conducând la corecţii mici. Această situaţie este
cunoscută sub numele de "saturaţie prematură" a unităţilor din reţea.

249
7/ Reţele neuronale cu propagare directă

Ne amintim că situaţie ideală este atunci când unităţile funcţionează în


regiunile active pentru a obţine corecţia maximă; aceasta explică de ce o
procedură "bună" de iniţializare a ponderilor ar fi iniţializarea unităţilor (cu
ponderi aleatoare) astfel încât valoarea aşteptată a activării să fie zero.
Iniţializarea potrivită a ponderilor este de dorit şi pentru a depăşi minimele
locale şi pentru a face mai eficientă antrenarea pe baza DR.

7.3.3 Extensii ale DR la unităţi ascunse: regula delta generalizată

Straturile diferite de cele de intrare şi de cele de ieşire se numesc straturi


ascunse şi conţin unităţi ascunse, după cum se precizează în Figura 7.3.
Formularea pentru aceste unităţi ascunse presupune cel puţin două modificări:
1. Trebuie elaborată o metodă revizuită pentru calculul derivatelor sau al
variaţiilor ponderilor. Aceasta se datorează efectului "indirect" al
ponderilor unităţilor ascunse asupra lui E p .
2. Pentru că unităţile ascunse conduc la o suprafaţă a erorii care poate să
nu fie concavă, există posibilitatea convergenţei la un minim local în E .

O procedură modificată pentru unităţile ascunse

Pentru ponderile unităţilor care nu sunt unităţi de ieşire, căutăm o metodă


de calcul pentru w ji . În consecinţă, dorim să obţinem o estimare a lui
E p w ji pentru aceste unităţi. Ne amintim că E p are la bază compararea
ieşirilor unităţilor de ieşire cu valorile dorite (ţintă). Pentru o reţea cu trei straturi
(de intrare, ascuns, de ieşire) cu unitatea ascunsă u k , vom considera mai întâi
modul în care ponderile pentru u k afectează E p :
1. Ieşirea lui uk activează neuronii din stratul de ieşire.
2. Ieşirea lui u k este o funcţie de intrările sale, ponderi şi funcţia de
activare.
Aceste efecte sunt ilustrate în Figura 7.9 şi în Figura 7.10.

.
. o1
.
o2

.
ok o3
.
. .
.
.

Următorul (înapoi) strat Unitate Strat de


ascuns sau de intrare ascunsă u k ieşire

Figura 7.9 Rolul unei unităţi ascunse u k .

250
Regula delta şi regula delta generalizată

..
.
om
w ji ∑ ∫
..
ok .
Ep

Figura 7.10 Propagarea înapoi a influenţei unităţii asupra lui E p .

Pe această bază, vom reformula metoda elaborată mai sus, pentru unitatea
ascunsă u k , luând în considerare influenţa ei asupra celorlalte n unităţi de ieşire
şi vom folosi din nou regula "lanţ", după cum urmează:
E p E p net np
    ( np  wnk ) (6.40)
okp
n net n
p
ok p
n
rezultatul din ecuaţia (7.40) încorporează ecuaţia (7.29) şi derivata ecuaţiei
(7.15). Aşadar, ecuaţiile (7.29), (7.33) şi (7.34) conduc la
E p
 k   p  f k (net kp ) .
p
(7.41)
o k
Aceasta, combinată cu ecuaţia (7.40) conduc la formularea recursivă pentru
actualizarea ponderilor din unităţile ascunse:
 kp  f k (net kp )    np  wnk (7.42)
n

unde  np se obţine din stratul de ieşire.


Ecuaţiile (7.41) şi (7.42) ilustrează în mod necesar natura serială a
algoritmului GDR sau de propagare inversă BP (Back Propagation). Mai întâi,
remarcăm posibilitatea de saturaţie prematură (PS) în unităţile din stratul ascuns.
Totuşi, există un neajuns şi mai semnificativ datorat formulării recursive. Pentru
că ecuaţia (7.42) calculează  kp  f k (net kp )    np , problemele care apar se pot
n
formula în felul următor:
1. Efectul unei valori mici pentru  în stratul anterior (din cauza, poate, a
saturaţiei premature) ar putea fi amplificat în combinaţia de două unităţi
saturate cascadate. Dacă unitatea k este saturată, ponderarea f k (net kp )
reduce în mod suplimentar corecţia.
2. Acest proces poate continua înapoi, de la stratul de ieşire, până când
corecţiile ponderilor pentru straturile interne sunt neglijabile. Aceasta
explică parţial de ce reţelele cu un număr mare de straturi ascunse se
antrenează foarte greu folosind strategia GDR.

251
7/ Reţele neuronale cu propagare directă

Corecţia ponderilor stratului ascuns din ecuaţia (7.42) ascunde mai multe
dificultăţi practice importante pentru minimizarea lui E p . De exemplu, dacă
faza de învăţare a reţelei începe cu toate ponderile egale, corecţiile ponderilor
fiecărei unităţi ascunse de la aceeaşi unitate de intrare sunt identice. Aceasta
conduce la obţinerea unei "simetrii" a ponderilor din reţea, care poate să nu
corespundă cu soluţia optimă a ponderilor. În mod tipic, ponderile reţelei sunt
iniţializate aleator pentru a evita această problemă.

Propagarea inversă: sumarul unei proceduri cu mai mulţi paşi


Începând cu o asignare iniţială (posibil aleatoare) a ponderilor pentru o
reţea cu propagare directă cu trei straturi, metoda este următoarea:
p
Pasul 1: Aplicarea i şi formarea ieşirilor oi , pentru toate unităţile din reţea.
Pasul 2: Utilizarea ecuaţiei (7.39) pentru a actualiza w ji pentru stratul de ieşire.
 p w   (t p  o p )  f ( net p )  o~ p .
ji j j j j i (7.39)

Pasul 3: Utilizarea ecuaţiilor (7.32) şi )7.42) pentru a actualiza w ji pentru stratul


ascuns.
p w ji   ( jp )  o~i p . (7.32)
 kp  f k (net kp )    np  wnk (7.42)
n

unde  np se obţine din stratul de ieşire.


Pasul 4: Stop dacă acualizările sunt nesemnificative sau eroarea este mai mică
decât un prag preselectat; în caz contrar, se reia pasul 1.
Aceasta conduce la o schemă de ajustare bazată pe propagarea înapoi a
erorii (Figura 7.11). Ecuaţiile GDR sunt prezentate sumar în Tabelul 7.1.

Tabelul 7.1 Ecuaţiile GDR pentru antrenarea prin propagare inversă.


Măsura erorii 1 Ecuaţia (7.12)
(formei) E p   (t jp  o jp ) 2
2 j
Corecţia  w   ( p )  o~ p
p
ji j i
Ecuaţia (7.32)
ponderilor
(formei)
Unităţile de ieşire  jp  (t jp  o jp )  f j( net jp ) Ecuaţia (7.38)
Unităţile interne  kp  f k (net kp )    np  wnk , unde Ecuaţia (7.42)
n

 sunt de la stratul următor ( Lk 1 )


n
p

Derivata ieşirii f (net j )  o j  (1  o j ) Ecuaţia (7.36)


(caracteristică
sigmoidală)

M`

252
Regula delta şi regula delta generalizată

Iniţializare contor
iteraţii N  1

Iniţializare wij cu
valori aleatoare

Aplicare forma de
intrare şi calculul
răspunsului

Calcul eroare de
ieşire E
N  N 1

E  ET DA Stop - reţea
? antrenată

NU

DA Stop
N  N max
?
NU

Calcul  pentru
unităţile de ieşire

Calcul  pentru
straturile ascunse

Actualizare wij

Figura 7.11 Procedura globală GDR.

253
7/ Reţele neuronale cu propagare directă

7.3.4 Prezentarea formelor şi strategii de acualizare a ponderilor

Datorită flexibilităţii strategiilor de corecţie dezvoltate în acest capitol, sunt


posibile numeroase opţiuni. Vom explora în continuare o parte din aceste
posibilităţi. În special, vom considera antrenarea serială faţă de antrenare prin
epoci (bloc).

Antrenarea prin eşantioane

Putem efectua corecţia ponderilor reţelei pentru a p -a pereche de antrenare


folosind ecuaţia (7.6) pentru toate valorile i şi j , aşa cum s-a indicat mai
înainte, şi astfel să implementăm antrenarea prin eşantioane, sau bazată pe
forme. Această modalitate de antrenare este cel mai uşor de implementat şi,
cuplată cu o strategie de selecţie aleatoare a formelor, permite o corecţie a
ponderilor care are oarecum caracter aleator. Aceasta ajută atunci când este
posibilă obţinerea unui minim local al erorii.

Antrenarea prin epoci (antrenare bloc)

Au fost dezvoltate metode de corecţie pe baza formelor individuale de in-


trare. Ele conduc la o procedură de tip gradient descrescător. Dacă se doreşte
utilizarea erorii globale (toate epocile), E , pentru a conduce la procedura gradi-
entului descrescător, este nevoie de gradientul E w ji . Din fericire, aceasta nu
necesită o derivare separată. Folosind ecuaţiile (7.9) şi (7.13), se arată că:

E E p
 . (7.43)
w ji p w ji

Deci, o alternativă este antrenarea prin EPOCH, unde formăm

w ji    p  w ji . (7.44)
p

Aceasta reprezintă o corecţie cumulată sau globală a setului de ponderi


după fiecare considerare a tuturor perechilor din setul de antrenare, sau o epocă
de antrenare. Această abordare se mai numeşte antrenare de tip bloc.

Strategii mixte

254
Regula delta şi regula delta generalizată

Sunt de asemenea posibile metode de antrenare hibride. Într-o astfel de


metodă, sugerată de Munro [Mun94], o formă se aplică în mod repetat până
când eroarea se reduce la o anumită valoare preselectată. O generalizare a

255
7/ Reţele neuronale cu propagare directă

acesteia [Cac94] este un set de strategii pedagogice de prezentare a formelor.


Aceste strategii au în comun proprietatea că frecvenţa de prezentare a unei
forme individuale este corelată cu eroarea ei de transformare. Formele care au
erori mari, sau sunt "dificil de antrenat", pot fi prezentate mai frecvent. Desigur,
trebuie să fim atenţi să nu anulăm antrenarea precedentă.

7.4 EXTENSII ALE PROCESULUI DE ANTRENARE

7.4.1 Traiectorii ale erorii pe durata antrenării

Procedura GDR are la bază gradientul descrescător de ordinul întâi şi va


conduce la găirea unui minim local în E . Din păcate, după cum se arată în
Figura 7.12, minimul local găsit poate să corespundă unor soluţii suboptimale în
raport cu minimul global. În plus, mimimul particular găsit, şi ponderile
(0)
corespunzătoare, depind de mulţi parametri, inclusiv w . Această situaţie este
ilustrată în Figura 7.13.
O altă unealtă valoroasă pentru monitorizarea antrenării este construirea
graficului E ca funcţie de iteraţie. Aceasta poate lua multe forme, inclusiv
convergenţa directă, comportarea oscilantă (atât stabilă cât şi instabilă) sau
constantă (Figura 7.14).

T
Figura 7.12 Posibile minime ale lui
E (w) , găsite în decursul antrenării.

w2 w2( 0)
w1( 0)

w5( 0)

w4( 0)
w3( 0)

w1
Figura 7.13 Traiectorii posibile ale ponderilor pe durata antrenării.

256
Extensii ale procesului de antrenare

Eroarea

Iteraţia

Figura 7.14 Posibile evoluţii ale erorii pe durata antrenării.

7.4.2 Adăugarea momentelor la strategia de antrenare

Examinarea modificării în E p ca funcţie de w ji la fiecare iteraţie


sugerează faptul că alegerea parametrului de învăţare  este o operaţie
importantă. Adesea, parametrul de scală în metodele bazate pe gradient se
ajustează în funcţie de iteraţie, de exemplu,  ( n)   0 n . Acest tip de ajustare
ţine cont de corecţii iniţiale mari astfel încât să evite oscilaţiile din jurul
minimului din apropierea soluţiei. Pentru a adăuga un moment la acualizarea
ponderii la cea de-a ( n  1) -a iteraţie, corecţia w ji (sau  p w ji dacă se foloseşte
antrenarea bazată pe forme) se modifică după cum urmează:

w ji (n  1)     jp (n  1)  o~i p ( n  1)    w ji ( n) . (7.45)

Al doilea termen din ecuaţie (7.45), pentru  pozitiv, conduce la o corecţie


la pasul ( n  1) care este oarecum diferită de cazul în care ar fi folosită ecuaţia
(7.32). Formulările pentru corecţiile bazate pe epoci, w ji , sunt analoge.
Aspectele semnificative ale momentului sunt:
1. În formulările de antrenare care includ momente, dacă E w ji are
acelaşi semn la iteraţii consecutive, w ji creşte în valoare astfel încât
w ji se variază cu o cantitate mare. Deci, momentul tinde să accelereze
descreştere.
2. În formulările de antrenare care includ momente, dacă E w ji are
semne diferite la iteraţii consecutive, w ji devine mai mic astfel încât
ajustarea ponderilor este mică. Deci, momentul are un efect stabilizator
asupra învăţării.

257
7/ Reţele neuronale cu propagare directă

Aşadar, momentul poate preveni oscilaţiile în sistem şi ajută sistemul să


părăsescă un minim local în procesul de antrenare, facând sistemul mai puţin
sensibil la schimbări locale. Selectarea valorii momentului este un proces
asemănător cu aceea a ratei de învăţare prin aceea că este caracteristic anumitor
suprafeţe ale erorii. De asemenea, dacă sistemul atinge un minim local care este
mai abrupt într-o parte şi mai puţin abrupt în alta, momentul construit pe durata
intrării în minim poate fi suficient pentru a scoate sistemul din acel minim.
Cantitativ, să considerăm evoluţia momentului în funcţie de iteraţie. Din
Tablelul 7.1 şi ecuaţia (7.32), corecţia ponderii la iteraţia ( n  1) este

 p w ji (n  1)     jp ( n  1)  o~i p ( n  1) . (7.46)

Adăugarea momentului conduce la

 p w ji ( n  1)     jp (n  1)  o~i p ( n  1)     p w ji (n) . (7.47)

Dacă presupunem  p w ji (0)  0 , ecuaţia (7.47) conduce la

n
 p w ji ( n)    n k   j ( k )  o~ p (k ) . (7.48)
k 1

Pentru a observa efectul momentului, împărţim ecuaţia (7.48) în două parţi:

n 1
 w ji ( n)     (n)  o~i p (k )  nk   j ( k )  o~ p (k )
p p
j (7.49)
k 1

unde al doilea termen reprezintă efectul cumulativ al momentului.


Am amintit că folosirea lui E în locul lui E p la antrenare determină
medierea corecţiilor ponderilor pe H . Pe de altă parte, momentul medierea în
timp (iteraţie) a corecţiei.

7.4.3 Antrenarea intrărilor de polarizare

Ecuaţia (7.16) reprezintă un model al unităţii elementare de calcul care


include un termen ajustabil de polarizare, bias j . Putem extinde procedura
dezvoltată anterior la calculul derivatei E bias j , astfel încât să obţinem o
strategie de ajustare a polarizării pentru unitatea j . Totuşi, o alternativă mai
simplă, folosind structura reprezentată prin ecuaţia (7.16), este aceea de a
observa faptul că intrarea de polarizare poate fi considerată poate fi considerată
ca o intrare suplimentară pentru unitatea j . Aceasta va fi notată ib , iar ponderea

258
Extensii ale procesului de antrenare

259
Regula delta şi regula delta generalizată

În relaţia anterioară am notat ponderea interconexiunii de la unitatea k din


L1 la unitatea i din L2 prin wikL1  L2 . În cazul în care unităţile ascunse au o
funcţie de activare de tip sigmoid, notată f sig , ecuaţia (7.3) devine

H1   I 
o i
L2
  wikL1  L2  f ksig   wkjL0  L1 i j  . (7.4)
k 1   j 1 

Ecuaţia (7.4) ilustrează conceptul important că funcţia globală a reţelelelor


neuronale artificiale cu propagare directă se obţine prin superpoziţia şi
compunerea unor funcţii neliniare. Această formă a ecuaţiei (7.4) va deveni mai
importantă în paragraful 7.4.

7.3 REGULA DELTA ŞI


REGULA DELTA GENERALIZATĂ

După ce s-a ales structura potrivită pentru o reţea, cea mai mare parte a
efortului depus pentru proiectarea unei RNA pentru o aplicaţie specifică este
direcţionată către proiectarea unei strategii de antrenare eficiente. Trebuie avute
în vedere următoarele probleme:
 Antrenarea se realizează serial sau paralel (prin epoci)?
 Se folosesc momente? Dacă da, care este valoarea lor?
 Datele din setul de antrenare sunt ordonate secvenţial sau aleator?
 Algoritmul de antrenare a fost divergent, convergent, oscilant sau s-a
blocat într-un minim local?
 Determinarea şi antrenarea unor valori potrivite pentru polarizare (dacă
este cazul)
 Determinarea condiţiilor iniţiale potrivite pentru ponderi, polarizări, etc.

7.3.1 Prezentarea regulii delta generalizată

Regula delta generalizată (GDR) este o regulă de învăţare de tip produs


pentru reţele neuronale structurate, cu straturi multiple, cu propagare directă,
care foloseşte reducerea valorii gradientului pentru a realiza antrenarea sau
învăţarea prin corecţia erorii. Ponderile reţelei se ajustează pentru a minimiza o
funcţie eroare pe baza unei măsuri a diferenţei dintre ieşirea dorită şi cea curentă
a reţelei cu propagare directă. Comportarea dorită intrare/ieşire este dată prin
setul de antrenare.
Procesul constă din următorii paşi:
1. Iniţializarea tuturor ponderilor reţelei.
2. Aplicarea unui vector de intrare (stimul) reţelei studiate.

241
7/ Reţele neuronale cu propagare directă

3. Propagarea directă sau propagarea vectorului de intrare pentru a găsi


toate ieşirile.
4. Compararea răspunsului unităţilor din stratul de ieşire cu răspunsul dorit
(sau răspunsul ţintă).
5. Calculul şi propagarea erorii înapoi (începând de la stratul de ieşire) prin
reţea, folosind aceasta ca bază pentru corecţia ponderilor.
6. Minimizarea erorii globale, la fiecare etapă, prin ajustarea ponderilor.

Se vor utiliza următoarele notaţii:


i : forma de intrare (vector)
o : forma corespunzătoare de ieşire sau răspunsul (vector)
w : ponderile reţelei (vector)
t : ieşirea dorită (ţinta) a sistemului (vector)

Iniţial, vom considera o reţea cu două straturi (adică, o structură fără


straturi ascunse). Deci, i reprezintă starea stratului de intrare iar o este starea
stratului de ieşire. Ne amintim că w ji este ponderea interconexiunii de la
unitatea i (sau intrarea i a reţelei) la unitatea j . Pe baza acestei structuri, vom
dezvolta regula delta (DR). Mai târziu vom extinde formularea la cazul
multistrat, pentru a obţine regula delta generalizată (GDR).
Baza algoritmilor care se vor dezvolta se regăseşte în metoda gradientului
descrescător. Această procedură de învăţare bazată pe corecţia erorii a fost
prezentată în Capitolul 5. Astfel, pentru a ajusta ponderile reţelei definim şi
calculăm (sau estimăm) o eroare de transformare E şi gradientul E w ji .
Ajustarea ponderii w ji este proporţională cu  E w ji .

Setul de antrenare

Setul de antrenare pentru acest tip de reţea constă din perechi ordonate de
vectori şi se notează cu

k k
H  {(i , t )} k  1,2,..., n (7.5)

p
unde, pentru a p -a pereche intrare/ieşire, iip  i este a i -a valoare (notată i pi în
alte lucrări). Similar, o jp (mai este notat o pj în literatură) şi t jp (sau t pj ) sunt
p p p
elementele j din o şi respectiv t , unde o este ieşirea curentă a reţelei care
p
rezultă din aplicarea intrării i cu setul curent de ponderi w . Dacă se cunoaşte
structura reţelei, scopul este elaborarea unui algoritm de învăţare sau antrenare
p p p
care foloseşte i , o şi t pentru a ajusta ponderile reţelei.

242
Regula delta şi regula delta generalizată

Strategia de ajustare a ponderilor

Iniţial, alegem o formă de corecţie a ponderilor individuale, pe baza


p p p
diferenţei dintre t şi o , pentru un vector i prespecificat, sub formă de
produs:

 p w ji   (t jp  o jp )  iip   (e jp )  iip (7.6)

unde  reprezintă un factor de ajustare sau de scalare, iar eroarea celei de-a j -a
unităţi de ieşire este definită ca:

e jp  t jp  o jp (7.7)

Indicele superior p din  p w ji indică faptul că ponderea se corectează pe


baza celai de-a p -a pereche intrare/ieşire din H . Aşadar, aceasta este o strategie
de antrenare bazată pe forme.
Procedura de antrenare sau de învăţare din ecuaţia (7.6) este interesantă în
mod intuitiv. Pentru iip diferit de zero şi pozitiv, dacă ieşirea dorită a celei de-a
j -a unităţi este mai mică decât cea obţinută ( o jp ), interconexiunea dintre
unitatea de intrare i şi unitatea de ieşire j este făcută mai puternică prin
creşterea lui w ji . Totuşi, ar trebui să menţionăm că nu am luat în considerare
efectul acestei schimbări asupra răspunsului reţelei asupra altor perechi de forme
din procesul de antrenare. mai mult, i jp  0 nu conduce la nici o corecţie, chiar
pentru e jp diferit de zero. Aceasta este o metodă de corecţie sau de ajustare a
ponderilor bazată pe o regulă de tip produs.

7.3.2 Derivaţii ale regulii delta

Am arătat intuitiv că schema precedentă de corecţie a ponderilor are sens.


Pentru a formaliza răspunsul, definim vectorul eroare de ieşire pentru a p -a
pereche de forme prin
p p p
e t o . (7.8)

O măsură a erorii de ieşire pe baza celui de-al p -lea eşantion de antrenare


se notează cu E p şi se defineşte prin

1 p p 1 p 2
E p  (e ) T  e  e . (7.9)
2 2

243
7/ Reţele neuronale cu propagare directă

Alegerea normei erorii, deşi aparent superficială, este totuşi consistentă cu


alte numeroase formalisme din literatură. Totuşi, pe măsură ce vom dezvolta
ecuaţiile algoritmului GDR, vom păstra în minte posibilitatea altor norme,
inclusiv norme ponderate cum este e R , unde R este o matrice pozitiv definită,
sau norme precum max{ei } , unde ei este al i -lea element din e .

Sensibilitatea erorii

Pentru a dezvolta formal algoritmii de antrenare DR şi GDR se folosesc


mai multe forme ale regulii de derivare "lanţ". Mai întâi luăm în considerare

E p E p o j net j
p p

   (7.10)
w ji o jp net jp w ji

unde, din ecuaţiile (7.8) şi (7.9),

1 p p 2
Ep  t o (7.11)
2

sau

1
Ep  
2 j
(t jp  o jp ) 2 . (7.12)

Putem de asemenea să dezvoltăm o formulare alternativă prin luarea în


considerare a erorii globale (pentru toate epocile):

E  Ep . (7.13)
p

Presupunem că funcţia de activare pentru a j -a unitate de ieşire are forma


generală

p
o jp  f j ( w ji , i ) (7.14)

unde f j este o funcţie crescătoare şi diferenţiabilă în raport cu fiecare din


argumentele sale. Dacă această cerinţă nu este satisfăcută, derivatele pe care le
calculăm nu au sens. deci, unităţile liniare cu prag (caracteristici de tip releu) nu
pot fi folosite dacă nu facem unele modificări. Funcţiile de ieşire strict liniare
[ f (net j )  k  net j , de exemplu] sunt acceptabile dar conduc la alte neajusuri.

244
Regula delta şi regula delta generalizată

În mod tipic, f j este constantă în raport cu j (cel puţin în interiorul unui strat);
adică, toate unităţile au aceeaşi funcţie de activare. Pentru unităţile WLIC,
activarea neuronului artificial pentru unitatea j se formează prin suma
ponderată a intrărilor în unitatea j :

net j   w ji  ii (7.15)
i

sau, în cazul în care se include şi o intrare de polarizare,

net j   w ji  ii  bias j . (7.16)


i

Ecuaţia (7.16) reprezintă un model al unei unităţi neuronale în care


polarizarea este adunată direct la net j . Antrenarea intrării de polarizare se va
prezenta în mai târziu, în acest paragraf.
ii este a i -a intrare în unitatea j iar f se alege o funcţie sigmoid, adică:

1
f (net j )   net j
. (7.17)
1 e

Să considerăm cantitatea

E p E p o j
p

  , (7.18)
w ji o jp w ji

care reprezintă schimbarea incrementală în E p datorată schimbării schimbării


incrementale în ponderea w ji . În mod alternativ, aceasta reprezintă sensibilitatea
lui E p la w ji . Primul factor din (7.18), E p o jp , reprezintă efectul asupra lui
E p datorat calei de-a j -a ieşire, în tip ce o jp w ji , măsoară schimbarea în o jp
ca funcţie de w ji . Sensibilitatea este reprezentată în Figura 7.8.

.. oj
. ∑ ∫
o~i p
w ji +

..
.

Figura 7.8 Sensibilitatea lui o j la ponderea w ji .

245
7/ Reţele neuronale cu propagare directă

Din ecuaţia (7.12), se poate obţine uşor E p o jp pentru unităţile din


stratul de ieşire:

E p
 (t jp  o jp )  e jp (7.19)
o j
p

folosind şi definiţia din ecuaţia (7.7). Al doilea factor din (7.18) merită o atenţie
mai mare.
Să presupunem că f ( net j )  k  net j . Pentru simplitate, vom considera
k  1 . Din ecuaţiile (7.14) - (7.16), se obţine

o jp   w ji  iip (7.20)
i

şi

o jp
 iip . (7.21)
w ji

Aşadar, ecuaţia (7.18) devine

E p
 (e jp )  (iip ) (7.22)
w ji

care este forma de tip produs postulată în ecuaţia (7.6). Pentru a verifica faptul
că această strategie minimizează eroarea E , observăm că, din ecuaţia (7.13) se
obţine

E E p
 . (7.23)
w ji p w ji

Cazul unităţilor ascunse presupune o extensie a formalismului dezvolat


anterior.

Aplicarea la funcţii de activare semi-liniare

O funcţie de activare semi-liniară, f j , pentru neuronul j

o jp  f j ( net jp ) (7.24)

246
Regula delta şi regula delta generalizată

este o funcţie f j nedescrescătoare şi diferenţiabilă. Ne amintim că dacă


f j (net jp )  k  net jp , atunci revenim la cazul unei funcţii de activare liniare.
Procedura de corecţie dezvoltată mai sus, deşi reprezintă un pas important,
trebuie să fie modificată pentru cazurile în care unităţile nu sunt liniare ci semi-
liniare. Aşadar, ecuaţia (7.18) devine:

E p net j
p
E p
  (7.25)
w ji net jp w ji

unde

net jp   w ji  o~i p . (7.26)


i

Pentru a generaliza rezultatele la unităţi ascunse, se va elabora o


reprezentare generală pentru intrarea i a neuronului j , notată o~i p .

oip daca aceasta este iesirea altui neuron


 (se aplica la intrarile unitatilor din straturi ascunse

o~i  
p
sau de iesire) (7.27)
ii daca aceasta intrare este o intrare directa in retea
 (de la stratul de intrare)

Din ecuaţia (7.27) rezultă

net jp
 o~i p . (7.28)
w ji

Sensibilitatea erorii la funcţia de activare a unităţii j este

E p
 p
j  (7.29)
net jp

astfel încât ecuaţia (7.25) se poate scrie sub forma

E p
 ( jp )  o~i p . (7.30)
w ji

247
7/ Reţele neuronale cu propagare directă

Deci, prin analogie cu cazul anterior, se poate obţine o procedură


rezonabilă şi intuitivă de corecţie a ponderilor pe baza celui de-al p -lea eşantion
de antrenare, folosind

 E p 
 p w ji     (7.31)
 w 
 ji 

unde  este o constantă pozitivă numită rata de învăţare.

Rata de învăţare

Rata de învăţare reprezintă sensibilitatea erorii la schimbarea ponderii care


va fi folosită pentru corecţia ponderilor. "Cea mai bună valoare" a ratei de
învăţare depinde de caracteristicile suprafeţei erorii, adică un grafic al erorii E
în funcţie de wij . Dacă suprafaţa se schimbă rapid, gradientul calculat numai pe
baza informaţiei locale va furniza o indicaţie slabă asupra adevartului "traseu
corect". În acest caz, este de dorit o rată de învăţare mică. Pe de altă parte, dacă
suprafaţa este relativ netedă, o rată de învăţare mai mare va creşte viteza de
convergenţă. Totuşi, acest raţionament se bazează pe cunoaşterea formei
suprafeţei erorii, care este rareori accesibilă. Unele indicaţii pot fi date prin
calcularea lui E la fiecare iteraţie şi observarea impactului corecţiilor anterioare
ale ponderilor. O regulă generală ar putea fi utilizarea celei mai mari rate de
învăţare care poate fi folosită şi care nu conduce la oscilaţii. O rată care este prea
mare poate induce oscilaţii în sistem şi va încetini sau nu va conduce la
convergenţă.
Pentru a realiza o deplasare în direcţia opusă gradientului, corecţia ponderii
va fi:

p w ji   ( jp )  o~i p . (7.32)

Aceasta este tot o regulă de corecţie de tip produs. Observăm că este nevoie
să calculăm (sau să estimăm)  jp . Pentru a j -a unitate,

E p o j
p
E p
  (7.33)
net jp o jp net jp

şi, din (7.24)

o jp
 f j( net jp ) . (7.34)
net p
j

248
Regula delta şi regula delta generalizată

Ca o observaţie, ne reamintim din Capitolul 5 că alegerea anumitor funcţii


de activare (de exemplu, sigmoid) poate conduce la calcule mai uşoare ale
cantităţilor din ecuaţia (7.34). De exemplu, dacă se alege o caracteristică
sigmoidală, unde

1
o j  f (net j )   net j
(7.35)
1 e

calculul derivatei din ecuaţia (7.35) este foarte simplu, adică:

f (net j )  o j  (1  o j ) . (7.36)

249
Capitolul 7

Reţele neuronale cu propagare directă

7.1 INTRODUCERE

Structura cu propagare directă (FF - feed-forward) pe care o vom studia în


acest capitol este cea mai populară şi, probabil, cea mai importantă dintre
structurile reţelelor neuronale artificiale. În prezent, cel mai folosit algoritm de
antrenare este regula delta generalizată bazată pe propagarea inversă (GDR).
Acesta este o formă a gradientului descrescător aplicabilă acelor unităţi a căror
activare, neti , se formează folosind o structură WLIC şi a căror funcţie de
activare este semiliniară. Vom prezenta o serie de exemple care au în vedere
antrenarea şi evaluarea rezultatelor. Pentru că de multe ori este dificil să
apreciem succesul aplicării structurii FF, vom prezenta rezultate tipice în
exemplele considerate.
La proiectarea unei reţele cu propagare directă pentru o aplicaţie specifică
trebuie să se ia în considerare mai multe probleme, multe dintre ele presupunând
soluţii depenedente de problemă. Unele dintre acestea sunt prezentate în Figura
7.1.
Metoda generală de calcul pe care o vom folosi pentru explorarea reţelelor
FF şi rolul algoritmului de antrenare sunt prezentate în Figura 7.2. Problema
poate fi privită ca fiind alcătuită din două părţi: propagarea directă
(implementarea) a transformării învăţate şi antrenarea reţelei multi-strat.
Algoritmul de antrenare va folosi implementarea directă ca parte a procesului de
antrenare; în acest sens, cele două părţi sunt cuplate.

235
7/ Reţele neuronale cu propagare directă

 Reprezentare I/O
 Arhitectura reţelei
(pentru aplicaţia specifică), de exemplu:

Propagare directă

Proiectarea reţelei Proiectarea setului Algoritm de antrenare


(starturi, unităţi?) de antrenare/test
(cât?)

Evaluare post-antrenare
 Antrenarea reţelei (cât de bun?)

 Validarea reţelei

Figura 7.1 Unele probleme ale proiectării dependente de aplicaţie.

Forme de intrare Ieşire (sau răspuns)


(sau stimuli)
i sau s o sau r

i
o

Parametrii reţelei
( wij , polarizări, etc.)

Procedura de antrenare

(GDR sau alta)


Setul de antrenare
H  {( si , ri )}
i  1,2,..., n

Figura 7.2 Strategia globală bazată pe propagarea directă


(implementare şi antrenare).

236
Structuri cu propagare directă

7.2 STRUCTURI CU PROPAGARE DIRECTĂ

Reţeaua cu propagare directă este compusă dintr-o ierarhie de unităţi de


procesare, organizate sub forma a două sau mai multe grupuri sau straturi de
neuroni mutual exclusive. Primul strat, stratul de intrare, este locul de "reţinere"
a intrărilor aplicate reţelei. Ultimul, stratul de ieşire, este locul la care se obţine
transformarea globală realizată de reţea. Între aceste două extreme se află zero
sau mai multe straturi de unităţi ascunse; în aceste straturi interne au loc
transformări sau calcule adiţionale.
Legăturile, sau ponderile, conectează fiecare unitate dintr-un strat numai cu
acelea din stratul imediat superior.
Există o direcţionalitate implicită în aceste conexiuni: ieşirea unei unităţi,
scalată cu valoarea ponderii unei conexiuni, este propagată în sens direct pentru
a furniza o parte din activarea unităţii de pe stratul imediat superior. Figura 7.3
ilustrează o reţea cu propagare directă tipică. Aceasta constă dintr-un strat
format din d unităţi de intrare ( Li ), un strat format din c unităţi de ieşire ( Lo ) şi
un număr variabil (cinci în acest exemplu) de straturi interne ( Lhi ). Se poate
observa structura cu propagare directă, în care intrările sunt conectate direct
numai la unităţile din stratul Lo iar ieşirile din stratul Lk sunt conectate numai la
unităţile din stratul Lk 1 .

Li Lh1 Lh 2 Lh 3 Lh 4 Lh 5 Lo

i1 o1

i2 o2

i3 o3

. . . .
. . . . . . .
. . . . . . .
. . .
id od

Unităţi de intrare Unităţi de ieşire


Li Lo
Straturi interne
sau ascunse
Lhi

Figura 7.3 Structura unei reţele cu propagare directă


cu mai multe straturi.

237
7/ Reţele neuronale cu propagare directă

Rolul stratului de intrare este oarecum fictiv: unităţile din acest strat sunt
folosite numai pentru a "reţine" valorile de intrare şi pentru a distribui aceste
valori către unităţile din stratul următor. Astfel, unităţile din stratul de intrare nu
implementează o transformare sau o conversie separată a datelor de intrare iar
ponderile lor, în sens strict, nu există.
În Figura 7.3 observăm că propagarea informaţiei în reţea este restricţionată
la propagarea din strat în strat, de la intrare la ieşire. Fiecare strat, pe baza
propriilor intrări, calculează un vector de ieşire şi propagă această informaţie
către stratul care urmează.Astfel, din punct de vedere arhitectural, reţeaua cu
propagare directă permite paralelismul (procesarea paralelă) în interiorul fiecărui
strat, dar propagarea informaţiei între straturi este în mod necesar serială.

Notaţii

Există două notaţii folosite pentru a indica numărul de unităţi din stratul de
intrare, din stratul ascuns şi din cel de ieşire. De exemplu, vom adresa o reţea
generală cu trei straturi ca fiind o reţea I / H / O sau I  H  O , unde:
I este numărul de unităţi de intrare
H este numărul unităţilor ascunse, din singura unitate ascunsă
O este numărul unităţilor de ieşire

În Figura 7.4 este prezentat un exemplu de reţea cu un strat ascuns, o reţea


3  2  4 . Descrierea unei reţele cu patru straturi se face în mod analog; folosim
notaţia I / H 1 / H 2 / O sau I  H 1  H 2  O .
În plus, dacă nu se specifică altfel, vom presupune că fiecare strat este total
conectat cu succesorul său şi cu stratul precedent. Cu alte cuvinte, există o
conexiune de la ieşirea fiecărei unităţi din Lk la intrarea fiecărei unităţi din Lk 1 .

Nu transformă
o1
i1
o2
i2
o3
i3
o4

I H O
3 2  4

Figura 7.4 Exemplu de reţea 3/2/4 ( 3  2  4 ).

238
Structuri cu propagare directă

Observăm că notaţia introdusă nu indică şi caracteristicile unităţilor din


fiecare strat sau folosirea (sau lipsa) unei intrări de polarizare. Notaţia se poate
extinde pentru a include şi aceste date, presupunând că toate unităţile dintr-un
strat dat au aceeaşi funcţie de activare sau polarizare. De exemplu, o reţea cu trei
straturi cu unităţi ascunse de tip sigmoid (cu polarizare) şi strat de ieşire liniar
(fără polarizare) poate fi adresat prin I / H sigmoid ; polarizat / Oliniar ;nepolarizat .
Pentru a simplifica discuţia care urmează, extindem notaţia după cum
urmează: oiLx este ieşirea unităţii i din stratul Lx , unde x reprezintă un strat
particular. Astfel,
x  0 este stratul de intrare
x  1 este primul strat ascuns, adică stratul care primeşte intrări direct de la
stratul de intrare
x  2 este al doilea strat ascuns, adică stratul care primeşte intrări de la
stratul ascuns L1
x  p este stratul de ieşire
Menţionăm că ieşirile stratului Lk sunt intrări pentru stratul Lk 1 , pentru
L
k  p  1 . Am putea nota un întreg strat ( L x ) prin o x .
Pot fi folosite restricţii suplimentare asupra topologiei cu propagare directă
pentru a obţine alte reţele. De exemplu, este posibilă o structură de tip arbore,
după cum se arată în Figura 7.5. Alte exemple sunt prezentate în Figura 7.6. O
structură interesantă este aceea din Figura 7.7, unde stratul de intrare este
conectat la un strat mai mic, iar stratul de ieşire foloseşte această informaţie
redusă pentru a re-aduce ieşirea la dimensiunile intrării. Dacă se dă un set de
antrenare care constă din eşantioane ale transformării identitate, aceasta
reprezintă arhitectura unui bloc de compresie.

Figura 7.5 Exemplu de reţea cu propagare


directă 4/2/1 cu structură de arbore.

4  2 1

2 /1
2/3/ 2
2 / 4 / 2 /1
Figura 7.6 Exemplu de reţele cu propagare directă şi
reprezentare simplificată.

239
7/ Reţele neuronale cu propagare directă

i1 o1

i2 o2

i3 o3

i4 o4

i5 o5

i6 o6

Figura 7.7 Arhitectura cu propagare directă pentru un bloc


de compresie bazat pe reţele neuronale artificiale.

Caracterizarea matematică a unei reţele multistrat cu propagare directă este


aceea a unei aplicaţii compuse de funcţii. Fiecare din aceste funcţii reprezintă un
anumit strat şi poate fi specifică unei unităţi individuale din strat. De exemplu,
nu este obligatoriu ca toate unităţile din strat să aibă aceeaşi funcţie de activare,
deşi aşa se întâmplă în cele mai multe cazuri. Aşadar, transformarea globală se
obţine sub forma unei funcţii compuse care exprimă ieşirea ca rezultat al
aplicării unei intrări.
Folosind notaţia introdusă mai înainte, o RNA multistrat cu propagara
directă implementează o funcţie compusă [Sch97]:

o  f compus (i ) (7.1)

sau, în general,

Lp L p 1 L
o f (f ...( f 1 (i )...)) . (7.2)

De exemplu, să presupunem că avem o reţea I / H 1 / O , în care toate cele


H 1 unităţi din stratul L1 au funcţia de activare de intrare WLIC şi aceeaşi
funcţie de activare. În stratul de ieşire L p există O unităţi liniare, cu p  2 .
Funcţia globală pentru fiecare unitate de ieşire oi , i  1,2,..., O , poate fi descrisă
prin:

H1
( f (i ))   wikL1  L2 f kL1 (i ) .
L1
oi  f L2
(7.3)
k 1

240
Structuri cu propagare directă

În relaţia anterioară am notat ponderea interconexiunii de la unitatea k din


L1 la unitatea i din L2 prin wikL1  L2 . În cazul în care unităţile ascunse au o
funcţie de activare de tip sigmoid, notată f sig , ecuaţia (7.3) devine

H1   I 
o i
L2
  wikL1  L2  f ksig   wkjL0  L1 i j  . (7.4)
k 1   j 1 

Ecuaţia (7.4) ilustrează conceptul important că funcţia globală a reţelelelor


neuronale artificiale cu propagare directă se obţine prin superpoziţia şi
compunerea unor funcţii neliniare. Această formă a ecuaţiei (7.4) va deveni mai
importantă în paragraful 7.4.

241
Capitolul 6

Aplicaţii ale asociatorilor neuronali

6.1 INTRODUCERE

În acest capitol vom continua dezvoltarea reţelelor antrenabile care


realizează diferite transformări. Accentul se va deplasa de la caracterizarea unei
singure unităţi către grupuri de unităţi. Unităţile sunt aranjate într-o topologie
ne-recurentă, formând straturi de unităţi. Iniţial, interesul se va centra pe
arhitecturile cu un singur strat cu caracteristici liniare, care formează structuri de
reţele liniare. Aceasta permite caracterizarea prin analiză a funcţiilor de
transformare liniară şi folosirea algebrei liniare pentru a elabora anumite
concepte legate de memorarea formelor. În unele cazuri, vor fi elaboraţi
algoritmi de antrenare care au la bază produsul vectorial sau corelaţia.

Schimbare de notaţie
În acest capitol vom relaxa într-o oarecare măsură restricţiile impuse asupra
notaţiilor. În timp ce intrările şi ieşirile sunt notate în mod tipic prin i şi
respectiv o , vom extinde această notaţie. Intrările în reţea sunt notate printr-un
vector i (sau s , de la stimul, sau, simplu, x ) iar ieşirea corespunzătoare dorită
va fi reprezentată prin o (sau r , de la răspuns, sau, simplu y ).

207
6/ Aplicaţii ale asociatorilor neuronali

6.2 Asociatori de forme bazaţi pe reţele neuronale

În Figura 6.1 este reprezentată o reţea neuronală "black-box" la care


interesează numai transformarea I/O realizată. Ne reamintim că abordarea
"black-box" antrenabilă nu necesită o cunoaştere detaliată a modelelor
matematice pentru sistemul considerat (de exemplu, caracterizări statistice) ci
implică numai o alegere a structurii "interne" a RNA (care poate fi invizibilă
pentru utilizator) şi o metodă de antrenare. Alegerea unei structuri "black-box"
cere totuşi mai multe consideraţii de proiectare a RNA, focalizate pe anumiţi
parametri:
1. Topologia, sau structura internă a reţelei
2. Caracteristicile unităţilor interne
3. Alegerea potrivită a intrărilor şi a ieşirilor, după cum am discutat în
Capitolul 4
4. Proiectarea procedurilor de antrenare şi de învăţare.

Sunt deosebit de importante proiectarea atentă şi descrierea proprietăţilor


reţelei care implementează asociatorul dorit, în general prin proiectarea lui H .
Structura trebuie să răspundă pe baza formelor memorate sau a perechilor de
forme memorate. Dacă se cunoaşte x u , printr-un proces de amintire de tip
"vecinul cel mai apropiat" se returnează forma memorată care se află cel mai
aproape (folosind o anumită măsură) de x u . În amintirea de tip interpolator,
răspusul se bazează pe o interpolare a tuturor formelor memorate.
Caracteristicile dezirabile ale asociatorilor de forme includ:
1. Abilitatea de asociere a unui număr rezonabil de perechi (stimul -
răspuns) de forme
2. Obţinerea unui răspuns (o formă) corect, conform proprietăţii 1 adică,
abilitatea de a discrimina într-un set mare de perechi stimul - răspuns
memorate
3. Antrenabilitate, cu un set H dat (posibilitatea învăţării supervizate)
4. Auto-organizare (fiind dat H u , reţeaua determină grupuri de date
"naturale")
5. Abilitatea de a asocia sau genera ieşirea (răspunsul) corectă (corect)
atunci când forma de intrare este o versiune distorsionată sau
incompletă a aceleia care a fost utilizată în procesul de antrenare.

S R
Figura 6.1 Structura unui RNA
asociator de forme RNA.
S  {i1 , i 2 ,..., i m } R  {o1 , o2 ,.., om }

208
Influenţa psihologiei în proiectarea şi evaluarea asociatorilor de forme

Stimulul unei RNA este reprezentat de un vector x , iar răspunsul dorit este
x d . Transformarea dorită realizată de RNA este formulată sub forma [Sch97]:

f D
: x  xd (6.1)

sau

x d  f D (x) . (6.2)

Specificând un set de ieşiri x d sau perechi I/O ( x, x d ) se poate obţine


forma funcţiei f D şi se poate proiecta reţeaua. Structura din Figura 6.1 poate
implementa funcţia f D . Formularea din (6.2) nu impune ca x şi x d să fie în
acelaşi spaţiu vectorial; în general, aceşti vectori au dimensiuni diferite. Aşadar,
se poate face distincţia între structurile auto-corelatoare (auto-asociative) la care
"cutia neagră" sau memoria adresabilă prin conţinut memorează forme din R d ,
şi structurile hetero-corelatoare (sau hetero-asociative) la care în reţea sunt
memorate perechi de transformări.
În structurile auto-corelatoare, un set de forme d -dimensionale
x k , k  1,2,..., n este codificat în asociatorul de forme. Dacă se dă o intrare,
notată x u , ne aşteptăm ca asociatorul de forme să returneze x i , adică intrarea
memorată care se află cel mai aproape de x u . Deci, structurile auto-corelatoare
se utilizează în mod curent pentru corecţia şi completarea intrărilor.
În contrast, structurile hetero-asociative codifică perechi de forme
( x k , y k ), k  1,2,..., n , unde y k reprezintă răspunsul dorit (se mai notează cu r k )
la aplicarea intrării x k (se mai notează cu s k ). Pentru că răspunsul dorit poate fi
o clasă de forme, structurile hetero-asociative sunt utilizate în general drept
clasificatori în aplicaţiile de recunoaştere a formelor.

6.3 INFLUENŢA PSIHOLOGIEI ÎN PROIECTAREA


ŞI EVALUAREA ASOCIATORILOR DE FORME

Multe din conceptele elaborate prin cercetări în domeniul reţelelor


neuronale, mai ales cele legate de structurile de calcul de tip conecţionist şi de
comportarea asociativă a reţelelor, au fost propuse de psihologul William James
în 1890 [Jam 90]. James a studia şi a formulat un număr de ipoteze legate de
ordonarea ideilor în procesul de gândire. El a fost interesat de modul în care
poate fi explicată secvenţa de "imagini" mentale într-un eşantion temporal. În
mod clar, această secvenţă conţine tranziţii între concepte. Unele sunt foarte line

209
6/ Aplicaţii ale asociatorilor neuronali

sau continue; altele sunt destul de abrupte. În multe cazuri calea (traseul)
gândirii conţine legături logice. Multe dintre aserţiunile lui James sugerează o
reprezentare a cunoştinţelor care este de tip conecţionist. Vom explora aici
câteva dintre cele mai importante idei ale teoriei lui James; cititorul se poate
întoarce la aceste idei atunci când vom explora structurile recurente şi pe cele
auto-organizate.
James a postulat că cele două operaţii fundamentale care implică gândirea
sunt discriminarea şi asocierea iar principiul conexiunii explică succesiunea şi
coexistenţa ideilor în imaginile mentale. De exemplu, un traseu uzual în gândire
poate fi exprimat prin

Atunci când gândim la A suntem conduşi să gândim la B , unde A şi B


sunt două concepte.

Conceptele A şi B sunt conectate într-un anumit mod. James a explicat


aceasta ca un rezultat al unui proces de antrenare sau al experienţei (care este
învăţată), şi a postulat că:
 Nu există o lege cauzală elementară de asociere alta decât legea
deprinderii (obişnuinţei) neuronale:
Atunci când două procese elementare ale creierului au
fost activate împreună sau în succesiune imediată
(accentuare, scoatere în relief a unor noţiuni), unul
dintre ele, atunci când re-apare, tinde să propage
semnalul de excitaţie către celălalt.
 O extensie a principiului elementar pentru mai multe procese (fiecare
proces este excitat prin conjuncţie de altele) este dată de următorul
corolar:
Cantitatea de activitate în orice punct dat din cortexul creierului este suma
tendinţelor tuturor celorlalte puncte de a se descărca în el, aceste tendinţe
fiind proporţionale:
1. cu numărul de ori în care excitarea oricărui alt punct a însoţit pe aceea
a punctului în dicuţie;
2. cu intensitatea acestor excitaţii;
3. cu absenţa oricărui punct rival deconectat funcţional cu primul punct,
în care descărcarea poate fi deviată.
Problemele 1 − 3 sunt strâns legate de noţiunea de Hebbian sau învăţarea
bazată pe corelaţie, descrisă în acest capitol.

Legături conceptuale (temporale)

James a postulat că structura proceselor de memorare presupune conexiuni


inter- (activare) şi intra- (rezonanţă) concepte. Exemple de conexiuni inter-
concept şi intra-concept sunt prezentate în Figura 6.2.

210
Influenţa psihologiei în proiectarea şi evaluarea asociatorilor de forme

Conexiuni
inter-concept
a l
b m
Figura 6.2 Legături între
c n conceptele A şi B .
d p
e q

De exemplu, observăm că:


 Terminalul nervului l din conceptului B este excitat de terminalele
elementare ale nervilor a , b , c din conceptul A .
 Terminalul nervului o din conceptul B este excitat de terminalele
nervilor b , d , e din conceptul A .
În plus, terminalele nervilor a , b , c , d , e şi şi cele ale nervilor l , m , n ,
o , p "vibrează la unison" sau rezonează în interiorul conceptelor proprii.
Amintirea totală este un proces în care mintea este într-o rutină perpetuă de
reminiscenţe cu detalii perfecte.

Amintirea totală
Amintirea totală este procesul în care mintea umană este într-o "rutină
perpetuă", în care există reminiscenţe cu detalii perfecte. Toate traseele
corespunzătoare pentru un concept activ sunt excitate. Secvenţa de concepte
care este reluată mental este determinată de interconexiuni şi de rezonanţele
iniţiale. Amintirea totală nu este un model plauzibil, cu excepţia cazurilor de
"dezordine" mentală [Jam90].

Amintirea parţială
Amintirea parţială este o bază puternică pentru învăţare/uitare şi pentru
modelele de asociere din structurile RNA; aceasta conduce la implementări care
iau în considerare procese de auto-adaptare. Observaţiile efectuate asupra
acestui concept [Jam90] sugerează că reprezentările memorate sunt variabile în
timp. În timp ce o parte a unui proces (conceptul A sau B ) poate fi ştearsă,
slabă şi neclară (pierderea caracterului viu), o altă parte a aceluiaşi proces (care
posedă un puternic interes intern) rezistă acestor tendinţe, devenind relativ mai
puternică. Cu alte cuvinte, o reprezentare internă se dezvoltă (Figura 6.3) şi
anumite porţiuni devin dominante.

211
6/ Aplicaţii ale asociatorilor neuronali

Figura 6.3 Amintire parţială.


B

A
Elemente reţinute
ale conceptului A , Submulţimea dezvoltată
după evaluare de componente ale lui A

Figura 6.4 Amintire focalizată,


unde se foloseşte o
componentă individuală a m
conceptului A .
A

Amintirea focalizată
Amintirea parţială conduce la amintirea focalizată sau asocierea prin
similaritate, după cum se arată în Figura 6.4. În amintirea focalizată, o entitate
(traseu nervos) invovcă un întreg alt concept; adică, nu sunt necesare toate
entităţile pentru a adresa sau invoca un concept.

În timp (experienţa), conceptele sunt modificate de evoluţie şi interes.


Unele entităţi devin dominante, dominanţa unui concept fiind bazată pe
învăţarea de tip Hebbian. Şi mai important pentru proiectarea RNA:
 Figura 6.2 sugerează arhitectura sau structura unei reţele
 Figura 6.3 şi Figura 6.4 sugerează o metodă pentru implementarea
conceptului de amintire.

6.4 TRANSFORMĂRI LINIAR ASOCIATIVE,


ANTRENARE ŞI EXEMPLE

Considerând modelul general al neuronului din Capitolul 5, să presupunem


că alegem caracteristicile neuronului i să fie de tip liniar, de forma:

oi  f i (neti )  net i (6.3)

212
Transformări liniar asociative, antrenare şi exemple

unde activarea este determinată prin:

neti   wij i j (6.4)


j

unde i j este sursa conectată la neuronul p prin ponderea w pj .


Înainte de a dezvolta o caracterizare matematică, impunem următoarele
condiţii asupra unui strat dintr-o RNA:
1. Toate unităţile împart aceleaşi intrări;
2. Toate unităţile au ponderi independente (şi, posibil, funcţii de activare).

În consecinţă, un strat alcătuit din unităţi neuronale de calcul reprezintă o


cutie neagră elementară (Figura 6.5).
Pentru o reţea cu c unităţi (ieşiri) şi d intrări, ecuaţiile (6.3) şi (6.4) pot fi
rescrise sub forma:

oi  w i , i i  1,2,..., c . (6.5)

unde w i este un vector coloană d  1 care are drept componente ponderile


corespunzătoare unităţii i , notate wij ; i este vectorul d  1 al semnalelor de
intrare, componenta j fiind notată i j .
Pentru c ieşiri, ecuaţia (6.5) se scrie [Sch97]:

o W i . (6.6)

Folosind notaţia alternativă stimul-răspuns, ecuaţia (6.6) este echivalentă cu:

r W  s (6.7)

i1 o1

i2 o2
... ...

id oc
Ponderi

Figura 6.5 Un strat dintr-o unitate PA.

213
6/ Aplicaţii ale asociatorilor neuronali

unde o (sau r ) are dimensiunile c  1 , i (sau s ) are dimensiunile d  1, iar W


este o matrice c  d de forma:

T
W  [ wij ]  [ w i ] , (6.8)

adică, liniile lui W sunt vectorii pondere pentru fiecare unitate. Această structură
este prezentată în Figura 6.6.
O formulare generală a ecuaţiei (6.7), folosind n elemente din H , conduce
la:

1 2 n 1 2 n
W [ s s ... s ]  [ r r ... r ] (6.9)

sau

W S  R (6.10)

i1 wi1 unitatea i

i2 wi 2 ∑ oi

...

id wid

i1 w11 ∑ o1
w21 w12

i2 w22 ∑ o2

wc 2 w2 d

... wc1 ...


w1d

id wcd ∑ oc

Figura 6.6 Dezvoltarea modelelor liniare: de la unităţi


individuale la un strat liniar.

214
Transformări liniar asociative, antrenare şi exemple

unde W este o matrice c  d la care linia i reprezintă setul de ponderi pentru


unitatea i , S este o matrice d  n , iar R este o matrice c  n .
Păstrând caracteristica de ieşire a unei unităţi de forma (6.3) dar adăugând
o intrare de polarizare fiecărei unităţi, se obţine:

oi  neti   wij i j  bi  wi i  wib ib .


T
(6.11)
j

Dacă extindem ecuaţia (6.11) pentru un strat cu c unităţi, obţinem:

 w1T 
 T
 w2 
o   wT   i  b (6.12)
 ...3 
 T
 wc 

unde

 b1 
b 
b   2 . (6.13)
 ... 
b 
 c

Astfel, se obţine formularea matricială:

o  W i  b . (6.14)

O formă echivalentă [Sch97], care foloseşte reprezentări omogene, ca în


Capitolul 5, este:

 w1T w1b 
 T 
o   w2 w2b    i  . (6.15)
 
 ... ...  1
 wT wcb 
 c

În sistemele neuronale se folosesc mai multe metode de învăţare sau


antrenare. Toate, într-un anumit grad, consideră învăţarea sau antrenarea ca o
modificare a datelor memorate datorată lui W .
Dacă ne referim la ecuaţia (6.15), antrenarea stratului de neuroni este un
proces echivalent cu determinarea lui W şi b . Să presupunem că se dă un set de
antrenare de forma:

215
6/ Aplicaţii ale asociatorilor neuronali

216
Separabilitatea liniară

Observaţii legate de Figura 5.16

 Cu cât raportul n /(d  1) este mai apropiat de zero, cu atât mai mult se
apropie de 1 probabilitatea unei soluţii liniar separabile. Intuitiv, acest
rezultat are sens întrucât în acest caz, numărul ponderilor este mult mai
mare decât numărul formelor din H , iar numărul gradelor de libertate
este mai mare decât pe cel al restricţiilor în H .
 În mod similar, cu cât n /(d  1) devine mai mare, probabilitatea unei
soluţii liniar separabile scade, pentru că se depăşeşte capacitatea de
implementare hiperplanară.
 Un corolar al punctului precedent este acela că în cazurile în care H
liniar separabil nu este dat, putem creşte d (de asemenea şi vectorii de
intrare) pentru a ajunge la o soluţie liniar separabilă. Aceasta va fi
arătată în mai multe exemple din acest capitol.

Programarea liniara si separabilitatea liniara [Sch97]


Formularea problemei
Să presupunem că o mulţime de antrenare H  {i i }, i  1,2,..., n , de clasă
c  2 , poate fi partiţionată în H 1 şi H 2 , unde H i este alcătuită numai din
eşantioanele wi . Scopul este găsirea unui plan de separare H 12 determinat de
parametrii w12 şi w0 , unde pentru fiecare i i din H

T  0 pentru i i  H 1
w12  i i  w0   (5.74)
 0 pentru i i  H 2

Acest plan este caracterizat de d  1 parametri, d elemente ale lui w12


(normala) şi w0 , şi poate fi implementat utilizând o unitate singulară cu d  1
intrări. Dacă definim

w 
w   12  (5.75)
 w0 

şi convertim fiecare i i din H într-un vector ( d  1)  1 prin adăugarea lui – 1 ca


al ( d  1) -lea element, vom obţine reprezentarea în coordonate omogene
[Sch89]:

i 
iˆ i   i  (5.76)
  1

Trebuie menţionat că w  iˆ i este un scalar. Ecuaţia (5.74) poate fi rescrisă


T

sub forma:

179
5/ Structuri elementare ale reţelelor neuronale artificiale

T  0 pentru i i  H 1
iˆ i  w   (5.77)
 0 pentru i i  H 2

Putem modifica ecuaţia (5.77) înlocuind fiecare vector omogen iˆ i din H 2


prin opusul său. Această conversie conduce la obţinerea unei singure restricţii:

iˆ i  w  0, i  1,2,..., n (5.78)

Dacă vom lua în considerare toate elementele “convertite” din H , vom


putea obţine formularea matricială a ecuaţiei (5.78)

A w  0, (5.79)

unde matricea A , cu dimensiunile n  ( d  1) , este alcătuită din vectorii obţinuţi


prin conversia elementelor mulţimii de antrenare

 iˆ 1T 
 
 iˆ T2 
A , (5.80)
:
 T 
 iˆ 
 n 

iar 0 este vectorul cu toate elementele egale cu zero.

Separabilitatea liniară ca o problemă de programare liniară

Ecuaţia (5.79) arată că problema căutării unui hiperplan de decizie poate fi


interpretată ca o problemă de programare liniară. A fost arătat [Man65] că
separabilitatea liniară este echivalentă cu rezolvarea unei probleme de
programare liniară. O condiţie necesară şi suficientă pentru separabilitatea
liniară a mulţimilor de intrare H 1 şi H 2 este

ψ(H1 , H 2 )  0 , (5.81)

unde  ( H 1 , H 2 ) este soluţia problemei de programare liniară:

  w w 
ψ ( H 1 , H 2 )  max (   ) | H 1    0, H 2    0,1  w  1 (5.82)
w, , 
     

unde 1 este vectorul coloană care are toate elementele egale cu 1. O condiţie
necesară şi suficientă pentru inseparabilitatea liniară a mulţimilor H 1 şi H 2 este

180
Separabilitatea liniară

 ( H 1 , H 2 )  0 . Demonstraţia se bazează pe observaţia că w  0 ,   0 ,   0


este o soluţie posibilă şi, ca urmare,  ( H 1 , H 2 )  0 . Vectorul soluţie ŵ se
calculează utilizând:

 w 

wˆ  1 . (5.83)
 (   ) 
2 

Exemple

Funcţii logice şi regiuni de decizie

Referindu-ne la Figura 5.17 observăm că anumite funcţii logice, pentru


d  2 , sunt liniar separabile (OR şi AND), în timp ce funcţia XOR nu are
această proprietate. În Figura 5.18 se arată cum, prin creşterea dimensiunii
spaţiului de intrare (adăugarea unei intrări suplimentare), problema este
convertită la una liniar separabilă. Totuşi, intrarea adiţională trebuie să fie
calculată din celelalte intrări. O structură care respectă această cerinţă este
reprezentată în Figura 5.19.

(0,1) (1,1) (0,1) (1,1) (0,1) (1,1)


0 1 1 1 1 0

0 0 0 1 0 1
(0,0) (1,0) (0,0) (1,0) (0,0) (1,0)
AND OR XOR

Figura 5.17 Funcţii logice, d=2. De menţionat că XOR nu


este liniar separabilă.

(1,1,1)
0

Figura 5.18 Soluţia problemei XOR d=2


obţinută prin creşterea dimensiunii spaţiului
de intrare şi utilizarea unui spaţiu cu d=3.
(0,1,0)
1

0 1
(0,0,0) (1,0,0)

181
5/ Structuri elementare ale reţelelor neuronale artificiale

Ieşirea unităţii
(d=3)

Figura 5.19 Structura unei soluţii w3


la problema XOR (d=2) obţinută w1 w2
printr-o transformare la spaţiul d=3. wa2

Transformare
wa1
internă la d=3

Intrări (d=2)

i1
Figura 5.20 O reţea minimală 5-1 pentru a b1
i2
testa separabilitatea liniară a operatorilor i3 o1 b2
deschidere şi închidere (se utilizează un i4 b3
element B cu structura 3x1). i5

Procesarea morfologică a semnalelor

Acest exemplu este preluat dintr-un studiu mai amplu al aplicaţiilor RNA
legate de procesarea semnalelor [HS94].
Deschiderea si Închiderea sunt operaţii întâlnite în procesarea semnalelor
şi sunt utile în special în procesarea (imaginilor) 2-D [Sch89]. Pentru a specifica
transformările Deschidere şi Închidere trebuie să se indice o mulţime de
antrenare H . Aceasta trebuie să fie completă, adică trebuie să includă 2n
eşantioane pentru o intrare n-dimensională. Dacă se utilizează un element cu
structura 3  1, configuraţia unei unităţi singulare este cea din Figura 5.20. În
acest caz n  5 conduce la o mulţime de antrenare cu 32 eşantioane.
Închiderea. Pentru o reţea dată, o se calculează ca
o  (i1  i 2  i 3 )  (i 2  i3  i 4 )  (i3  i 4  i5 )

sau, sub o forma echivalentă

o  i3  (i 2  i 4 )  (i1  i 4 )  (i 2  i5 ) . (5.84)

Deschiderea. Ieşirea o pentru o unitate dată se calculează ca

182
Separabilitatea liniară

o  (i1  i 2  i 3 )  (i 2  i3  i 4 )  (i3  i 4  i5 ) . (5.85)

Mulţimile de antrenare X pentru Închidere şi Deschidere, bazate pe


ecuaţiile (5.84) şi (5.85) sunt cele din Tabelul 4.1, într-o reprezentare –1/1.

Tabelul 4.1. Mulţimile de antrenare X


unidimensionale, minimale, pentru a testa
liniar separabilitatea transformărilor
Închidere şi Deschidere.
Intrare Ţinta Ţinta
Închidere Deschidere
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 1 -1 -1
-1 -1 -1 1 -1 -1 -1
-1 -1 -1 1 1 -1 -1
-1 -1 1 -1 -1 1 -1
-1 -1 1 -1 1 1 -1
-1 -1 1 1 -1 1 -1
-1 -1 1 1 1 1 1
-1 1 -1 -1 -1 -1 -1
-1 1 -1 -1 1 1 -1
-1 1 -1 1 -1 1 -1
-1 1 -1 1 1 1 -1
-1 1 1 -1 -1 1 -1
-1 1 1 -1 1 1 -1
-1 1 1 1 -1 1 1
-1 1 1 1 1 1 1
1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 1 -1 -1
1 -1 -1 1 -1 1 -1
1 -1 -1 1 1 1 -1
1 -1 1 -1 -1 1 -1
1 -1 1 -1 1 1 -1
1 -1 1 1 -1 1 -1
1 -1 1 1 1 1 1
1 1 -1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1
1 1 -1 1 -1 1 -1
1 1 -1 1 1 1 -1
1 1 1 -1 -1 1 1
1 1 1 -1 1 1 1
1 1 1 1 -1 1 1
1 1 1 1 1 1 1

183
5/ Structuri elementare ale reţelelor neuronale artificiale

Din Tabelul 4.1, Închiderea şi Deschiderea pot fi descrise în funcţie de


două inegalităţi liniare care conduc la vectorii soluţie

wˆ  0 (5.86)

pentru ambele transformări. Astfel, se arată că nici una dintre mulţimile de


antrenare nu este liniar separabilă. Închiderea şi Deschiderea nu sunt liniar
separabile şi nici nu pot fi realizate cu o singură unitate.

Restricţii alternative la un spaţiu neliniar separabil H

Restricţia reprezentată de ecuaţia (5.79) conduce la o abordare diferită


pentru a determina datele de antrenare pentru separabilitatea neliniară. Vom
arăta două interpretări care sunt modificări ale celei prezentate în [SRK94].
Să ne reamintim restricţia anterioară:

A w  0, (5.87)

unde elementele matricii A sunt intrări “pre-procesate”,

 iˆ 1T 
 
 ˆT 
A  i 2 . (5.88)
:
 T 
 iˆ 
 n 

În continuare vom demonstra


Teorema 4.1. Dacă spaţiul nul ([Sch97]) al matricii AT (ecuaţia (5.88)) conţine
alţi vectori în afară de 0, şi dacă elementele acestori vectori au acelaşi semn,
atunci A reprezintă o mulţime de antrenare neliniar separabilă.

Un punct de vedere alternativ şi echivalent, care se obţine din definiţia


spaţiului nul al matricii AT , este acela că, dacă există o mulţime de coeficienţi,
{qi } , astfel încât

iˆ 1 q1  iˆ 2 q 2  ...  iˆ n q n  0 (5.89)

unde qi  0 şi cel puţin unul dintre scalarii qi este pozitiv, atunci mulţimea
vectorilor de antrenare este neliniar separabilă.
Demonstraţie. Ecuaţia (5.89) poate fi scrisă sub forma
n

 q iˆ
i 1
i i  0. (5.90)

184
Separabilitatea liniară

În mod similar, soluţia ecuaţiei (5.78) necesită


T
iˆ i  w  0, i  1,2,..., n . (5.91)

Să presupunem existenţa unei soluţii liniar separabile pentru inecuaţia


(5.91). De asemenea, să presupunem existenţa unei mulţmi {qi } care satisface
ecuaţia (5.90). Utilizând (5.90) şi (5.91) obţinem

n n n
w   q i iˆ i   w  q i iˆ i   q i w  iˆ i  0
T T T
(5.92)
i 1 i 1 i 1

care este în contradicţie cu (5.91). Am demonstrat astfel teorema prin reducere


la absurd.

Exemple numerice

XOR. Vom prezenta câteva exemple care ilustrează utilitatea abordării


anterioare. Ne vom referi la formularea XOR cu d  2 din Tabelul 4.2. În acest
tabel  este o cantitate pozitivă oarecare utilizată pentru a accentua partea
dreaptă a ecuaţiei (5.91). Vectorii au fost pre-procesaţi aplicând ecuaţia (5.76).
T
Dacă privim cele patru linii ale tabelului 4.2 (adică iˆ i ), trebuie remarcat că
suma acestor vectori este 0. În caz contrar, există o mulţime de coeficienţi
qi  1, i  1,2,3,4 astfel încât să fie satisfacută ecuaţia (5.89). Deci, această
mulţime este neliniar separabilă. Rezultatele următoare, obţinute cu ajutorul
MATLAB, confirmă această concluzie arătând spaţiul nul al matricii A .

A =

0 0 1
0 1 1
1 0 1
1 1 1

>N=null(A');

N =

 0.5000
 0.5000
 0.5000
 0.5000

185
5/ Structuri elementare ale reţelelor neuronale artificiale

Tabelul 4.2.
Analiza liniar separabilităţii pentru o mulţime de antrenare
în cazul XOR, d  2 .
Mulţimea de antrenare Mulţimea de antrenare
initială transformată
Intrare Ieşire (o1) Intrare Ieşire (o1)
(i1 i2 ibias) (i1 i2 ibias)
0 0 -1 <0 0 0 1 ε
0 1 -1 >0 0 1 -1 ε
1 0 -1 >0 1 0 -1 ε
1 1 -1 <0 -1 -1 1 ε

Nu există schimbări de semn în N şi, în consecinţă, H nu este liniar


separabilă. Pentru că spaţiul nul al matricii AT are dimensiunea acestui vector,
multiplicarea cu –2 arată că spaţiul nul include (1 1 1 1) T .
Mulţimea coeficienţilor, qi  1, i , satisface ecuaţia (5.89).

OR. Similar, H pentru funcţia OR (cunoscută ca liniar separabilă din


exemplul simplu din paragraful anterior) este prezentată în Tabelul 4.3.

Tabelul 4.3.
Analiza liniar separabilităţii pentru o mulţime de
antrenare în cazul OR, d  2 .
Mulţimea de antrenare Mulţimea de antrenare
iniţială transformată
Intrare Iesire (o1) Intrare Iesire (o1)
(i1 i2 ibias) (i1 i2 ibias)
0 0 -1 <0 0 0 1 ε
0 1 -1 >0 0 1 -1 ε
1 0 -1 >0 1 0 -1 ε
1 1 -1 >0 1 1 -1 ε

Menţionăm că aici nu există nici o mulţime de coeficienţi pozitivi care să


satisfacă ecuaţia (5.89); următoarele rezultate MATLAB confirmă acest rezultat.

A =

0 0 1
0 1 1
1 0 1
1 1 1

> N=null(A');

186
Tehnici de obţinere directă a parametrilor unităţilor liniare
N =

 0.5000
 0.5000
 0.5000
0.5000

Submulţimile liniar şi neliniar separabile ale lui H

Un corolar util al Teoremei 4.1 ne permite să observăm sub-structurile din


interiorul lui H . Astfel, putem identifica vectorii din H care pot fi responsabili
pentru comportarea neliniar separabilă a mulţimii de antrenare.
Corolarul 1. Un vector din H poate face ca H să fie neliniar separabilă dacă el
are o valoare pozitivă corespunzatoare qi în ecuaţia (5.89).
Dacă ne referim la exemplul anterior XOR, observăm că toţi vectorii pot
participa la formularea neseparabilă.

5.7 TEHNICI DE OBŢINERE DIRECTĂ


A PARAMETRILOR UNITĂŢILOR LINIARE

Soluţia pseudo-inversa pentru proiectarea unei unitati singulare

Ecuaţia (5.79) reprezintă de fapt un sistem de n inecuaţii independente.


Există multe proceduri pentru determinarea soluţiei, inclusiv cele date de
programarea liniară. O posibilitate de obţinere a soluţiei are la bază
transformarea ecuaţiei (5.79) într-o restricţie de tip liniar prin definirea de către
utilizator a unui vector “offset”, b :

 b1 
b 
b   2 , bi  0 . (5.93)
: 
b 
 n

Astfel, ecuaţia (5.79) devine

A w  b (5.94)

iar o soluţie pentru parametrii palnului de separare, w , se obţine cu ajutorul


pseudo-inversei matricii A :

wˆ  A   b . (5.95)

187
5/ Structuri elementare ale reţelelor neuronale artificiale

O altă metodă de rezolvare a sistemului (5.77) sau a celui echivalent (5.78)


constă în tratarea acestor ecuaţii ca fiind n restricţii în spaţiul ( d  1) –
dimensional. Fiecare ecuaţie care are forma din (5.78) împreună cu un offset sau
“margine” definit de utilizator poate fi scrisă ca

T
iˆ i  w  bi  0, i  1,2,..., n . (5.96)

T
Vectorul iˆ i poate fi interpretat [Sch97] ca vectorul normal la hiperplanul
( d  1) – dimensional care partiţionează spaţiul R d 1 . O condiţie impusă unei
soluţii este aceea că vectorul soluţie, w , trebuie să se afle în jumătatea pozitivă,
T
R p , a spaţiului R d 1 , la distanţa | b | / || iˆb i || de margine. În plus, intersecţia celor
n jumătăţi ale spaţiului R d 1 definite de ecuaţia (5.96) constituie regiunea
soluţiei generale pentru w . În cazul problemelor care nu sunt liniar separabile,
această regiune nu există. În cazul contrar, pentru soluţiile liniar separabile
pentru care nu există plane unice de separare, această regiune conţine o infinitate
de puncte soluţii. În plus, prin impunerea marginilor bi  0, i  1,2,..., n , putem
determina soluţia care reprezintă regiunea maximă dacă rezolvăm
T
iˆ i  w  0, i  1,2,..., n . (5.97)

Proceduri iterative (gradient descrescător)

În cazul în care se utilizează gradientul, putem găsi o procedură iterativă


pentru a determina w . Forma acesteia este

( n 1) J ( w)
n
(n)
w w , (5.98)
w w w ( n )

unde  n controlează ajustarea la fiecare iteraţie. Această procedură iterativă


necesită impunerea unui criteriu de oprire. Pot fi utilizate următoarele criterii:
( n 1)
 w   , unde  este toleranţa aleasă de utilizator, sau
(n)
 w
 n  n max , unde nmax este numărul maxim de iteraţii (predeterminat), sau
( n)
 J ( w )  J T , unde J T este pragul erorii iar J (w) este măsura generală
a erorii de clasificare.

Există multe forme de reprezentare a erorii J (w) . De exemplu, un vector


w pentru care

188
Tehnici de obţinere directă a parametrilor unităţilor liniare

T
iˆ i  w  0 , (5.99)

T
clasifică eronat eşantionul iˆ i . În consecinţă, o măsură a erorii, funcţia criteriu
caracteristică unui perceptron, este

 (iˆ
T
J p ( w)   i  w) (5.100)
iˆ X ERR ( w )

unde X EER (w) este mulţimea eşantioanelor clasificate eronat prin w . Trebuie să
menţionăm că această mulţime variază de la iteraţie la iteraţie în procedura de
determinare a soluţiei. Dacă WEER (w)   , atunci J p ( w)  0 şi în acest caz se
obţine minimul funcţiei eroare. Pentru că

 w J p ( w)    iˆ i
iˆ i  X ERR ( w )
, (5.101)

procedura iterativă reprezentată de (5.98) devine:

w
( n 1)
w
(n)
n   iˆ i
iˆ i  X ERR ( w )
. (5.102)

(n ) (n )
În cazul în care X ERR ( w )   , ajustările asupra lui w încetează.
Ecuaţia (5.102) sugerează că la fiecare iteraţie întreaga mulţime de
(n )
eşantioane clasificate greşit de w poate fi utilizată pentru a forma corecţia la
următoarea iteraţie. Aceasta impune o luare în considerare a întregii mulţimi de
antrenare pentru fiecare ajustare a lui w ; metoda reprezintă antrenarea
periodică. O altă posibilitate este ajustarea lui w de îndată ce s-a produs o
singură eroare de clasificare; este antrenarea prin eşantioane şi poate fi
interpretat ca o strategie de tipul “corect de îndată ce este posibil”. Adesea este
neclar care dintre cele două metode este de preferat: antrenarea periodică sau
prin eşantioane. În cazul antrenării prin eşantioane, ecuaţia (5.102) devine

( n 1)
  n  iˆ i
(n)
w w (5.102)

(n )
unde x̂ i este primul eşantion clasificat greşit de w .

189
5/ Structuri elementare ale reţelelor neuronale artificiale

5.8 PERCEPTRONUL ŞI UNITĂŢI ADALINE/MADALINE

Perceptron/unitate adaptivă liniară (ADALINE)


α – perceptronul este alcătuit din două straturi. Primul strat este un etaj cu
ponderi fixe iar cel de-al doilea este reprezentat de o reţea tipică “feed-forward”
cu ponderi adaptabile şi funcţie de activare de tip “hard-limiter”. Numai cel de-
al doilea strat este perceptornul. Unitatea din al doilea strat se numeşte unitate
liniară cu prag; liniară din cauza modului în care se calculează valoarea de
activare (“inner product”), cu prag pentru a indica legătura cu funcţia de
activare (“hard-limiter”). Antrenarea perceptronului este posibilă utilizând
regula de învăţare a perceptronului. Această regulă are asociată teorema de
convergenţă a perceptronului [MP69], [DH73], [KS91], care are o importanţă
particulară în acest caz pentru ca arăta convergenţa în cazul în care soluţia
există.
Teorema 4.2. Teorema de convergenţă a perceptronului. Dacă există o mulţime
*
de ponderi de conectare ŵ care realizează transformarea T, regula de învăţare a
perceptronului va converge către o anumită soluţie ŵ (care poate să nu fie
*
aceeaşi cu ŵ ) după un număr finit de paşi, pentru orice alegere iniţială a
ponderilor.

În concordanţă cu această teoremă, antrenarea după regula de învăţare a


perceptronului conduce la o soluţie ce presupune o eroare nulă dacă mulţimea de
antrenare este liniar separabilă. Se poate determina o limită superioară a
numărului de iteraţii necesar pentru a obţine această soluţie. Din păcate, această
*
limită depinde de vectorul soluţie necunoscut ŵ .
După cum se poate observa în Figura 5.21, baza pentru un element
ADALINE este reprezentată de o unitate singulară a cărei activare se calculează
ca o combinaţie liniar-ponderată a semnalelor de intrare (CLPI-WLIC), adică

net i   wij i j  w  i .
T
(5.104)
j

Vectorul w0k
.1
de intrare
w1k gk Ieşire
Figura 5.21 Structura x1k Σ
ADALINE; se utilizează Xk w2k
x2k
eroarea de tip liniar. .. εk
. Σ
Eroare
xmk wmk
dk
Wk Răspunsul
Vectorul
dorit
pondere

190
Perceptronul şi unităţi ADALINE/MADALINE

Ieşirea unităţii se calculează utilizând funcţia “hard-limiter”, o neliniaritate


de tip prag, concret funcţia signum: pentru o unitate i ieşirea oi este

 1 pentru net i  0
oi   (5.105)
 1 pentru net i  0

Este fundamental să accentuăm că unitatea are ieşirea de tip binar; totuşi,


formarea lui neti (ca şi ajustările ponderilor din algoritmul de antrenare) se
bazează pe porţiunea liniară a unităţii, adică pe transformarea obţinută înainte de
aplicarea funcţiei de activare. În Figura 5.22 este reprezentată o structură
ADALINE mai complicată iar în Figura 5.23 este prezentat un exemplu simplu
de structură ADALINE cu două intrări ( d  2 ) şi polarizare.
În Figura 5.24 se poate observa modul în care se implementează funcţiile
AND, OR şi MAJ cu ajutorul unei unităţi ADALINE.

x0k=+1 Intrare de polarizare


Vectorul
de intrare
Xk Ponderi w0k sk Ieşire
x1k w1k
liniară
x2k w2k +1 yk Ieşire
Σ
-1 binară
x3k w3k
{-1, +1}
.. .. Element
. . cu prag
xnk wnk
Eroarea
liniara
-
ΔWk Algoritm εk
Xk 2μ Σ
LMS
+
dk ADALINE

Răspunsul
dorit

Figura 5.22 Element ADALINE complex.

x0k=+1

x1k w1k w0k


sk +1 yk Figura 5.23 Exemplu de
Σ structură ADALINE cu
-1
x2k w2k două intrări.

191
5/ Structuri elementare ale reţelelor neuronale artificiale

x0=+ 1
w1=– 1 w0=– 1,5
x1
+1 AND
Σ
w2=+1 -1
x2
x0=+ 1
w1=+ 1 w0=+ 1,5
x1
+1 OR
Σ
w2=+1 -1
x2

x0=+ 1
w1=+ 1 w0=+ 1,5
x1
w2=+ 1 +1 MAJ
x3 Σ
-1
x2
w3=+1

Figura 5.24 Implementarea ADALINE a funcţiilor AND, OR şi MAJ.

Algoritmi α – LMS

În continuare vom prezenta pe scurt familia algoritmilor celor mai mici


pătrate (least mean squared – LMS), punând accent pe simplitatea lor şi legătura
cu metoda gradientului descrescător
Algoritmul LMS se bazează pe corecţia erorii şi antrenarea prin
eşantioane. Vom considera mai întâi următorul obiectiv:

Principiul abaterii minime. Sistemul trebuie să se adapteze astfel încât să se


reducă eroarea ieşirii pentru setul curent de antrenare, cu abatere minimă faţă de
răspunsurile deja învăţate.

Semnificaţia acestui principiu este: corecţia ponderii, care ste ideală pentru
forma curentă poate fi contraproductivă, în funcţie de alte forme din setul de
antrenare care au fost utilizate anterior. Dacă se utilizează antrenarea prin
eşantioane, este posibil să se distrugă unele din rezultatele bune ale antrenărilor
precedente facând corecţii asupra eşantioanelor următoare.

192
Perceptronul şi unităţi ADALINE/MADALINE
p
Să presupunem o mulţime de antrenare de forma H  {i , t p } , unde t p este
p
răspunsul dorit, sau “ţinta”, corespunzător intrării i . Vom defini eroarea liniară
la momentul k (sau la iteraţia k ) prin

T p
ek  d p  w k  i (5.106)

unde w k este mulţimea curentă a ponderilor unităţii, înainte de corecţia


introdusă de perechea curentă de antrenare. Apariţia unei schimbări în vectorul
curent al ponderilor  w k va conduce la o modificare a erorii

T p p
e  (d p  w k  i )  (i ) T   w k . (5.107)

Dacă se utilizează  w k ca schimbare a ponderilor,

 w k  w k 1  w k (5.108)

sau

w k 1  w k   w k . (5.109)

p
Pentru că i şi d p sunt fixate, obţinem

 0 pentru d p  w Tk  i p
 T p
e k   0 pentru d p  w k  i (5.110)
 0 pentru d p  w T  i p
 k

Astfel, corecţia potrivită la acest pas este

e k  0 daca e k  0 (5.111)

e k  0 daca e k  0 (5.112)

e k  0 daca e k  0 (5.113)

Pe baza ecuaţiilor (5.111) – (5.112), vom alege următoarea strategie de


corecţie a ponderilor:

e k  e k ,   0 . (5.114)

Putem rescrie ecuaţia (5.114) sub forma

193
5/ Structuri elementare ale reţelelor neuronale artificiale
p p
(i ) T  i
e k    p
 ek (5.115)
|| i || 2

p p
(i ) T  i
pentru că p
1
|| i || 2
În consecinţă, utilizând ecuaţiile (5.107), (5.114) şi (5.115), obţinem
p p
(i ) T  i
e k  (i )   w k   
p T
p
 ek . (5.116)
|| i || 2

Astfel, regula de corecţie este


p
i
wk    p
 ek . (5.117)
|| i || 2

Evaluarea procedurii LMS

În mod curent,

0,1    1. (5.118)

Putem remarca mai multe lucruri în legătură cu ecuaţia (5.117):


p
1. Procedura se autonormalizează, în sensul că, efectul variaţiilor în || i ||
sunt responsabile pentru formarea  w k .
p
2. Pentru intrări bipolare, iip  {1,1} , || i || este constant pentru toate
intrările i .
3. Pentru intrări binare, iip  {0,1} , nu se modifică ponderile
corespunzătoare lui iip  0 .

5.9 PERCEPTRONUL MULTISTRAT (MLP)

După cum am văzut, caracteristica unităţii WLIC – T, inclusiv forma


ADALINE, are dezavantajul că nu poate să implementeze transformări neliniar
separabile. Au fost făcute numeroase încercări pentru a depăşi această limitare,
în continuare fiind prezentate câteva dintre acestea. De un interes particular este
utilizarea unităţilor alcătuite din straturi ADALINE, cunoscute sub numele de
perceptroni multistrat (MLP). Unul dintre cele mai mari neajunsuri ale MLP
este disponibilitatea limitată la algoritmi de antrenare adecvaţi. Acest neajuns
limitează adesea aplicabilitatea MLP la soluţii mici, “manufacturate”.

194
Perceptronul multistrat

Structura WLIC a unităţii ADALINE are în vedere hiperplanul de decizie


(Figura 5.25). Unitatea ADALINE poate furniza un singur hiperplan de decizie
în spaţiul intrărilor. Sunt posibile mai multe modificări pentru a permite
abordarea problemelor neliniar separabile.
Una dintre acestea presupune pre-procesarea intrărilor (şi creşterea
dimensiunii spaţiului de intrare) pentru a permite frontiere mai complexe.
Aceasta este aratătă în Figura 5.26.
După cum se arată în Figura 5.27, combinaţia de unităţi ADALINE
conduce la o structura MADALINE (ADALINE modificată), care poate fi
utilizată pentru a forma regiuni de decizie mai complexe (Figura 5.28). În
general, o structură ADALINE/perceptron cu două straturi este capabilă să
contureze regiuni poliedrale în R d , şi aceasta, după cum am arătat în exemple,
conduce la transformări mai utile în anumite aplicaţii.
Linia de separare
w1 w
x2  x1  0
w2 w2 x2
(–1,+1) (–1,+1)
Ieşirea
ADALINE = – 1
x1

Ieşirea
– ADALINE = +1

+ (–1,+1) (–1,+1)

Figura 5.25 Hiperplanul de separare ADALINE în


spaţiul de intrare.

x0=+1
Vectorul x12 w11
Sq. w0
de intrare Ieşire
x1 w1
X x1 binară
x1x2 w12 z y
X Σ
w2 {–1, +1}
x2 x2

w22 ε Signum
x22 Σ
Sq. Eroarea
+
liniară
Procesor dk {–1, +1}
polinomial Răspunsul
dorit
Figura 5.26 Utilizarea transformărilor neliniare pentru
a implementa o transformare ADALINE.

195
5/ Structuri elementare ale reţelelor neuronale artificiale

x0=+ 1
Vectorul
de intrare
X x1 +1
Σ
-1
Ieşire
x0=+ 1 y
AND

+1
Σ
x2 -1

Figura 5.27 Modelul ADALINE modificat (MADALINE).

Linii de separare
x2
(–1,+1) (+1,+1)

+
– –
x1
+ Ieşirea MADALINE
=–1

(–1,–1) (+1,–1)
Ieşirea MADALINE
= +1

Figura 5.28 Limita de decizie MADALINE (un exemplu).

O submulţime poliedrală în R d se defineşte ca fiind o regiune definită prin


intersecţia unui anumit număr de semi-spaţii. Fiecare dintre acestea poate fi
conturat de o unitate WLIC – T cu parametri adecvaţi. Într-o configuraţie de
unităţi WLIC – T cu două straturi, primul strat este capabil să implementeze q
hiperplane, împărţind astfel R d într-un număr de până la q semi-spaţii. Al
doilea strat este utilizat pentru a transforma aceste semi-spaţii în regiuni
poliedrale (sau submulţimi) prin intersectarea semi-spaţiilor.

196
Utilizarea funcţiilor de activare de tip sigmoid în antrenarea “gradient descent”

5.10 ANTRENAREA CU METODA GRADIENTULUI


DESCRESCĂTOR ŞI FUNCŢII DE ACTIVARE
DE TIP SIGMOID

Deşi tehnicile care vor fi prezentate în Capitolul 7 reprezintă o generalizare


a celor prezentate aici, vom arăta [Sch97] cum se poate utiliza gradientu
descrescător pentru antrenarea unităţilor a căror activare este WLIC şi care au
funcţii de activare diferenţiabile. Să ne reamintim că activarea reţelei se
formează cu ajutorul

T
net  w  i (5.119)

şi, dată fiind funcţia de activare f , ieşirea se obţine prin:

o  f (net ) . (5.120)

Dacă este dată o mulţime de perechi intrare – scop de forma

1 2 n
H  {(i , t 1 ), (i , t 21 ), ..., (i , t n )} (5.121)

şi dacă se defineşte o măsură a erorii e p în funcţie de (t p  o p ) , unde o p este


p
ieşirea obţinută din i , avem

1
(e p ) 2  (t p  o p ) 2 . (5.122)
2

Pe întreaga mulţime H eroarea totală va fi

n
E   (e p ) 2 . (5.123)
p 1

Ideea principală este aceea de a calcula d (e p ) 2 / d w , cu ajutorul ecuaţiei


(5.122), şi de a utiliza această cantitate pentru a ajusta w . Dacă luăm în
considerare al k -lea element din w , obţinem

d (e p ) 2 d (e p ) 2 do p dnet
   . (5.124)
dwk do p dnet dwk

Prin urmare

197
5/ Structuri elementare ale reţelelor neuronale artificiale

d (e p ) 2
p
 op tp (5.125)
do

do p d
p
 p
f (net p ) (5.126)
dnet dnet

unde se presupune că există cantitatea din ecuaţia (5.126). Din (5.119) rezultă:

dnet p
 i kp . (5.127)
dwk

Combinând aceste rezultate se obţine

d (e p ) 2  df ( net p )  p
 (o p  t p )   p   ik (5.128)
dwk  dnet 

ceea ce reprezintă gradientul erorii în raport cu ponderea wk şi reprezintă baza


algoritmului “gradient descent”. În mod curent, vom asigna corecţia ponderii,
wk , astfel încât

d (e p ) 2
wk    (5.129)
dwk

să conducă la corecţia

 p df ( net p ) p 
w k
j 1
 w     (o  t ) 
k
j p
 ik  . (5.130)
 dnet p 

În legătură cu ecuaţia (5.130) pot fi făcute următoarele observaţii:


1. Pentru o funcţie de activare liniară ( o  neti ), ecuaţia (5.130) se poate
rescrie sub forma

wkj 1  wkj    [(o p  t p )  i kp ] . (5.131)

2. Dacă observăm că o p  t p  2e p , utilizând o funcţie de activare


liniară, ecuaţia (5.131) devine

wkj 1  wkj     e p  i kp . (5.132)

3. O regulă de corecţie de tip produs este o extindere evidentă, ca şi în


abordarea α – LMS.

198
Capitolul 5

Structuri elementare ale reţelelor


neuronale artificiale

5.1 INTRODUCERE

În acest capitol vom studia în amănunt structurile elementare ale RNA,


structuri care stau la baza reţelelor complexe. Vom prezenta caracteristicile
neuronului individual şi transformările induse de acesta, ca un preludiu pentru
înţelegerea reţelelor cu mai multe unităţi de calcul. Vom lua în considerare
utilitatea unui singur element pentru implementarea unor transformări utile.
Vom trata atât cazul unităţilor liniare cât şi cazul celor neliniare. Din analiza
reţelelor simple prezentate în acest capitol se pot obţine informaţii importante
care se vor aplica structurilor mai sofisticate din capitolele următoare.

5.2 UNITĂŢI NEURONALE BIOLOGICE

Celulele nervoase
Sistemul nervos este constituit din două tipuri de celule: neuronii – sau
celulele nervoase – şi glia (celulele gliatice). Neuronii reprezintă blocurile de
bază pentru constituirea sistemelor biologice de procesare a informaţiei. Celulele
gliatice îndeplinesc numai funcţia de sprijinire a activităţii neuronilor; în
consecinţă, ne vom concentra asupra neuronilor.
Neuronii creierului pot fi clasificaţi după funcţia pe care o îndeplinesc.
Neuronii aferenţi sau senzoriali furnizează semnale de intrare pentru sistemul
nervos; un exemplu: nervii optici. Neuronii motori procesează local informaţia
sau propagă semnale dintr-un loc în altul, şi reprezintă de departe cea mai
numeroasă clasă de celule din sistemul nervos.
Un neuron biologic întâlnit în mod curent la vertebrate este reprezentat în
Figura 5.1.

151
5/ Structuri elementare ale reţelelor neuronale artificiale

Dendrite apicale

Nucleu

Pericaryon
Fibre terminale
inhibitoare ale
axonului
Fibre terminale Dendrite bazale
excitatoare ale
axonului Axon
(segmentul iniţial)
Gâtul axonului

Nod Ranvier

Axon

Terminal
pre-sinaptic

Dendrită

Figura 5.1 Morfologia unui neuron [Kan91].

152
Unităţi neuronale biologice
Această celulă are trei porţiuni majore, definite din punct de vedere
morfologic [Kan91], fiecare dintre acestea contribuind la procesarea semnalelor:
 Corpul celulei sau soma, care constă din nucleul celulei şi perikaryon.
Corpul celulei are, adesea, diametrul mai mare de 50 μm.
 Axonul, care este o construcţie tubulară cu diametrul între 0,2 şi 20 μm,
lungimea putând atinge 1 m. Se consideră că axonii încep cu gâtul
axonului, care generează potenţialul de activare al celulei. Axonul
reprezintă principalul mecanism de conducţie al neuronului.
 Dendritele, care se ramifică precum ramurile unui copac. Cei mai mulţi
neuroni au dendrite multiple. Dendritele unui neuron se conectează cu
axonii altor neuroni prin intermediul conexiunilor sinaptice (sinapse). În
acest mod iau naştere reţelele neuronale biologice. Neuronii multipolari
(Figura 5.1) au două tipuri de dendrite: apicale şi bazale. Dendritele
bazale facilitează atât funcţia excitatoare cât şi pe cea inhibatoare în
generarea semnalului de către axon. Vom utiliza această funcţionalitate
în modelele artificiale ale celulelor, în mod special în elaborarea
modelului MP (McCulloch-Pitts).

Pentru a simplifica expunerea, vom numi celulele care iniţiează (generează)


un semnal celule pre-sinaptice, iar pe cele care recepţionează semnale celule
post-sinaptice. Distincţia dintre cele două tipuri de celule este arătată în Figura
5.1. Partea finală a axonului se divide în principalele mecanisme de transmisie
ale neuronului, terminalele pre-sinaptice. Conexiunea dintre terminalul axonic
pre-sinaptic al neuronului şi dendrita neuronului post-sinaptic se realizează prin
sinapsă. În mod uzual, pe fiecare neuron se află între 1000 şi 10000 sinapse.
Morfologia celulei poate fi clasificată în continuare în funcţie de numărul
de elemente care diverg din corpul celulei. În acest fel, celulele se împart în:
 Celule unipolare, care nu au dendrite emergente din soma. Există numai
un singur proces primar (sau ramificaţie) şi înconjoară atât dendritele
cât şi axonul. Aceste celule sunt tipice neuronilor nevertebratelor.
 Celule bipolare, care au două procese principale. Unul conţine
dendritele (adesea incluse într-o funcţie senzorială), celălalt este
reprezentat de axon.
 Celule multipolare, care sunt dominante în sistemele nervoase ale
vertebratelor; ele au un singur axon şi una sau mai multe legături
dendritice.

Activitatea sinaptică
Transmisia sinaptică implică procese chimice şi electrice deosebit de
complicate. Stimulii senzoriali sau chimici iniţiează o modificare în potenţialul
sinaptic. Prin această schimbare un anumit neuron influenţează starea altora,
conectaţi direct sau indirect la cel dintâi. În soma, această activitate este
integrată şi determină potenţialul axonului. Trebuie menţionat că sunt posibile

153
5/ Structuri elementare ale reţelelor neuronale artificiale
atât influenţe excitatorii cât şi inhibitorii. Modalitatea în care soma realizează
conversia, de la potenţiale de intrare continue în semnale de ieşire 1/0, este unul
dintre cele mai importante aspecte ale comportării unei celule şi generează
diferite modele artificiale. Dacă stimulii tuturor celulelor se situează sub un
anumit prag, nu se generează nici un semnal. Dacă stimulii acumulaţi depăşesc
pragul (cu cât anume?), atunci se generează semnal de ieşire.
Potenţialul de acţiune (sau potenţialul de activare) pentru un neuron activat
este reprezentat în mod uzual de un semnal cu vârfuri mari, a căror frecvenţă
este proporţională cu potenţialul somei. Dacă potenţialul somei unui neuron
creşte peste o anumită valoare de prag, atunci neuronul începe să comute (se
aprinde). În consecinţă, un potenţial de activare poate determina schimbări în
potenţialul neuronilor ataşaţi. Frecvenţa medie a semnalului care reprezintă
potenţialul de activare se numeşte rata medie de activare (comutare) a
neuronului. Potenţialul mediu al somei, în raport cu potenţialul de bază al somei,
este cunoscut sub numele de nivelul de activare al neuronului. În Tabelul 5.1
sunt prezentaţi diferiţi parametri specifici proceselor electro-neuronale.

Tabelul 5.1. Potenţialele receptorului, sinaptic şi de activare.


Caracteristica Potenţialul Potenţialul Potenţialul
receptorului sinaptic de activare
Amplitudine 0,1 – 10 mV 0,1 – 10 mV 70 – 110 mV
Durata 5 – 100 ms 5 ms – 20 min 1 – 10 ms
Rezoluţie Gradat (continuu) Gradat Binar (0/1)

Anumiţi neurotransmiteri sunt excitatori, ceea ce înseamnă că ei produc o


creştere a potenţialului soma al neuronului receptor; alţii sunt inhibitori, adică
fie că produc scăderea potenţialului soma al neuronului receptor, fie că
blochează creşterea acestui potenţial. Un caz special este cel reprezentat de
inhibiţia presinaptică. Această formă de inhibiţie (inhibare) apare ca rezultat al
unei reduceri substanţiale a amplitudinii potenţialului de activare la sinapse.
Inhibarea postsinoptică este o reacţie negativă care se utilizează pentru a preveni
o împrăştiere excesivă a activării.

Complexitatea sistemelor biologice


În Capitolul 4 am prezentat problemele asociate cu gradul de complexitate
al soluţiilor bazate pe reţele neuronale artificiale. Este oarecum ca un adevăr
spus numai pe jumătate că natura a rezolvat problema complexităţii în ceea ce
priveşte reţelele neuronale. Tabelul 5.2 oferă o idee a complexităţii sistemelor
biologice. Este interesant de menţionat că un singur neuron poate avea intre 103
şi 104 sinapse. În mod uzual implementările artificiale nu pot fi câştigătoare în
competiţia cu această complexitate “naturală”.

154
Unităţi neuronale biologice
Tabelul 5.2. Numărul aproximativ de neuroni
şi sinapse în două tipuri de sisteme nervoase
Sistem Neuroni Sinapse
Sistemul nervos uman 1012 1015
Creierul şoarecelui 1010 1013

Mecanisme biofizice şi operaţii neuronale echivalente


Precedenta trecere în revistă a elementelor care aparţin neurologiei
sugerează numeroase mecanisme de procesare a informaţiei sau semnalelor,
mecanisme care pot forma baza unităţilor neuronale artificiale. În Tabelul 5.3
sunt prezentate corespondentele tipice între un neuron biologic şi o unitate
artificială (un neuron artificial).

Tabelul 5.3. Comparaţie între neuronii fizici şi cei artificiali


Fizic (biologic) Artificial
Celulă (neuronală) Unitate (neuronală artificială)
Sinapsă Pondere de interconectare
(interconexiune)
Intrare excitatoare Valori pozitive (mari) ale ponderii
de interconectare
Intrare inhibatoare Valori negative (mari) ale ponderii
de interconectare
Activare prin frecvenţă (valori Nivel continuu
de vârf)
Gamă de activare limitată de Gamă de activare limitată de funcţia
celulele fizice de activare

De la apariţia primelor intenţii de a imita neuronii biologici şi până în 1999,


au fost propuse (nu neapărat şi testate) numeroase modele. De exemplu, se poate
realiza o transpunere elementară a unei unităţi biologice în echivalentul ei
artificial, făcând apel la entităţile de bază ale ingineriei electrice (Figura 5.2). În
acest caz, celula nervoasă reală (biologică) este compusă din trei părţi majore: o
soma, un axon şi mai multe dendrite. Este important să ne amintim că axonul
reprezintă canalul de ieşire al neuronului şi transferă potenţialul de activare al
celulei neuronale (prin fibrele nervoase) la conexiunile sinaptice ale altor
neuroni. Dendritele acţionează ca un receptor pentru semnalele transmise către
neuron de către alţi neuroni; aceste dendrite “canalizează” potenţialele
postsinaptice (de intrare) către soma neuronului care are rolul de
acumulator/amplificator. Analogul electric al unei unităţi biologice este
reprezentat în Figura 5.2. Această reprezentare conduce la o clasă mai largă de
modele pe care le vom explora în capitolele următoare.

155
5/ Structuri elementare ale reţelelor neuronale artificiale

fibre Amplificator neliniar


nervoase sinapse (corpul celulei)

dendrite
soma

axoni Rezistoare variabile


divergenţi (sinapse)

(a) (b)

Figura 5.2 Analogia dintre un neuron biologic şi un circuit


electronic: (a) neuronul biologic tipic; (b) analogul său electronic.

Organizarea sistemelor neuronale


În anii ’80 au fost depuse eforturi deosebite pentru a putea realiza o
unificare a activităţii microscopice a sistemelor neuronale cu abilităţile cognitive
[Chu86]. Deşi comportarea inteligentă a sistemelor biologice este transpusă la o
scară macroscopică, relevarea acestei comportări se obţine prin activarea a mii
de milione de unităţi de procesare biologice, (i.e. neuroni).
Principalele proprietăţi legate de efectuarea diferitelor tipuri de calcule în
sistemele nervoase superioare, în particular în creierul uman, sunt:
 Creierul nu este echivalent unui calculator de uz general; mai degrabă el
poate fi echivalat unei maşini de calcul cu scopuri particulare (speciale),
care este eficientă pentru realizarea anumitor scopuri, dar este limitată în
ceea ce priveşte flexibilitatea [Moi99].
 Creierul este produsul unei evoluţii şi nu al unei inginerii. Schimbările
sunt incrementale: creierul nu poate începe din nou, de la zero, ca într-
un proiect ingineresc.

Aceste proprietăţi sunt cele presupuse şi verificate până acum. Multe alte
presupuneri legate de aceste proprietăţi nu au fost încă verificate. Nu cumva este
o provocare ?! În Figura 5.3 este prezentată organizarea sistemelor biologice
superioare [CS93].

156
Structuri neuronale artificiale

CNS 1m

Sisteme 10 cm

Grupuri 1 cm Figura 5.3. Niveluri de organizare


în sistemul nervos [CS93].
Reţele 1 mm

Neuroni 100 μm

Sinapse 1 μm

Molecule 1Å

i1 Scanarea combinaţiei
Intrări i2 de intrare Ieşire
.. . . şi formarea semnalului (scalar)
id de ieşire

Figura 5.4 Combinarea “generică" a semnalelor de intrare produce


semnalul corespunzător de ieşire al neuronului artificial.

5.3 STRUCTURI NEURONALE ARTIFICIALE

Procesul generic de obţinere a unui semnal de ieşire în funcţie de semnalele


de intrare aplicate, pentru un neuron artificial “generic”, este cel din Figura 5.4.
Esenţa reţelelor neuronale artificiale este reprezentată de modalitatea de
interconectare a zonelor de procesare paralelă cu parametri variabili. După cum
este arătat în [Sch97], această proprietate este inerentă sistemelor biologice.

Unităţi cu structuri liniare


Vom începe prin luarea în considerare a unităţilor liniare, adică a unităţilor
pentru care transformarea intrare-ieşire (I/O) este liniară. Aceste unităţi sunt
importante din mai multe motive.
1. Permit vizualizarea corespondenţelor partiţiilor spaţiului R d .
2. Permit o analiză simplificată care utilizează tehnici din algebra liniară şi
din geometrie.
3. Au o istorie importantă.
4. Furnizează ideile de bază care pot fi luate in considerare de unităţile
neliniare.
5. Furnizează multe corespondenţe utile (Capitolele 5 şi 6).

157
5/ Structuri elementare ale reţelelor neuronale artificiale
O funcţie vectorială de variabilă vectorială, f (x) , este liniară în sensul
intrare/ieşire dacă:

x   x 1   x 2 ,  f ( x )  f ( x 1 )  f ( x 2 ) (5.1)

Fiecare intrare a unui neuron artificial are asociată o pondere care indică
"puterea" conexiunii fie cu un semnal de intrare (extern), fie cu ieşirea altui
neuron. Cu toate că bibliografia existentă este oarecum inconsistentă în legătură
cu acest subiect, în această lucrare vom adopta următoarea convenţie: wij
reprezintă ponderea conexiunii către neuronul i , fie de la neuronul j , fie de la
intrarea j . În consecinţă, o valoare mare pentru wij va indica un puternic
semnal excitator transmis de unitatea (sau intrarea) j către unitatea i ; o valoare
mare negativă a ponderii este considerată o intrare puternic inhibitoare.

Unităţi singulare
Este uşor de acceptat că cea mai simplă unitate liniară este cea care are
modelul S-R de forma

 w1   i1 
w  i 
T  2   2
o(i )  net (i )  net i  w i , unde w   .  şi i   .  . (5.2)
 .  .
w  i 
 d  d

Utilizând cunoştinte elementare de geometrie, vectorul de ieşire al unităţii


se obţine prin proiectarea vectorului de intrare al unităţii pe vectorul pondere.
Vectorul pondere reprezintă un set specific de parametri ai unităţii, care
modelează ponderile interconexiunilor dintre unitatea respectivă şi alte surse de
stimuli ale reţelei. Astfel, punctul de vedere geometric indică faptul că ieşirea (şi
activarea reţelei) pentru o singură unitate liniară este o măsură (Capitolul 2 din
[Sch97]) a apropierii (a identităţii) dintre vectorii de intrare şi cei care reprezintă
ponderile, în R d .

Formulări matriciale
Modul în care se obţine semnalul de activare pentru o unitate individuală,
poate fi descris prin
d
net i   wij i j , (5.3)
j 1

unde am notat cu i j intrarea j a unităţii i .

158
Structuri neuronale artificiale
Am indicat astfel că o intrare a unei unităţi este, de cele mai multe ori,
ieşirea altei unităţi, fie în cazul unei structuri recurente fie pentru una cu propa-
gare directă. În plus, definirea unei matrici de interconexiune W şi a vectorului
de intrare i ca în ecuaţia (5.2),

W  [ wij ] , (5.4)

împreună cu un set (o mulţime) de antrenare H care constă din n perechi S-R


(stimul-răspuns), permit exprimarea semnalului de activare pentru întreaga reţea
sub forma

net  W  i , (5.5)

unde

net  [net i ] . (5.6)

În [Sch97] au fost prezentate diferite forme ale sistemelor de ecuaţii liniare


precum şi soluţiile asociate. Exemplul următor reprezintă o încercare de
unificare a acelor rezultate cu modelul liniar al unităţii şi constituie un preludiu
la structurile mai complexe şi algoritmii de antrenare.

Cazul 1. Să presupunem că mulţimea (setul) de antrenare pentru o unitate


descrisă de ecuaţia (5.2) constă dintr-o singură transformare S-R de forma

p
H  {(i , o p )} . (5.7)

p
Aceasta înseamnă că, atunci când unităţii i se aplică i , răspunsul dorit este
p
o . Dacă H este cunoscută (dată), atunci problema proiectării neuronului este
determinarea ponderilor w care conduc la realizarea acestei transformări.
Ecuaţiile (5.7) si (5.2) conduc la impunerea unei restricţii asupra lui w :

T p
op  w i . (5.8)

Cazul 2. Mărirea cardinalului mulţimii H . Să presupunem că H este


mărită, astfel încât să includă n perechi S-R a căror formă este cea din (5.7)

p
H  {(i , o p )} p  1, 2, ..., n . (5.9)

În acest caz, pot fi formate ecuaţia matricială pentru restricţiile asupra lui
w sub forma

159
5/ Structuri elementare ale reţelelor neuronale artificiale

 o1   (i ) T 
1
 2  2 T 
 o   (i ) 
 .  . w. (5.10)
 .   . 
on   n T 
   (i ) 

Modelul generalizat al unei unităţi


Să luăm în considerare acum o formulare puţin mai generală pentru o
unitate liniară:

T
o(i )  w  i  w0 , (5.11)

unde i şi w sunt definite prin ecuaţia (5.2). Să presupunem că ne interesează


momentele (punctele) în care au loc tranziţiile o(i ) de la valori mai mici decât
zero la valori mai mari decât zero, adică trebuie să determinăm punctele care
verifică ecuaţiile:

T
o(i )  0  w  i  w0 . (5.12)

Această relaţie defineşte un hiperplan în R d [Sch97], reprezentat de:

T
w  i  w0  0 (5.13)

sau

w , i  w0  0 . (5.14)

Este util să rescriem ecuaţia (5.14) astfel încât să apară sub forma unui
model liniar. Pentru aceasta vom utiliza reprezentarea vectorilor în coordonate
omogene [Moi99]. Dacă vom rescrie vectorii sub forma:

 i1 
i 
 2
. w 
iˆ    şi wˆ    , (5.15)
.   w0 
 id 
 
1 
vom obţine

wˆ  iˆ  0  o(i ) .
T
(5.16)

160
Structuri neuronale artificiale

i1 w1
w Ti g(i)
i2 w2 ∑ ∑
. .
. .
. .

id wd w0
În cazul c=2 se poate
reprezenta sub forma

ω1
w i
i
i i
>
< – w0 Decizie
ω2 binară

Figura 5.5. Utilizarea unei unităţi liniare ca discriminant


pentru clasificare.

Ecuaţia (5.11), cu w0  0 , reprezintă un caz deosebit de important care se


poate descrie în mai multe moduri:
- ca o sumă ponderată a semnalelor de intrare, adică o(i)   w j i j ;
- ca un produs de convoluţie sau ca o corelaţie între intrările i şi
ponderile w ;
- ca un filtru de egalizare;
- ca un produs interior, aşa cum am arătat înainte;
- ca un clasificator binar, după cum se arată în Figura 5.5.

Modele ale unităţilor cu două etaje


Multe, dar nu toate, dintre modelele unităţilor neuronale artificiale
presupun existenţa a două procese importante:
1. Formarea unui semnal de activare a unităţii reţelei combinând (cumva)
semnalele de intrare (acestea din urmă pot aparţine unor clase diferite);
2. Transformarea valorii semnalului de activare într-un semnal de ieşire al
unităţii artificiale. Această transformare poate fi deosebit de simplă,
dacă se utilizează funcţia identitate, sau mai complexă, dacă se
utilizează o funcţie de transformare neliniară cu memorie (dinamică).
Există, evident, foarte multe moduri în care se pot procesa valorile
semnalelor de intrare pentru a obţine valoarea de activare a unităţii. Exemplele
cele mai comune sunt următoarele tipuri:
- Aditivă: net   i j  i1  i2  ...id ;
- Aditivă ponderată: net   w j i j  w1i1  w2 i2  ...  wd id ;

161
5/ Structuri elementare ale reţelelor neuronale artificiale

- Multiplicativă: net   ii ;
- Substarctivă;
- Polinomială;
- Relaţională, de exemplu net  max{ik }, k  1,2,..., d .

În Figura 5.6 este prezentat conceptul de model generic cu două etaje.

Unităţi McCulloch-Pitts
Anumite unităţi întâlnite în mod curent sunt inerent neliniare (în sensul
I/O). Alte exemple faţă de cele prezentate anterior sunt dispozitivele cu prag,
funcţiile polinomiale (în general) şi funcţia sigmoid, care vor fi introduse
ulterior.
Unul dintre cele mai comune modele neliniare se datorează lui McCulloch
şi Pitts [MP43] şi a fost propus în 1943. În acest volum vom nota modelul
McCulloch-Pitts prin MP. Acest model este ilustrat in Figura 5.7 şi este descris
în Tabelul 5.4. Parametrii modelului MP sunt:
- T , valoarea de prag (pragul);
- E , suma intrărilor excitatoare activate;
- I , suma intrărilor inhibatoare activate.
Modelul MP nu are o structură explicită alcătuită din două părţi (duală)
cum este cea prezentată în Figura 5.6. Modalităţile în care se poate utiliza o
unitate MP pentru a realiza (îndeplini) funcţii logice uzuale sunt prezentate în
Figura 5.8.

Activare
Excitatoare .
.

Procesare
Intrări
.
net → 0
Inhibitoare .
(combinare) neti Transformare oi
Activarea
.

(squashing)
.

unităţii
Figura 5.6. Modelul cu două etaje pentru o unitate
care combină intrările pentru formarea ieşirilor.

Semnal
Excitatoare de ieşire
{0, 1}
.
.
.

Figura 5.7. Modelul MP al unui


….. neuron artificial.
Inhibitoare

162
Structuri neuronale artificiale
Tabelul 5.4. Caracteristicile unei unităţi MP.

E T I 0 Aprindere (Activare)(1)
E T I 0 Neactivare (0)
E T I 0 Neactivare (0)
E T I 0 Neactivare (0)

i1 AND i1 OR
f = i1 ∩ i2 f = i1  i2
2 1

i2 (toate I = 0) i2 (toate I = 0)

NOT (Utilizează
o intrare inhibitoare)
i1 not i1 Figura 5.8. Realizarea funcţiilor logice
0
simple cu ajutorul unor neuroni MP.
(pragul 0)

Unităţile MP pot fi supuse unei dinamici in timp. De exemplu, poate fi


adăugată modelului o caracteristică de histerezis. O altă variantă a unităţii MP
este cea în care rolul intrării (intrărilor) inhibitoare este diminuat. Această
unitate, pe care o vom numi unitate MP modificată, are caracteristicile din
Tabelul 5.5. Ea serveşte ca formă intermediară între MP şi modelul general cu
prag pe care îl vom dezvolta mai târziu.

Tabelul 5.5. Caracteristicile unităţii


MP modificate.
Intrări Ieşire
E  I  T Activare (1)
E  I  T Neactivare (0)

Detecţia logică de prag cu procesarea liniară a intrărilor ponderate


Există numeroase variante ale structurii cu două etaje prezentată în Figura
5.6. Un bloc important utilizat adesea în construcţia reţelelor neuronale uzuale,
pe care îl vom explora în detaliu în capitolele următoare, este modelat sub forma
unei unităţi cu două etaje (transformarea activare-ieşire) ca în Figura 5.9. În
acest caz, activarea unităţii se obţine ca urmare a unui proces liniar iar ieşirea se
formează cu ajutorul acestei valori.

163
5/ Structuri elementare ale reţelelor neuronale artificiale

i1 w1

neti oi
i2 w2 ∑ oi = fi (neti, λ)
.
.
Activare
. . .

λ
. .
. .

id wd
Figura 5.9. Structura unei unităţi cu două etaje cu
formarea liniară a semnalului de activare.
Ponderi
variabile

i1 wi1
+
i2 wi2 + 1 fi  {0,1}

.
.
.
.
.
.
.
+ 0 T
. .

id wid Figura 5.10. Structura unei unităţi WLIC-T. Mai întâi


se realizează o combinaţie liniară a intrărilor, apoi
ieşirea se formează printr-un dispozitiv neliniar.

i1
1
F  i1  i 2 Figura 5.11 Folosirea WLIC-T pentru
2
i2 realizarea funcţiei logice AND.
1

Un exemplu specific de utilizare a acestei structuri este prezentat în Figura


5.10. În continuare, ne vom numi această unitate ca fiind o unitate care
realizează o combinaţie liniară a intrărilor ponderate urmată de o detecţie de
prag (Weighted Linear Input Combination with Threshold, WLIC-T).
Caracteristicile ei sunt prezentate în Tabelul 5.6. Trebuie menţionat că ponderile
intrărilor pot lua atât valori pozitive cât şi negative, în funcţie de comportarea
dorită (excitatorie sau inhibitorie). Un exemplu [LC67] de implementare a
funcţiei booleene AND cu ajutorul unei unitaţi WLIC-T este cel din Figura 5.11.

Tabelul 5.6. Caracteristicile unei unităţi WLIC-T.


Caracteristica de Ieşirea
intrare
 0
n
i w T i 1 i i

 1
n
i wi  T
i 1 i

164
Caracteristicile activare-ieşire pentru unităţile neuronale artificiale

5.4 CARACTERISTICILE ACTIVARE-IEŞIRE PENTRU


UNITĂŢILE NEURONALE ARTIFICIALE

Funcţii de activare
În unităţile cu două etaje descrise în paragrafele anterioare, transformarea
dintre semnalul de activare al unităţii la ieşire poate fi caracterizată ca o funcţie
de activare (sau “de netezire”). Deşi nu toate unităţile realizează o acţiune de
netezire, funcţiei respective i se atribuie acest nume generic. Activarea unităţii
poate “extinde” gama semnalului de iesire, deşi aceste cazuri sunt rare.
Cel mai simplu exemplu este acela al unei unităţi liniare, pentru care

oi = f(neti) = neti (5.17)

În acest caz, funcţia de activare este transformarea de tip identitate.


La funcţiile de activare care implementează o operaţie de compresie între
intrare şi ieşire (sau squashing), gama de variaţie a funcţiei este mai redusă decât
cea a domeniului. Există explicaţii fizice pentru această caracteristică. Să ne
reamintim că într-un neuron biologic există un număr limitat de valori ale
semnalului de ieşire (vârfuri de frecvenţă). În modelul unei unităţi neuronale
artificiale, unde nivelurile de curent continuu înlocuiesc frecvenţele, funcţia "de
netezire" serveşte tocmai la limitarea gamei semnalului de iesire.
Clasa funcţiilor de netezire neliniare este totuşi mai interesantă şi mai utilă.
După cum se arată în Figura 5.12, există o diversitate de funcţii de activare care
transformă semnalul de intrare de activare al unui neuron în semnal de ieşire.
În [Sch97] a fost introdusă noţiunea de hipercub pentru a permite
vizualizarea stării reţelei ca o integrare a stărilor unităţilor individuale. De
exemplu, funcţiile squash pot restrânge valorile semnalelor de ieşire ale
unităţilor la:
- oi  [0,1] ;
- oi  (0,1) ;
- oi  {0,1} ;
- oi  [1,1] ;
- oi  (1,1) ;
- oi  {1,1} .
Fiecare dintre aceste exemple conduce la o interpretare a stării reţelei, pe
baza hipercubului corespunzător.

Funcţia sigmoid (logistică)


Funcţia logistică are o istorie bogată în ceea ce priveşte aplicarea ei ca
funcţie de distribuţie cumulativă în studiile demografice sau în modelarea

165
5/ Structuri elementare ale reţelelor neuronale artificiale
funcţiilor de creştere [Bal92]. Forma funcţională particulară care este cunoscută
sub numele de funcţia de activare sigmoid este:

1
oi  f (net i )  , (5.18)
1  e  neti

care conduce la condiţia oi  [0,1] . Această funcţie este reprezentată în Figura


5.13.

oi câştig > 1

câştig = 1

câştig < 1

O neti
(a)

oi oi

prag inferior
Valoare de prag prag superior
(prag)
O T neti O ti tu neti
(b) (c)

oi oi

 1
0

neti ti 0 tu neti
(d) (e)

Figura 5.12 Diferite tipuri uzuale de funcţii de activare.

166
Caracteristicile activare-ieşire pentru unităţile neuronale artificiale

f (net i ) oi  f (net i )  (1  exp(net i )) 1

0.5

oi  (1  exp(  net i )) 1  1 / 2

-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5

net i

Figura 5.13 Funcţia de activare de tip sigmoid şi extensia


acesteia.

Proprietăţile principale ale funcţiei sigmoid sunt:


- Este semiliniară (adică, este diferenţiabilă în orice punct din domeniul
de definiţie şi este nedescrescătoare);
- Se poate exprima sub o formă închisă;
- Modificările sau extensiile conduc la alte funcţii squash;
- Derivata funcţiei sigmoid în raport cu neti se obţine foarte uşor;
- Are o bază biologică. Media frecvenţei de activare (de aprindere) a
neuronilor biologici, ca funcţie de excitaţie, urmează o caracteristică de
tip sigmoid.

Derivata funcţiei sigmoid


Derivata funcţiei sigmoid este

e x
f ( x)  . (5.19)
(1  e  x ) 2

Trebuie menţionat că derivata din (5.19) este simetrică faţă de zero şi mai
ascuţită în partea mediană decât în intervalul (0, 1). O caracteristică avantajoasă

167
5/ Structuri elementare ale reţelelor neuronale artificiale
în ceea ce priveşte calculele necesare pentru funcţia de activare (5.18), utilă
pentru antrenare, este

o i
 o i  (1  o i ). (5.20)
net i

Vom studia în detaliu funcţia sigmoid şi vom arăta mai multe relaţii cu alte
funcţii squash. De exemplu, funcţia logistică şi funcţia tanh sunt legate prin

1  x  1
1  tanh   x
. (5.21)
2  2  1  e

Gama de variaţie a funcţiei sigmoid din (5.18) este acceptabilă dacă se


doreşte o variaţie a ieşirii în intervalul [0, 1]. Să presupunem că se doreşte
obţinerea unei funcţii de ieşire centrată în zero. Aceasta se poate obţine prin
adunarea unei polarizări la ieşire, după cum se poate observa din Figura 5.13.
Mai mult, dacă se doreşte obţinerea unei game [-1, 1] la ieşire, funcţia sigmoid
centrată pe zero poate fi scalată (ca în exemplele următoare).

Extensiile funcţiei sigmoid


Funcţia sigmoid (logistică) din ecuaţia (5.18) poate fi generalizată în mai
multe moduri. Prima alternativă se obţine prin introducerea unui “câştig”, sub
forma

1
oi  , (5.22)
1  e  neti

unde  este parametrul care reprezintă câştigul. În acest caz, cititorul poate
verifica relaţia

o i
 o i  (1  o i ). (5.23)
net i

O altă generalizare a funcţiei sigmoid este exprimată sub forma


parametrilor multipli:

1
oi  , (5.24)
1  a  e bneti

cu parametrii a şi b .

168
Caracteristicile activare-ieşire pentru unităţile neuronale artificiale
În continuare vom lua în considerare o funcţie sigmoid deplasată şi scalată,
de forma

2
 1  f m ( net i )  (5.25)
1  e  neti

 1  e  neti  2 e (1 / 2 ) neti  e  (1 / 2 ) neti


  (1 / 2) net  (5.27)
1  e  neti e i
 e (1 / 2) neti

1
 tanh( net i ) . (5.28)
2

Astfel, am arătat originea uneia dintre cele mai utilizate funcţii squash,
tanh( βnet i ) .

Funcţia prag - un caz limită al sigmoidului generalizat.


Pentru sigmoidul generalizat din ecuaţia (5.22), să reamintim că

do i
 αo i (1  o i )  αo i  αo i2 . (5.29)
dnet i

Trebuie amintit că, din punct de vedere analitic, graficul funcţiei din (5.29)
este plat ( oi / net i  0 ), pentru oi  1 sau oi  0 . Tranziţia apare pentru
oi  1 / 2 , adică acolo unde net i  0 pentru oi  1 / 2 ,

do i
 α (1 / 2)(1 / 2)  α/4 . (5.30)
dnet i

În plus, extinderea regiunii de tranziţie între oi  0 şi oi  1 este


determinată de valoarea lui  . Vom arata mai târziu acest lucru. Ecuaţia (5.22)
poate fi utilizată pentru a obţine

1  1  oi  1  oi 
net i   ln   ln  . (5.31)
  oi    1  oi 

Să presupunem că definim regiunea de tranziţie ca fiind extensia valorilor


neti astfel încât 0,37  oi  0,63 . Acesta este un interval simetric faţă de
oi  1 / 2 sau neti  0 . Întrucât pentru   1,

169
5/ Structuri elementare ale reţelelor neuronale artificiale
neti |oi 0,37  0,532 (5.33)

şi

neti |oi 0,37  0,532 (5.34)

regiunea de tranziţie t r (  1)  2(0,532)  1,064 (unităţi neti ). Repetând


derivarea pentru   10 , t r (  10)  0,106 . În mod clar,

tr(α)~1/α (5.35)

şi pentru    , t r ( )  0 . Dacă reprezentăm grafic cantitatea

d [o i (net i )]
s i ( net i )  (5.36)
dnet i

în funcţie de net i (Figura 5.14), observăm următoarele:


1. si are un singur vârf centrat pe neti , întrucât

s i  oi  oi2 (5.37)

ds i
2.    2oi  0 (5.38)
do i

conduce la oi  1 / 2 , care corespunde valorii neti  0 . Astfel,  controlează atât


t r ( ) cât şi valoarea maximă a lui si .
 dacă   0 , si are o valoare maximă mică şi este întins peste întreaga
regiune;
 dacă    , regiunea de tranziţie este îngustă (ideal zero) iar valoarea
maximă este mare (ideal infinită).
0.45

0.4

0.35

0.3

Figura 5.14 Reprezentarea grafică 0.25

a derivatei funcţiei sigmoid, si. 0.2

0.15

0.1

0.05

-4 -3 -2 -1 0 1 2 3 4

170
Caracteristicile activare-ieşire pentru unităţile neuronale artificiale
Similaritatea cu o altă funcţie binecunoscută, funcţia Dirac, ne conduce la
concluzia

lim{s i ( net i )}   (net i ) . (5.39)


 

Datorită faptului că si ( net i )   ( net i ) pentru    ne conduce la


afirmaţia că funcţia sigmoid generalizată se apropie de treapta unitate.

Liniarizarea funcţiei sigmoid


În [Nic77] se arată cum se poate utiliza dezvoltarea în serie Taylor pentru a
genera modele liniare.
Dacă

1
oi  (5.40)
1  e  neti

atunci

df (net i )
f ( net i  net i )  f ( net i )   net i  termeni de rang superior (5.41)
dnet i

unde f (net i ) şi derivata ei sunt evaluate în net i  0 . Versiunea liniară a ecuaţiei


(5.41) ignoră termenii de rang superior.

Cazul 1: net i  0 . Utilizând (5.41) pentru funcţia (5.40), se obţine

1 net i
f (net i )  f (0)  oi (1  oi ) | neti  0 x   (5.42)
2 4

Validitatea acestei aproximaţii poate fi verificată atât în regiuni apropiate de


net i  0 cât şi în altele.

Cazul 2: neti  2 . În acest caz

f ( 2  net i )  f (2)  o i (1  o i ) | neti  2 net i  0,881  0,167net i (5.43)

Utilizarea modelelor liniarizate conduce la suprapunerea segmentelor de


dreaptă peste funcţia sigmoid în anumite regiuni locale.

171
5/ Structuri elementare ale reţelelor neuronale artificiale
Alte funcţii de activare
În aplicaţiile practice pot fi utilizate şi alte funcţii squash. O funcţie de
activare liniară pe porţiuni este

 1 pentru net i  1

o i  net i pentru | net i | 1 (5.44)
 1 pentru net i  1

Această funcţie, deşi este compusă din segmente liniare, este neliniară.
O altă funcţie liniară pe porţiuni este

1 pentru net i  1

oi  net i pentru 0  net i  1 (5.45)
0 pentru net i  0

Funcţia sigmoid “lent” este

net i
oi  (5.46)
1 | net i |

Intervalul în care ia valori această funcţie este [-1, 1].


Tangenta hiperbolică este definită prin

1  e 2 x e x  e  x
tanh( x )   (5.47)
1  e 2 x e x  e  x

şi dă naştere unei alte funcţii de activare foarte utilizată. Această extensie a


sigmoidului, funcţia tangentă hiperbolică, a fost obţinută anterior.

e neti  e  neti
oi  tanh( net i )  net (5.49)
e i  e  neti

O clasă particulară de interes a funcţiilor de activare, introdusă în


paragraful 5.3, este reprezentată de funcţiile bi-nivel cu prag

1 pentru net i  0
oi  f (net i )   (5.50)
0 pentru net i  0

În Figura 5.10 este reprezentată această caracteristică, utilizând un prag


oarecare T . Un caz alternativ este

172
Caracteristicile activare-ieşire pentru unităţile neuronale artificiale

1 pentru net i  0
oi  f (net i )   (5.51)
 1 pentru net i  0

Detecţia de prag este un caz limită al caracteristicii unei unităţi de tip


sigmoid cu câştig variabil. Acest lucru este reprezentat în Figura 5.12. Unităţile
care funcţionează pe baza detecţiei de prag sunt utilizate pentru a calcula funcţii
booleene.
Două dintre cele mai importante limitări ale unităţilor cu detecţie de prag
sunt:
1. Transformarea activare – ieşire este neinversabilă.
2. Nu se poate determina (calcula) derivata acestei transformări.
Aceste caracteristici vor deveni o cheie în proiectarea algoritmilor de
antrenare. Baza pentru formarea activării din ecuaţia (5.3) este un produs scalar.
În cazul în care transformarea activare – ieşire este liniară (de exemplu ecuaţia
5.17), neuronul implementează o funcţie liniară de discriminare. Ca o
alternativă, spaţiul de intrare R d este partiţionat în două semiplane, determinate
de ponderile unităţii [Sch97]. Unităţile cu detecţie de prag, definite prin ecuaţiile
(5.50) şi (5.51), implementează direct această partiţionare. Într-o unitate cu
detecţie de prag, efectul ponderilor wij este acela de a mări sau a reduce
influenţa axei j a hiperspaţiului. Astfel, o singură unitate cu detecţie de prag,
poate implementa graniţa de decizie printr-o problemă liniar separabilă.
Funcţiile signum sau sign vor fi utilizate în acest capitol şi sunt de
asemenea legate de unităţile cu detecţie de prag. O definiţie comună este

 1 pentru net i  0

o i  f i (net i )  sgn( net i )  0 pentru net i  0 . (5.52)
 1 pentru net i  0

Funcţia signum, aşa cum a fost definită prin ecuaţia (5.52) nu generează o
ieşire binară (cu două niveluri logice).
Ideea utilizării combinaţiilor de funcţii min şi/sau max generează alte
familii de funcţii squash, cum ar fi:

oi  min{1, e neti } (5.53)

oi  max{0,1  e neti } (5.54)

şi
 ( net i ) n 
o i  max 0, n 
. (5.55)
 c  ( net i ) 

173
5/ Structuri elementare ale reţelelor neuronale artificiale
Un exemplu de funcţie de activare nesaturată este

 log(1  net i ) pentru net i  0


f (net i )   . (5.56)
 log(1  net i ) pentru net i  0

Multe modele ale unităţilor nu permit vizualizarea în două părţi. Acest


lucru este valabil şi pentru modelul MP. De fapt, încercarea de vizualizare a
“ponderilor” pentru o unitate MP este lipsită de sens. În plus, multe modele de
unităţi, deşi pot fi descrise ca procese duale, nu utilizează WLIC-T pentru
formarea activării. Un exemplu de astfel de model de unitate este unitatea
polinomială, utilizată în aşa numitele reţele neuronale de nivel înalt. Unităţile
polinomiale îşi formează semnalele de ieşire aplicând anumite funcţii
polinomiale intrărilor. O unitate de tip multiplicativ, în care

d
oi   i1i2 ...i d (5.57)
i 1

este un alt caz în care nu se utilizează o ieşire liniară.

În sfârşit, există un domeniu activ de cercetare care presupune luarea în


considerare a reţelelor neuronale “fără ponderi”. Aceste unităţi utilizează tabele
RAM şi derivatele acestora pentru a construi neuroni artificiali [Gur92].
Există o clasă importantă de unităţi pentru care ieşirea se calculează pe
baza celei mai mici sau a celei mai mari valori a intrărilor. Deşi este evident că
transformarea introdusă de o astfel de unitate se poate exprima într-o formă
închisă, nu este posibil să se deriveze ieşirea în raport cu intrarea; în consecinţă,
trebuie să se utilizeze aproximaţii. Două dintre cele mai comune aproximaţii
sunt

i1e  ki1  i 2 e  ki2  ...  i d e  kid


softmin(i1 , i 2 ,..., i d )  (5.58)
e  ki1  e  ki2  ...  e  kid

i1e ki1  i 2 e ki2  ...  i d e kid


softmax(i1 , i 2 ,..., i d )  . (5.59)
e ki1  e ki2  ...  e kid

unde k este o constantă pozitivă care controlează precizia aproximării. Deşi este
dificil să se indice originile acestei aproximări, una dintre idei este “max-
entropia” introdusă de E. T. Jaynes şi utilizată pentru estimarea probabilităţilor
şi a funcţiilor asociate [Jay89]. Aceste aproximaţii sunt utilizate în problemele
propuse la sfârşitul acestui capitol pentru a implementa diferite funcţii.

174
Extensiile modelului unităţii artificiale

5.5 EXTENSIILE MODELULUI UNITATII ARTIFICIALE

Adăugarea unei polarizări la modelul neuronului artificial


Un alt parametru neuronal (opţional) este polarizarea sau offsetul. Deşi
acest lucru se poate realiza relativ simplu prin sumarea unei intrări constante
afectată de o pondere potrivită, de multe ori polarizarea este considerată separat.
Polarizările pot fi luate în considerare, de exemplu, pentru a inhiba în mod
selectiv activitatea anumitor neuroni.
Dacă ne reamintim funcţia de activare de tip sigmoid

1
f ( net j )   net j
(5.61)
1 e

observăm că

0  f ( net j )  1 (5.62)

iar fără activare, adică

net i  0 (5.63)

1
f ( 0)  . (5.64)
2

Este posibil să polărizam această unitate astfel încât f (0) să aibă altă
valoare. După cum am arătam mai înainte, această polarizare poate fi de
asemenea variată, ca parte a procesului de antrenare a reţelei. Un model simplu
pentru unitatea cu polarizare se obţine prin modificarea net j astfel încât

net j   w ji oi  bias j . (5.65)


i

În contrast cu funcţia sigmoid, unităţile tanh au o caracteristică simetrică


faţă de origine.
Trebuie să menţionăm că polarizarea introdusă mai sus nu reprezintă
singura modalitate de încorporare a acestui parametru în caractersitica unei
unităţi. De fapt, poate să nu fie cea mai utilă modalitate pentru unele aplicaţii,
după cum se arată în Figura 5.15.

175
5/ Structuri elementare ale reţelelor neuronale artificiale

bias i bias i
net i oi net i oi
1 1
∑ ∑
1  e (.) 1  e (.)

Figura 5.15 Adăugarea unei intrări de polarizare:


două abordări posibile.

Intrări inhibitoare
Adesea este util să dispunem de intrări ale unei unităţi neuronale care să
inhibe activarea unităţii respective. Un exemplu al acestei utilităţi poate fi găsit
în învăţarea competitivă. Această caracteristică poate fi obţinută în mai multe
moduri. După cum se observă în Figura 5.10, valorile negative pentru wij care
sunt mari în amplitudine, datorită operaţiei de sumare (5.3), conduc la
caracteristici puternic inhibitorii. O formă mai severă de inhibare se poate obţine
dacă se utilizează un model activare – ieşire de tip neliniar (Figura 5.7).

5.6 SEPARABILITATEA LINIARĂ

În acest paragraf vom explora utilitatea conceptului “mulţimi de puncte de


intrare liniar separabile”, precum şi a procedurilor legate de acesta. Vom începe
prin luarea în considerare a unei unităţi singulare care separă o mulţime d -
dimensională de intrare {i1 , i2 ,..., id } în două ieşiri dinstincte.
Eşantioanele de intrare ale unei mulţimi de antrenare de clasa c  2 pot fi
privite ca puncte din R d . Fiecare punct este reprezentat ca un vector d  1, i .
Menţionăm că anumite configuraţii ale vectorilor de intrare sunt separabile
printr-un hiperplan (acesta poate să nu fie unic). Deşi nu este adevărat pentru o
configuraţie arbitrară a eşantioanelor de intrare (acest caz va fi luat în
considerare în capitolele următoare), avantajele conceptuale şi calculatorii ale
unei zone liniare de decizie, ne motivează adesea pentru a o lua în considerare
ca un caz special pentru transformările neuronale. Poate cel mai important punct
al acestui capitol este acela că o clasa a unei unităţi care îşi formează propria
activare cu ajutorul unei combinaţii liniare a intrărilor (urmată în mod uzual de o
funcţie de activare de tip “hardlimit”), implementează o zonă (o margine) de
decizie de tip hiperplan. Astfel, aceasta este restricţionată în aplicaţiile practice
la acele probleme care sunt “liniar separabile”. Aceasta este o problemă care a
fost urmărită în aplicaţiile de recunoaştere a formelor (video, US, IR, ...) şi pe
care s-au concentrat eforturile de dezvoltare ale Reţelelor Neuronale Artificiale.
Ipoteza că o problemă este liniar separabilă conduce la o arhitectură clară a
RNA.

176
Separabilitatea liniară
Definiţie. Dacă există o regiune de decizie liniară (un hiperplan de decizie)
care clasifică (împarte) în mod corect toate eşantioanele de antrenare din H
pentru o problemă de clasă c  2 , eşantioanele se zic liniar separabile
[Sch92].

Hiperplanul, notat H ij , este definit de parametrii w şi w0 ai aplicaţiei


liniare, care are forma generală:

T
g (i )  w  i  w0  0 (5.66)

g (i ) separă R d în regiunile pozitive şi negative R p şi Rn , unde

 0 pentru i  R p
T 
g (i )  w i  w0  0 pentru i  H ij (5.67)
 0 pentru i  R n

Problemele care nu sunt liniar separabile vor fi numite non-liniar


separabile sau complexe din punct de vedere topologic.
Lema 4.1. Dacă cele n eşantioane ale unei probleme de clasă c  2 din H
sunt liniar separabile de un hiperplan din spaţiul d -dimensional R d , atunci
o reţea neuronală unistrat nerecurentă este capabilă să clasifice corect
eşantioanele.

Ne reamintim că o zonă liniară de decizie este definită de hiperplanul care


trece prin punctul i S :

T
w  (i  i s )  0 . (5.68)

Această relaţie se poate scrie sub forma

T
w i  b  0 (5.69)

sau

wˆ  iˆ  0
T
(5.70)

în care au fost utilizaţi vectorii omogeni:

ŵ   
w
(5.71)
b 
şi

177
5/ Structuri elementare ale reţelelor neuronale artificiale

iˆ   
i
(5.72)
 1

ŵ este vectorul de separare sau vectorul soluţie care determină orientarea ( w ) şi


localizarea (b) hiperplanului în spaţiul d-dimensional.

Probabilitatea unei probleme liniar separabile


În [Cov65] s-a arătat că dintre 2 n dihotomii ale celor n puncte din R d ,
fracţiunea care poate fi realizată cu ajutorul unui hiperplan (aşa numitele
dihotomii liniare) poate fi reprezentată de funcţia

1 pentru n  d  1

f ( n, d )   2 d  n  1  . (5.73)
  
 2 i  0  i 
n
pentru n  d  1

Pentru n  2(d  1) se obţine f (n, d )  1 / 2 . Această valoare este cunoscută


sub numele de capacitatea hiperplanului d -dimensional. Astfel, jumătate dintre
dihotomiile posibile pot fi realizate utilizând o funcţie de discriminare de tip
liniar. Probabilitatea, ca funcţie de d  1 şi n , este reprezentată în Figura 5.16.

1 d=∞
d = 60
d = 15
0.8 d=5
d=2

0.6

0.4

0.2

0
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Figura 5.16 Probabilitatea unei soluţii liniar separabile ca funcţie de


raportul dintre formele de intrare şi ponderile unităţii, inclusiv polarizarea.

178
Separabilitatea liniară
5.7 Tehnici de obţinere a parametrilor unităţilor liniare

5.8 Perceptronul şi ADA-MADA units

5.9 MLP

5.10 GD training
[CS93] Churchland, P. S. and Sejnowski,
The Computational Brain, MIT Press,
Cambridge, MA, 1993.

179
Capitolul 4

Bazele reţelelor neuronale

4.1 INTRODUCERE

Noţiunea de calcul poate lua mai multe aspecte. Din punct de vedere
istoric, calculul a fost dominat de conceptul de calcul programat, în care
algoritmii sunt proiectaţi şi apoi implementaţi folosind arhitecturile dominante
curente. Este nevoie de un punct de vedere alternativ atunci când se consideră
operaţiile de calcul din sistemele biologice. De exemplu, calculul din creierul
uman este diferit de paradigma mai sus amintită prin:

 calculele sunt masiv distribuite şi efectuate în paralel;


 învăţarea înlocuieşte un program apriori de dezvoltare.

Împrumutând aceste caracteristici din natură, a apărut o nou model de


calcul motivat biologic, acela al reţelelor neuronale artificiale (RNA).
Tehnologia RNA are potenţialul necesar pentru a deveni arhitectura de calcul
dominantă iar neuronii artificiali pot deveni blocuri fundamentale de tip RISC
(Reduced Instruction Set Computer). Paragrafele care urmează explorează
ramificaţiile procesului de proiectare a reţelelor neuronale, inclusiv idei şi
abordări noi, fundamente matematice şi exemple de aplicaţii.
RNA reprezintă atât un domeniu ştiinţific cât şi o tehnologie: ştiinţa este
definită prin cunoştinţe structurate (care, în general, privesc lumea fizică) iar
tehnologia reprezintă ştiinţa aplicată. Ambele aspecte vor fi explorate în
capitolele care urmează, de la fundametele biologice şi matematice ale RNA
până la soluţionarea problemelor pe baza RNA.
La începutul discuţiei despre RNA trebuie să fie luate în discuţie trei
chestiuni:

1. Este tehnologia RNA o tehnologie într-adevăr nouă, şi cum poate fi aceasta


utilizată?
2. Ce este comun cu sau derivat din alte tehnologii?
3. Ce este comun tuturor RNA pe care le vom studia?

129
4/ Bazele reţelelor neuronale

În acest capitol vom discuta caracteristicile generale ale RNA, în special


cele legate de alte tehnologii. De asemenea, vom prezenta o scurtă istorie a
domeniului RNA. Vor fi abordate aspectele comune majore ale calculului
neuronal, cum sunt topologia reţelelor, caracteristicile unităţilor de calcul,
comportarea de tip "black-box" (cutie neagră) şi antrenarea reţelelor pentru a
putea dispune atât de o perspectivă cât şi de fundamentele ce vor fi utilizate în
cpitolele care urmează.
Vom prezenta o definiţie generică a obiectului pe care îl vom studia. Pe tot
cuprinsul capitolelor următoare această definiţie va fi dezvoltată şi nuanţată.

REŢEA NEURONALĂ ARTIFICIALĂ. Vom înţelege prin reţea


neuronală artificială o structură (reţea) compusă dintr-un număr de unităţi
de calcul interconectate (neuroni artificiali). Fiecare unitate are o
caracteristică intrare/ieşire (I/O) şi implementează un proces local de calcul
sau o funcţie. Ieşirea fiecărei unităţi este determinată de caracteristica
proprie de I/O, de interconexiunile ei cu alte unităţi şi (posibil) de intrările
externe. În mod uzual o reţea are o funcţionalitate globală obţinută prin una
sau mai multe forme de antrenare.

Reţelele neuronale artificiale nu au o structură unică; ele sunt mai degrabă


o familie de reţele. Funcţia generală sau funcţionalitatea dobândită este
determinată de topologia reţelei, de caracteristicile individuale ale neuronilor, de
strategia de antrenare şi de datele de antrenare.
Pentru a fi utilă, o reţea neuronală trebuie să poată fi interfaţată cu lumea
exterioară. Deşi nu se impune prin definiţia anterioară, în mod tipic,
caracteristicile intrare/ieşire ale unei unitaţi neuronale sunt destul de simple (şi
comune tuturor unităţilor care formează o reţea) iar numărul unităţilor este
destul de mare. Menţionăm că definiţia de mai sus ne obligă să facem distincţia
dintre o singură unitate şi o reţea. În sfârşit, structurile de calcul pe care le vom
dezvolta în continuare pot fi implementate în mod artificial (non-biologic),
soluţia tipică fiind dată de elementele electronice. Aşadar, descriptorul
"artificial" este de multe ori presupus implicit.

4.2 CONCEPTE FUNDAMENTALE

În acest paragraf vom lua în discuţie aspectele cheie ale calculului


neuronal.
A. După cum indică definiţia din paragraful 4.1, modelul de calcul global
este reprezentat prin interconexiuni reconfigurabile de elemente simple,
sau de unităţi. În Figura 4.1 sunt prezentate două reţele de dimensiuni
relativ mici; unităţile de calcul sunt reprezentate prin cercuri iar
interconexiunile dintre unităţi prin arce. Figura 4.1a indică o strategie de

130
Concepte fundamentale

Ieşiri

Intrări
Ieşiri

Intrări

(a) (b)

Figura 4.1 Topologii de bază: (a) reţea neuronală artificială nerecurentă;


(b) reţea recurentă.

interconectare nerecurentă, care nu conţine căi închise de


interconectare. Se poate remarca reprezentarea unităţilor grupate în
straturi. Prin contrast, Figura 4.1b indică o strategie de interconectare
recurentă, în care flexibilitatea arbitrară a interconexiunilor permite
existenţa traseelor închise (feedback). În acest fel, reţeaua poate fi
caracterizată printr-o dinamică temporală mai complexă decât în cazul
primei strategii. De asemenea, topologia unei reţele poate fi statică sau
dinamică iar unele unităţi din Figura 4.1 sunt interfaţate direct cu lumea
exterioară, iar altele sunt unităţi "ascunse" sau interne. Aceste structuri
vor fi explorate în detaliu în Capitolele 5 − 8.

B. Unităţile individuale implementează o funcţie locală iar reţeaua globală,


formată din unităţi interconectate, are o funcţionalitate corespunzătoare.
Analiza acestei funcţionalităţi, cu excepţia cazurilor în care se folosesc
exemple de antrenare şi de test, este destul de dificilă. Mai mult,
aplicaţia determină, prin intermediul specificaţiilor, funcţionalitatea
cerută; este rolul proiectantului reţelei neuronale artificiale să determine
parametrii reţelei care satisfac aceste specificaţii.

C. Modificarea conectivităţii dintre elemente în funcţie de datele de


antrenare reprezintă cheia procesului de învăţare. Cu alte cuvinte,
cunoştinţele sistemului, experienţa sau antrenarea sunt memorate sub
forma interconexiunilor reţelei.

D. Pentru a fi utile, sistemele neuronale trebuie să fie capabile să


memoreze informaţia (adică, ele trebuie să fie "antrenabile"). Sistemele
neuronale sunt antrenate cu speranţa că vor avea o comportare
asociativă corectă atunci când li se prezintă noi forme pentru a fi

131
4/ Bazele reţelelor neuronale

recunoscute sau clasificate. Adică, obiectivul procesului de antrenare


este obţinerea unei structuri interne care să permită reţelei să identifice
corect sau să clasifice forme noi, similare. Vom lua în considerare atât
modelul învăţării supervizate cât şi pe cel al învăţării nesupervizate.

E. O reţea neuronală este un sistem dinamic; starea lui (ieşirile unităţilor şi


ponderile interconexiunilor) se modifică în timp ca răspuns la intrări
externe sau în funcţie de o stare iniţială (instabilă).

În general, fiecare publicaţie referitoare la reţele neuronale artificiale (carte,


articol, etc.) foloseşte propriile notaţii. În plus, unii autori folosesc vectorii sub
forma unor coloane iar alţii sub formă de linii. Pentru a simplifica situaţia, în
cele ce urmează se vor utiliza notaţiile descrise în continuare, care corespund
unor concepte majore. Un vector este un caracter subliniat; se presupune că toţi
vectorii sunt vectori coloană.
x : Un vector în general.
i : Un vector de semnale de intrare, fie pentru o unitate elementară de
calcul fie pentru o reţea. A j -a intrare se notează i j . Dimensiunea implicită a lui
i este d , i  (i1 , i2 ,..., i j ,..., id )T , deşi adăugarea unei intrări de polarizare necesită
redefinirea lui i sau creşterea dimensiunii d cu 1.
o : Un vector al semnalelor de ieşire. Uneori o  i , în cazul reţelelor
recurente sau stratificate. Dimensiunea implicită a lui o este c .
s
o : Un vector care indică starea memorată dorită într-o reţea recurentă.
oi : Ieşirea unităţii i . Adesea, oi  f (net i ) .
net i sau neti : Vectorul de activare al reţelei, respectiv activarea reţelei
pentru unitatea i .
w j : Ponderea corespunzătoare intrării j a unei unităţi elementare.
wij : Ponderea corespunzătoare intrării j a unităţii i . Sau, când unităţile
sunt interconectate, wij reprezintă ponderea interconexiunii de la unitatea j la
unitatea i . În procesul de antrenare, wij (k ) se foloseşte pentru a nota ponderea
la momentul sau iteraţia k .
p
w sau w : Vectorul ponderilor corespunzător unităţii p . De multe ori se
T
notează w pentru a forma activarea reţelei.
W : Matricea ponderilor. Elementul wij , din linia i şi coloana j , a fost
definit mai sus.
P : Matricea stimulilor (se mai poate nota S ) folosită pentru a reprezenta
vectorii de intrare ai reţelei, în mod curent în H . De multe ori se scrie sub
forma:

132
Aplicaţii ale calculului neuronal

 i 1T 
 T
i2 
P  iT  .
 ...3 
 T
in 

R : Matricea răspuns a reţelei, cu o structură similară cu P .


t : Un vector ţintă sau vector de ieşire dorit.
E : Măsura erorii sau a energiei.
H : Mulţimea de antrenare, etichetată sau nu. Cardinalul lui H este n ;
adică, această mulţime conţine n elemente.
FF: Reţea cu propagare directă (feedforward).

Trei variabile importante

După cum am menţionat în definiţiile precedente, trei variabile sunt folosite


frecvent şi consistent pe parcursul acestei lucrări: d este numărul intrărilor în
reţea, c este numărul ieşirilor reţelei (este posibil ca d  c ) iar n este numărul
de eşantioane de antrenare disponibile.

4.3 APLICAŢII ALE CALCULULUI NEURONAL

Emularea structurilor de calcul al sistemelor biologice poate conduce la


modele superioare de calcul pentru anumite clase de probleme. Printre acestea
sunt: clasa problemelor de etichetare, de ordonare, de căutare şi alte probleme de
satisfacere a unor restricţii; clasa problemelor de recunoaştere a formelor/
obiectelor, mai ales pentru înţelegerea vederii şi a vorbirii; clasa problemelor
care tratează date imperfecte, contradictorii, incomplete, fuzzy sau
probabilistice. Aceste probleme sunt caracterizate prin una sau mai multe din
următoarele: un spaţiu cu dimensiune mare pentru problema de rezolvat;
complexitate; interacţiuni necunoscute între variabilele problemei sau care nu
pot fi tratate matematic; un spaţiu al soluţiei care poate fi vid, poate conţine o
soluţie unică sau (cazul tipic) care poate conţine un anumit număr de soluţii
utile. Mai mult (după cum indică lista următoare), se pare că reţelele neuronale
artificiale oferă soluţii pentru problemele care necesită intrări ce pot proveni de
la senzori de tip uman, cum sunt recunoaşterea vorbirii, a vederii sau a scrisului
de mână. Menţionăm că ceea ce nu este simplu este obţinerea soluţiei unei
probleme oarecare printr-o reţea neuronală.
O trecere completă în revistă a tuturor aplicaţiilor RNA (încercate, reuşite
şi preconizate) nu este practică. Totuşi, o privire la publicaţiile cele mai populare

133
4/ Bazele reţelelor neuronale

şi la lucrările unor conferinţe ştiinţifice poate furniza exemple ilustrative.


Aplicaţiile RNA includ:
 Procesarea imaginilor şi vederea artificială, inclusiv pre-procesarea,
segmentarea şi analiza, compresia imaginilor, vederea binoculară, procesarea
şi înţelegerea imaginilor variabile în timp, aplicaţii de inspecţie vizuală.
 Procesarea semnalelor, inclusiv analiza şi morfologia semnalelor seismice.
 Recunoaşterea formelor, inclusiv extragerea caracteristicilor, clasificarea şi
analiza semnalelor radar, recunoaşterea şi înţelegerea vorbirii, identificarea
amprentelor, recunoaşterea caracterelor (litere sau cifre), analiza şi
recunoaşterea scrisului de mână (notepad).
 Medicină, incluzând aici analiza şi înţelegerea semnalelor furnizate de
electrocardiografe, diagnoza diferitelor boli şi procesarea imaginilor
medicale.
 Sisteme militare, cu detecţia minelor submarine, clasificarea semnalelor
radar şi recunoaşterea tactică a unui vorbitor.
 Sisteme financiare, analiza şi predicţia pieţei de acţiuni sau a celei
imobiliare, autorizarea cărţilor de credit şi sisteme de securitate.
 Planificare, control şi căutare, inclusiv implementarea paralelă a
problemelor de satisfacere a restricţiilor, reglare automată şi robotică.
 Inteligenţa artificială, inclusiv implementarea sistemelor expert.
 Factori umani (interfaţare).
 Sisteme de putere, inclusiv estimarea stării sistemelor, clasificarea şi
detecţia stărilor de tranziţie, detecţia defectelor, probleme de securitate.

Pentru că reţelele neuronale artificiale reprezintă un model de calcul relativ


nou, probabil că este mai sigur să spunem că avantajele, dezavantajele,
aplicaţiile şi relaţiile cu calculul tradiţional nu sunt înţelese în întregime.
Aşteptările (am putea spune hiper- ) pentru acest domeniu sunt deosebit de mari.
În particular, reţelele neuronale sunt potrivite pentru aplicaţii care includ sisteme
antrenabile pentru recunoaşterea şi asocierea formelor. Aprecierea că reţelele
neuronale artificiale pot conduce la rezolvarea tuturor problemelor de
raţionament automat, sau a tuturor problemelor care conţin diferite transformări,
este probabil nerealistă.

Avantaje
 Calculul se efectuează în paralel
 RNA pot fi tolerante la defecte datorită paralelismului
 RNA pot fi proiectate astfel încât să fie adaptive
 Nu este nevoie de caracterizarea extensivă a problemei (în alt mod decât
prin setul de antrenare).

134
Ingineria calculului neuronale

Dezavantaje
 Nu există reguli clare sau indicaţii de proiectare pentru o aplicaţie
arbitrară
 Nu există o cale generală pentru a evalua modul intern de operare pentru
o reţea
 Antrenarea poate fi dificilă sau imposibilă
 Este dificil să se prevadă performanţa viitoare a reţelei (generalizare).

4.4 INGINERIA CALCULULUI NEURONAL

4.4.1 Întrebări iniţiale

O abordare inginerească în rezolvarea unei probleme trebuie să implice


încorporarea tuturor informaţiilor disponibile şi relevante despre acea problemă,
într-o manieră structurată, pentru a putea formula o soluţie. Întrebările principale
care apar sunt:
1. Sunt RNA potrivite din punct de vedere tehnic, sau pot fi aplicate,
pentru problema curentă de rezolvat?
2. Putem dezvolta sau modifica arhitecturi utile de RNA pentru situaţia
curentă şi, putem antrena RNA (determina parametrii săi)?
3. Există instrumente formale sau euristice care pot fi aplicate pentru a
evalua proprietăţile soluţiei oferite de RNA? (de exemplu, care este
complexitatea de calcul a procedurii care conduce la soluţia problemei?)

4.4.2 Proceduri neuro-inginereşti: înlocuirea proiectării cu antrenarea

În mod tipic, procesul de proiectare clasică inginerească include aplicarea


sistematică a principiilor ştiinţifice (matematice, fizice, etc.) pentru a dezvolta
un sistem care satisface anumite specificaţii. În acest sens, proiectarea poate face
apel la judecată, intuiţie şi, posibil, iteraţie. Pe de altă parte, procesul de
antrenare include o anumită formă de învăţare pentru a forţa comportarea
viitoare a sistemului să îndeplinească anumite specificaţii. Învăţarea include
corecţia (ajustarea) parametrilor sistemului astfel încât răspunsul în următoarea
iteraţie sau în următorul experiment să fie cât mai apropiat de cel dorit.
Neuro-ingineria înlocuieşte procesul clasic de proiectare şi conduce la
determinarea componentelor caracteristice RNA, inclusiv arhitectura globală a
RNA, topologia acesteia, parametrii unităţilor de calcul şi procedura de
învăţare/antrenare. Deşi acest nou proces poate părea evident, este necesară o
judecată neuro-inginerească. Existenţa a milioane de posibilităţi în alegerea
topologiilor sau a parametrilor face nepractică "forţa brută" sau căutarea
exhaustivă. În plus, după cum am menţionat înainte, trebuie văzut dacă soluţia
RNA este potrivită sau nu cu problema de rezolvat.

135
4/ Bazele reţelelor neuronale

4.4.3 Proceduri pentru ingineria sistemelor neuronale

Pe durata procesului de proiectare a soluţiilor bazate pe reţele neuronale,


pot apărea multe întrebări, cum ar fi:
 Poate fi antrenată reţeaua pentru a realiza operaţia dorită sau, există o
oarecare ambiguitate în problemă care face soluţia imposibilă?
 Presupunând că problema se poate rezolva, ce structură de reţea
(topologie) este mai potrivită?
 Ce resurse de calcul sunt disponibile (timp, memorie, procesoare) pentru
a antrena şi implementa reţeaua?

Pentru aplicaţiile reale, proiectarea unui sistem bazat pe reţele neuronale


este un proces complex, în mod curent iterativ şi interactiv. Deşi este imposibil
să se prezinte o procedură algoritmică universală, paşii care vor fi prezentaţi în
continuare reflectă eforturile şi preocupările tipice în acest domeniu.
Determinarea parametrilor RNA include:
1. Strategia de interconectare/topologia reţelei/structura reţelei
2. Caracteristicile unităţilor (pot fi diferite în interiorul unei reţele şi în
interiorul subdiviziunilor reţelei, cum sunt straturile reţelei)
3. Procedura (procedurile) de antrenare
4. Seturile de antrenare şi de test
5. Reprezentările intrare/ieşire, pre- şi postprocesarea

Un proces tipic de antrenare poate conţine următoarele etape:


Pasul 1: Studiul claselor de măsurări/forme care pot fi luate în considerare
pentru a dezvolta posibile caracterizări (cantitative). Aceasta include
evaluările structurilor cuantificabile, caracterizări probabilistice şi
explorarea claselor posibile de măsuri ale similarităţii. În plus, trebuie să
fie considerate la acest punct posibile deformări ale proprietăţilor
invariante precum şi caracterizarea surselor de zgomot.
Pasul 2: Determinarea tipurilor de măsurări (intrări) sau date caracteristice
(preprocesate).
Pasul 3: Luarea în considerare a restricţiilor asupra performaţelor dorite ale
sistemului şi a resurselor de calcul.
Pasul 4: Luarea în considerare a accesibilităţii şi calităţii datelor de
antrenare şi de test.
Pasul 5: Luarea în considerare a accesibilităţii structurilor potrivite şi
cunoscute de sisteme RNA.
Pasul 6: Dezvoltarea unei simulări a RNA.
Pasul 7: Antrenarea sistemului RNA.
Pasul 8: Simularea performaţelor sistemului RNA folosind setul (seturile)
de date de test.
Pasul 9: Iterarea unor paşi anteriori până când se atinge performaţa dorită.

136
Tipuri de transformări

4.5 TIPURI DE TRANSFORMĂRI

Termenul "transformare" are mai multe conotaţii în proiectarea şi analiza


sistemelor RNA. Transformarea stărilor unei probleme conceptuale în starile
RNA este un exemplu. În contextul transformării unei stări specifice a RNA, se
doreşte o transformare specifică intrare/ieşire (I/O) sau, poate, transformarea
unei stări variabile în timp, după cum se arată în Figura 4.2.

4.5.1 Sistemul de percepţie şi descrieri stimul-răspuns

Sistemul uman de percepţie include procesarea informaţiei memorate şi a


celei care provine de la senzori, ca în cazul preprocesării şi percepţiei vizuale
sau auditive. O caracterizare elementară stimul-răspuns (S-R) a unui sistem de
percepţie este prezentată în Figura 4.3. În sistemele biologice (în special la
vertebrate), semnalele de intrare din lumea exterioară se obţin prin intermediul
unor celule receptoare, care răspund unei varietăţi de stimuli, cum sunt: lumina,
căldura, substanţe chimice, vibraţii mecanice sau deplasări. Intrarea poate fi o
formă vizuală, un sunet sau alţi stimuli biologici. Răspunsul dorit (sau învăţat)
poate lua forma unei recunoaşteri sau a unei reacţii.

i o

o  [0, M ]

o1
i
o2 o i 1
oc oi  o j  0 pentru i  j

o1
i Codurile indică
o2 descrierea sau clasa
om

o  este forma memorată


o o' "aproape" de o
(Asociator neuronal)

Figura 4.2 Strategii de transformare în reţelele neuronale


artificiale şi reprezentări intrare/ieşire .

137
4/ Bazele reţelelor neuronale

Ajustare

Figura 4.3 Structura de bază a unui S R


sistem S-R "black box".

ANN

Un sistem de tip cutie neagră (black-box) este specificat prin intermediul


unei caracteristici S-R. În mod tipic, calculele interne nu sunt relevante, nu sunt
cunoscute sau nu pot fi cuantificate. Un punct de vedere este acela că reţelele
neuronale artificiale reprezintă o strategie de calcul nealgoritmică, de tip black-
box, care poate fi antrenată. Vom spera să antrenăm cutia neagră neuronală
astfel încât aceasta să înveţe răspunsul corect sau ieşirea (adică să facă o
clasificare) pentru fiecare din eşantioanele setului de antrenare. Această strategie
este atractivă pentru proiectantul sistemului deoarece cantitatea necesară de
cunoştinţe apriori şi înţelegerea modului intern de operare a sistemului sunt
minime. Mai mult, după antrenare, sperăm ca structura internă (neuronală) din
implementarea artificială va fi capabilă să se auto-organizeze pentru a permite
extrapolarea atunci când este pusă în faţa unor forme noi, similare; se va face
apel la experienţa dobândită prin procesul de antrenare. Cu perspectiva black-
box, în analiza unei aplicaţii, întrebarea "Care este modelul sistemului?" poate
primi răspunsul banal "Cui îi pasă?"
De multe ori, structura reţelelor artificiale este ierarhică. În sensul cutiei
negre aceasta înseamnă că există o "cutie de cutii" în care, cutiile interne pot
avea o structură topologică diferită. Această structură sugerează de asemenea că
putem rearanja cutiile interne (şi conţinutul lor) şi interconecta alte "macro-
cutii" pentru a abţine noi structuri de reţele.
Aspectul cheie în abordarea de tip "cutie neagră" este dezvoltarea relaţiilor
între intrare şi ieşire. Zicala "Gunoi la intrare, gunoi la ieşire" ("Garbage in,
garbage out" [Sch97]) se aplică şi în cazul cutiilor negre. Succesul unei
asemenea abordări este puternic influenţat de calitatea datelor şi a algoritmului
de antrenare. În plus, existenţa unui set de antrenare şi a unui algoritm de
antrenare nu garantează că o reţea neuronală dată va putea fi antrenată pentru o
anume aplicaţie.

4.5.2 Intrările şi ieşirile reţelei

Implementările RNA variază de la situaţii în care, de exemplu, intrările


neuronilor individuali corespund valorilor intensităţilor pixelilor unei imagini, la
cazuri unde se utilizează grupuri de neuroni pentru a reprezenta valorile
anumitor caracteristici ale unui obiect. Acest proces important este ilustrat în
discuţia care urmează, folosind o aplicaţie simplă de recunoaştere a caracterelor.

138
Tipuri de transformări

Făcând referire la Figura 4.4, să presupunem că obiectivul este acela de a


dezvolta o structură de RNA ale cărei ieşiri să fie de forma celei de-a doua
structuri din Figura 4.2, adică să fie un selector 1 din 10. de exemplu, atunci
când se prezintă reţelei cifra 6, numărul 6 de la ieşire, notat o6 , este 1 iar o j  0 ,
j  6 . Înainte de a selecta intrările RNA menţionăm că cifrele din Figura 4.4
sunt reprezentate grafic într-un dreptunghi 11  8 sau, matematic, printr-o
matrice binară 11  8.

Selecţia intrărilor

Selecţia intrărilor este procesul de alegere a intrărilor unei RNA şi, de


multe ori, presupune o judecată considerabilă. Intrările pot fi reprezentate de
semnale de tip stimuli pre-procesate, cum ar fi datele obţinute prin cuantizarea şi
filtrarea semnalelor vocale. În anumite cazuri, există instrumente matematice
care ajută în procesul de selecţie a intrărilor. În alte cazuri, simularea poate ajuta
în alegerea intrărilor potrivite. Restricţiile impuse asupra sistemelor de măsurare
pentru o aplicaţie dată pot restrânge mulţimea intrărilor posibile. De asemenea,
dimensiunile operaţiilor efectuate înainte da obţinerea semnalelor de intrare
(pre-procesare) pot influenţa intrările alese.
În exemplul de recunoaştere a cifrelor menţionat anterior, o alegere ar fi
conversia fiecărei matrici binare 11  8 într-un vector coloană 88  1 şi folosirea
componentelor acestuia ca intrări ale RNA.

11
2 4 6 8

Figura 4.4 Digiţi folosiţi pentru a ilustra conceptul intrare/ieşire.

139
4/ Bazele reţelelor neuronale

Sau, după o oarecare analiză, din aceste matrici pot fi extrase caracteristici
care pot fi folosite ca intrări ale RNA. Deocamdată, nu este foarte clar care
variantă este de preferat.
Distorsiunile intrărilor

De multe ori, se doreşte ca operaţia de transformare a intrărilor realizată de


o reţea neuronală să conducă la ieşiri care sunt invariante la (anumite) schimbări
sau deviaţii ale formelor de intrare: transformările realizate de RNA trebuie să
aibă proprietatea de invarianţă la anumite perturbaţii. Un punct de vedere
alternativ este acela că acelaşi răspuns este dorit pentru o clasă sau o mulţime de
stimuli de intrare. De exemplu, oamenii sunt capabili să recunoască caracterele
tipărite sau scrise de mână, cu o mare varietate de dimensiuni şi orientări.
Mecanismul exact pe care se bazează această abilitate este, deocamdată,
necunoscut. Facând din nou referire la exemplul de recunoaştere a digiţilor,
poate fi dezirabil să se recunoască cifrele şi atunci când lipsesc mici porţiuni din
imagini sau când în imagini există o mai mare cantitate de informaţie. Mai mult,
poate se doreşte recunoaşterea cifrelor în mod independent de poziţia acestora în
interiorul dreptunghiului 11  8. Acestea sunt obiective care pot fi realizate mai
greu. Menţionăm de asemenea că alegerea caracteristicilor ca intrări ale RNA
facilitează aceste procese.

Selecţia ieşirilor

Selecţia ieşirilor se realizează în paralel cu procesul de selecţia a intrărilor


şi este aproape întotdeauna un proces dependent de aplicaţie (de problema de
rezolvat). Ca o alternativă la structura 1 din 10, presupunem că ieşirea RNA este
de asemenea un vector 11  8, corespunzător unei matrici 11  8. Transformarea
dorită, realizată de RNA, trebuie să realizeze conversia digiţilor afectaţi de
zgomot, sau distorsionaţi, la vesiunile "standard" sau de referinţă, cum sunt cele
din Figura 4.4.
Un alt exemplu legat de problema recunoaşterii cifrelor poate fi utilizarea
unei RNA pentru a indica dacă cifra de intrare este  5 sau  5. Din nou,
folosind cea de-a doua structură din Figura 4.2, este posibilă implementarea unui
selector 1 din 2 sau a unei RNA cu o singură ieşire. O altă abordare poate fi
dezvoltarea unei RNA care transformă cifrele de intrare (sau caracteristici) într-o
structură 1 din 10. O a doua reţea poate prelua această ieşire şi poate genera
ieşirea  5 sau  5. Această structură este prezentată în Figura 4.5.
O problemă interesantă este dacă această reţea cascadată are ceva în comun
cu o reţea care realizează direct transformarea globală?

140
Tipuri de transformări

Digit - ieşire 1 din 10 -


1 din 10 <5

RNA RNA

Figura 4.5 Folosirea cascadei de RNA pentru clasificarea digiţilor.

Alte probleme ale reprezentării I/O

De îndată ce s-a realizat selecţia intrărilor, alegerea modului de


reprezentare a acestora devine extrem de importantă. Intrările pot fi continue pe
un anumit interval, pot fi discrete, codificate, etc. Destul de des, alegerea unei
anumite reprezentări a intrărilor are o influenţă puternică asupra performaţelor
reţelei proiectate.

Efectul I/O asupra transformărilor

Comportarea dorită a unei RNA este caracterizată printr-un set de perechi


S-R care formează specificaţia unei relaţii. De exemplu, comportarea reţelelor
neuronale poate fi caracterizată printr-un set de n perechi ordonate

H {( s i , ri )} i  1,2,..., n (4.1)

unde si este stimulul i iar ri este răspunsul corespunzător. si este un element


care aparţine domeniului transformării iar ri aparţine co-domeniului. Domeniul
si şi codomeniul ri se exprimă prin reprezentări preselectate; de exemplu, si şi
ri pot fi vectori d  1 şi respectiv c  1 , notaţi s şi r sau i şi t . Scopul reţelei,
în condiţiile în care se dă o topologie prespecificată şi sunt cunoscute
caracteristicile unităţilor de calcul, este acela de a învăţa relaţia exprimată prin
ecuaţia (4.1). Scopul poate fi reprezentat de proiectarea şi verificarea unei RNA
care implementează transformarea funcţională

ri  f D ( si ) (4.2)

Unul dintre exemplele cele mai simple este reprezentat de cazul în care si
şi ri sunt numere reale.

141
4/ Bazele reţelelor neuronale

4.5.3 Reprezentări vectoriale pentru caracteristicile S-R

Adesea, un stimul al unei RNA este reprezentat ca un vector x ; răspunsul


dorit este exprimat prin vectorul x d . Transformarea dorită, realizată de RNA, se
formulează ca:

f D
:sr (4.3)

sau

r  f D (s ) (4.4)

Una dintre cele mai folosite transformări de forma (4.4) este transformarea
liniară, care poate fi realizată prin intermediul unei matrici de transformare.
Aceasta are forma:

r M s (4.5)

unde M trebuie să aibă dimensiunile potrivite pentru realizarea multiplicării în


relaţia (4.5). Formularea vectorială a ecuaţiei (4.4) nu presupune apartenenţa
vectorilor stimul şi răspuns la acelaşi spaţiu vectorial.

4.5.4 Parametri, ponderi şi restricţii

Să considerăm cazul unei singure unităţi, pentru care modificăm notaţia,


astfel încât să introducem şi parametrii unităţii, adică:

r  f p ( s, a p ) (4.6)

unde a p reprezintă parametrii unităţii p iar s reprezintă intrarea sau stimulul


unităţii p . Menţionarea unei singure relaţii dorite intrare/ieşire de forma ( s, r )
induce o restricţie evidentă asupra lui f p şi a p . Alte restricţii pot fi adăugate
sub forma altor perechi ( s, r ) . Această problemă de satisfacere a restricţiilor
poate avea sau nu o soluţie; de fapt, pot exista soluţii multiple. Să considerăm
caracteristica unei reţele

r i  f ( s i , a c , w) (4.7)

unde s i şi r i reprezintă intrarea şi ieşirea reţelei, a c reprezintă caracteristicile


reţelei iar w reprezintă interconexiunile acesteia ("ponderi"). Şi de această dată,

142
Structuri tipice

specificarea comportării dorite a reţelei sub forma unor perechi ( s i , r i ) conduce


la restricţii asupra valorilor f , a c şi/sau w . Cazul tipic este acela în care
alegem o structură de reţea cu anumite restricţii asupra lui w dar cu valori
iniţiale nedeterminate ale interconexiunilor (valori ale ponderilor individuale).
În plus, presupunem că au fost alese caracteristicile unităţilor, f şi a c . Acum,
antrenarea devine un proces de găsire a uneia sau a mai multor soluţii
(aproximative sau exacte) pentru w . Acest caz este luat în considerare în detaliu
în Capitolele 6 şi 8.

4.6 STRUCTURI TIPICE

Orice taxonomie pentru descrierea reţelelor neuronale artificiale trebuie să


înceapă cu identificarea caracteristicilor relevante. Acestea includ:
 Caracteristicile unităţilor de calcul
 Paradigme pentru învăţare/antrenare (software)
 Topologia reţelei
 Funcţia reţelei

4.6.1 Funcţiile RNA

Comportarea dorită a unei RNA oferă o altă posibilitate pentru distingerea


reţelelor. De exemplu, funcţia dorită a unei RNA poate fi specificată prin
enumerarea unui set de stări stabile ale reţelei, sau prin identificarea unei ieşiri
dorite a reţelei ca funcţie de intrările reţelei şi de starea curentă. Exemple
"clasice" de clasificare a reţelelor neuronale în funcţie de scopul procesării sunt:
1. Asociator neuronal (Pattern Associator - PA). Această RNA asociază
forme, care pot fi vectori. În mod curent, este implementată cu ajutorul
reţelelor cu propagare directă. Acest tip de reţea este explorat în detaliu
în Capitolle 5 şi 6. Vom lua în considerare mecanismul de învăţare
(antrenare) şi vom explora proprietăţile şi nuanţele acestui mecanism.
2. Modelul memoriilor adresabile prin conţinut (Content-Addressable
Memory- CAM) sau memorii asociative (Associative Memory-AM).
Acest tip de structură, exemplificat cel mai bine prin modelul Hopfield
din Capitolul 8, are la bază implementarea funcţiei de asociere prin
reţele neuronale.
3. Reţele auto-organizate (Self-Organizing Networks). Aceste reţele
exemplifică implementările neuronale ale învăţării nesupervizate, în
sensul că, în mod tipic, acestea îşi "auto-organizează" formele de intrare
în clase sau grupuri pe baza unei anumite forme de similaritate. Nu vom
lua în discuţie în această lucrare reţelele auto-organizate.

143
4/ Bazele reţelelor neuronale

4.6.2 Structura unei reţele neuronale artificiale

Modul în care se conectează unităţile de calcul ale unei reţele neuronale


determină structura acesteia. Am prezentat pe scurt structurile recurente şi
nerecurente. Mai mulţi neuroni pot fi interconectaţi local pentru a forma
"grupuri" care sunt slab sau indirect conectate cu alte grupuri. Sau, neuronii pot
fi organizaţi în grupuri sau straturi care sunt conectate (direcţional) cu alte
straturi. Aplicaţia pentru care se va dezvolta o reţea neuronală presupune
stabilirea arhitecturii reţelei. Printre posibilităţi, sunt incluse:
1. Proiectarea unei structuri dependentă de aplicaţie, care să realizeze un
calcul dorit. Un asemenea exemplu este prezentat în [CG87].
2. Selectarea unei structuri comune, pre-existente, pentru care există
algoritmi de antrenare. Ca exemple, menţionăm reţelele cu propagare
directă şi reţelele Hopfield.
3. Adaptarea unei structuri pre-existente astfel încât să fie potrivită cu a
aplicaţie specifică.[JS88]. Aceasta poate include folosirea semanticii sau
a altui tip de informaţie pentru a da sens comportării unităţilor sau
grupurilor de unităţi de calcul.

În Figura 4.6 sunt prezentate două tipuri "generice" de RNA. Aceste


structuri sunt doar exemple, dar ele sunt printre cele cărora (se pare) li se
atribuie cea mai mare atenţie de către utilizatori.

Ponderi ajustabile; folosite pentru antrenare

w L1 w L2 w LN
Forma de Forma de ieşire
intrare x (semnal) o
L1 L2 ..... LN

Ponderi w LH Întârzierea tuturor unităţilor


(memorare) (posibil asincronă)

x(k ) x( k  1)
LH z 1

Figura 4.6 Structuri topologice generice.

144
Structuri tipice

4.6.3 Topologiile şi caracterizarea reţelelor

Pentru înţelegerea topologiilor şi a structurilor reţelelor ca funcţii de


interconexiunile unităţilor, distingem câteva concepte:
Reţele recurente
Reţele nerecurente
Reţele stratificate, ierarhice sau orice alt tip de reţele structurate în mod
similar.
Structuri competitive.

Tipurile 1 şi 2 sunt mutual exclusive; totuşi, tipurile 3 şi 4 se pot aplica fie


structurilor recurente fie celor nerecurente. [Fie94] prezintă aceste subiecte în
amănunt, inclusiv modul în care se formează straturile, şi face distincţia între
conexiuni simetrice şi nesimetrice. În Figura 4.7 şi în Figura 4.8 sunt prezentate
exemple de structuri de tipul 3 şi respectiv 4.

Răspuns

Stratul neuronal
"Figura"

Stratul neuronal "Tip


muchie" şi conectare

Date de imtrare
preprocesate
(caracteristici)

Figura 4.7 Structura unei reţele neuronale de tip ierarhizat,


cu procesare paralelă (aplicaţie de vedere artificială).

145
4/ Bazele reţelelor neuronale

Vedere
laterală

Elemente de
Element de procesare
procesare de
bază

Regiune Regiune Regiune


inhibitoare excitatoare inhibitoare
Vedere de sus

Figura 4.8 Structura unei RNA inhibitoare (competitivă).

4.6.4 Complexitatea interconexiunilor şi scala problemei

Complexitatea interconexiunilor unei reţele poate fi extrem de mare.


Aceasta este critică mai ales atunci când se ia în considerare extinderea unei
reţele pentru probleme cu dimensiuni mari. De exemplu, să considerăm o reţea
stratificată (cu propagare directă) capabilă să transforme o imagine n  n într-o
altă imagine n  n . Stratul de intrare şi cel de ieşire vor conţine fiecare n 2
unităţi de calcul. Mai mult, dacă fiecare unitate din stratul de intrare ar fi
conectată la fiecare unitate de ieşire (straturi total interconectate), reţeaua ar
avea (n 2 ) 2 interconexiuni. În cazul în care n este mic, numărul total de
interconexiuni poate fi nesemnificativ.; totuşi, scalarea problemei ridică
preocupări practice serioase. Pentru o imagine cu rezoluţie medie, n  512 ,
numărul total de interconexiuni este n 4  6,87  1010 !

4.6.5 Interconexiuni de reacţie şi stabilitatea reţelei

Structura cu reacţie a reţelelor recurente din Figurile 4.1 şi 4.6 conduce la o


dinamică temporală a reţelei, adică, modificarea în timp. În multe cazuri,
sistemul care rezultă, datorită naturii neliniare a caracteristicilor activare-ieşire a
unităţilor şi strategiilor de ajustare a ponderilor, este un sistem dinamic puternic
neliniar. Aceasta dă naştere unor preocupări legate de stabilitatea globală a
reţelei, inclusiv posibilitatea apariţiei oscilaţiilor, instabilitate sau lipsa de
convergenţă către o stare stabilă. Stabilitatea reţelelor neuronale neliniare este
un subiect destul de dificil şi nu va fi abordat în această lucrare.

146
Metode de învăţare

4.7 METODE DE ÎNVĂŢARE

Învăţarea are sensuri deosebit de largi [Sch90]. Deşi termenii se folosesc


deseori în mod alternativ, cei mai mulţi cititori vor recunoaşte cel puţin
distincţiile subtile dintre conceptele de antrenare, învăţare şi înţelegere.
Conceptul de antrenare poate fi înţeles ca procesul de folosire a informaţiei
astfel încât să determine sau să amelioreze comportarea transformării curente,
f A , către f D . În cazul aplicaţiilor de asociere a formelor, H poate fi folosită
pentru a ameliora în mod iterativ f A
prin compararea răspunsului curent al
sistemului neantrenat, notat r a , unde

r a  f A (s ) (4.8)

cu răspunsul dorit sau ţintă, notat r d , unde

r d  f D (s ) (4.9)

"deplasând" f A
mai aproape de f D
prin procesul de antrenare. Desigur, trebuie
să se dezvolte o măsură potrivită a "gradului de apropiere".
Învăţarea se poate baza pe metode deterministe, cum este cazul
algoritmului cu propagare inversă (Capitolul 7) sau al învăţării de tip Hebbian
(Capitolul 8), sau pe metode stohastice, cum este cazul algoritmilor genetici.

4.7.1 Seturi de antrenare şi seturi de test

Să presupunem că proiectantul sistemului cu RNA dispune de o anumită


cantitate de informaţie apriori, cum ar fi eşantioane de transformări intrare/ieşire
sau doar eşantioane ale intrărilor, care definesc comportarea dorită a sistemului.
În învăţarea supervizată un set de transformări "tipice" I/O formează o bază de
date numită set de antrenare şi notată H . În sens general, H furnizează
informaţie semnificativă despre modul în care se asociază datele de intrare cu
datele de ieşire.
O mulţime etichetată de antrenare H poate fi descrisă sub forma uneo
perechi ordonate:

H  {( s i , ri )} i  1,2,..., n (4.10)

Ecuaţia (4.10) reprezintă o specificaţie pentru un set de transformări de la


d
R la R c . Menţionăm că (4.10) defineşte numai un număr limitat ( n ) din

147
4/ Bazele reţelelor neuronale

numărul total (posibil infinit) al acestor transformări. de exemplu, digiţii din


Figura 4.4 împreună cu ieşirea corespunzătoare a RNA, după cum s-a descris în
paragraful 4.5.2, pot constitui un set de antrenare.
La învăţarea nesupervizată, elementele lui H nu sunt transformări ci, mai
degrabă, intrări sau stări ale reţelei, iar RNA trebuie să determine partiţiile
"naturale" sau grupurile eşantioanelor de date.
Un exemplu de învăţare supervizată într-o reţea cu propagare directă este
regula delta generalizată (GDR - Generalized Delta Rule). Un exemplu de
învăţare supervizată pentru o structură recurentă este metoda Hopfield (CAM).
Învăţarea nesupervizată într-o reţea cu propagare directă (nerecurentă) este
exemplificată prin reţeaua Kohonen auto-organizată. Metoda ART exemplifică
învăţarea nesupervizată pentru o reţea cu structură recurentă.
Un set mutual exclusiv de transformări suplimentare de forma (4.10)
serveşte ca set de test. Acest set se utilizează, după antrenare, pentru a testa
capacitatea de generalizare a RNA. Referindu-ne la exemplul de recunoaştere a
cifrelor din paragraful 4.5.2, se poate folosi un set compus din caractere
distorsionate, afectate de zgomot şi deplasate.

4.7.2 Generalizare

Orice soluţie a ecuaţiei (4.10), de forma x d  f (x) , trebuie să satisfacă


ecuaţia în n puncte din R d . Apare o problemă importantă referitoare la
comportarea în alte puncte decât n x i . Aceasta introduce conceptul important de
generalizare realizată de RNA (Capitolul 7). Un exemplu de generalizare a fost
amintit în paragraful 4.5.2, în discuţia legată de problema de recunoaştere a
cifrelor. Generalizarea dorită a fost invarianţa la poziţie şi la distorsiunile
digiţilor cum este cazul datelor lipsă sau al datelor suplimentare.
Presupunem dată caracteristica S-R pentru o reţea cu o intrare şi o ieşire,
sub forma unui set de patru perechi ordonate. Aceste puncte sunt reprezentate în
Figura 4.9. Atât capacitatea de generalizare dorită cât şi cea realizată (adică,
după antrenare) pentru această transformare realizată cu RNA pot lua multe
forme. În Figura 4.9, ambele transformări funcţionale reprezentate grafic
realizează obiectivul de transformare a setului de antrenare (aici, fără erori de
transformare). Probabil că cei mai mulţi cititori vor prefera generalizarea dată de
curba notată cu 1; totuşi, menţionăm că restricţiile de transformare furnizate
numai de setul de antrenare sunt satisfăcute de ambele soluţii. Ar trebui să se
folosească date suplimentare (set de test) pentru a testa şi ameliora această
transformare. Exemplul din Figura 4.9 conduce la o altă problemă interesantă,
care conduce către generalizare. Să presupunem că intrările şi ieşirile au fost
constrânse să fie discretizate (de exemplu, întregi). Cum ar trebui să se integreze
aceste restricţii în proiectarea RNA, inclusiv prin H , pentru a fi îndeplinite? Cu
alte cuvinte, cum vom forţa generalizarea RNA să producă numere întregi?

148
Metode de învăţare

ri

si

Figura 4.9 Dilema generalizare vs. memorizare


în contextul suprapunerii curbelor.

4.7.3 Curbe de învăţare

În domenii ca inteligenţa artificială, învăţarea capătă o conotaţie mai


generală, analogă într-un anumit fel cu procesele de auto-adaptare realizate de
fiinţele umane [MCM86], [Sch90]. Un sistem de învăţare îşi poate adapta
structura internă astfel încât să realizeze un răspuns mai bun, poate pe baza
performanţelor anterioare, cuantificate. O măsură a performanţei poate fi
diferenţa, sau eroarea, dintre ieşirea dorită a sistemului şi cea curentă. Conceptul
generic de învăţare este legat de multe tehnici de învăţare folosite în RNA,
tehnici care au la bază corecţia erorilor (de exemplu, GDR şi variantele asociate
din Capitolul 7). În cadrul GDR, ca şi în cazul mai general al tehnicilor
gradientului descrescător, sistemul se modifică după fiecare experiment sau
iteraţie. Acest lucru poate conduce la o curbă de învăţare "tipică" în
experimentele biologice, unde P (n) reprezintă probabilitatea ca subiectul
(animal sau om) să furnizeze răspunsul corect în a n -a încercare din
experimentul de învăţare. O formulă tipică [Bol79] pentru a prevedea această
comportare, care de multe ori se potriveşte cu rezultatele experimentale, este
P (n)  1  (1  P (1))(1   ) n 1 , n  1, unde   [0,1] este un parametru de
învăţare. Atunci când asupra lui  se impune o restricţie, 0    1, eroarea
iniţială se micşorează în încercări ulterioare, ca o funcţie monoton
descrescătoare. Din păcate, această performanţă monoton crescătoare este
adesea dificil de realizat în antrenarea practică a sistemelor cu RNA, după cum
se arată în Figura 4.10.O altă măsură a performanţei este viteza de învăţare;
totuşi, nu trebuie să facem confuzie cu viteza reţelei pentru aplicaţia curentă. În
mod normal, învăţarea se realizează off-line.

149
4/ Bazele reţelelor neuronale

4.7.4 Măsura erorii şi traiectoria erorii

Măsura erorii şi traiectoria erorii se folosesc în general pentru a conduce şi


a evalua antrenarea. Există diverse măsuri ale erorii [Sch97]. Traiectorii tipice
sunt prezentate în Figura 4.10. Menţionăm că Figura 4.10 reprezintă un scenariu
optimist în care eroarea descreşte.

Eroarea

(c)

(b)

(a)
(d)
Iteraţia

Figura 4.10 Diferite traiectorii ale măsurii erorii.

EXERCIŢII

4.1 Elaboraţi studiul unui articol ştiinţific legat de aplicaţiike reţelelor


neuronale şi prezentaţi un rezumat al rezultatelor. Clasificaţi articolul pe
care l-aţi studiat, în funcţie de natura aplicaţiei, structura reţelei, metoda
de antrenare, intrări, ieşiri.

4.2 Prezentaţi câte o aplicaţie concretă pentru RNA, conform clasificării din
Paragraful 4.3.

Recomandare. Discuţii utile pot fi abordate la următoarele grupuri


USENET: comp.ai.neural-nets, comp.ai, comp.ai.fuzzy.
Numeroase site-uri dedicate diferitelor publicaţii şi pachetelor software
apar (şi dispar) continuu; unul dintre cele mai stabile este arhiva
"Neuroprose" de la Ohio State, care se poate accesa prin archive.cis.ohio-
state.edu (128.146.8.62) în directorul /pub/neuroprose.
Un site foarte bun din punct de vedere ştiinţific este
www.researchindex.com.

150

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