Sunteți pe pagina 1din 152

Tehnici de inteligență computațională.

Aplicații în electronică și biomedicină

1. Reţele Neuronale Artificiale

1.1. Introducere

Pornindu-se de la performanţele şi capabilităţile remarcabile pe care


fiinţa umana le manifestă în diferitele arii de activitate, în particular de la
performanţele creierului uman, diferite domenii teoretice, tehnice şi
aplicative au încercat şi încearcă să atingă performanţe similare prin
„copierea” diferitelor sisteme şi funcţii ale organismului uman şi nu numai.
Creierul uman este o structură paralelă de procesare şi stocare a
informaţiei compusă din aproximativ 86.1±8.1 miliarde de neuroni
interconectaţi (la o persoană adultă), după unii cecetători [Azevedo, 2009],
și în jur de 100 miliarde de neuroni, după alți cercetători [Houzel, 2012].
Această structură celulară complexă necesită 20% din energia totală a
organismului, deși reprezintă doar 2% din masa totală a acestuia [Houzel,
2012].
Conceptul de neuron a fost introdus pentru prima dată de Santiago
Ramón y Cajal, un medic patolog spaniol, specializat în sistemului nervos
central. Se consideră că Santiago Ramón y Cajal este unul din părinții
neuroștiinței moderne și, în plus, față de introducerea neuronului drept cea
mai mică unitate fundamentală a sistemului nervos central, a dovedid că
aceștia sunt fizic separați, fiind însă interconectați între ei. “Punctul” de
interconectare între 2 neuroni se numește sinapsă.
Se estimează că în medie în creierul uman sunt aproximativ 60 de
trilioane de conexiuni neuronale.
Un neuron are rolul fundamental de a primi, conduce, procesa şi
transmite diferite semnale electrice primite de la organele de simţ, diferiţi
proprioceptori sau de la alţi neuroni.
Fiecare neuron biologic este format din:
- corpul celular (soma);
1
Dan-Marius Dobrea

- axon – axonul transportă semnalele la distanţă faţă de corpul


celular, către alţi neuroni sau celule ţintă (de exemplu,
motoneuronii care transportă semnalele de la măduva spinării
până la musculatura picioarelor au axoni cu lungimi de până la un
metru [Dănăilă, 2006]); în final axonul se ramifică într-un număr
de terminaţii axonale care se cuplează prin intermediul sinapselor
cu dendridele altor neuroni sau direct cu corpul altor neuroni;
- arbore dendridic – este structura care primeşte semnale de la
axonii altor neuroni (de exemplu există neuronii care primesc
informaţii de la peste 100.000 de alţi neuroni [Dănăilă, 2006]);
- sinapse – sinapsele sunt conexiunile ce se realizează la nivelul
axonului unui neuron cu dendridele altui neuron.
Faţă de structura fundamentală de bază a unui neuron, prezentată
anterior, există o serie de excepţii care ţin de: lipsa axonului (dendridele au
rol atât de receptor cât şi de emiţător), atât axonii cât şi dendridele pot forma
sinapse cu alţi axoni şi cu alte dendride deci nu numai sinapse de tip axon-
dendridă etc.
Cercetătorii W.S. McCulloch şi W. Pitts au propus în anul 1943
primul model neuronal artificial [McCulloch, 1943]. Ca o particularitate a
acestui model: initrările sunt de tip binar, iar la ieșire modelul are o funcție
de tip totul sau nimic - funcția treaptă Heaviside sau funcția treaptă unitate.
Deci, ieşirea acestui model neuronal are doar două stări. În concluzie, acest
neuron lucrează ca un dispozitiv binar. De fapt, încă de la început, acest
neuron a fost utilizat în implementarea diferitelor funcții booleene.
În Figura 1.1 se prezintă structura generală a unui neuron artificial.
Neuronul artificial modelează comportamentul unui neuron real. Astfel,
conexiunile dintre neuroni, denumite ponderi sinaptice, sunt folosite în
stocarea informaţiei. După o procesare locală a semnalului de intrare funcţie
de informaţia stocată în ponderile sinaptice (multiplicarea acesteia cu
valorile informaţionale stocate) se produce o integrare (sumare) globală a
rezultatelor obţinute – proces similar cu cel ce are loc în corpul celular al
unui neuron biologic real. Dacă răspunsul global obţinut depăşeşte un
anumit prag informaţia este transmisă mai departe.
Reţelele neuronale artificiale (RNA) sunt structuri artificiale care
încearcă să copie modul de funcţionare a creierului uman şi sunt construite
din mai multe elemente de procesare (EP) sau neuroni artificiali grupaţi în
straturi, fiecare strat având un număr variabil de elemente. La modul cel mai
general, fiecare neuron poate primi informații de la alți neuroni sau/și chiar
de la el însuși.

2
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

d
x1 w1
x1 w1 g ( x)   xi wi
i 1
x2 w2 Functia de
x2 w2
activare
x3 w3 Activarea
x3 w3  g(x)
f( )
y

...
b
Pragul
xd wd (threshold, bias)
xd wd
Ponderi d
sinaptice y  f ( g ( x )  b)  f ( xi wi  b)
i 1
Combinator liniar

Figura 1.1. Structura fundamentală a unui neuron artificial

Trăsăturile fundamentale ale RNA sunt următoarele:


 sunt structuri distribuite,
 sunt structuri adaptive,
 sunt maşini universale de învăţare neliniară.
Din punct de vederea al problemelor de clasificare, o reţea neurală
(RNA) dă naştere – prin elementele sale de procesare (neuronii) – la funcţii
discriminant. Topologia reţelei neuronale artificiale și valoarea ponderilor
sunt cei doi factori care definesc şi determină numărul şi modalitatea de
cuplare a funcţiilor discriminant.
Una dintre caracteristicile principale ale reţelelor neurale artificiale este
aceea că ele pot crea funcţii discriminant specifice fiecărei probleme în parte
astfel încât reţeaua neuronală artificială să conveargă către o clasificare
optimală sau aproape optimală – doar dacă ele sunt suficient de „puternice”
(dacă au un număr corespunzător de straturi neuronale, iar pe fiecare strat
se află un număr corespunzător de neuroni).
Poziția suprafeţele de decizie obţinute prin gruparea acestor funcţii
discriminant se modifică o dată cu topologia reţelei şi cu valorile ponderilor
fiecărui neuron.
Dacă, în general, topologia este fixă, ponderile își schimbă valorile prin
intermediul algoritmului de învățare sau de adaptare.

3
Dan-Marius Dobrea

1.2. Paradigme de învățare

Învăţarea este procedura de extragere a informaţiei, din setul de date


de antrenare, necesară modificării valorilor termenilor liberi ai unei RNA
(a ponderilor) în vederea obţinerii fenomenului de generalizare – a
obţinerii erorii minime de clasificare corecte a eşantioanelor din alt set de
date ce nu a fost prezentat anterior RNA pentru învățare.
Deci, într-o RNA şi, în general, în cazul sistemelor adaptive cel care
construieşte reţeaua nu trebuie să specifice parametrii sistemului (valorile
ponderilor fiecărui neuron în parte). Valorile acestor parametri sunt extraşi,
în mod automat folosind ca mijloc pentru atingerea acestui obiectiv anumiţi
algoritmi, denumiți de antrenare sau de adaptare. Scopul final fiind acela
al reducerii unei anumite erori. Există la ora actuală trei paradigme de
adaptare bazate pe: învățarea supervizată (supervised learning), învățarea
nesupervizată (unsupervised learning) și învățarea întărită (reinforcement
learning).
Utilizarea acestor algoritmi pentru modificarea valorilor ponderilor în
scopul obţinerii unei clasificări cât mai bune este unul din conceptele
fundamentale ale unei RNA. Performanţele clasificării sunt cuantificate
folosind pentru aceasta un anumit criteriu de eroare.

1.2.1. Învățarea supervizată

În cadrul acestui algoritm de adaptare ponderile sunt modificate funcție


de diferența existentă între ieșirea RNA (răspunsul obținut la ieșirea RNA
– dependent, în principal, de valorile aplicate intrărilor și de ponderile
neuronilor – vectorul ponderilor w din Figura 1.2) și răspunsul dorit. Acest
răspuns dorit este furnizat rețelei de către un “antrenor” ce etichetează
fiecare intrare în parte conform unui criteriu extern știut doar de el – de aici
derivă și denumirea de învățare supervizată.
Diferența dintre răspunsul obținut la ieșirea RNA (𝑦, vezi Figura 1.2)
și răspunsul dorit (y) reprezintă eroarea de adaptare. Această eroare este
cea care ghidează procesul de învățare și care, dacă algoritmul converge, se
va diminua o dată cu imbunătățirea modelului neuronal.

4
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

1.2.2. Învățarea nesupervizată

În cadrul acestui algoritm de adaptare nu există un dorit al RNA. Deci,


nu există așa zisul profesor sau antrenor prezentat anterior. Aceste rețele
trebuie să aibe capacitatea de a forma singure reprezentări interne ale datelor
de intrare și astfel de a organiza datele de intrare în „clase” sau clusteri
printr-un mecanism de competiție internă. În final clusterii obținuți trebuie
să respecte modul natural de grupare și distribuție a datelor de intrare – care
sunt date de diferitlele corelații existente în mulțimea acestora.

1.2.3. Învățarea întărită

Învăţarea folosind un "critic" (reinforcement learning) are la bază


principiul de învățare ce utilizează recompensa/pedeapsa
(reward/punishment). Această metodă este utilizată în special în studiile
efectuate pe animale, de unde altfel a fost și preluată conceptual.
Aceste RNA, ce utilizează acest algoritm de învățare, nu beneficiază de
semnal dorit ca în situația învăţării suprervizte, ci de un răspuns binar. Acest
răspuns oferă o informaţie calitativă RNA (de genul, răspuns bun sau greșit)
funcție de cât de bine structura neuronală a putut să-și atingă sau nu
obiectivul urmărit. Astfel, de exemplu, rețeaua va ști că a greșit, însă nu și
cu cât a greșit. În acest mod atunci când RNA în urma unui proces de
adaptare va genera rezultate eronate, ea va fi „pedepsită” printr-un feedback
negativ și atunci prin algoritmul de adaptare o nouă tendință a RNA de a
produce același rezultat sau unul similar va fi slăbită, redusă [Sutton, 1991].
În caz contrar această tendință va fi întărită (reinforced).

5
Dan-Marius Dobrea

1.3. Clasificare versus regresie

Din punct de vedere matematic ambele probleme, de clasificare sau


regresie, pot fi puse sub aceeași formă: determinarea unei relații
necunoscute între intrările unui sistem (x) și ieșirile acestuia (y). Deci
ambele metode caută să construiască un model (deoarece în această carte
punem accent pe sistemele neuronale, vom spune model intern RNA) care
să fie capabil să obțină la ieșire (𝑦) o valoare cât mai apropiată de una dorită
(y), în directă dependență de datele de intrare (x).

x Sistem necunoscut y
care va fi
identificat/modelat

Model matematic ^y +
(neural, fuzzy, statistic
liniar sau neliniar):

-
f(x, w)

Algoritm de
adaptare
y - ^y

Figura 1.2. Structura unui sistem de clasificare sau regresie

Diferența fundamentală între clasificare și regresie este dată de tipul


ieșirii: discretă pentru clasificare și continuă pentru regresie.
Clasificarea estimează o ieșire discretă care este clasa de aparteneță a
setului de date de la intrare. Astfel, valorile variabilelor dependente ale
ieșirii sau ieșirilor (față de cele ale intrărilor) sunt cele care clasifică datele
de intrare în grupe sau clase.
În problemele de regresie se caută identificarea unei variabile continue
de ieșire, de exemplu se caută aproximarea unei funcții. Astfel, o funcție h :
X → Y, h (x) = y, mapează un x  X într-un y  Y, unde X este spațiul de
intrare (domeniul) iar Y este spațiul de ieșire (codomeniul). Prin regresie se
înțelege crearea de către RNA a unui model f (x)  y pentru toate perechile
{x, y}. În mod ideal, ar trebui să avem f(x) = h(x).

6
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

În cadrul acestei cărți vom pune un accent principal pe problemele de


clasificare, dar observăm că diferențele fundamentale între clasificare și
regresie sunt minimale și țin în principal de tipul codomeniului de ieșire.
În general pentru reducerea cât mai mult a erorii de aproximare a
modelului mathematic (y – 𝑦) se impune, în primul pas, identifcarea tipului
de structură optimală a modelului mathematic, în directă concordanță cu
informațiile apriorice pe care le deținem în legătură cu sistemul necunoscut.
În pasul doi, când deja am stability structura modelului va trebui să
identificăm parametrii acestuia (notați cu w în Figura 1.2) funcție de
eroarea de aproximație și pe baza unui algoritm de adaptare, care este
supervizat în acest caz exemplificat aici – vezi Figura 1.2.

1.4. RNA o mașină universală de învățare

Utilizarea extensivă a RNA în probleme de aproximare şi clasificare


este motivată de abilitatea demonstrată a unei reţele neuronale (RNA) cu trei
straturi, antrenată cu algoritmul de retropropagare a erorii, de a aproxima
orice funcţie continuă, cu o eroare oricât de mică [Funahashi, 1989] – acesta
este de altfel conceptul de maşină universală de învăţare neliniară.
Condiţia ca aceste structuri neuronale să fie maşini universale de
învăţare este ca pe straturile ascunse să se regăsească un număr suficient de
mare de neuroni astfel încât RNA să aibă puterea necesară îndeplinirii
acestei condiţii. Astfel, pentru orice funcţie f definită pe o submulţime K a
lui Rn:
f : K  Rn  Rm (1.1)
putem găsi o aproximare foarte bună F (dată de o reţea neuronală artificială),
în sensul unei topologii definită pe K, cu o eroare mai mică decât un 
arbitrar ales (dar  > 0) pentru care să avem:
|| f – F || = sup | f (x) – F (x)| <  (1.2)
x K

Din aceeași teoremă se demonstrează și că o rețea neuronală cu trei


straturi a căror neuroni au funcții de activare de tip sigmoidal:
1
𝑓 (𝑥) = (1.3)
1 + exp(−𝑥)

7
Dan-Marius Dobrea

pot aproxima orice funcție continuă f : Rn  (0, 1)m cu o precizie oricât de


mică. Acest rezultat susține din punct de vedere teoretic capacitatea de
mașină universală de clasificare a unei astfel de RNA.
Conceptual, elemente definitorii în realizarea unei reţele neurale
artificiale (a unui clasificator semiparametric), utilizat într-o problemă de
clasificare, sunt:
 selecţia formei funcţiilor discriminant,
 determinarea numărului funcţiilor discriminant,
 plasarea lor în spaţiul trăsăturilor și
 modalitatea optimă de cuplare a lor
astfel încât eroarea de clasificare să fie minimă posibilă. Acestea generează
automat pentru o RNA: topologia specifică și numărul de neuroni de pe
fiecare strat. În cele ce urmează vom discuta toate aceste elemente și multe
altele. De asemenea, vom discuta şi analiza algoritmii de antrenare pentru
diferite structuri de topologii de reţele neurale artificiale.

1.5. RNA clasificator semiparametric

Dacă discutăm despre sistemele de clasificare, atunci RNA aparţin


clasei clasificatorilor semiparametrici. Parametrii reţelei neuronale
(ponderile RNA) sunt determinate din setul de date pe baza unui algoritm
de adaptare, în schimb reţeaua neuronală nu face nici o supoziţie în legătură
cu distribuţia datelor – cu forma funcţională a funcţiei densitate de
probabilitate – și, mai mult, acești clasificatori nu sunt limitați la un tip
specific de distribuție a datelor.

1.6. Topologii de rețele neuronale artificiale

Din punct de vedere a topologiei RNA aceste se clasifică în două mari


clase: (a) rețelele neuronale de tip feedforward în care informația se
propagă doar de la intrare spre ieșire, iar ieșirea fiecărui neuron depinde doar
de intrările sale care sunt conectate la ieșirile neuronilor din stratul anterior
și (b) rețelele neuronale cu reacție sau recurente (recurrent neural
network), la care prin intermediul conexiunilor existente se asigură bucle de
reacție ce determină ca ieșirea diferiților neuroni să fie dependentă și de
valori anterior calculate (de ex. de ieșirile altor neuroni din același strat sau
dintr-un strat ulterior) – putem spune că aceste structuri neuronale au
memorie în care păstrează diferite nivele de informație calculată anterior.
8
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

În cadrul acestei cărți vom studia doar rețelele neuronale de tip


feedforward utilizate în principal în probleme de clasificare. De asemenea,
vom studia doar RNA cu cel mult 3 straturi neuronale. Acesta deoarece
datorită unor rezultate teoretice riguroase, care vor fi expuse și pe care le
vom înțelege ulterior, în practică nu sunt necesare mai multe straturi
neuronale în problemele de clasificare. O excepție remarcabilă de la acestă
regulă sunt rețelele profunde (deep neural networks) care utilizează în mod
voit un număr superior de straturi, tocmai pentru a fi capabile să învețe
reprezentări a datelor de intrare cu nivele multiple de abstractizare. Acest
tip de RNA nu va fi tratat în această carte.

9
Dan-Marius Dobrea

10
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

2. Modelul neuronal Adaline

În cadrul acestui subcapitol vom studia unul din primele modelele


neuronale – modelul Adaline (ADAptive LINear Element) [Widrow, 1960].
Acest model este de o mare importanţă conceptuală şi practică. Modelul
Adaline este unul utilizat într-o gamă extrem de largă de aplicaţii şi a fost
introdus de B. Widrow şi M.E. Hoff la începutul anilor '60 [Widrow, 1960].
Ieşirea y a modelului este descrisă de relaţia:
𝑦[𝑘] = ∑ 𝑤 [𝑘] ∙ 𝑥 [𝑘]; 𝑥 [𝑘] = 1 (2.1)
unde w0[k], w1[k], ..., wd[k] sunt ponderile sinaptice ale modelului la
momentul k, iar x1a [k], x2a [k],..., xda [k] sunt intrările modelului – date de
vectorul de trăsături xa prezentat modelului neuronal la acelaşi moment k, în
timp ce d reprezintă dimensionalitatea spațiului de trăsături.
Comparativ cu reprezentarea grafică din Figura 1.1 se observă că
modelul neuronal Adaline este o particularizare în care funcţia de activare
este egală cu unitatea iar pragul este înglobat în model prin intermediul
intrării x0a [k].
În continuare vom discuta despre două proceduri de determinare
(instruire, adaptare) a ponderilor modelului Adaline, descris de ecuaţia (2.1).
Ambele proceduri fac parte din categoria procedurilor de instruire
supervizată. Acest tip de proceduri utilizează pe lângă setul de date de
intrare {x1, x2, ..., xA} un set de exemplare ce vor caracteriza doritul reţelei
neuronale, fiecare element din acest set fiind asociat cu unul din elementele
de intrare. Deci, în final vom avea un set de exemplare {xa, da}, a = 1, 2, ...
, A, unde xa este vectorul de intrare în model, xa = [x1a, x2a, ... , xda]T, ce este
aplicat la un anumit moment de timp, iar da reprezintă ieşirea dorită,
corespunzătoare intrării xa. Ponderile modelului se calculează astfel încât
pentru fiecare intrare xa, ieşirea y a modelului să fie cât mai apropiată
(conform unui criteriu de performanţă) de ieşirea dorită da.

11
Dan-Marius Dobrea

În literatura de specialitate setul de exemplare {xa, da}, cu a = 1, 2, ...,


A, este cunoscut sub numele de set de antrenare.

2.1. Algoritmul MMSE (Minimum Mean Square Error)

După cum îi spune și numele metodei, scopul acestui algoritm este de a


minimiza (Minimum) eroarea medie pătratică (mean square error - MSE).
În cadrul unui neuron (element de procesare) singurii termeni liberi
asupra cărora se poate acțione sunt ponderile neuronului artificial. Scopul
acestei metode de adaptare este acela de a calcula un vector de ponderi, wopt
 
optim, astfel încât să fie minimizată eroarea medie pătratică, E e2 de la
ieșirea neuronului:
𝐸{𝑒 } = 𝐸{(𝑑 − 𝑦) } = ∑ 𝑒 ; en = da – y (2.2)
Observăm că eroare este diferența dintre răspunsul dorit, dn, și răspunsul
obținut la ieșirea elementului de procesare, yn.
Eroarea en, din relația (2.2), poartă numele de eroarea instantanee de
instruire.
Ieşirea neuronului Adaline este dată de:
𝑦 = 𝑤 𝑥 = (𝑥 ) 𝑤 (2.3)
În relaţia (2.3) prin wT şi xT s-au notat vectorii linie care sunt transpuşii
vectorilor coloană: w (vector ponderi sinaptice) şi x (vector de intrare).
Considerând că setul de antrenare este un proces statistic staţionar
(estimatorii momentelor statistice variază lent în timp) ecuaţia (2.2) se
dezvoltă sub forma:

  
E e2  E d  y 
2
  Ed  w Ex x  w  2 E{d x }w
2 T T T
(2.4)
Matricea:

 
Rx  E x xT (2.5)
este matricea de corelaţie a vectorului aleator real x de intrare. În plus,
definim şi vectorul P = E{d xT}. Cu aceste definiţii, relaţia (2.4) devine:

 w   E e 2   E d 2  wT Rx w  2 P w (2.6)

de unde se observă că eroarea medie pătratică  este o funcţie explicită


dependentă de vectorul ponderilor w.
12
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Pentru determinarea vectorului wopt, corespunzător minimului erorii


pătratice medii, se calculează derivatele funcţiei (w), şi se foloseşte
condiţia de extrem:
 (w)
 2 Rx w  2P (2.7)
w
Putem fi siguri că această ecuație de gradul doi are un minim (și nu un
maxim) deoarece matricea Rx este o matrice semipozitiv definită – observați
analogia cu ecuația de gradul doi care are valoarea cu care se înmulțește
termenul pătratic pozitivă (vezi anexa cu ecuația de gradul II).
Din cele de mai sus rezultă că extremul funcţiei este un minim dat de
ecuaţia:
2Rxwopt 2P  0 (2.8)
Din relaţia (2.8) rezultă că vectorul optim al ponderilor sinaptice pentru
care se obţine o eroare pătratică minimă este:
wopt = Rx-1P (2.9)
Metoda MMSE poate fi sintetizată prin următoarele etape:
1. având întregul set de antrenare, apriori cunoscut, se calculează
matricea de corelaţie a vectorului de trăsături de intrare
 
Rx  E x xT şi vectorul P = E{d xT};
2. se calculează vectorul optim al ponderilor cu relaţia wopt = Rx-1P.
Metoda MMSE presupune cunoaşterea apriorică a întregului set de
antrenare, fiind o metodă de instruire de tip globală sau bloc.
În acele situaţii în care nu se dispune apriori de un set de antrenare, sau
inversarea matricii de corelaţie a serului de date, Rx, este dificilă, se recurge
la următoarea metoda de adaptare (instruire) a ponderilor ce va fi discutată
în subcapitolul următor.

13
Dan-Marius Dobrea

2.2. Algoritmul LMS (Least Mean Square)

O altă modalitate de calcul a ponderilor, corespunzătoare minimului


funcţiei (w), este dată de metoda de coborârea pe suprafaţa funcţiei de
eroare în direcţia pantei celei mai abrupte.
Dacă am analiza problema obţinerii erorii minime medii pătratice, dată
de relaţia (2.2), pentru un caz unidimensonal considerând, în plus, şi
valoarea pragului egală cu zero am obţine următoarea relaţie:

1 1
𝜉(𝑤) = 𝐸{(𝑑 − 𝑦) } = (𝑑 − 𝑤𝑥 ) = ((𝑑 ) − 2𝑤𝑑 𝑥 + 𝑤 (𝑥 ) ) (2.10)
𝐴 𝐴

În relaţia (2.10) dacă considerăm drept variabil numai parametrul w iar


ceilalţi parametri sunt ţinuţi constanţi observăm că obţinem o ecuaţie de
gradul doi în w a cărui coeficient a termenului pătratic w2 va fi întotdeauna
pozitiv. O posibilă reprezentare grafică a erorii medii pătratice (a relaţiei
(2.10)), pentru această situație, este dată în Figura 2.1. În această figură
obținem modul de variație a erorii funcție de vectorul de ponderi – obținem
deci, suprafața de eroare care este dependentă de valorile termenilor liberi
– ponderile neuronului în cazul nostru.

 (w) tangenta în
punctul wa 𝜕
=  (𝑤 )
𝜕𝑤
𝜕
𝜕𝑤 𝜕 𝜕
>
 (w )
a 𝜕𝑤 𝜕𝑤
 (wa)
 (w )
b

min (wopt)  (wb)


w
a b
wopt w w1 w2
w
Figura 2.1. Suprafaţa de eroare

Pentru un caz general, d dimensional (deci, avem d intrări și d ponderi


– deci, în această situație d nu reprezintă doritul RNA), suprafața de eroare
va fi un hiper-paraboloid d dimensional în spațiul de intrare a ponderilor.
Gradientul pe suprafaţa de eroare într-un anumit punct arbitrar, de
exemplu în punctul wc, se poate determina cu relaţia:

14
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

 wc  w   wc  w


 
 w  lim
c
w0 2w
(2.11)

Din relaţia (2.11) se observă că gradientul este direct proporţional cu


panta suprafeţei de eroare şi ia valori negative în stânga punctului w* ( =
wopt, punct de minim al suprafeţei de eroare) şi valori pozitive în dreapta
acestui punct.
Deşi Figura 2.1 este reprezentată în situaţia unui spaţiu
monodimensonal de trăsături ea poate fi generalizată foarte ușor pentru
situaţia unui spaţiu d dimensional, dar în care reprezentarea grafică ar fi
aproape imposibilă pentru d > 2. Această figură ne ajută de asemenea în
găsirea unei metode intuitive de determinare a vectorului optim de ponderi
wopt prin intermediul unei metode iterative. Astfel, după cum se observă în
oricare punct al suprafeţei, direcţia de coborâre pe suprafaţa de eroare este
în direcţia negativului gradientului funcţiei, din punctul respectiv. Astfel,
punctul de minim poate fi determinat prin aplicarea iterativă a relaţiei:

w k  1   w k      w k  (2.12)
T
    
unde   wk  este gradientul    , , ...  în w[k],
  w0  w1  w 
d
iar  este o constantă pozitivă denumită constantă de adaptare (de
învățare).
După cum am demonstrat anterior gradientul erorii pătratice medii se
poate calcula prin intermediul relaţiei (2.9) dacă se cunosc matricea de
corelaţie a setului de date, Rx, şi vectorul P. Dar există situaţii în care nu
dispunem apriori de un set de instruire sau estimarea matricii Rx şi a
vectorului P este dificilă. În aceste situaţii se recurge la aproximarea
gradientului erorii medii pătratice, , cu gradientul erorii pătratice
instantanee. Algoritmii de calcul ai ponderilor rezultaţi în urma acestei
aproximări formează clasa algoritmilor de tip gradient stohastic.
Algoritmul de tip gradient stohastic utilizat în cadrul modelul Adaline
este denumit în literatura de specialitate algoritmul Least Mean Square sau
prescurtat LMS.
În cadrul procesului de adaptare a ponderilor întregul set de antrenare
{x , da}, a = 1, 2, ... , A, va fi prezentat modelului neuronal Adaline de mai
a

multe ori până când un anumit criteriu de performanţă este îndeplinit, de


exemplu eroarea medie pătratică scade sub o anumită valoare. Prezentarea

15
Dan-Marius Dobrea

întregului set de date modelului neuronal poartă numele de epocă de


antrenare. Astfel, procesul de adaptare al ponderilor este format dintr-un
anumit număr de epoci de antrenare.
Eroarea pătratică instantanee a modelului Adaline este definită de
relaţia:
𝑒 = (𝑑 [𝑘] − 𝑦[𝑘]) ; 𝑦[𝑘] = 𝑤 [𝑘] ∙ 𝑥 [𝑘] (2.13)
În relaţia anterioară da este ieşirea dorită, corespunzătoare vectorului de
intrare xa, iar y[k] este ieşirea modelului la momentul de timp k calculată
pentru vectorul de intrare xa şi vectorul de ponderi w[k], a fiind numărul
curent al perechii {xa, da} din setul de antrenare.
Deoarece procesul de antrenare este unul iterativ, după cum s-a
prezentat anterior, atingerea criteriului de oprire a procesului de adaptare a
structurii neuronale necesită prezentarea de mai multe ori a setului de date
de antrenare. Din această perspectivă, vom spune că algoritmul LMS
necesită un anumit număr de epoci de antrenare până la atingerea
criteriului de convergentă a ponderilor către acele valori ce determină
obținerea unei erori globale minime. O epocă de anterenare este formată
din toate exemplare { xa, da} existente în setul de antrenare. Revenind la
relaţia (2.13) indicele k precizează momentul de timp în care se face
actualiazare; presupunând că suntem în epoca nep (de exemplu, epoca 9)
exemplarul a (de exemplu, a = 62) şi o epocă este formată din 100 de
exemplare de antrenare (A = 100; a = 1, 2, ..., 100), atunci:
k = (nep - 1) ∙ A + a – 1 (2.14)
rezultând pentru exemplul particular anterior: k = 8 ∙ 100 + 62 – 1 = 861.

𝑘= 0 1 ⋯ 𝐴−1 𝐴 𝐴 + 1 ⋯ 2𝐴 − 1 ⋯ 8𝐴 ⋯ 9𝐴 − 1
𝑖𝑛𝑡𝑟𝑎𝑟𝑒 𝑥 𝑥 ⋯ 𝑥 𝑥 𝑥 ⋯ 𝑥 ⋯ 𝑥 ⋯ 𝑥
𝑑𝑜𝑟𝑖𝑡 𝑑 𝑑 ⋯ 𝑑 𝑑 𝑑 ⋯ 𝑑 ⋯ 𝑑 ⋯ 𝑑

Prima epocă de A II-a epocă de A IX a epocă de


antrenare antrenare antrenare

Figura 2.2. Legătura existentă între epoca de antrenare, exemplarul de


antrenare și k – momentul de timp discret în care a ajuns procesul de
antrenare în actualizarea ponderilor

În aceste condiţii, gradientul erorii pătratice instantanee este dat de:

16
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

∇(𝑒 ) = −2𝑒 𝑥 (2.15)


Conform relaţiilor (2.12) - (2.15) algoritmul LMS are următoarele
etape:
1. se iniţializează vectorul w al ponderilor (în cele mai multe situaţii
practice pentru iniţializare se folosesc valori mici, generate în
mod aleator);
2. la iteraţia k a algoritmului de adaptare:
 se aplică un vector de intrare xa modelului;
 se calculează eroarea instantanee:
ek = da[k] – y[k] (2.16)
În relaţia anterioară da este ieşirea dorită, iar y[k] este
produsul dintre vectorul corespunzător doritului actual,
xa, şi vectorului curent de ponderi, w[k]:
y [k] = wT[k] xa[k] (2.17)
 se modifică vectorul ponderilor cu relaţia:
𝑤[𝑘 + 1] = 𝑤[𝑘] + 2𝜂𝑒 𝑥 [𝑘] (2.18)
 Se incrementează k: k = k + 1.
3. se opreşte procesul de adaptare a ponderilor o dată cu
îndeplinirea unui anumit criteriu global (de exemplu eroarea
instantanee coboară sub un anumit prag); în caz contrar se revine
la punctul 2.
Problemă 2.1: (a) Dezvoltaţi un program în mediul LabWindows CVI
capabil să determine un număr arbitrar de coeficienţi LPC
(Linear Prediction Coefficients) prin metoda iterativă LMS.
Programul va fi capabil să determine valorile coeficienţilor
filtrului FIR predictiv pentru orice serie de timp încărcată dintr-
un fişier de tipul TXT în care setul de date este stocat sub forma
unei coloane.
(b) Pentru un semnal sinusoidal şi unul de tip ECG (aceste
semnale se regăsesc în directorul de semnale asociat acestui
capitol) determinaţi valorile coeficienţilor modelului prin:
metoda iterativă LMS şi prin metoda de modelare autoregresivă
Yule-Walker. Numărul coeficienţilor utilizaţi în această
modelare va fi cel optim. Acest numărul optim de coeficienţi vor

17
Dan-Marius Dobrea

fi determinaţi pentru fiecare serie de timp în parte prin utilizarea


erorii de aproximare a metodei Yule-Walker. Comparaţi valorile
obţinute prin cele două metode. Explicaţi diferenţele obţinute.
Rezolvare:
(a) Implementarea programului se găseşte în directorul „LMS -
predicţie” asociat acestui capitol.
(b) Acest punct al problemei este temă de casă.
Intuitiv din relația (2.12) conștientizăm importanța și influența pasului
de adaptare, , în evoluția procesului de adaptare. Teoretic ne-am dori un
pas de adaptare cât mai mare pentru a finaliza cât mai repede procesul de
învățare. Dar este posibil să îl luăm oricât de mare dorim noi?

w1 𝑤 ,
w1 𝑤 = 𝑤
,

w2
w2

A A

Direcția inițială a
(a) (b) gradientului în punctul A

Figura 2.3. Două traiectorii pe o suprafață de eroare bidimensională (2


ponderi), pentru doi pași de învățare diferiți: (a) pentru o rată de învățare
mică și (b) pentru o rată mare de învățare

În Figura 2.3 observăm două traiectorii de convergență a algoritmului


LMS. Distața dintre 2 puncte de pe orice traiectorie de convergență este
proporțională, în conformitate cu relația (2.12), cu pasul de învățare și cu
gradientul erorii. Pentru obținerea traiectoriei optime, cea mai scurtă
traiectorie care ar porni din punctul A și s-ar opri în vectorul optim wopt, ar
trebui ca rata de învățare să fie foarte mică (Figura 2.3.(a)), la limită infinit
de mică. În această situație „pașii” traiectoriei ar fi foarte mici și în acest
18
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

mod traiectoria s-ar plasa pe direcția dreptei suport a gradientului în fiecare


pas al procedurii de adaptare.
Dacă, în schimb, rata de învățare este mai mare (situație similară cu cea
prezentată în Figura 2.3.(b)) traiectoria de convergență va fi una neoptimală
și aceasta va prezenta „oscilații” față de cea optimală (Figura 2.3.(a)). Dacă,
rata de învățare este și mai mare, depășind o anumită valoare, algoritmul nu
va mai converge și traiectoria lui va oscila în jurul wopt. Vectorul wopt conține
acele valori ale ponderilor pentru care eroarea este minimă, pentru care se
atinge minimul suprafeței de eroare.
Procesul de convergență a algoritmului LMS către vectorul optim de
ponderi, wopt, se poate exprima în două modalități: (a) prin așa zisa
convergență în medie, în care valoarea medie a vectorul de ponderi w[k]
tinde către valoarea optimă wopt atunci când numărul de iterații k tinde la
infinit:
𝐸{𝑤[𝑘]} → 𝑤 (2.19)
sau prin (b) convergența în medie pătratică, atunci când valoarea medie
pătratică a erorii tinde către o valoare constantă atunci când numărul de
iterații k tinde la infinit:
𝐸{𝑒 } → 𝑐𝑜𝑛𝑠𝑡. (2.20)
În [Haykin, 1999] se dovedește că dacă algoritmul LMS este convergent
în medie atunci este necesară satisfacerea următoarei condiții:
|1 − 𝜂𝜆 | < 1 (2.21)
pentru orice k = 1 ... d, d fiind dimensionalitatea setului de date de intrare
(numărul de intrări ale modelului neuronal, vezi Figura 1.1), iar k sunt
valorile proprii ale matricii de corelație Rx a setului de date de intrare – vezi
relația (2.5).
În concluzie, convergenţa algoritmului LMS în medie este asigurată
dacă factorul  respectă condiţia:
2
0   (2.22)
max
În relația anterioară max este valoarea proprie maximă a matricii de Rx de
corelaţie a procesului x de la intrarea neuronului artificial.
Ca o primă observație ce rezultă din relația (2.22), rata de învățare
este întotdeauna o constantă pozitivă.

19
Dan-Marius Dobrea

Pentru a asigura convergența în medie pătratică a algotitmului LMS (în


conformitate cu (2.20)) rata de învățare trebuie să satisfacă următoarea
condiție [Haykin, 1999]:
2
0   (2.23)
tr Rx
În relația (2.23) tr Rx este urma (suma elementelor de pe diagonala
principală) a matricii Rx și din relațiile fundamentale ale matricilor știm că:

𝑡𝑟 𝑅 = 𝜆 ≥𝜆 (2.24)

Analizând relațiile (2.22), (2.23) și (2.24) tragem concluzia că relația


(2.23) – relația ce asigură convergența în medie pătratică – este mai
restrictivă decât condiția de convergență în medie. Deci, putem concluziona
că dacă algoritmul LMS este convergent în medie pătratică (rata de învățare,
, satisface relația (2.23)) atunci cu certitudine rata de învățare va satisface
și relația (2.22) și, deci, va fi convergent și în medie.
Observăm deci că, valoarea factorului de adaptare  este esenţială
pentru nivelul performanţelor de instruire ale neuronului Adaline adaptat cu
ajutorul algoritmului LMS. Algoritmul LMS clasic utilizează un factor de
adaptare  constant astfel ales încât să se respecte inegalitatea (2.23).
Dar, pentru a optimiza performanţele de convergenţă ale neuronului
Adaline,  trebuie să fie variabil. Astfel, la începutul instruirii  trebuie să
fie „mare” pentru a se obţine o rată „mare” de convergenţă, de coborâre pe
suprafaţa de eroare - Figura 2.3.(b). După ce procesul de convergenţă a
intrat într-o fază staţionară este necesar să folosim un  „mic”, pentru a se
obţine o valoare medie „mică” a erorii de instruire - Figura 2.3.(a).

Problemă 2.2: Fiind dat un semnal arbitrar (s(t) – discretizat s[n]), acesta se
va aproxima prin intermediul unui alt semnal caracterizat de
relaţia1:

1
Acest mod de compunere a unui semnal din diferite componente spectrale este
caracteristic modalităţii de generare a undelor EEG în creierul uman. Diferitele unde
EEG sunt generate în principal pe baza unor: (a) oscilaţii spontane (caracterizate de
diferite frecvenţele fi), (b) de o serie de componente de autocuplare (situate la frecvenţe
cu valori de tipul 2fi) şi, în final, (c) de o altă serie de componente de intercuplare (fi + fj
şi fi –fj). Componentele de autocuplare, precum şi cele de intercuplare apar în special
20
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

k k k k k k
y n    a m n  x m n    bm n   m n     clm n   lm n     d lm n   lm n 
m 1 m 1 l 1 m 1 l 1 m 1
(2.25)
l m lm

Semnalul ce realiza aproximarea va fi dat de o sumă de


componente spectrale caracterizate de următoarele componente:
fi : x j [n]  sin 2  m j   j  (2.26)

2 fi : j[n]  sin 2  2 mj  2j  (2.27)

  
fi – fj :  ij [ n]  sin 2  mi  m j  i   j  (2.28)

fi + fj :  [n]  sin 2  m  m      
ij i j i j (2.29)
Să se determine:
(a) Relaţiile matematice de modificare a amplitudinilor fiecărei
componente spectrale utilizând algoritmul LMS ştiind că
funcţia de cost a cărui minim trebuie determinat este:
1 2
J  e n  (2.30)
2
În relaţia anterioară eroarea instantanee este dată de:
e n   s n   y n  (2.31)
(b) Relaţiile matematice de modificare a fazelor fiecărei
componente spectrale utilizând algoritmul LMS, în aceleaşi
condiţiile ca cele prezentate la punctul anterior.

Rezolvare:
(a) Relaţia ce va fi utilizată în modificarea iterativă a
amplitudinii oscilaţiilor spontane este similară cu (2.12) fiind
dată de:
a j n  1  a j n  a j J a j n (2.32)
Derivând funcţia de cost se obţine:

datorită mecanismelor neliniare de interacţiune între diferiţii oscilatori interni din


zonele corticale şi cele subcorticale [Bai, 2000].
21
Dan-Marius Dobrea

1 
  e 2 n 
 a j n    a j  
2
a j n  1

a j n  (2.33)
y n 
 a j n    a j en 
a j n 
În final se obţine:
a j n 1  a j n a j en x j n (2.34)
În mod similar pentru amplitudinile componentelor de
autocuplare cât şi pentru cele de intercupare se obţine:
bj n 1  bj n  bj en  j n (2.35)

cij n 1  cij n  ci j en ij n (2.36)

dij n 1  dij n  di j en ij n (2.37)


Verificarea corectitudinii acestor relaţiilor, determinate
anterior, se poate face şi prin intermediul implementării
acestora într-un program şi a testării funcţionării
algoritmului. Acest program se află în directorul „LMS –
modelare amplitudine”.
(b) Acest ultim punct al problemei este temă de casă.
Implemetarea programul ce realizează modelarea unui
semnal prin intermediul unor oscilaţii spontane, a
componentelor intercuplate şi a celor autocuplate prin
adaptarea atât a informaţiei de amplitudine cât şi a celei de
fază se află în directorul „LMS – modelare amplitudine si
faza”.

22
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

2.3. Aplicație a algoritmului LMS: modelul AAPPM

În continuare prezentăm o aplicație practică, a problemei anterioare, de


extragere de trăsături din semnalului EEG, [Dobrea, 2007]. Aplicația este
una completa, incluzând și partea de clasificare. Cu toate că prezentarea
clasificatorului neuronal multistrat ce lucrează cu clase multiple va fi
prezentată în unul din capitolele următoare, înțelegerea conceptuală a
modului de lucru este benefică chiar și în acest moment.
În această analiză s-a folosit setul de date EEG achiziționat la
Universitatea Purdue [Keirn, 1990]. Acest set de date este unul fundamental
și unul dintre cele mai cunoscute seturi de date în domeniul BCI. În fișierele
asociate cu această carte veți găsi acest set de date în întregime.
În cadrul studiului ce va fi prezentat în cele ce urmează, semnalele EEG
au fost modelate utilizând o versiune derivată din metoda ANMPA
(Adaptive Nonlinear Markov Process Amplitude) prezentată în [Serban,
2005]. Noul model propus va fi numit în continuare Adaptive Amplitude
and Phase Process Model (AAPPM).
De asemenea, oscilaţiile spontane (de frecvențe fi, vezi relația (2.26)) ce
sunt caracteristice fiecărui task mental în parte și care au fost utilizate în
acest model au fost determinate folosind funcţia de coerenţă aplicată fiecărui
canal individual de înregistrare, pentru fiecare task mental [Dobrea, 2007].

2.3.1. Funcţia de coerenţă.

Aşa după cum s-a menţionat mai sus, funcţia de coerenţă a fost cea
utilizată pentru a determina oscilaţiile spontane specifice utilizate apoi a
priori în cadrul modelului AAPPM. Pentru a calcula funcţia de coerenţă am
împărţit fiecare din cele două serii de timp analizate (de lungime P) în
segmente ce se suprapuneau; astfel au fost obţinute L segmente, fiecare de
lungime T, pentru fiecare serie de timp în parte. În continuare s-a aplicat
transformata Fourier fiecărui segment obţinut.
lT lT
FxT ( , l )  
(l 1)T
x(t )e it dt  e
t (l 1)T
it
x(t ) (2.38)

Transformata Fourier finită aplicată segmentului lth (l=1…L) al


fiecărei serii de timp şi calculată pentru frecvenţa λ a fost notată FTx(λ, l) şi
definită conform reaţiei (2.38). În relaţia (2.38) x(t) este dat în cazul nostru
23
Dan-Marius Dobrea

de s1(t) – prima înregistrare obţinută pentru subiectul ales, pentru fiecare


task şi pentru fiecare canal EEG şi, respectiv, de s2(t) – a două înregistrare
făcută pentru acelaşi subiect, task şi canal.
L
^ 1
f xy ( ) 
2 LT
F
l 1
x
T
( , l ) FyT ( , l ) (2.39)

Auto- şi cros-spectrele au fost apoi estimate prin medierea făcută pe cele


L segmente de date, conform relaţiei (2.39). În această relaţie bara de sus
‘¯¯’ de la FTx(λ, l) indică complex conjugatul, (x,y) sunt perechile (s1, s2)
pentru cros-spectru, iar (s1, s1), respectiv (s2, s2), sunt perechile pentru
autospectru. În continuare, estimatorul coerenţei pentru cele două semnale
s-a calculat cu formula (2.40).
^ 2

^ 2 f xy (  )
Rxy ( )  ^ ^
(2.40)
f xx (  ) f yy (  )

Funcţia de coerenţă indică gradul de corelaţie liniară din domeniul


frecvenţă dintre două semnale, pe o scală de la zero (independenţă) la unu
(completă dependenţă liniară). Calculând rădăcina pătrată a rezultatului
ecuaţiei (2.40) am obţinut o funcţie numită coherency.
Aplicând transformata Fisher (Tanh-1) valorii estimate pentru
coherency s-a obţinut o nouă variabilă a cărei varianţă este dată de valoarea
constantă σ2= 1 2 L ; aici L este numărul segmentelor utilizate pentru a estima
coerenţa. Folosind aceste valori am calculat apoi un test statistic pentru a
determina dacă estimatorii individuali ai coerenţei pentru toate perechile
(s1, s2) au o medie comună.
k mi
m (2.41)
i 1 k

2
k ( mi  m )
 (2.42)
i 1 2
Pentru cei k estimatori ai coherency, mi, am estimat media comună prin
(2.41) şi am calculat statistica cu (2.42) care în cazul ipotezei nule este
distribuită aproximativ ca χ2 cu (k-1) grade de libertate. Calculul ecuației
(2.42) a fost făcut pentru fiecare frecvenţă λ din intervalul [0,125] Hz. O
limită de 95% grad de încredere a fost setată la valoarea χ2(α;k-1) iar ipoteza
nulă a fost rejectată dacă valoarea din (2.42) depăşea această limită.
24
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

2
k ^
 f xy (  ) L
i 1
^ ^ (2.43)
k ^ k ^
( f xx (  ) L) (  f yy (  ) L)
i 1 i 1

Pentru a facilita interpretarea am calculat cu ajutorul relației (2.43)


estimatorul coerenţei de masă – acesta este un parametru ale cărui valori se
regăsesc în intervalul [0,1]. Presupunând independenţa dintre cele k perechi
de procese, limita superioară de 95% grad de încredere pentru estimatorul
(2.43) a fost dată de (2.44).
1
1 − 0.05 ∙ (2.44)
∑ 𝐿−1
Valorile estimatorului coerenţei de masă ce cad sub această valoare pot
fi considerate ca o dovadă că, în medie, nici o cuplare nu există între cele
două procese (x,y) la frecvenţa particulară λ. De asemenea, putem interpreta
(2.43) ca fiind reprezentativ pentru fiecare estimator al coerenţei dintre cele
k procese doar dacă ipoteza nulă (cei k estimatori ai coherency au o medie
comună) este acceptată.

2.3.2. Adaptive Amplitude and Phase Process Model (AAPPM)

După cum am menționat, anterior într-o primă abordare, semnalul EEG


a fost modelat folosind adaptive nonlinear Markov process amplitude
(ANMPA). Acest model este o implementare a nonlinear Markov process
amplitude model (NMPA) propus în [Bai, 2000] pentru interacţiunile de tip
cuplare neliniară a semnalelor EEG spontane. Parametrii acestui model au
fost determinaţi adaptiv, cu ajutorul algoritmului LMS (least mean square).
O versiune a acestui algoritm pentru un model AMPA (cu procesul Markov
de ordin întâi) este prezentat în [Al-Nashash, 2004].
Pentru task-ul nostru de clasificare s-a presupus că modelul EEG folosit
descompune în mod adecvat componentele de frecvenţă ale semnalului EEG
în câteva oscilaţii spontane (specificate a priori și specifice fiecărui task în
parte) precum şi în frecvenţele cuplate neliniar corespunzătoare (oscilaţii
auto-cuplate şi, respectiv, oscilaţii cros-cuplate). Mai exact, două unde
oscilatorii (de frecvenţe f1 şi f2) ce trec printr-un sistem neliniar generează
două tipuri de frecvenţe armonice: armonici de auto-cuplare (2∙f1 and 2∙ f2)
şi, respectiv, armonici de cros-cuplare (f1  f2).

25
Dan-Marius Dobrea

 K K
 y n    a j n x j n     sj a j n j n 
 j 1 j 1

  [ ijc1ai na j nij n   ijc 2ai na j nij n]
 i , j 1, K
 i j


 x j n  sin( n  TS  2  f j  i )

 (2.45)
 n  sin( n  T  2  2 f   )
 i S
j ij
 fi


 n  sin n  T  2  ( f  f )  
 ij S i j ij



ij n  sin n  TS  2  ( f i  f j )  ij 


Cunoscând acestea am descris modelul NMPA ca în (2.45). Aici, y[n]


este semnalul EEG estimat, presupus a fi compus din K oscilaţii diferite (xj,
j=1K), TS este rata de eşantionare, fj este cea de a j-a frecvenţă dominantă,
j este faza iniţială (care a fost aleasă zero), sj este coeficientul de auto-
cuplare a celei de a j-a oscilaţie a modelului, c1ij şi c2ij sunt coeficienţii de
cros-cuplare ai frecvenţelor cuplate (fi - fj) şi, respectiv, (fi + fj), n este
indexul de timp iar aj[n] este amplitudinea modelului pentru procesul
Markov de ordin întâi.
a j n  1   j n   a j n    j n    j n 
 (2.46)
 0   j n  1
Următoarea valoare estimată pentru amplitudinea modelului, aj[n+1], a
fost calculată cu relaţia (2.46). În relaţia (2.46) j[n] este incrementul
independent al distribuţiei Gaussiene de medie zero şi varianţă egală cu
unitatea, j este coeficientul procesului aleator iar j este coeficientul
procesului Markov de ordin întâi.
Algoritmul LMS a fost utilizat pentru a estima adaptiv parametrii
modelului (aj, j, j, sj, c1ij, c2ij, i,j =1K, ij). Pătratul erorii, e[n]2 = [s[n]-
y[n]]2 (unde s[n] reprezintă semnalul EEG ce trebuie modelat), a fost folosit
ca şi estimator al funcţiei de cost J, definită ca J = 1/2E{e[n]2}.

26
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

K L
y n    a m n  x m n    bm n   m n  
m 1 m 1
M N P Q (2.47)
   clm n   lm n     d lm n   lm n 
l 1 m 1 l 1 m 1
lm lm

După un număr mare de teste şi analize s-a concluzionat că modelul


ANMPA avea câteva dezavantaje majore. Cea mai importantă dintre acestea
era generată de slabele sale caracteristici de convergenţă. Pentru a obţine
cea mai bună soluţie trebuiau făcute un număr mare de rulări ale
algoritmului. Acest lucru a fost considerat un mare dezavantaj al modelului
ANMPA, utilizarea sa într-un sistem BCI făcând ca timpul real de operare
să fie unul impredictibil. Din aceste motive şi din dorinţa de a îmbunătăţi
comportamentul modelului ANMPA, s-a trecut la estimarea semnalului
EEG, y[n], folosind o exprimare mai compactă şi mai directă a modelului ca
cea dată de relaţia (2.47) sau de relația (2.25); de asemenea, fazele fiecărei
oscilaţii folosită, precum şi armonicile de auto- şi cros-cuplare au fost aflate
adaptiv. În ceea ce priveşte componentele spectrale aj[n], αi[n], ij[n] şi
ij[n], acestea au aceeaşi formă cu cea prezentată în (2.45).
Pe de altă parte, valorile necunoscute ale amplitudinilor şi fazelor au
fost determinate minimizând eroarea pătratică, e[n] (mai exact, funcţia de
cost, J), aşa cum s-a arătat mai sus.
1 
  e 2 n 
a j n   a j n    a j 2 
 a j n 
y n 
(2.48)
 a j n    a j en  
 a j n 
 a j n    a j en  x j n 

Aplicând ecuaţiile LMS (2.48) şi relaţiile (2.45), (2.47) am obţinut


următoarea formulă de ajustare a valorii parametrilor modelului AAPPM (a
se vedea relaţiile (2.49) sau (2.50), (2.51), (2.52) şi (2.53)) [Dobrea, 2007].
a j n 1  a j n   a j en x j n (2.49)
sau

a j n  1  a j n  a j ensin nTs 2  f j   j n  (2.50)

27
Dan-Marius Dobrea

b j n 1  b j n bj en j n (2.51)

cij n 1  cij n   ci j en  ij n (2.52)

d ij n 1  dij n   di j en ij n (2.53)

Cantităţile aj, bj, cij and dij sunt scalari pozitivi ce controlează rata de
convergenţă şi asigură stabilitatea modelului. În ceea ce priveşte variabilele
de fază, relaţiile LMS ale lui Windrow aplicate de noi au fost similare cu
cele prezentate mai sus, ele fiind date de (17):
1 
  e 2 n
 j n  1   j n   j 
2    n   en yn (2.54)
 j n  j n
j j

yn a j nsin n  Ts  2   f j   j n


  a j ncos n  Ts  2   f j   j n (2.55)
 j n  j n

şi, în final:
 j n  1   j n  en a j ncos  n  Ts  2   f j   j 
j
(2.56)
Din relaţiile de mai sus se poate observa că atunci când numărul
sinusoidelor ce sunt utilizate în modelarea semnalului EEG este mic
complexitatea computaţională a modelului este una foarte mică. Astfel,
pentru a actualiza un parametru estimat nu avem nevoie de mai mult de 4
înmulţiri şi 3 adunări. Cererea cea mai mare în complexitatea
computaţională apare la calcularea funcţiilor sinus şi cosinus. Însă această
problemă poate fi uşor rezolvată folosind o tabelă de tip look-up.
Pentru a încheia prezentarea noului model EEG propus vom spune că cel
mai mare avantaj al AAPPM este dat de caracteristicile sale superioare de
convergenţă. De fapt, modelul este unul capabil să conveargă la soluţia
optimă în nu mai mult de 30 de intervale de eşantionare (vezi Figura 2.4).
Coeficienţii AAPPM calculaţi (amplitudinele și fazele oscilațiilor
spontane și a componentelor de autocuplare și intercuplare) au reprezentat
componentele vectorilor-trăsături utilizaţi ca intrări pentru clasificatorul de
tip RNA, [Dobrea, 2007]. Reţeaua neuronală folosită a fost una de tip
perceptron multistrat (MLP) cu un singur strat ascuns şi antrenată cu
algoritmul backpropagation [Haykin, 1999]. În această lucrare s-a preferat
utilizarea unei reţele neuronale de tip MLP în locul oricărui alt clasificator
superior (cum ar fi cazul clasificatorilor de tip Support Vector Machines
28
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

etc.) şi asta doar pentru că s-a dorit doar testarea noului concept introdus şi
a performanţelor sale în comparaţie cu alte tehnici de extragere de trăsături
deja implementate şi raportate în literatură şi nu puterea sistemelor de
clasificare.

Semnalul EEG real – în


domeniul timp [eșantioane] Spectrul semnalului
EEG real [Hz]
Semnalul EEG real – în
Spectrul semnalului
domeniul timp [eșantioane]
EEG modelat [Hz]

Frecvențele oscilaţiilor
spontane [Hz] Eroarea de antrenare [epoci]

Figura 2.4. Interfaţa cu utilizatorul a progamului de obținere a


coeficienților modelului AAPPM [Dobrea, 2007]

2.3.3. Rezultate.

În studiul întreprins şi raportat aici ne-am axat analiza doar pe un singur


subiect, cel care a fost raportat în literatură ca obţinând cea mai bună rată de
clasificare a celor 5 task-uri în comparaţie cu ceilalţi 3 subiecţi înregistraţi,
[Dobrea, 2007].
Pentru a obţine valorile funcţiei de coerenţă – calculată pentru două
înregistrări diferite achiziţionate de la acelaşi electrod, în aceleaşi condiţii
de înregistrare şi pentru acelaşi task –, s-a utilizat metoda ferestrelor
29
Dan-Marius Dobrea

alunecătoare. Lungimea ferestrelor a fost de 512 eşantioane, suprapuse 95%


(echivalentul unei ferestre alunecătoare de 25 eşantioane sau 100 ms). În
acest mod s-a încercat urmărirea intimă a tranziţiilor activităţii corticale
considerate a avea loc, în general, în intervale de timp de zeci şi/sau sute de
milisecunde.
Clasificator (RNA
Modalitatea de
de tip multistrat)
codificare a task-urilor
x1
Coeficienții x2
modelului Base (1 0 0 0 0)
. O1
AAPPM . Count (0 1 0 0 0)
O2
calculați pe . O3 Letter (0 0 1 0 0)
fiecare freastră O4 Math (0 0 0 1 0)
și pe fiecare din O5 Rotate (0 0 0 0 1)
cele 6 canale
EEG xM M = 104

Figura 2.5. Schema bloc a sistemului de clasificare

Selectarea frecvenţelor fundamentale utilizate a priori în modelul


AAPPM al semnalului EEG a fost făcută după cum urmează. Pentru fiecare
canal de înregistrare (C1, C2, P1, P2, O1, O2) au fost luate în considerare
cinci frecvenţe diferite, fiecare dintre acestea reprezentând frecvenţa cu cea
mai mare valoare a coerenţei obţinută pentru respectivul canal şi pentru
fiecare dintre cele cinci task-uri mentale. Trebuie să subliniem aici faptul că
toate frecvenţele de interes selectate conform criteriului de mai sus s-au
regăsit în banda gama. Acest lucru vine să puncteze importanţa frecvenţelor
din spectrul frecvenţelor înalte care, pînă nu demult, au fost considerate ca
neaducînd nici o informaţie utilă. În prezent însă există cercetări ale căror
rezultate vin şi susţin contrariul [Liu, 2005], [Palaniappan, 2006]. Vectorii
de trăsături utilizaţi la intrarea clasificatorului RNA au fost obţinuţi prin
concatenarea parametrilor modelului AAPPM obţinuţi pentru ferestre
alunecătoare de semnal EEG de 256 de eşantioane înregistrate simultan de
la cele şase canale EEG. Pentru o fereastră alunecătoare cu 12 eşantioane şi
pentru o serie de date de 2250 eşantioane reprezentând semnalele EEG
filtrate trece-sus cu un filtru FIR la 20 Hz, s-au obţinut în final 1670 de
vectori trăsături ca intrări pentru RNA ((167 vectori/fiecare înregistrare) x
(2 înregistrări) x (5 task-uri mentale)). Un procent de 80% din această bază
de date de intrare a fost folosit ca set de antrenare (1336 vectori) a RNA iar
restul de 20% a fost folosit ca set de cros-validare (334 vectori). Necesitatea
prefiltrării semnalelor a apărut datorită faptului că cea mai mare parte a
energiei semnalului EEG (valorile cele mai mari ale frecvenţelor) se găseşte

30
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

de obicei situată în banda 0 – 20 Hz, ceea ce ar fi putut face dificilă obţinerea


unui model AAPPM viabil pentru semnalul EEG. În plus, pentru ca modelul
AAPPM propus să nu introducă frecvenţe în banda 0 – 20 Hz sau frecvenţe
mai mari decât jumătatea frecvenţei de eşantionare (şi anume, 125 Hz), s-a
recurs la revizuirea software-ului iniţial utilizat în determinarea modelului
AAPPM. În noua versiune de program s-au pus toate ratele de învăţare
precum şi amplitudinile iniţiale la zero dar numai pentru componentele
spectrale anterior menţionate. În acest mod vectorul de trăsături a fost
redus de la 180 de elemente la doar 104 componente.
Reţeaua neuronală a avut următoarea arhitectură: 104 intrări, 1 strat
ascuns conţinând 40 de elemente de procesare şi 4 sau 5 ieşiri corespondente
situaţiei analizate cu 4 sau 5 task-uri mentale. Utilizarea unei reţele
neuronale cu 2 straturi ascunse nu a determinat o îmbunătăţire relevantă a
rezultatelor.
În Figura 2.5 se prezintă schema bloc a sistemului de clasificare.
Rezultatele obţinute în urma clasificării pentru cele două situaţii
analizate (clasificarea a 4 şi respectiv 5 taskuri mentale) sunt prezentate în
Tabelul 2.1 şi Tabelul 2.2, [Dobrea, 2007]. În ambele tabele task-urile sunt
codate după cum urmează: T1 – bază sau relaxat, T2 – numărare, T3 –
scriere scrisoare, T4 – calcul matematic, T5 – rotire.

Tabelul 2.1. Rezultatele obţinute în cazul clasificării a 4 task-uri mentale


pe baza trăsăturilor obținute cu ajutorul modelului AAPPM
Clasele asignate
Numărare Scrisoare Matematic Rotire
Numărare 79.6% 3.2% 6.3% 10.9%
Clasele Scrisoare 2.9% 84.1% 5.7% 7.3%
reale de
aparteneţă Matematic 6.1% 13.6% 77.3% 3%
Rotire 14.7% 10.3% 2.9% 72.1%

Tabelul 2.2. Rezultatele obţinute în cazul clasificării a 5 task-uri mentale


pe baza trăsăturilor obținute cu ajutorul modelului AAPPM
Clasele asignate
Relaxare Numărare Scrisoare Matematic Rotire
Relaxare 65% 15% 5% 8.3% 6.7%
Clasele Numărare 11.9% 64.2% 3.1% 8.9% 11.9%
reale de Scrisoare 7.6% 3.9% 78.5% 6.3% 3.7%
aparteneţă Matematic 8.3% 8.3% 10% 70% 3.4%
Rotire 7.3% 7.3% 11.8% 1.5% 72.1%

31
Dan-Marius Dobrea

Figura 2.6. Scăderea erorii în setul de antrenare (curba cea mai de jos –
roșu) şi în cel de crosvalidare (curba superioară - albastru)

Caracteristicile de învăţare pentru ambele situaţii sunt prezentate în


Figura 2 şi în Figura 3 pe seturile de date de antrenare (T) şi crosvalidare
(CV), [Dobrea, 2007]. În medie rata de identificare corectă a clasei de
apartenenţă a fost de 78.275% pentru situaţia clasificării a 4 task-uri
mentale, în această situaţie eroarea minimă de clasificare fiind de 72%. În
cazul clasificării a 5 task-uri mentale în medie rata de clasificare corectă a
fost de 70% cu menţiunea că pentru cea mai defavorabilă situaţie, pentru
clasa T2, a ajuns la 64%.

Figura 2.7. Scăderea erorii în setul de antrenare şi în cel de crosvalidare

Aceste rezultate obţinute sunt foarte bune dacă le comparăm cu cele


prezentate în literatură pe aceeaşi bază de date. În [Anderson, 1996] rata
32
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

corectă de clasificare medie pentru un singur subiect a fost de 71% pentru


unul din cei 4 subiecţi (cel care a fost utilizat şi în studiul nostru) coborând
până la 38% pentru un alt subiect, în cazul clasificării tuturor celor 5 task-
uri. Aparent rezultatele sunt foarte similare cu cele obţinute de noi, dar în
realitate nu este întocmai aşa. Rezultatele raportate în [Anderson, 1996] au
fost în mod artificial îmbunătăţite printr-o etapă de post-procesare,
performanţele reale de clasificare fiind de fapt de doar 54%. În alte lucrări
ştiinţifice dedicate clasificării de task-uri mentale rezultatele sunt prezentate
doar pentru 2 task-uri mentale. În aceste situaţii performanţele de clasificare
corectă s-au situat în intervalul 70% ... 90%. Dar se ştie că aceste
performanţe scad o dată cu creşterea numărului de task-uri mentale utilizate
în clasificare.

33
Dan-Marius Dobrea

34
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

3. Modelul neuronal McCulloch-Pitts

Acesta este primul model neuronal și a fost propus în anul 1943


[McCulloch, 1943]. Acest model neuronal a purtat inițial numele de unitate
logică cu prag (Threshold Logic Unit).
În cele ce urmează vom studia în principal caracteristicile
discriminatorii ale acestui model neuronal. Înțelegerea acestora va
determina ulterior înțelegerea caracteristicilor discriminative a
perceptronului, ulterior a rețelei neuronale cu un strat ascuns și, în final, a
RNA cu două straturi ascunse.

3.1. Capacitatea discriminativă a neuronului McCulloch-Pitts

Modelul neuronal McCulloch-Pitts (M-P) este o generalizare a


modelului neuronal Adaline şi este compus: (a) dintr-o sumă de produse
dintre intrările neuronului şi ponderile sinaptice ale acestuia plus (b) o
valoare constantă (pragul), iar toate acestea sunt (c) trecute printr-o
neliniaritate de tip prag.
Ecuaţia de intrare-ieşire al acestui neuron artificail este:
 d 
yk   f g xk   f   wi k   xi k   b  (3.1)
 i 1 
De altfel, modelul neuronului McCulloch-Pitts pe care il vom studia în acest
capitol, prezentat în relaţia (3.1), este o generalizare a modelului neuronal
propus în anul 1943 şi care lucra, atunci, doar cu variabile de intrare binare
(0 şi 1) și care era caracterizat de ponderi şi praguri fixe.
În relaţia (3.1) d reprezintă numărul de intrări ale neuronului (acest
număr este dat de dimensionalitatea spaţiului de intrare al trăsăturilor), xi
reprezintă valorile intrărilor elementului de procesare, wi sunt ponderile iar
b este termenul prag sau bias. În cadrul modelului neuronal McCulloch-Pitts

35
Dan-Marius Dobrea

funcţia de activare f este o funcţie de tip semn (hard limited) definită prin
relaţia:
 1 dacă x  0
f  x   (3.2)
 1 dacă x  0
Această funcţie de activare este liniară pe porțiuni și discontinuă în
punctul 0. Funcția caracterizată de relația (3.2) poartă numele de funcţie
semn sau comparator bipolar.
Pentru utilizarea unei funcții semn în cadrul modelului neuronal M-P,
(3.2), decizia aparteneţei unui element la o clasă sau alta este una de tip crisp
– elementul poat sau nu să aparțină clasei respective.
Din relația (3.2) observăm că un astfel de sistem, realizat cu ajutorul
unui neuron de tipul M-P, este capabil să separe doar elementele
caracterizate de două clase. Pentru prima clasă răspunsul structurii
neuronale va fi de exemplu +1, iar pentru cea de a doua clasă vom avea
valoarea -1. Acesta este un prim dezavantaj al acestei structuri neoronale:
capacitatea de a clasifica elemnte aparținân doar la două clase.
În concluzie, elementul de procesare M-P este compus din:
 elementul liniar adaptiv (combinatorul liniar), cunoscut sub
numele de neuronul Adaline (Adaptive Linear Element), şi
 o funcţie neliniară.
În continuare vom studia şi vom înţelege capacitatea neuronului M-P
de a recunoaşte, de a clasifica diferiţii vectori de trăsături. Din punct de
vedere al teoriei clasificatorilor, relaţia (3.1) este generatoarea unei singure
funcţii discriminant [Dobrea, 2009], dată de relaţia:
d
g  x[ k ]   w1 [ k ] x1 [ k ]  ...  w d [ k ] x d [ k ]  b   w [k ]x [k ]  b
i i (3.3)
i 1

Dar, din punct de vedere medical, fiziologic relaţia anterioară este


similară şi modelează potenţialul membranei unui neuron biologic.
În această situaţie putem scrie ieşirea elementului de procesare astfel:
 1 pentru i 1 wi k x j k   b  0
d

yk   f g  xk    (3.4)


pentru i 1 wi k x j k   b  0
d
 1
Din relaţia anterioară se poate observa că valoarea ieşirii neuronului
este controlată în mod direct de către termenul g(x[k]) dat de relația (3.3).
În paragrafele următoare vom încerca să înţelegem în mod intuitiv ce
reprezintă această funcţie discriminant generată de către neuronul M-P.

36
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Pentru facilitarea reprezentării grafice şi a înţelegerii intuitive a


capacităţilor acestui neuron vom lucra mai departe într-un spaţiu
bidimensional de intrare sau de trăsături. Observațiile și concluziile pe care
le vom face în acest spațiu se pot generaliza foarte ușor pentru un spațiu de
intrare multidimensional, de exemplu într-un spațiu d dimensional.
Deci, simplificând relaţia (3.3) se poate observa că valoarea ieşirii
neuronului este controlată în mod direct de către termenul:
g(x1,x2) = w1x1+ w2x2+b (3.5)
Termenul, anterior prezentat, reprezintă ecuaţia unui plan, vezi și
Figura 3.1. Dar simultan, acest termen este chiar funcţia discriminant
generată de neuronul M-P. Rezultatul intersecției acestui plan, cu planul x1x2
este chiar suprafața de decizie ce va separa cele două clase.
g(x1, x2) g(x1,x2) - funcţia
Suprafaţa de decizie g(x1, x2) = 0, discriminant
obţinută la intersecţia funcţiei discriminant -b/w2 x2
cu planul (x1, x2), de pantă = –w1/w2

g>0
50 3
2
25 1
-3 -2 00 0
x1
-1 1 2 3
-25 -1
-2
-50
-3
-75 -b/|w|
g<0 -100

Figura 3.1. Prezentarea funcţiei discriminant și a suprafeței de decizie


pentru cazul unui clasificator binar

Observăm ca o particularitate a acestui model neuronal, există o singură


funcție discriminant și nu două funcții discriminat care să caracterizeze
fiecare câte o clasa în parte.
Ecuaţia suprafeţei de decizie se obţine prin egalarea cu zero a funcţiei
discriminant:
g( x1, x2 )  w1x1  w2 x2  b  0 (3.6)

37
Dan-Marius Dobrea

Problemă 3.1: Ştiind modalitatea de definire a suprafeţei/suprafeţelor de


decizie raportate la funcţiile discriminant a claselor, dovediţi că
relaţia anterioară este corectă.
Din relațiile anterioare și din reprezentarea grafică din Figura 3.1
rezultă că pentru toți vectorii de trăsături poziționați deasupra suprafeței de
decizie (care în această situație particulară este o dreaptă, dată de relația
(3.6) și, ulterior, de (3.7)) funcția discriminant, g(x1,x2), va avea valori strict
pozitive în timp ce pentru vectorii de trăsături poziționați dedesubtul
suprafeței de decizie funcția discriminant va avea valori negative.
În continuare prin aplicarea funcţiei de activare (relația (3.2)) funcției
discriminant g(x1,x2) (care este tocmai ieșirea unui neuron Adaline) va
rezulta un sistem care împarte spaţiul de intrare (x1x2) în două semiplane:
1. primul semiplan care conține toți vectorii de trăsături pentru care
funcția discriminat este strict pozitivă; aici toți vectorii de
trăsături sunt evaluaţi cu o valoare +1 a ieșirii modelului
neuronal.
2. cel de al doilea semiplan în care funcția discriminat este strict
negativă, iar aici toți vectorii de trăsături vor fi evaluaţi de
neuronul M-P cu o valoare -1 la ieșirea acestuia.
Din (3.6) rezultă că:
w1 b
x2   x1  (3.7)
w2 w2
Utilizând relația (3.7) vom caracteriza suprafaţa de decizie prin
următorii parametri dați de ecuaţia dreptei – panta:
m w1 /w2 (3.8)
și intersecția suprafeței de decizie cu axa x2 în punctul:
b
 x2   (3.9)
w2
Această suprafață de decizie se găseşte poziţionată la o distanţă 2 faţă de
origine egală cu:

2
Distanţa dintre un punct de coordonate (x0, y0) şi o dreaptă de ecuaţie a x + b y + c = 0
este:
ax  by0  c
d 0
a 2  b2
38
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

b
d  (3.10)
w 1
2
 w 22
Datorită formei şi a semnificaţiei generate de relaţia (3.10) termenul b
este cunoscut în literatura de specialitate drept deplasare (bias în engleză)
sau distanța față de origine a suprafeței de decizie.

x2 x2
1

0.5
x1 0.5 1 x1
0.5 1 - 0.5
-0.5 -0.5

-1
(a) (b)
x2
x2
1 1

0.5 -0.5

- 0.5 0.5 x1 - x1
-1 1 -0.5 0.

- 0.5 -0.5

(c) -1 (d)

Figura 3.2. Reprezentările grafice ale regiunilor decizionale pentru


neuronului McCulloch-Pitts pentru diferite valori ale ponderilor sinaptice
şi a biasului în conformitate cu datele problemei precedente

Relaţia (3.4), particularizată pentru d = 2, ne poate ajuta să vizualizăm


răspunsul neuronului de tipul M-P în spațiul bidimensional de intrare. Dar,
acest exemplu este unul foarte simplu în care avem o ieşire ce are doar două
valori {-1, 1}. Obținerea unei relații matematice intrare-ieșirei de forma
celei din relația (3.4), în special pentru structurile neuronale multi strat, cu
multiple ieșiri, având poate și structuri recurente, este foarte greu de obţinut.
39
Dan-Marius Dobrea

Din acest motiv se preferă o determinare a caracteristicii neuronului (a


suprafeţei de decizie) printr-o parcurgere exhaustivă a întregului spaţiu de
intrare. Suprafaţa obţinută reflectând astfel legătura existentă între intrarea
şi ieşirea sistemului neuronal – implementat în acest caz particular doar cu
ajutorul unui singur neuron de tipul McCulloch-Pitts.
Acest exemplu prezentat anterior (relațiile (3.5) - (3.10)) se poate
extinde şi pentru spaţii de intrare multidimensionale, numai că de data
aceasta suprafaţa de decizie, liniară în cazul anterior, devine un hiperplan
cu o dimensiune mai mică cu o unitate faţă de dimensiunea spaţiul de
intrare.

Problemă 3.2: Determinaţi ponderile, w1 şi w2, precum şi bias-ul, b, pentru


modelul neuronal McCulloch-Pitts astfel încât suprafaţa de
decizie să fie poziţionată astfel:
(a) Să treacă prin punctele (0.5, 0) şi (0, -0.5). În plus, în planul
de intrare (x1, x2) neuronul să întoarcă o valoare egală cu +1
în partea dreaptă a suprafeţei de decizie, vezi Figura 3.2.(a).
(b) Să treacă prin punctele (0.5, 0) şi (0, -0.5). În plus, în planul
de intrare (x1, x2) neuronul să întoarcă o valoare egală cu +1
în partea superioară a suprafeţei de decizie, vezi Figura
3.2.(b).
(c) Să treacă prin punctul (0.5, 0) şi să fie paralelă cu axa x2.
Simultan mai există și constrângerea ca în planul de intrare
(x1, x2) neuronul să întoarcă o valoare egală cu +1 în partea
stângă a suprafeţei de decizie și -1 în partea dreaptă, vezi
Figura 3.2.(c).
(d) Să treacă prin punctul (0, 0.5) şi să fie paralelă cu axa x1. În
plus, în planul de intrare (x1, x2) neuronul să întoarcă o
valoare egală cu +1 în partea superioară a suprafeţei de
decizie, vezi Figura 3.2.(d).
Pentru testarea corectitudinii valorilor calculate utilizaţi implementarea
din directorul “Perceptron Discriminant” asociat acestui capitol.

40
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

3.2. Funcții de activare

3.2.1. Tipuri de funcții de activare

Singura neliniaritate (funcție de activare) prezentată și utilizată până


acum a fost cea a comparatorului binar (funcția semn) – dată de relația
(3.11). Pe lângă această funcție mai există mult altele tipuri de funcții de
activare. În continuare vom prenzenta o parte dintre ele.
Dezavantajul principal al comparatorului binar este dat de prezența
discontinuității în origine. Deoarece dorim să găsim și în cazul structurilor
neuronale neliniare algoritmi de adaptare, iar aceștia folosesc derivata –
după cum se va vedea în capitolele ce urmează, trebuie căutate funcții de
activare care să fie continui pe întreg domeniul de definiție.
Dintre acestea cele mai cunoscute sunt cele ce au o formă sigmoidală 3.
Avantajul fundamental al neliniarităţilor de tip sigmoidal este dat de faptul
că acestea sunt derivabile. Cele mai utilizate neliniarităţi sigmoidale sunt
cele de tip: logistic (funcție sigmoidală unipolară – vezi relația (3.12)) şi
tangentă hiperbolică (funcție sigmoidală bipolară – vezi relația (3.13)).
 1 x  0
f x    (3.11)
 1 x0
1
f x   (3.12)
1  exp  x 

f x   tanh  x  (3.13)
x
f x   (3.14)
1 x

În Figura 3.3 se observă influența pantei (a parametrului ) asupra


formei sigmoidale a funcțiilor de activare logistică și hiperbolică.
Pentru ultimile două neliniarităţi, prezentate grafic şi analitic în Figura
3.3 (b) și (c), parametrul  determină panta neliniarităţii şi în mod uzual ia
valoarea 1.
Diferenţa majoră între ultimile două neliniarităţi, prezentate în Figura
3.3(b) - (3.12) şi Figura 3.3(c) - (3.13), este dată de domeniul de variaţie a

3
aceasta funcţie este una monoton crescătoare având o formă de tip S
41
Dan-Marius Dobrea

valorilor de ieşire. Pentru funcţia logistică domeniul este cuprins între [0, 1]
în timp ce pentru funcţia tangent hiperbolică între [-1, 1].

=4

=1

 = 0.25

(a) (b) (c)


Figura 3.3. Tipuri de neliniarităţi: (a) semn, (b) logistică şi (c)
tangentă hiperbolică

Există multe alte funcții “înrudite” cu cele prezentate anterior – de tip


semn (precum Heaviside sau a comparatorului unipolar, comparatorul
bipolar cu prag, linară cu saturație etc.) sau sigmoidale (precum arctangentă
sau softsign – vezi relația (3.15)) – sau diferite fundamental de acestea (cum
sunt cele prezentate în Figura 3.4.(a) și (b)) care pot fi utilizate pe post de
funcții de activare.
În domeniul rețelelor neuronale, majoritatea funcțiilor de activare
utilizate de către diferite tipuri de RNA sunt neliniare (existând doar câteva
excepții, precum neuronul Adaline) și monotone. Cu toate acestea, există și
funcții de activare nemonotone, care sunt utilizate de RNA, precum cea din
Figura 3.4(b) – cu relația matematică dată de (3.17) și care sunt utilizater
în special în rețele neuronale de tipul RBF (radial basis function) [Buhmann,
2003].

Figura 3.4. Alte tipuri de funcții de activare: (a) ReLU și (b) Gausiană

42
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

f  x   max  0 , x  (3.15)
f  x   ln 1  exp  x  (3.16)

f  x   exp   x 
2
 (3.17)
Relațiile (3.15) și (3.16) sunt reprezentate grafic în Figura 3.4(a) și sunt
utilizate în special în rețelele neuronale cu structură adâncă. Relția (3.15)
prezintă funcția de activare semi-liniară, ReLU (Rectified Linear Unit)
utilizată în majoritatea rețelelor profunde, în timp ce (3.16) este aproximarea
ei continuă, cunoscută sub numele de funcția SoftPlus.
Aceste neliniarități sunt doar unele din cele mai importante care există
– dar există multe altele. La sfarșit ne putem pune o întrebare foarte legitimă:
“Pe care dintre acestea să le utilizez în problema mea?”.
În literatura de specialutate există dovezi care susțin faptul că funcțiile
de transfer antisimetrice4 permit algoritmului de retropropagare a erorii să
conveargă mai repid. O astfel de funcție este funcția tangent hiperbolică. De
asemenea, există dovezi practice care susțin utilizarea unei neliniarități
SoftPlus. Utilizând o astfel de neliniaritate o RNA de tip perceptron
multistrat poate clasifica corect distribuții spațiale precum cea din problema
de tip benchmark a celor două spirale îmbinate. Anterior, fără a utiliza o
astfel de neliniaritate, o astfel de RNA nu putea clasifica corect o astfel de
distribuție. În schimb rețelele neuronale de tip RBF cu neliniarități Gauss-
iene pot rezolva ușor problema.

3.2.2. Influențe generate de funcțiile de activare neliniare

În principal existenţa unei neliniarităţii la ieşirea unui neuron


determină schimbarea formei suprafeţei de eroare. Forma parabolică a
suprafeţei de eroare existentă în sistemele liniare, precum cele prezentate în
Figura 2.1 sau Figura 2.3 nu se va mai regăsi în RNA neliniare.
La modul cel mai general, suprafaţa de eroare descrie dependența dintre
costul reţelei și vectorul de ponderi. Dar prin intermediul relațiilor (2.30) și
(2.31) suprafaţa de eroare va depinde intermediar de ieșirea neuronului. În
momentul în care un element de procesare neliniară este utilizat relaţia
dintre suprafaţa de performanţă şi vectorul de ponderi devine ea însăși
neliniară, tocmai datorită existenței acestei neliniarități.
Dacă forma parabolică a suprafeței de eroare asigura existența unui
singur minim, prin utilizarea unei neliniarități nu mai avem această garanţie

4
O funcție antisimetrică satisface următoarea relație: f(-x) = - f(x).
43
Dan-Marius Dobrea

– acum pot exista multiple minime [Principe, 2000], vezi Figura 3.5. Deci,
suprafaţa de eroare poate avea acum mai multe minime, din care numai unul
dintre este minimul global, restul fiind minime locale.
 (w)
minim
minim local 2
local 1 minim
global
w
wmin.1 wmax.1 wopt. wmax.2 wmin.2
Figura 3.5. Suprafaţa de performanţă

În Figura 3.6 se prezintă o altă formă a funcției de cost pentru problema


porții XOR, în care se arată forma suprafeței de eroare pentru doar 2 din cele
9 ponderi ale modelului neuronal care rezolvă problema. Cu toate că aparent
problema este foarte simplă, observăm existența a 5 minime locale și doar a
unui minim global. Modalitatea de obținere a acesteia se va prezenta mai
târziu.
Observăm că utilizarea unei funcții de activare neliniară generează un
prim mare dezavantaj: existența unor multiple minime. Dar, ulterior vom
înțelege că nu poate exista un sistem de clasificare fără ca neuronii acestuia
să prezinte neliniarități. Existența neliniarității fiind de fapt un mecanism
fundamental în funcționarea unui clasificator ce prezintă atât avantaje dar și
dezavantaje.
Zone de minim local de tip „platou”

 (w1, w2) -15


2 -10
-5
0
1 w2
5

0 10
-15 -10 -5 15
0 5 10 15
w1
Zonă de minim global

Figura 3.6. O altă reprezentare a suprafeţei de eroare

44
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Problemă 3.3: Pentru a dovedi afirmația precedentă în mod aplicativ vom


compara din punct de vedere practic capacitățile discriminatorii
a doi neuroni. Primul neuron va avea o neliniaritate de tip tangent
hiperbolică, iar cel de al doilea o funcție de activare liniară.
Deschizând foile de lucru în NeuroSolution cu aceste structuri
neuronale, antrenați în paralel cei doi neuroni și explicați calitativ
rezultatele obținute.
Răspuns: În cazul unei structuri neuronale neliniare, precum cea din
problema de mai sus, la început suprafața de decizie este plasată
în mod grosier (astfel încât cea mai mare parte a elementelor să
fie clasificate corect) – în acest moment ponderile și bias-ul
neuronului sunt derterminate destul de exact. În pasul doi, aceste
valori se mai modifică, dar destul de puțin – pentru o plasare
optimală a suprafeței de decizie, în schimb se manifestă
preponderent un al doilea mecanism. Acest mecanism va păstra
raportul ponderilor constant dar va crește în mod continuu
valorile acestora. Rezultatul direct va fi dat de valori din ce în ce
mai mari a ieșirii neuronului. Aceste valori se vor plasa pe funcția
neliniară departe de regiunea tranzitorie, pe zonele de saturare a
neliniarității. Efectul obținut va fi o îngustare a regiunii de
tranziție existentă între cele două clase dublată de o scădere
continuă a erorii de antrenare odată cu creșterea numărului de
epoci de antrenare.
Acest fenomen nu va apare în situația funcției de activare
liniară, iar eroarea de antrenare obținută cu un asemenea neuron
se va plafona la o anumită valoare și nu va scădea odată cu
creșterea numărului de epoci de antrenare.

În cazul RNA minimul pe suprafața de eroare care produce cea mai


mică eroare posibilă este numit minimul global – acesta este dat de
vectorul optim de ponderi pe care algoritmii de antrenare trebuie să-l
găsească.
Startând procesul de adaptare al structurii neuronale din vecinătatea
unui minim local, algortimul va converge către acesta. Acest fapt se
datorează modalității de căutare a minimului. În cadrul clasei algoritmilor
de tip gradient modificarea ponderilor este bazată numai pe o informaţia
locală. În acest mod algoritmului îi este imposibil să deosebească un minim
local de un minim global. Astfel putem obţine performanţe suboptimale.
Existența minimelor locale, pe suprafața de eroare, generează
necesitatea existenței unui număr multiplu de antrenări – fiecare
45
Dan-Marius Dobrea

antrenare fiind caracterizată de o nouă generare aleatoare a vectorului de


ponderi. Astfel, ne vom poziționa pe suprafața de eroare în diferite regiuni
și în urma procesului de antrenare algoritmul va determina convergența
ponderilor către minimul cel mai apropiat. Iar după un anumit număr de
antrenări algoritmul va converge către minimul global.
Din cele prezentate până aici înțelegem: (a) necesitatea generării
aleatorii a parametrilor RNA – a vectorilor de ponderi și a bias-urilor (dacă
acestea nu sunt incluse în vectorii de ponderi, ca în (2.1)) și (b) necesitatea
existenței unui număr multiplu de antrenări.

46
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

3.3. Elementul de procesare M-P clasificator optimal ?

Deoarece ieşirea funcţiei logistice ia valori doar în intervalul [0, 1], ne


punem întrebarea legitimă dacă acest fapt ne permite o interpretare a ieşirii
neuronului drept probabilitate posterioară pentru o distribuţie Gauss-iană a
claselor de intrare. Aceasta deoarece știm că, clasificatorul Bayes-ian este
clasificatorul optimal, este acel clasificator care ne oferă performanțele
maximale de clasificare pentru o problemă dată și dorim să aflăm cât de
“departe” față de acesta este unul neural.
Conform regulii Bayes, particularizată pentru situația unui neuron M-P
ce poate lucra doar cu 2 clase, o probabilitate de tip posterioară poate fi
scrisă ca:

𝑓(𝑐 |𝑥)𝑃(𝑐 )
𝑃(𝑐 |𝑥) = (3.18)
𝑓(𝑐 |𝑥)𝑃(𝑐 ) + 𝑓(𝑐 |𝑥)𝑃(𝑐 )
Pentru situația noastră particulară, în relația (3.18) indexul i poate lua doar
valorile 1 și 2, iar c1 şi c2 reprezintă cele două clase. Din punct de vedere
matematic se poate arăta ușor că:

P c1 x   f log  g x  
1
(3.19)
1  exp  g x 

cu valoarea parametrului a dată de:


f x c1 P c1 
g  x   ln (3.20)
f x c 2 P c 2 
Deci, din relaţia (3.19), se poate observa că aceasta este chiar forma
neliniarităţii de ieşire logistice, deci putem interpreta ieşirea neuronului
drept probabilitatea posterioară a eşantionului de intrare.
Astfel pentru o ieșire egală cu 1 avem:
𝑦 = 1 = 𝑃(𝑐 = 1|𝑥, 𝑤) = 𝑓 𝑔(𝑥) = 𝑓 (𝑤 𝑥 + 𝑏) (3.21)
în timp ce pentru o ieșire egală cu 0 (în situația elementelor aparținând celei
de a doua clase) vom avea:
𝑦 = 𝑃(𝑐 = 0|𝑥, 𝑤) = 1 − 𝑃(𝑐 = 1|𝑥, 𝑤)
(3.22)
= 1 − 𝑓 𝑔(𝑥) = 𝑓 (−𝑤 𝑥 − 𝑏)

47
Dan-Marius Dobrea

Având în vedere că putem găsi o relaţie matematică liniară între funcţia


tangent hiperbolică şi cea logistică putem nu numai echivala reţelele
neuronale care utilizează una dintre aceste funcţii, dar putem păstra şi
interpretarea de tip probabilitate a ieşirii.

48
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

3.4. Algoritmul de adaptare al ponderilor

3.4.1. Concepte de baza

Plasare funcţiei discriminant, generată de neuronul McCulloch-Pitts în


spaţiul de intrare al trăsăturilor, este controlată de:
1. raportul ponderilor – acestea controlează panta (orientarea)
suprafeţei de decizie în spațiul trăsăturilor, în timp ce
2. bias-ul controlează cu cât se va transla această suprafaţă de
decizie faţă de origine, determinând punctul de intersecţie al
acesteia cu ambele axe (x1 şi x2) sau numai cu una din ele.
Plasare funcţiei discriminant trebuie controlată într-o așa manieră astfel
încât eroarea de clasificare să fie minimizată. Astfel încât, cât mai multe
din elementele asociate clasei cu valoarea 1 (doritul) să fie clasificate de
RNA de o așa manieră încât ieşirea ei să aibă valoarea 1 pentru acestea. În
mod similar punându-se problema pentru cea de a doua clasă.

3.4.2. Algoritmul de adaptare

În domeniul rețelelor neuronale există o multitudine de moduri de


calcul a erorii de clasificare. Cea mai folosită este eroarea medie pătratică
(MSE – Mean Square Error). Aceasta este o funcţie de cost dată de:

1 1
𝐽= 𝜀 = (𝑑 − 𝑦 ) (3.23)
𝐴 𝐴

În multe lucrări veți observa și următoarea formă de scriere a acesteia:

1 1
𝐽= 𝜀 = (𝑑 − 𝑦 ) (3.24)
2𝐴 2𝐴

Între cele două relații, (3.23) și (3.24), nu există o diferență conceptuală


fundamentală. Utilizând forma dată de (3.24), vom observa mai tarziu că în
momentul în care vom calcula derivata termenului pătratic (care prin însăși
forma sa reprezintă o putere) se va obține o reducere a formei matematice
prin eliminarea constantei 2 din față.
49
Dan-Marius Dobrea

În relaţia (3.23):
  este eroarea instantanee a clasificării - egală cu diferenţa între
valoarea dorită a ieşirii, dn, şi ieşirea reală a neuronului yn obținută
în urma aplicării vectorului de intrare xn;
 n este un index pe întreaga mulţime a vectorilor de trăsături – avem
astfel o mulțime de A vectori de trăsături în cadrul setului de
antrenare al rețelei.
Scopul oricărui clasificator neuronal este de a minimiza această funcţie
de cost (de a obține valoarea minimă posibilă) prin modificarea ponderilor
și a bias-ului reţelei (a parametrilor rețelei). Căutarea vectorului optim de
ponderi pentru a minimiza un anumit criteriu este în esenţă ideea de bază a
oricărui algoritm de adaptare. Aceeași idee se regăsește la orice altă
structură neuronală: trebuie identificați vectorul de pondere optim care
minimizează eroarea sistemului.

x2

Clasa 2

Clasa 1 x1

x3 x1w1 + x2w2 + x3w3 + b = 0

Figura 3.7. Sistem de clasificare a două clase într-un spați tridimensional


de trăsături

Dacă într-un spațiu de intrare bidimensional este foarte uşor să plasăm


manual suprafaţa de decizie în vederea obţinerii separării optimale a celor
două clase (prin determinarea ponderilor și a deplasării – relațiile (3.8) și
(3.9)), într-un spațiu al trăsăturilor tridimensional lucrurile se complică
puțin dar în cele din urmă o putem face, Figura 3.7, din păcate, într-un
spaţiu multidimensional nu mai avem acest avantaj al determinării manuale
50
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

a parametrilor datorită imposibilității unei vizualzări facile. În concluzie


avem nevoie de o procedură automată pentru poziţionarea optimală a
suprafeţei de decizie. Pentru a ne atinge acest obiectiv trebuie să: (a)
calculăm eroarea instantanee a clasificării ( ) şi, în plus, (b) avem nevoie
de un algoritm care să minimizeze această eroare în mod autonom fără nici
o intervenți exterioară.
În literatura de specialitate s-a propus următoarea procedură de
minimizare a erorii de clasificare a neuronului McCulloch-Pitts (M-P):
1. Se generează un set de ponderi wi (𝑖 = 1, 𝑑 ) și un bias, b, în mod
aleator;
2. se ia un exemplar xa de intrare (un vector de trăsături) din setul
de antrenare (xa  c1  c2, elementele aparținând clasei c1 sunt
asociate cu o ieșire dorită +1 a neuronului M-P, în timp ce
elementele clasei c2 cu o valoare -1) şi se calculează ieşirea
modelului neuronal;
3. dacă ieşirea este corect clasificată, adică dacă:
𝑑 [𝑘] = +1 și 𝑠𝑖𝑔𝑛(∑ 𝑤 [𝑘]𝑥 [𝑘] + 𝑏) = +1 (3.25)
sau
𝑑 [𝑘] = −1 și 𝑠𝑖𝑔𝑛(∑ 𝑤 [𝑘]𝑥 [𝑘] + 𝑏) = −1 (3.26)
se trece mai departe, la următorul exemplar din setul de antrenare
– deci, se revine la punctul 2;
4. dacă exemplarul de intrare este incorect clasificat:
𝑑 [𝑘] = +1 și 𝑠𝑖𝑔𝑛(∑ 𝑤 [𝑘]𝑥 [𝑘] + 𝑏) = −1 (3.27)
sau
𝑑 [𝑘] = −1 și 𝑠𝑖𝑔𝑛(∑ 𝑤 [𝑘]𝑥 [𝑘] + 𝑏) = +1 (3.28)
se modifică vectorul de ponderi şi bias-ul modelului neuronal cu
ajutorul relațiilor:
𝑤 [𝑘 + 1] = 𝑤 [𝑘] + 𝜂(𝑑 [𝑘] − 𝑦[𝑘])𝑥 [𝑘] (3.29)

𝑏[𝑘 + 1] = 𝑏[𝑘] + 𝜂(𝑑 [𝑘] − 𝑦[𝑘]) (3.30)


5. se execută pașii anteriori pe întregul set de date ori de câte ori
este necesar (eventual pe mai multe epoci de antrenare) până
când:

51
Dan-Marius Dobrea

6. ieșirea este corect clasificată pentru fiecare element al setului


de antrenare (doar dacă elementele celor două clasele sunt
liniar separabile), condiție care se poate scrie sub forma:

𝑑 [𝑘] ∙ 𝑠𝑖𝑔𝑛 𝑤, .𝑥 [𝑘] + 𝑏 . = +1 (3.31)

prentru întreg setul de antrenare, deci pentru orice a [1, A].


7. sau eroare a scăzut sub un anumit prag acceptabil pentru
clase neliniar separabile.
Problemă 3.4: Comparaţi relaţia (3.29) cu relaţia de modificare a ponderilor
dată de algoritmul LMS, relaţia (2.18). Exista vreo diferenţă?
Din relaţia (3.29) se observă o caracteristică definitorie a modelului
neuronal M-P, aceea că neuronul învaţă numai când clasificarea este
incorect realizată, deci când vectorul de intrare este clasificat în mod greşit.
În cazul în care eşantioanele de intrare sunt liniar separabile, deci
există o funcţie discriminant liniară care va produce eroare de clasificare
zero, soluţia algoritmului de adaptare este un vector de ponderi wopt. şi un
prag bopt. care satisface relaţia (3.31) pentru întregul set de date utilizat în
antrenarea neuronului. Mai mult algoritmului de adaptare dat de relaţiile
(3.29) și (3.30) îi va lua un număr finiţi de paşi, k0, pentru a ajunge la soluţia
optimă dar numai dacă clasele sunt liniar separabile. Adică:
wopt. = w[k0] = w[k0 + 1] = w[k0 + 2] = w[k0 + 3] = ... (3.32)

52
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

3.5. Interpretarea geometrică a modelului neuronal M-P şi a


algoritmului de adaptare a ponderilor

Pentru o înţelegere intuitivă atât a semnificaţiilor diferitelor elemente


ale modelului neuronal McCulloch-Pitts, a interacţiunii dintre acestea cât şi
a algoritmului de adaptare a ponderilor, în cadrul acestui subcapitol se va
prezenta o interpretare geometrică atât a modelului neuronal McCulloch-
Pitts dar şi a algoritmului de adaptare a ponderilor acestui neuron.
În continare considerăm ponderile {w1, w2} drept punctul final al unui

vector w a cărui capăt de început este poziţionat în origine. Observăm de
asemenea că locul geometric al coordonatelor {x1, x2} care satisfac relaţia
(3.6):

g( x1, x2 )  w1x1  w2 x2  b  0 (3.33)


care este chiar suprafaţa de decizie a neronului. Această suprafaţă de decizie
o vom reprezenta şi pe ea în mod vectorial prin intermediul unui vector care
pleacă din origine şi sfârşeşte într-un punct aparţinând acestui loc geometric.

Acest vector îl notăm în continuare cu g. Pentru simplitate în continuare
vom presupune că pragul b este egal cu zero şi vom arăta că, utilizând
această interpretare geometrică (caracterizată de reprezentarea vectorială
 
w şi g), vectorul ponderilor va fi perpendicular pe suprafaţa de
decizie.
Constrângerea anterioară, b = 0, nu influenţează sub nici o formă
generalitatea acestei interpretări grafice deoarece ştim dintr-un subcapitol
anterior că prin intermediul pragului b se modifică doar punctul de
intersecţie a suprafeţei de decizie cu axa x2 nu şi panta dreptei.
x2

{x1, x2}

x1
g(x1, x2)=0
{w1, w2}

Figura 3.8. Interpretarea vectorială a poziţiei vectorului de ponderi

53
Dan-Marius Dobrea

În acest caz vectorial, produsul din relaţia (3.33), w1 x1 + w2  x2, poate
fi interpretat ca un produs intern a doi vectori [w1, w2]T şi [x1, x2]T. Pentru a
 
satisface g(x1, x2) = 0, vectorii w şi g trebuie să fie perpendiculari deoarece
produsul lor intern este zero. În concluzie suprafaţa de decizie g(x1, x2) = 0

trebuie să fie perpendiculară pe vectorul ponderilor w , vezi Figura 3.8.
Cum ponderile neuronului sunt coeficienţii funcţiei discriminant rezultă că
ponderile indică direcţia normală a suprafeţei de separaţie în spaţiul de
intrare.

În plus, întotdeauna vectorul w va fi situat în semiplanul în care
răspunsul neuronului M-P va fi +1. Pentru a verifica acest lucru
particularizăm funcţia discriminant, g(x1, x2), pentru punctul extrem al
acestui vector {w1, w2}, obţinând:

gw1, w2   w1  w1  w2  w2  w12  w22  0 (3.34)


Relaţia (3.34) demonstrează astfel afirmaţia făcută la începutul paragrafului
anterior.

Problemă 1.6.: Pentru un neuron M-P caracterizat de următoarele valori ale


parametrilor liberi w1 = 10, w2 = 5 şi b = 0, demonstraţi că în
reprezentarea vectorială a acestui neuron, vectorul ponderilor este
perpendicular pe suprafaţa de decizie a neuronului.
Rezolvare: Parametrii ce caracterizează suprafaţa de decizie sunt
w1
m  2 şi intersecţia cu axa x2 este chiar în originea
w2
sistemului de coordonate. Utilizând aceste informaţii trasăm
această suprafaţă de decizie ca în Figura 3.9.
 
Pentru a reprezenta vectorii w şi g trebuie să determinăm
pentru fiecare vector în parte punctele extremităţilor lor. Dacă

pentru vectorul w rezultatele Figura 3.9 sunt directe, vezi

Figura 3.9, pentru vectorul g trebuie să determinăm un punct de
apartenenţă a locului geometric dat de suprafaţa de decizie. Orice
punct ce aparţine suprafeţei de decizie satisface relaţia g(x1, x2) =
0. Dacă, de exemplu, luăm x1 = 5 rezultă automat x2 = -10.

Reprezentarea grafică a vectorului g este prezentată în Figura
3.9.
 
Pentru a demonstra că vectorii w şi g sunt perpendiculari ne
putem folosi de interpretarea produsului intern, în mod similar ca
în demonstraţia făcută anterior în cadrul acestui subcapitol, sau

54
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

putem calcula pantele dreptelor suport a celor doi vectori şi


verificăm că între acestea există relaţia mw = -1 / mg – în această
 
condiţie dreptele suport a vectorilor w şi g sunt perpendiculare.
Dacă dreptele suport a vectorilor sunt perpendiculare rezultă
 
automat şi că vectorii w şi g sunt perpendiculari.
Suprafaţa de decizie, de
ecuaţie g(x1, x2) = 0 x2
10

5 {10, 5}

-10 -5 5 10
x1

-5
{5, -10}
-10

Figura 3.9. Reprezentare grafică a rezultatelor obţinute în


cadrul problemei

Dreapta suport a vectorului w trece prin punctele {0, 0} şi
{10, 5}; ecuaţia acesteia este:
x1  0 x 2  0 (3.35)

10  0 5  0
Dezvoltând relaţia (3.35) obţinem în final:
x 2  x1 / 2 (3.36)

Constatând că panta dreptei suport a vectorului w este mw =

½ în timp ce panta dreptei suport a vectorului g este mg = -2,
tragem concluzia că cei doi vectori satisfac condiţia anterioară.
 
De aici rezultă că vectorii w şi g sunt ortogonali.
În continuare vom prezenta în mod grafic modalitatea de adaptare a
ponderilor pentru modelul neuronal McCulloch-Pitts ce lucrează cu un
spaţiu bidimensional al trăsăturilor.
În Figura 3.10 se prezintă în mod grafic modalitatea de modificare a
suprafeţelor de decizie în situaţia în care vectorii de trăsături E1 şi E2 sunt

55
Dan-Marius Dobrea

incorect clasificaţi, iar ponderile sunt modificate datorită influenţei acestor


vectori de trăsături. Suprafaţa iniţială de decizie la momentul de timp n este
S1 .
x2

x1

S2

S1
(a)
x2

S3

x1

S1
(b)
Figura 3.10. Modalitatea de infuenţare a suprafeţei de decizie de un
elemnt clasificat incorect: (a) aparţinând clasei asociată cu valoarea +1,
respectiv, (b) aparţinând clasei asociată de clasificator cu valoarea -1

Să presupunem că vectorul de trăsături E1 este utilizat în procesul de


adaptare a ponderilor. Deoarece vectorul de trăsături E1 este clasificat
incorect, vezi poziţia suprafeţei de decizie S1 în Figura 3.10(a), şi deoarece
valoarea dorită pentru acest element este +1 ponderile se vor modifica cu o
cantitate dată de relaţia (3.29). Vectorial putem scrie:
 
 w n   2  x E 1 n  (3.37)

În acest mod vectorul de pondere w1 , definitoriu pentru suprafaţa de
56
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină
 
decizie S1, este modificat cu o cantitate, w , în direcţia elementului E1
 
devenind vectorul w 2 . Deoarece vectorul w 2 este întotdeauna perpendicular
pe suprafaţa de decizie, poziţia noii suprafeţe de decizie obţinută în urma
procesului de învăţare este cea reprezentată în Figura 3.10(a) prin dreapta
S2. Se observă că în acest caz suprafaţa de decizie a fost repoziţionată de
influenţa elementul E1 astfel încât acest element să fie corect clasificat.
Pentru situaţia prezentată în Figura 3.10(b) abordarea este similară. De
această dată elementul E2 aparţine celei de a doua clase pe care clasificatorul
trebuie în final să o asociaze cu valoarea -1 la ieşirea sa. Datorită poziţionării
suprafeţei de decizie S1 acest element este clasificat în mod incorect fiind
asociat cu o valoare +1 la ieşrea elementului neuronal de procesare
McCulloch-Pitts. În această situaţie cantitate cu care se modifică vectorul
de ponderi a neuronului este dată de relaţia (3.29). Această relaţie scrisă
vectorial devine:
 
 w n    2  x E 2 n  (3.38)

Observăm că vectorul w1 este împins în sens contrar direcţiei vectorului

E2 devenind 𝑤⃗ (𝑤⃗ = 𝑤⃗ + ∆𝑤⃗). Noua suprafaţă de decizie S3 chiar dacă
nu reuşeşte să clasifice în mod corect elementul E2 este mai aproape de
soluţia corectă decât suprafaţa de decizie iniţială, S1.
Observăm că din punct de vedere grafic fiecare element din spaţiul
trăsăturilor incorect clasificat va „împinge” sau „trage” suprafaţa de decizie
prin intermediul vectorului de ponderi, care este perpendicular pe acesta.

57
Dan-Marius Dobrea

3.6. Dezavantajele structurii neuronale M-P

Ca orice clasificator, neuronul M-P prezintă o serie de dezavantaje și de


avantaje. Acestea au fost prezentate sub o formă sau alta de-a lungul
prezentării acestui model neuronal. În acest subcapitol ne vom concentra pe
neajunsurile neuronului M-P. Acestea vor fi prezentate în mod sistematic și
sintetic tocmai pentru a conștientiza limitările existente și pentru a fi capabili
să înțelegem unele din avantajele RNA ce vor fi prezentate ulterior.
Poate unul dintre aspectele cele mai limitative a neuronului M-P este
capacitatea acestuia de a lucra cu probleme de clasificare ce implică
existența a doar două clase. Răspunsul de valoare 1 pentru o clasă și cel de
valoare -1 pentru cea de a doua clasă sunt singurele optiuni posibile pe care
le avem.
Capacitatea scăzută de generalizare este următorul mare dezavantaj.
Observăm din algoritmul de adaptare ca în momentul în care ultimul
eşantion va fi corect clasificat și vectorul optim de ponderi a fost tocmai
determinat, wopt., funcţia discriminant nu va mai putea fi repoziţionată sub
nici o formă. Deci, algoritmul de adaptare va produce diferite suprafeţe de
decizie la diferite iniţializări şi adaptări succesive ale neuronului. Aceste
suprafeţe de decizie furnizează o eroare egală cu zero în setul de
antrenare, dar eroarea obţinută pe setul de test poate să fie diferită de
zero. O poziționare mult mai corectă a suprafeței determinant ar fi fost în
zona punctelor de minim a intersecției funcțiilor de densitate de
probabilitate ce caracterizează cele două clase – vezi clasificatorul Bayes-
ian.
Un alt dezavantajul major al modelului neuronal M-P (compus din:
neuronul Adalin și o neliniaritate de tip signum) este dat de capacitatea
acestuia de a lucra optim doar cu clase liniar separabile. Din păcate în lumea
reală cea mai mare parte a fenomenelor prezintă neliniarității, fiind
fenomene și procese neliniare. Algoritmul de adaptare, prezentat anterior,
va converge numai dacă clasele sunt liniar separabile, în caz contrar
suprafaţa de decizie va oscila în mod continuu. Evident ca, după cum am
arătat în prezentarea algoritmului de adaptare (punctul 7), și în cazul unei
probleme în care clasele nu sunt liniar separabile putem găsi un criteriu de
oprire precum cel prezentat anterior. Dar acest criteriu ridică multe alte
probleme, pe care le vom analiza ulterior, precum: supranatrenarea RNA
sau imposibilitatea definirii corecte a termenului „prag acceptabi”.

58
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Un ultim dezavantaj este dat de funcția de activare care ne fiind


derivabilă ne va fi imposibil să implementăm un algoritm de adaptare
similar cu cel de tip LMS.

59
Dan-Marius Dobrea

3.7. Algoritmul delta de antrenare

Algoritmul pe care îl vom utiliza în antrenarea unui singur neuron


este algoritmul delta de antrenare. Algoritmul complet pentru o RNA cu 2
straturi ascunse va fi prezentat mai tarziu, în capitolele ce vor urma.
Prezentăm aici această versiune simplificată a lui tocmai pentru a înțelege
principiile de bază. Acest algoritm a fost dezvoltat de McClelland şi de
Rummelhart în anul 1986.
Acest algoritm este derivat din algoritmul LMS și utilizează tehnica
scăderii după gradient (gradient descent). Deci, modificarea ponderilor se
va realiza pe acea direcție specifică pe care funcția de eroare (suprafața de
eroare) prezintă panta cea mai „abruptă”:
w k  1  w k      w k  (3.39)
În mod similar algoritmului LMS se va aproxima gradientului erorii medii
pătratice, , cu gradientul erorii pătratice instantanee.
w k  1   w k     e k w k  (3.40)
Eroarea instantanee poate fi scrisă:
1
𝜀 = (𝑑 [𝑘] − 𝑦[𝑘]) (3.41)
2
unde:

⎛ ⎞
𝑦[𝑘] = 𝑓 ⎜ 𝑤 [𝑘]𝑥 [𝑘] + 𝑏 ⎟ (3.42)

⎝ ⎠
Derivata erorii instantanne ne va duce din aproape în aproape la derivata
funcției f. Simplificând și presupunând existența unei funcţii y = f(x), dacă
dorim calcularea derivatei y/x5 vom obține:
y y f
 (3.43)
x f x

5
Semnificația fizică a derivatei y/x este de a evidenția cum se reflectă o schimbare de
mică amplitudine în intrare, x, în valoarea ieșirii y. Deci, cât de sensibilă este variabila
dependentă y la schimbările variabilei independente x. În concluzie, acest parametru
poate fi numit sensibilitatea ieşirii la o variaţie a intrării.
60
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Necesitatea calculării derivatei funcției f generează necesitatea modificării


modelului neuronal M-P și înlocuirea funcției signum cu o funcție
derivabilă. În mod normal, acest model neuronal utilizează o funcție
sigmoidală, una din următoarele două funcții: logistică sau tangent
hiperbolică. Dar după cum am prezentat anterior poate foarte bine să fie o
funcție de activare de tip SoftPlus.
În cadrul procesului de antrenare, la un anumit moment dat, vom avem
o anumită eroare la ieşirea modelului neuronal. Ceea ce dorim este să
modificăm ponderile astfel încât să minimizăm această eroare. Intuitiv, cel
mai simplu mod de a face acest lucru este să distribuim modificările
proporţional cu sensibilitatea erorii faţă de fiecare pondere în parte
[Principe, 2000]. Deci, dacă dorim să minimizăm eroarea ar trebui să facem
schimbările cele mai importante în ponderile care afectează cel mai mult
valoarea de ieşire şi prin aceasta eroarea [Principe, 2000].
Folosindu-ne de relaţiile (3.39), (3.41), (3.42) şi ţinând cont că vom
aproxima gradientul erorii medii totale pe întreg setul de date prin
gradientul unei măsuri instantanee a erorii avem:

𝜕𝜉 𝜕𝜀 𝜕𝜀 𝜕𝑦[𝑘] 𝜕
≅ = ∙ ∙ 𝑔(𝜕𝑤 [𝑘]) =
𝜕𝑤 [𝑘] 𝜕𝑤 [𝑘] 𝜕𝑦[𝑘] 𝜕𝑔 𝜕𝑤 [𝑘] (3.44)
−(𝑑 [𝑘] − 𝑦[𝑘])𝑓 (𝑔)𝑥 [𝑘] = −𝜀 𝑓 (𝑔)𝑥 [𝑘]
De aici utilizând gradientul descendent pe suprafaţa de eroare (deci relația
fundamentală (3.40)) obținem:

𝑤 [𝑘 + 1] = 𝑤 [𝑘] + 𝜂𝜀 𝑓 (𝑔)𝑥 [𝑘] (3.45)


Relaţia (3.45) poartă numele de regula delta de adaptare a neuronului
și, după cum se prezintă chiar în relație, poate fi aplicată doar neuronilor ce
au funcții de activare funcții cu neliniarităţi derivabile.
În relația (3.45) singurul termen necunoscut care mai rămâne este
derivata funcţiei neliniare – a celei logistice sau a celei de tip tangentă
hiperbolică.
Problemă 3.5: Știind că y = f (g), demonstraţi corectitudinea relaţiilor de
mai jos – (3.46) pentru neliniaritate logistică şi (3.47) pentru
neliniaritate de tip tangent hiperbolică.
  g   y 1  y 
flog (3.46)

61
Dan-Marius Dobrea


1
  g   1 y2
ftanh
2
 (3.47)

62
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

4. Perceptronul

Unul din dezavantajele majore ale neuronului de tip M-P este dat de
incapacitatea acestuia de a discrimina mai mult de două clase. Dar în lumea
reală există foarte multe situații care necesită o abordare mai generală a
problemelor de clasificare, astfel încât un clasificator să aibă posibilitatea
de a discrimina un număr mult mai mare de clase – de exemplu, problema
clasificării simbolurilor alfabetului latin. Pentru a atinge acest scop, trebuie
să extindem ideea unui singur neuron în direcția includerii unui strat de M
elemente de procesare M-P puse în paralel și care să fie complet conectate.
Într-o astfel de structură, fiecare neuron va avea propria funcţie
discriminant, în spaţiul d-dimensional de intrare, iar aceasta va întoarce o
valoare maximă pentru o parte a elementelor spațiului de intrare și valori
scăzute pentru restul elementelor. Deci, avantajul de a avea M neuroni
cuplați în paralele este dat de abilitatea de a determina fiecare neuron să
răspundă numai de o anumită zonă a spaţiului, vezi și Figura 4.2. Prin
intermediul funcției discriminant, fiecare neuron în parte va decide dacă
vectorul de trăsături, prezentat la intrarea acestui sistem de clasificare (vezi
Figura 4.1), este sau nu în clasa caracterizată de această funcţie discriminant
specifică.
Perceptronul, denumit adeseori perceptronl lui Rosenblatt, este un
sistem care a fost utilizat inițial în recunoaşterea de paternuri vizuale, în
cadrul problemelor de recunoaştere a diferitelor caractere (OCR - optical
character recognition). Perceptronl a fost descoperit la sfârșitul anilor 1950,
mai exact în 1957 de către Frank Rosenblatt [Rosenblatt, 1958].
Din cele prezentate până acum putem concluziona că perceptronul este
o reţea neuronală formată dintr-un singur strat de neuroni artificiali conectaţi
complet prin intermediul ponderilor la intrările sistemului, Figura 4.1.
Perceptronul stă la baza tutror arhitecturilor mult mai complexe, ce presupun
63
Dan-Marius Dobrea

existența unor multiple straturi neuronale. Arhitecturile rezultante sunt


denumite rețele neuronale artificiale de tipul MLP – multylayer perceptron.
Relaţia matematică care descrie sistemul neuronal prezentat în Figura
4.1 este următoarea:
 d 
y j  f  g j   f   wij xi  b j  (4.1)
 i1 
unde j = 1, 2, …, M.

Strat de
intrare Strat de
x1 ieșire
1 y1
x2

2 y2

M yM

xd
Figura 4.1. Topologia unei RNA de tip perceptronul cu d intrări şi M
ieşiri

Una dintre realizările remarcabile ale lui Rosenblatt, în domeniul


rețelelor neuronale, a fost găsirea demonstraţiei care ne asigură că un
perceptron antrenat cu ajutorul relației (3.29) poate recunoaşte într-un
număr finit de paşi cele M clase, cu condiția ca acestea să fie liniar separabile
[Principe, 2000], [Rosenblatt, 1958].
După cum vom vedea în cele ce urmează, perceptronul are de
asemenea proprietatea de a generaliza - de a furniza răspunsul corect
pentru vectori de trăsături care aparţin claselor pentru care sistemul neuronal
artificial a fost antrenat, dar acești vectori nu au fost utilizaţi niciodată în
setul de antrenare.

64
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

4.1. Suprafaţa de decizie a perceptronului

Un perceptron cu M ieşiri poate lucra cu M clase distincte. Astfel,


aparteneța unui element necunoscut xk la una dintre clase, de exemplu la
clasa i (Ci vezi Figura 4.2), va fi dată de acea funcție discriminant gi(xk)
pentru care:
𝑔 (𝑥 ) > 𝑔 (𝑥 ) 𝑝𝑒𝑛𝑡𝑟𝑢 ∀𝑗 = 1, 𝑀 și 𝑗 ≠ 𝑖 (4.2)
Avem astfel, M funcții discriminant, iar fiecare funcție este asociată cu un
singur neuron. Funcțiile discriminant sunt cele care partiționează spaţiul de
intrare în M regiuni distincte (R1, R2, ..., RM), Figura 4.2. Atunci când un
neuron din strat răspunde cu o valoare maximă de ieșire la un vector de
trăsături de intrare necunoscut, înseamnă că acel vector se află în interiorul
regiunii definite de funcția discriminant (gi(x), i=1,M) asociată cu acel
neuron.

S31 R1 S14

R3 C1 R4
C3
S21 C4
R2
C2
S32
S24
Figura 4.2. Posibile suprafeţele de decizie ale unui perceptron

Dacă două regiuni i şi j sunt contigui, ele au o graniţă comună iar


această graniță este chiar suprafaţa de decizie. Suprafața de decizie este o
suprafaţă liniară (vezi (4.3)), dată de ecuaţia gi(x) = gj(x), unde gi şi gj sunt
funcţiile discriminant a claselor i şi j. În concluzie, pentru un spațiu de

65
Dan-Marius Dobrea

intrare bidimensional, ca cel prezentat în Figura 4.2, ecuația suprafeței de


decizie, Sij, este dată de:
𝑔 (𝑥) = 𝑔 (𝑥)
𝑤 𝑥 +𝑤 𝑥 +𝑏 =𝑤 𝑥 +𝑤 𝑥 +𝑏 (4.3)
𝑤 −𝑤 𝑥 + 𝑤 −𝑤 𝑥 + 𝑏 −𝑏 =0
Deoarece avem M neuroni în cadrul perceptronului, iar fiecare neuron
(sau element de procesare) are asociată o funcție discrimnant, în total există
M(M – 1)/2 astfel de ecuaţii6 determinante ale suprafețelor de decizie.

6 !
Combinații de M funcții discriminant luate câte 2 – 𝐶 (𝐶 = ( )! !
)
66
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

4.2. Regula delta aplicată perceptronului

Din punctul de vedere a regulii de adaptare, modificările care apar la


trecerea de la un singur neuron la o reţea de tipul perceptron (o rețea
neuronală artificială cu un singur strat de neuroni conectați în paralel) nu
sunt foarte mari.
Pentru antrenarea modelului neuronal se utilizează un set de exemplare
a a
{x , d } (denumit set de antrenare), cu a = 1, 2, ... , A. Singura deosebire față
de modelul M-P este că de această dată doritul este un vector M dimensional,
vezi (4.4).
𝑥
𝑑
𝑥
𝑑 = ⋮ 𝑥 = (4.4)

𝑑
𝑥
În mod similar regulii delta aplicată unui singur neuron și în cazul
regulii delta aplicată perceptronului, gradientul erorii totale (a erorii medii
pătratice), , este aproximat cu gradientul erorii pătratice instantanee. În
cazul perceptronului funcţia de cost trebuie calculată după o sumă a erorii
furnizată de fiecare ieşire şi este dată de:

1
𝐸 = 𝑑 − 𝑦 [𝑘] (4.5)
2

cu:
𝑦 [𝑘] = 𝑓 𝑔 𝑤 [𝑘] (4.6)
unde:

𝑔 𝑤 [𝑘] = 𝑤 [𝑘]𝑥 = 𝑤 [𝑘]𝑥 (4.7)

Adaptarea ponderilor se va face, similar ca la algoritmul LMS, prin


intermediul relației:
Ek
wij k  1  wij k    (4.8)
wij k 
În continuare putem rescrie relaţia (3.44) sub forma:
67
Dan-Marius Dobrea

𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝑦
= 𝑔 𝑤 [𝑘] =
𝜕𝑤 [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑔 𝜕𝑤 [𝑘]
(4.9)
= − 𝑑 − 𝑦 [𝑘] 𝑓 𝑔 𝑥 =
= −𝜀 𝑓 𝑔 𝑥

Aplicație 4.1: Pentru a observa câteva caracteristici ale algoritmului delta


aplicat perceptronului (caracteristici care se vor păstra și în cadrul
algoritmilor care îl vor generaliza pe acesta) vă rog deschideți în
NeuroSolution exemplul “Perceptron - Emotion Icons”. În acest
exemplu se vor clasifica un număr de 9 iconițe (13x13 pixeli) în
clasele corespondente utilizându-se un perceptron.

Figura 4.3. Perceptronul utilizat, precum și una dintre iconițele


utilizate în procesul de antrenare

1. Identificați elementele structurii neuronale: intrările, neuronii


care formează perceptronul, funcția de activare, ieșirile, datele
utilizate la intrare și ieșire, etc.
2. Antrenați structura neuronală până când aceasta va fi capabilă să
clasifice corect toate elementele. Câte epoci îi sunt necesare?
Realizați antrenări multiple.
3. După finalizarea unuia din aceste procese de antrenare,
introduceți la intrare un generator de zgomot uniform. Creșteți
gradual varianța generatorului de zgomot până când structura
neuronală nu mai este capabilă să recunoască corect datele de
intrare. Ce concluzie puteți trge?
4. Păstrând generatorul de zgomot, cu aceeași varianță determinată
la punctul anterior. Reantrenați structura neuronală până obțineți

68
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

din nou eroare zero de clasificare – dacă este necesar puteți utiliza
mai multe epoci de antrenare. Ce concluzie puteți trage acum?

69
Dan-Marius Dobrea

4.3. Marginea de decizie a perceptronului

Ambii algoritmi, prezentați până în acest moment, care sunt utilizați în


apadaptarea:
 unui simplu neuron (algoritmul dat de relațiile (3.25) ... (3.31) sau
algoritmul delta prezentat prin intermediul relațiilor (3.39) ...
(3.45)) sau a
 unei structuri neuronale de tip perceptron (ambii algoritmi pot fi
ușor extinși către o astfel de structură neuronală – precum regula
delta aplicată perceptronului, relațiile (4.4) ... (4.9)) au o serie de
dezavantaje.
De exemplu, regula de adaptare a neuronului McCulloch-Pitts este una
foarte eficientă, pentru clase liniar separabile, dar nu are o capacitate de
generalizare foarte bună. În plus, aceasta nu tinde către un clasificator
optimal. Prin simpla observație că această metodă de antrenare determină
diferite suprafețe de decizie funcție de diferitele condiții de inițializare
aleatorie a ponderilor, în timp ce un clasificator optimal va furniza doar o
singură suprafață de decizie (poziționată în valea dintre distribuţiile celor
două clase, plasată simultan și la distanţe egale de cele două frontiere ale
claselor) putem trage în mod direct concluzia că acest algoritm nu este unul
optimal. Acest fapt este dat de modalitatea de lucru a algoritmului, astfel
după ce ultimul eşantion a fost clasificat corect procesul de învăţare se
opreşte, lăsând suprafaţa de decizie foarte aproape de acest eşantion.
În situația regulii delta de antrenare, poziția suprafeţei de decizie este
influențată în principal de eşantioanele care produc o valoare a ieşirii care
este diferită de valoarea dorită. Aceste eşantioane există în principal la
frontiera dintre cele două clase. Deci, în concluzie, eroarea este influenţată
semnificativ de acestea. Dar, deoarece derivata erorii, conform relaţiei (4.9),
este o funcţie dependentă de toate eşantioanele de intrare, toate acestea vor
contribui într-o cantitate mai mică sau mai mare la modificarea ponderilor
suprafeței de decizie. Țineți cont de faptul că în relația (4.9) ieșirea este o
funcție sigmoidală care tinde la +1 sau la -1 (sau 0) doar la infinit. În
concluzie ponderile suprafeței de decizie sunt influențate de întreaga
distribuţie a setului de date (chiar și de elementele clasificate corect chiar la
începutul procesului de adaptare) iar localizarea suprafeţei de decizie este
afectată de toate elementele deci și de forma clasei dar și de numărul de
elemente existent în acea clasă. De aici putem observa un neajuns direct,
70
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

în sensul că apar probleme în situațiile în care o clasă are foarte puține


elemente comparativ cu cea de a doua clasă – un exemplu tipic aici este
situația clasificării maladiilor foarte rare.
Aceste neajunsuri ne determină să găsim un alt algoritm care eventual
să înlocuiască acești algoritmi de adaptare, astfel încât suprafaţa de decizie
să fie plasată în valea dintre distribuţiile celor două clase, la distanţe egale
de cele două frontiere ale claselor – după cum am și prezentat anterior.
Dar pentru a ne atinge acest obiectiv, trebuie mai înainte să introducem
şi să definim conceptul de margine de decizie. Deci, să presupunem că avem
un set de antrenare, format din date de intrare dar şi de valorile dorite ale
ieşirii S = {(x1, d1), (x2, d2), …, (xA, dA)} cu dk = {- 1, + 1}. În plus, avem și
o suprafață de decizie definită de perechea (w, b) – unde w este vectorul de
ponderi – vector d dimensional, iar b este biasul neuronului. În aceste
condiţii se defineşte marginea hiperplanului de separaţie drept o cantitate
proporţională cu [Frieß, 1998]:
𝛾 = 𝑚𝑖𝑛|⟨𝑥, 𝑤⟩ + 𝑏| (4.10)

În relația (4.10) <> este produsul intern între x (vectorul de intrare) şi w


(vectorul ponderilor). În relația de mai sus  este proporțional cu distanța
dintre suprafața de decizie și cel mai apropiat vector de trăsături față de
aceasta – pentru relația matematică a distanței de la un punct la o dreaptă,
vă rog uitati-vă pe nota de subsol 2 prezentată anterior.

x2 Hiperplan optim

Vectori suport 


Vector suport
x1

Figura 4.4. Hiperplanul de separaţie şi marginea acestuia

Definim, în contiunare, hiperplanul optim drept acea suprafaţă de


decizie care maximizează marginea de decizie între cele două clase,
71
Dan-Marius Dobrea

Figura 4.4. După cum se vede din toate hiperplanele posibile care separă
setul de date (deoarece reprezentarea este 2D, acest hiperplan este o
dreaptă), cel optimal este acela care trece la jumătatea distanţei dintre
eşantioanele care definesc frontierele celor două clase și care simultan
maximizează distanța dintre eșantioanele de frontieră și el însuși.
Problema pe care o avem acum este aceea de a găsi un algoritm care să
determine acest hiperplan optim. Într-o altă abordare, după cum se poate
observa și din Figura 4.4, primul pas ar fi să găsim acele elemente optime
(vectori de trăsături) care se regăsesc pe frontiera claselor (numiţi şi vectori
suport), definind-o, iar ulterior să plasăm funcţia discriminant la mijlocul
distanţei dintre ele.

72
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

4.4. Algoritmul Adatron

Din cadrul algoritmilor de învățare automată capabili să determine acest


hiperplan optimal (care maximizează marginea de decizie între cele două
clase) putem aminti două abordări: Support Vector Machines (SVM) și
Adatron (Adaptive Perceptron) [Anlauf, 1989].
Datorită complexității algoritmului SVM, în cele ce urmează se va
prezenta algoritmul Adatron care va găsi acea funcţie discriminant care va
genera hiperplanul de decizie care maximizează marginea de decizie. Acest
algoritm cu toate că nu este cel mai eficient în găsirea hiperplanului optim
(către care va converge asimptotic, [Anlauf, 1989]) este însă cel mai simplu
posibil și din acest motiv îl voi prezenta în cele ce urmează.
Pornind de la ecuația modelului neuronal M-P:
𝑦 = 𝑠𝑖𝑔𝑛 𝑔(𝑥) (4.11)
și continuând cu prezentarea algoritmul de antrenare Adatron este necesar
să rescriem relația intrare-ieşire a acestui element de procesare în termenii
unei reprezentări dependente de setul de date de intrare, deci de setul de date
de antrenare.
Observăm din relația (3.29) că în urma finalizării procesului de
adaptare, vectorul de ponderi este exprimat ca o combinație lineară a
vectorilor de intrare, din setul de antrenare, ponderați de diferența între dorit
și ieșirea reală a rețelei. Utilizând această observație, putem scrie funcția de
activare sub forma [Principe, 2000]:

𝑔(𝑥) = ⟨𝑥, 𝑤⟩ + 𝑏 = 𝛼 𝑥, 𝑥 + 𝑏 (4.12)

În relația (4.12) <> este produsul intern, iar A este numărul de eşantioane
care formează setul de antrenare (S) – S = {(x1, d1), (x2, d2), …, (xA, dA)} .
Coeficienții i sunt un set de multiplicatori ce cuantizează influența fiecărui
vector de trăsături de intrare asupra ponderilor – mai exact, acest coeficient,
este direct proporțional nu numărul epocilor în care eșantionul
corespunzător a fost clasificat în mod greșit.
Din punctul de vedere al unui algoritm de adaptare, acesta are un set de
parametri, care în cazul primei părți a relației (4.12) sunt ponderile w, pe
care trebuie să le modifice de o așa natură stfel încât o eroare a sistemului
să se diminueze. Analizând cea de a doua parte a relației (4.12) (în care
73
Dan-Marius Dobrea

funcția de activare este exprimată în funcție de setul de date de intrare)


observăm că de această dată setul de parametri pe care algoritmul de
adaptare îi va modifica devin coeficienții i. Scopul final rămânând același
de a minimza eroarea între doritul ieșirii și ieșirea reală obținută prin
aplicarea vectorului de intrare x.
În Figura 4.5 este prezentată o topologie neuronală (observăm prezența
a două straturi neuronale, din care unul ascuns) care creează o reprezentare
a neuronului M-P dependentă de setul de date.

xi1 w1,1=x11
<xi,x1>
1
xi2 α1
<xi,x2>
2 g(xi)
α2 ∑ Sign y
w2,N=xN2
w1,N=xN1
<xi,xA> αA
A b
wd,N=xNd
xid
+1
Figura 4.5. Perceptronul reprezentat ca o structură dependentă de
setul de date

Primul strat neuronal este fix, având A neuroni. Acest strat are un număr
de neuroni egal cu numărul de eșantioane din setul de antrenare. Ponderile
primului neuron din stratul ascuns sunt tocmai valorile primului vector de
intrare x1 = [𝑥 , 𝑥 , …, 𝑥 ]T din setul de antrenare. La modul cel mai general
ponderile neuronului k din stratul ascuns, vor fi tocmai elementele
vectorului de intrare xk = [𝑥 , 𝑥 , …, 𝑥 ]T din setul de intrare (k ≤ A), deci
vom avea w1,k = 𝑥 , w2,k = 𝑥 , …, wd,k = 𝑥 .
Cel de al doilea neuron de ieșire, după cum se prezintă și în Figura 4.5,
este un neuron tipic de tipul M-P. În această structură neuronală, algoritmul
de adaptare a perceptronului va modifica doar ponderile i și biasul b dar
doar în situația unei clasificări eronate a eșantionului de intrare (dată de o
relație de forma: 𝑑 ∙ 𝑦 = −1) – în conformitate cu relațiile (3.29) și (3.30).
În această situație algoritmul adaptiv devine:

𝛼 [𝑘 + 1] = 𝛼 [𝑘] + 𝜂〈𝑥 , 𝑥 〉 (4.13)


74
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

𝑏[𝑘 + 1] = 𝑏[𝑘] + 𝜂〈𝑥 , 𝑥 〉 (4.14)


Îndexul k din relațiile (4.13) și (4.14) este obținut în mod similar ca în relația
(2.14), fiind dependent de numărul epocii de antrenare (nep), numărul A de
exemplare din setul de date și de exemplarul j (𝑗 = 1, 𝐴) curent care este
prezentat la intrarea structurii neuronale din Figura 4.5:
𝑘= 𝑛 −1 ∙𝐴+𝑗−1 (4.15)
Algoritmului Adatron manifestă un comportament foarte interesant.
Astfel, în timpul procesului de adaptare, cea mai mare parte din coeficienţii
i se duc către valori foarte mici. Doar câtiva coeficienți i, coeficienți ce
corespund vectorilor suport poziționați pe frontierele claselor, vor tinde
către valori mari. Acestea vor fi și elementele care vor determina poziția
suprafeței de decizie. În acest mod, hiperplanul de decizie generat de
algoritmul de adaptare este astfel insensibil la: (a) forma generală a
clusterilor, poziția lui este dată doar de un număr limitat de eşantioane ce
definesc frontiera celor două clase, și (b) numărul elementelor care
formează clasele.
Din Figura 4.5 se observă că algoritmul Adatron este capabil să
distingă doar două clase – o primă clasă pentru o ieșire +1 a structurii
neuronale, iar cea de a doua clasă pentru o ieșire -1. Dacă se impune să
rezolvăm probleme cu mai mult de două clase, de exemplu cu C clase,
acestea trebuie rezolvate secvenţial ca o decizie de doar două clase. De
exemplu, clasa j versus restul claselor (clasele 1, 2, ..., j – 1, j + 1, ..., C) care
se consideră că formează toate impreună o singură clasă.

75
Dan-Marius Dobrea

4.5. O aplicațiile practică a perceptronului în robotică

În cele ce urmează se va prezenta o aplicație practică a structurilor


neuronale de tip perceptron în domeniul roboticii. Într-o serie de lucrări de
cercetare s-a căutat găsirea unei soluţii simple de evitare a obstacolelor
(capabilă să lucreze în timp real) pentru situația roboţilor mobili [Dobrea
2010], [Dobrea 2011a], [Dobrea 2011b]. Soluţia propusă a fost una ce
permite robotului dezvoltarea unui comportament autonom, local, de evitare
a obstacolelor de fiecare data când comanda motorie de nivel înalt care-l
conduce (de ex., o comandă radio de tipul: mergi înainte sau înapoi) îl pune
pe acesta într-o situaţie de coliziune iminentă.
Soluţia propusă, pentru un simplu robot cu 4 senzori infraroşii (trei
poziționați frontal și unul în partea din spate), este una foarte simplă, bazată
pe o reţea neuronală artificială minimală de tip perceptron antrenată cu un
algoritm derivat din algoritmul clasic de retropropagare a erorii
(backpropagation). Acest algoritm de învăţare on-line, caracterizat de o
încărcare computaţională extrem de redusă, s-a dovedit a fi unul foarte
eficient atât în mediile aglomerate, cu obstacole statice cât şi în cele cu
obstacole dinamice [Dobrea 2010], [Dobrea 2011a], [Dobrea 2011b].

Sistemul de comandă și
Sistemul de control și control – microcontrolerul
interfațare cu motoarele MCF 5213

Senzorul IR plasat
în partea din spate
Trei senzori
frontali

Figura 4.6. O imagine a implementării hardware a sistemului robotic

4.5.1. Sistemul robotic

Sistemul robotic construit are trei grade de libertate, fiind capabil să


execute două mișcări de bază: rotire și translare. În partea din spate a

76
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

robotului sunt dispuse două roți comandate de două motoare de curent


continuu cu acțiune diferențială, vezi Figura 4.6. Motoare sunt controlate,
la rândul lor, prin intermediul unui microcontroller. O roată neacționată
electric, plasată în partea frontală, cu dispunere centrală, asigură stabilitatea
platformei robotice. Robotul are o viteză maximă de 0.3 m/s.

Sistemul robotic este dotat cu patru senzori infraroșii, IR, de


proximitate – GP2D120XJ00F. Acest senzorii IR au o distanță activă ce
acoperă intervalul [4, 30] cm. Trei dintre senzorii IR sunt dispuși frontal și
supraveghează partea stângă, centrală și, respectiv, partea dreaptă a zonei
frontale a mediului din vecinătatea robotului. Cel de-al patrulea sensor IR
este plasat în partea din spate, în poziție centrală. Una dintre problemele
principale ale senzorilor IR o constituie faptul că funcția caracteristică a
acestora este una neliniară. Pentru a depăși acest neajuns, într-o primă etapă,
de preprocesare, caracteristica senzorilor a fost liniarizată cu ajutorul unui
algoritm de regresie.
Sistemul robotic este controlat de un microcontroller pe 32 de biți,
MCF5213 în care este implementat sistemul neuronal cu auto-organizare.
Microcontroller-ul aparține familiei ColdFireTM și are la bază o arhitectură
RISC. Totodată MCF5213 înglobează un număr mare de echipamente
periferice cum ar fi 8 canale PWM, 4 timer-e pe 32 de biți, sisteme de
transfer prin DMA, 8 canale ADC, 3 UARTs, 1 CAN etc.
Robotul este proiectat să învețe, într-o manieră adaptivă, folosindu-se
pentru aceasta de informația primită de la senzori. Viteza roților este
actualizată cu o frecvență de 3.3 Hz, prin intermediul celor două canale
PWM ce comandă două punți H. Programul software este dezvoltat în
limbaj C, utilizând mediul de dezvoltare integrat CodeWarrier. Mai mult,
pentru a reduce suplimentar încărcarea computațională s-a făcut uz de sub-
sistemul de întreruperi al microcontroller-ului.

4.5.2. Sistemul neuronal

Algoritmul de evitare a obstacolelor are ca principal nucleu un sistem


neuronal de tip perceptron antrenat cu un algoritm de tip backpropagation
ce înglobează în el componente de inspirație biologică și psihologică.
De exemplu, s-a utilizat teoria celor doi factori ai lui Mowrer privind
evitarea, care postulează faptul că învăţarea procesului de evitare a
obstacolelor implică două etape:

77
Dan-Marius Dobrea

(1) O primă etapă, în care subiectul care învaţă experimentează


condiţionarea clasică/bazată pe sentimentul de frică generat. Mai
exact, un stimul de avertizare, aşa cum este o distanţă mică (sau un
anumit prag) până la cel mai apropiat obstacol, este asociat cu o situaţie
neplăcută, aşa cum este coliziunea; în acest mod, un stimul iniţial
neutru devine un stimul condiţionat capabil să producă un puternic
răspuns condiţionat, de frică.
(2) O a doua etapă, în care subiectul experimentează condiţionarea
operantă. În această etapă subiectul adoptă o acţiune de răspuns la
stimulul condiţionat aversiv şi, astfel, elimină – prin întărire negativă
– evenimentul aversiv. Această ultimă etapă corespunde însuşi
procesului de învăţare a evitării iar în această etapă comportamentul de
evitare nu este întărit prin evitarea situaţiei neplăcute (ciocnirea de
obstacol) ci, prin terminarea stimulului condiţionat aversiv – adică, a
stimulului care a evocat sentimentul de frică . Cu alte cuvinte, stimulul
aversiv este cel care întăreşte acele răspunsuri care îl elimină pe el
însuşi.
De asemenea a fost utilizată, teoria ecologică a lui Gibson privind
percepţia vizuală [Shumway-Cook, 2007]. Această teorie postulează faptul
că pentru a genera acţiuni adecvate oamenii au nevoie de informaţia
perceptuală și nu senzorială legată de factorii de mediu care sunt importanţi
pentru task-ul motor de executat. În cazul nostru ne-am folosit de o percepţie
a adâncimii medii până la obstacolele din jur, alături de percepţiile legate de
direcţia mişcării şi viteza de deplasare.

y0 y1
SS SC SD
b0 b1
MSt. MDr.
+1 +1

w31

(a)
(b)
SS(0) SC(1) SD(2) SSp(3)
SSp

Figura 4.7. (a) Structura sistemului neuronal și (b) poziționarea senzorilor

78
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Toate acestea, precum și multe alte informații care descriu în amănunt


algoritmul, sunt prezentate în lucrările următoare: [Dobrea 2010], [Dobrea
2011a], [Dobrea 2011b].
Dar până la dezvoltarea unui algoritm adaptiv, se pune problema găsirii
unei metode statice de determinare a ponderilor astfel încât sistemul robotic
să fie capabil să evite în mod autonom obstacolele. Dacă ponderile pot fi
determinate în acest mod, atunci putem spera că algoritmul adaptiv o poate
face și el. În cele ce urmează se va prezenta metoda statică de determinare a
ponderilor.
În Figura 4.7 se prezintă structura rețelei neuronale de tip perceptron,
ce are 4 intrări care preiau informația de la cei patru senzori ai robotului
(senzor stanga față – Ss, senzor central față – SC, senzor dreapta față – SD și
senzor central spate – SSp) și două ieșiri prin intermediul cărora se
controlează cele două motoare cu comandă diferențială (motor stânga,
ieșirea y0 – MSt. și motor dreapta, ieșirea y1 – MDr.).
Ecuațiile de legătură, intrare-ieșire, care controlează funcționarea
robotului sunt:
𝑦 = 𝑠𝑖𝑔𝑛 𝑤 ∙𝑆 +𝑤 ∙𝑆 +𝑤 ∙𝑆 +𝑤 ∙𝑆
(4.16)
𝑦 = 𝑠𝑖𝑔𝑛 𝑤 ∙𝑆 +𝑤 ∙𝑆 +𝑤 ∙𝑆 +𝑤 ∙𝑆
Sistemul a fost constuit de o așa natură astfel încât o ieșire de valoare
negativă a perceptronului să determine o rotire spre înapoi a roții comandate
(-1 reprezentând turația maximă spate), în timp ce o valoare egală cu +1
determină o rotire de tuație maximă spre înainte a roții. O valoare egală cu
zero a oricărei ieșiri, determină lipsa oricărei comenzi a roții asociate.
Senzorii trimit informațiile preluate către intrările structurii neuronale.
O valoare egală cu zero, la oricare intrare a sistemului, are semnificația unui
obstacol plasat foarte departe, dincolo de sensibilitate a senzorului. O
valoare egală cu +1 are semnificația unei coliziuni inevitabile – obstacolul
aproape atinge robotul.
În prima linie a tabelului se descrie comportamentul robotului atunci
când nu există obstacole în jurul lui. În această situație dorim ca acesta să se
deplaseze tot înainte. Având în vedere că informația senzorială este zero,
pentru a obține o comadă a motoarelor de valoare {+1, +1} (valorile ieșirilor
structurii neuronale), în mod obligatoriu ambele bias-uri, a ambilor neuron
ce formează structura neuronală trebuie să aibe valori egale între ele și egale,
de exemplu, cu 1. Se poate verifica ușor corectitudinea acestui rezultat prin
utilizarea relațiilor (4.16).

79
Dan-Marius Dobrea

Cea de a doua linie a tabelului7 descrie comportarea robotului atunci


când o coliziune frontal este iminentă, semnalizată printr-o valoare egală cu
unu a senzorului central. În această situație robotul trebuie să meargă înapoi
cu viteza maximă posibilă pentru a se îndepărta de obstacol. Pentru a se
realiza acest lucru, o comandă a motoarelor de valoare {-1, -1} trebuie
obținută. Pentru aceasta ponderile w10 și w11 trebuie să ia valoarea -2. Prin
această valoare se urmărește și compensarea influenței bias-urilor.

Tabelul 4.1. Corelația intrare-comadă motoare dorită pentru un anumit


comportament urmărit și ponderile necesare atingerii acestui obiectiv
Nr. Ss SC SD SSp MSt. MDr. ponderi
1 0 0 0 0 1 1 b0 = b1 = 1
2 0 1 0 0 -1 -1 w10 = w11 = -2
3 1 0 0 0 0 -1 w00 = =-1 și w01 = -2
4 0 0 1 0 -1 0 w20 = =-2 și w21 = -1
5 1 0 0 1 1 -1 w30 = w31 = 1  w01 = -3
6 0 0 1 1 -1 1 w31 = w30 = 1  w20 = -3

Următoarele două linii ale tabelului (liniile 3 și 4), tratează situația


obturării senzorului din stanga sau dreapta – deci, a existenței unei
potențiale coliziuni pe parea din stanga sau dreapta. În această situație, roata
din dreptul senzorului care sesizează coliziunea va fi oprită (comandă zero)
iar roata opusă se va învârti în sens invers deplasării înainte a robotului. În
acest mod se obține o rotire spre partea opusă senzorului opturat, tocmai
pentru a poziționa robotul paralel cu obstacolul detectat.
Ultimele două linii modelează o situație în care robotul este prins într-
un colț cu unul din senzorii de pe partea stânga sau dreapta sesizând un
obstacol, în timp ce senzorul din spate transmite și el aceeași informație –
probabilitatea unei coliziuni este foarte mare. Într-o astfel de situație vom
roti robotul în loc (ambele motoare primesc comanda maximă dar în sensuri
opuse) astfel încât senzorii frontali să fie îndreptați într-o direcție în care să
nu existe nici un obstacol iar senzorul din spate să fie cel obturat. În această
situație urmărim să determinăm valorile ponderilor w30 și w31 ultimele
rămase fără valori calculate. Presupunând că ne aflăm în situația 5 din
Tabelul 4.1, la o valoare a ponderii w30 = 1, se va obține o valoare a ieșiri
y0 egală tot cu 1 – situație identică cu cea dorită de noi și precizată în tabel.

7
A doua linie de după capul tabelului. Prima linie (capul tabelului) o putem considera
linia 0.
80
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Datorită simetriei cu următoarea linie din tabel (linia 6) când vom face
calculele pentru această situație și vom dori ca, de această dată, y1 să fie
egală cu 1, prin calcul va rezulta și w31 = 1 – deci, luăm și păstrăm această
pondere la această valoare și pentru situația 5 din tabel. Dar, revenind din
nou la linia 5 acum ne dorim ca y1 = -1, dar din calcul ieșirea neuronului y1,
înaintea linearității de ieșire (a funcție signum) va fi 0 – deci, o valoare pe
care nu ne-o dorim. În această situație modificăm valoarea ponderii w01 la
valoarea negativă -3 (anterior era -2) și observăm, că de această dată,
obținem valoarea de la ieșirea y1 = -1, așa cum ne-am dorit și am precizat
în cazul 5 din Tabelul 4.1.
În mod similar se obține și schimbarea valorii ponderii w20 la -3, de la
valoarea anterioară egală cu -2, atunci când analizăm situația 6 din tabel.

Aplicație 4.2: Încărcați ponderile calculate mai sus în structura neuronală a


robotului (care rulează pe microcontrolerul MCF5213) și verificați
funcționarea corectă a acestuia – capacitatea robotului de a evita
obstacolele din propria sa cale.

81
Dan-Marius Dobrea

4.6. Limitările perceptronului

Dezavantajul major al perceptronului, ca și al neuronului M-P, este dat


de incapacitatea acestuia de a rezolva probleme care nu au clasele liniar
separabile. Una dintre cele mai simple probleme, considerată și problema
„prototip”, ce caracterizează clasa problemelor de clasificare neliniar
separabile şi care deci nu poate fi rezolvată de un perceptron este dată de
clasificarea setului de date rezultat de la ieşirea, y, a unei porţi sau-exclusiv,
vezi Figura 4.8(a) [Minsky, 1969].

x2 S2 S1

S3 P01 (y = 1) P11 (y = 0)

x1 x2 y
P00 0 0 0
P01 0 1 1
P10 1 0 1 P00 (y = 0)
P11 1 1 0 x1
P10 (y = 1)
(a) (b)

Figura 4.8 (a) Tabelul de adevăr a unei porţi SAU-EXCLUSIV şi


(b) distribuţia eşantioanelor în spaţiul trăsăturilor

Indiferent de poziţionarea suprafeţei discriminant, Figura 4.8(b), în cel


mai fericit caz va rezulta o grupare în aceeaşi regiune a spaţiului, deci în
aceeaşi clasă, a două elemente aparţinând uneia dintre clase dar, din păcate,
va exista şi un element aparţinând celeilalte clase. Rezultă astfel obţinerea a
cel puţin unei erori de clasificare. În cea de a doua regiune spaţială va exista
doar un singur element care este corect clasificat. Deci, pentru această
simplă problemă vom clasifica în mod greşit cel puţin un element în situația
utilizării unui sistem de claificare de tipul M-P. De exemplu, suprafaţa de
decizie S1 grupează în mod corect elementele P11 şi P00 dar în aceeaşi
regiune a spaţiului se regăseşte şi elementul P10 care este clasificat incorect.
Această problemă este exemplul clasic în care vectorii de trăsături nu sunt
liniar separabili şi deci problema nu poate fi rezolvată de către o reţea
neuronală artificială de tip neuron sau perceptron.
82
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

5. Reţeaua neuronală cu un singur strat ascuns

5.1. Introducere

În cele ce urmează vom prezenta perceptronul multistrat, așa zisul MLP


– Multi Layer Perceptron. Acesta lărgeşte noţiunea de percepron în ideea
de a generaliza structura acestuia prin introducerea unuia sau mai multor
straturi ascunse. Aceste straturi neuronale ascunse reprezintă de fapt straturi
de neuroni care nu sunt legate în mod direct către exteriorul reţelei neuronale
artificiale (RNA). În cadrul acestui subcapitol vom analiza rețeaua
neuronală cu un singur strat ascuns.
Stratul
Stratul
nr. 1
nr. 2

wkj(1) 1 wji(2)
a
x1 1 y1(2)
2
x 2a 2 y2(2)
3

M yM(2)
x da
L

Strat de Strat Strat de


intrare ascuns ieșire

Figura 5.1. O RNA cu un strat ascuns {d, L, M}


83
Dan-Marius Dobrea

5.2. RNA cu un singur strat ascuns

În Figura 5.1 se prezintă o reţea de tip MLP cu un singur strat ascuns,


cu d intrări, L elemente de procesare ascunse (PE – processing elments,
neuroni) şi M ieşiri. Vom nota în continuare topologia aceastei reţele
neuronale prescurtat sub forma {d, L, M}. Pentru a defini complet această
RNA mai trebuie să precizăm tipul neliniarităților. În mod normal, neuronii
din reţelele MLP au funcţii de activare neliniare, continue și saturabile. O
alegere firească fiind funcțiile de activare de tip sigmoidal. Utilizarea
funcţiilor de activare continui pe întreg domeniul de definiție se impune
deoarece aceste RNA sunt caracterizate de algoritmi de adaptare ce impun
derivarea funcțiilor de activare ale neuronilor.
În continuare vom analiza puterea de procesare suplimentară oferită de
elementele neuronale neliniare aparținând stratului ascuns al acestei RNA.
Această analiză se va face din punct de vedere al suprafeţelor de decizie
obţinute, deci din punct de vedere a puterii de discriminare a acestor RNA.
În cadrul acestui subcapitol vom adăuga la percepronul din Figura 4.1 un
nou strat de elemente de procesare, vezi Figura 5.1.
Reţeaua neuronală artificială cu un strat ascuns construieşte mapări ale
spațiului de intrare în valori de ieşire care rezultă dintr-o serie de compuneri
de funcții neliniare, de forma:

𝑳 𝒅
⎛ (𝟏) (𝟐) ⎞
𝒚𝒊 [𝒌] = 𝒇𝒊 ⎜ 𝒇𝒋 𝒘𝒌𝒋 𝒙𝒌 + 𝒃𝒋 𝒘𝒋𝒊 + 𝒃𝒊 ⎟
(5.1)
𝒋 𝟏 𝒌 𝟏
⎝ 𝒑𝒓𝒊𝒎𝒖𝒍 𝒔𝒕𝒓𝒂𝒕 𝒂𝒔𝒄𝒖𝒏𝒔 ⎠
𝒔𝒕𝒓𝒂𝒕𝒖𝒍 𝒅𝒆 𝒊𝒆ș𝒊𝒓𝒆

Deci, cu ajutorul relației (5.1) vom aproxima o funcție vectorială cu M


componente y1, y2, ..., yM. Fiecare componentă a acestei funcții fiind o
funcție de d variabile de intrare x1, x2, ..., xd.
Maparea rezultantă este una foarte flexibila şi ea este cea care conferă
putere de discriminare acestui tip de RNA. Dificultatea generată de o astfel
de mapare stă în principal în dificultatea analizei matematice a structurii
neuronale. Scopul pe care îl urmărim în continuare, în următorul subcapitol,
este de a găsi tipul generic de funcţie discriminant care poate fi creată cu

84
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

reprezentarea descrisă de relaţia (5.1) pentru a avea astfel o înțelegere


intuitivă a rolului diferiților neuroni plasați pe diferite straturi în cadrul
RNA.

5.3. Suprafeţele de decizie

Pentru a înţelege conceptual puterea reţelelor neuronale cu un singur


strat ascuns vom analiza o RNA cu un singur strat ascuns simplificată
topologic. RNA pe care o vom analiza are un singur strat ascuns cu doar
două elemente de procesare, vezi Figura 5.2. În cadrul structurii din Figura
5.2 elementele de procesare au funcţii de activare de tip semn (hard limited).
Scopul final este acela de a găsi potențiale funcţii discriminant generate de
stratul ascuns al MLP-ului.
Orice RNA, inclusiv MLP-ul cu un singur strat ascuns (structura
neuronală pe care noi o analizam în acest subcapitol), este de fapt o structură
de procesare în paralel a informației în cadrul unui strat și de procesare
serială a informației între straturi. Vom încerca, din aceasta perspectivă, să
înţelegem faptul ca cei doi neuroni din stratul ascuns creează, în spaţiul de
intrare x1, x2, doua funcţii discriminant. Vom nota ieşirea fiecărui element
de procesare neuronal poziţionat pe stratul ascuns cu y1 şi y2. Fiecare dintre
aceste ieşiri vor fi, de exemplu, +1 “la stânga” suprafeţei de decizie şi -1 “la
dreapta” acesteia. După cum deja știm, panta suprafeţelor discriminant este
dată de raportul ponderilor –w1/w2 şi –w3/w4.

w1 y1
x1 ∑ w5
w2 y

w3 b1
w4 y2 w6
x2 ∑
b3
b2
Figura 5.2. Reţea neuronală de tip perceptron cu un singur strat
ascuns, MLP {2, 2, 1}

Dacă continuăm raționamentul, în spaţiul y1, y2 ieşirea ultimului neuron


va genera, de asemenea, o funcţie discriminant liniara, ceea ce înseamnă ca
se va obţine, de exemplu, un răspuns +1 a ieşirii deasupra (sau dedesubtul)
unei drepte cu panta data de –w5/w6. Dar, această abordare pe porțiuni nu ne
85
Dan-Marius Dobrea

este de un real ajutor, deoarece adevărata problemă este generată de găsirea


răspunsul y în întreg spațiul de ieșire funcție de orice valoare a variabilelor
de intrare x1, x2 – a trăsăturilor x1, x2. Aceasta reprezintă o problema care
ţine de compunerea funcţiilor. Este foarte utilă și instructivă scrierea tuturor
relaţiilor intrare-ieşire sub forma de mai jos:
y = f(w5y1 + w6y2 + b3) = f (w5  f1(w1x1 + w2x2 + b1) +
(5.2)
+ w6 f2(w3x1 + w4x2 + b2) + b3) = f ( f1 + f2 + b3 )
Relaţia (5.2) a fost scrisă ţinând cont şi de presupunerea ca ponderile
stratului de ieşire sunt w5 = w6 = 1, această particularizare a fost aleasă doar
pentru simplificarea prezentării. Fiecare expresie din interiorul parantezelor
creează o funcţie discriminant, care conduce la o funcţie cu o valoare
pozitiva pe o jumătate de plan (funcţia de ieşire a neuronilor cu ieşirile y1 şi
y2 este o funcţie de tip semn). Localizarea tranziţiei în spaţiul de intrare este
controlata de funcţiile discriminant ale neuronilor din stratul ascuns, astfel
ca expresia din paranteze reprezintă suma a doua funcţii semn, f1 şi f2, cu un
termen reprezentând deplasarea (bias-ul) b3. În regiunea spaţiului de intrare
unde ambele funcţii f1 şi f2 sunt pozitive, valoarea lui y va fi cea mai mare.
Ieşirea y va avea o valoare egală cu zero în zonele din spaţiu unde doar una
dintre funcţiile f1 sau f2 este pozitiva (dar nu amândouă) şi, în final, exista o
arie în spaţiul de intrare unde y are valoarea minimă, unde ambele funcţii f1
şi f2 iau valoarea minimă posibilă.

Ieşirea y1 Ieşirea y2 Ieşirea y


x2 x2 x2 y1, y2 = +1
valoare +1 y=2
valoare +1 y1, = +1
y2 = -1 y1, = -1
y2 = +1
y=0
valoare -1 valoare -1
y = -2 y = 0
x1 x1 y1, y2 = -1 x1
(a) (b) (c)
Figura 5.3. (a) Poziţionarea suprafeţei de decizie şi partiţionarea
spaţiului dată de primul neuron, (b) Poziţionarea suprafeţei de decizie şi
partiţionarea spaţiului dată de cel de al doilea neuron, (c) modul de
divizarea al spaţiului de intrare pentru b3 = 0, în cazul în care funcţia de
activare a neuronului de ieşire este funcţia unitate

Formele suprafeţelor de decizie finale sunt controlate de plasarea


funcţiilor discriminant generate de neuronii poziţionaţi pe stratul ascuns
86
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

(care, la rândul lor, sunt controlate de valorile variabilelor w1, w2, w3, w4, b1
şi b2 din ecuaţia (5.2)). În Figura 5.3 este prezentată doar o situație
particulară de poziționare a suprafețelor de decizie, o altă situație va fi
prezentată în cadrul problemei ce va urma.
Tot din Figura 5.3 trebuie observat ca valoarea bias-ului b3 este
adăugata la rezultatul aferent stratului ascuns. Valoarea bias-ului va dicta
daca valoarile de vârf a lui y sunt pozitive (zonele spațiale pentru care y =
2) sau, daca vârful şi ambele “platouri” (y = 0, conform Figura 5.3(c)) sunt
pozitive, sau, dacă toate aceste regiuni vor avea un răspuns pozitive sau
negativ al ieșirii globale y.
Deci, putem concluziona că, rolul bias-ului pentru stratul de ieşire este
unul substanţial diferit de ceea ce se înţelege ca fiind un simplu control
asupra ieșirii y – cum este rolul bias-ul la nivelul stratului ascuns. În cazul
stratului de ieșire bias-ul permite diferite tipuri de asociere a tuturor
partiţiilor create de stratul ascuns – vezi Figura 5.4. Ponderile de ieşire
w5 si w6 modifică modul în care se compun ieşirile neuronilor de pe stratul
ascuns – permițându-se astfel și un efect multiplicativ, pe lângă cel aditiv
prezentat anterior.
Ieşirea y Ieşirea y Ieşirea y
x2 x2 x2
y=1 y=1

y=1

y = -1
y = -1
x1 x1 x1
(a) (b) (c)

Figura 5.4. Obţinirea diferitelor zone decizionale funcție de diferitele


valori ale parametrului b3, pentru exemplul prezentat în Figura 5.3, ţinând
cont şi de funcţia de activare a neuronului de ieşire:
(a) b3 = -1, (b) b3 = 1 şi (c) b3 = 3

Problema 5.1: Implementaţi în mediul de dezvoltare neuronal Neuro


Solutions o reţea neuronală artificială similară cu cea din Figura
5.2 şi determinaţi ponderile acesteia pentru a obţine zone
decizionale similare cu cele din Figura 5.4.
Combinarea tuturor valorilor parametrilor relaţiei (5.2) poate genera
suprafețe de decizie complexe, generând o mult mai mare flexibilitate a
RNA cu un singur strat ascuns comparativ cu cea a perceptronului.

87
Dan-Marius Dobrea

Din punctul de vedere a puterii discriminative, în cazul RNA cu un strat


ascuns, se pot reţine următoarele caracteristici importante: (a) numărul de
suprafețe de decizie în spaţiului de intrare este controlat de numărul de
neuroni situaţi pe stratul ascuns și (b) neuronii din stratul de ieşire au
capacitatea de a combina aceste suprafețe de decizie individuale pentru a
crea regiunile decizionale complexe.
Problema 5.2: Pentru o problemă de clasificare caracterizată de o distribuţie
a claselor similară cu cea a unei porţi XOR (Figura 5.5),
determinaţi:
(a) Tipul neliniarităţii ce trebuie utilizată pentru toţi neuronii
reţelei în vederea obţinerii unei clasificări conforme cu tabelul
de adevăr prezentat în Figura 5.5(b).
(b) Topologia minimală a reţelei neuronale artificiale capabilă să
realizeze o partiţionare a spaţiului de intrare astfel încât să fie
respectat tabelul de funcţionare din Figura 5.5(b). Justificaţi-
vă răspunsul!
(c) Ponderile şi deplasarea (bias-ul) fiecărui neuron în parte astfel
încât să se maximizeze marginea suprafeţelor de decizie.

x1 x2 Out
-1 -1 -1 -
x1 -1 1 1-
Out
x2 1 -1 1-
1 1 -1 -
(a) (b)
x2
(-1, 1) (1, 1)

x1
(-1, -1) (1, -1) (c)

Figura 5.5. (a) Reprezentarea grafică a porţii XOR, (b) tabelul


de adevăr şi (c) distribuţia caselor – pentru o distribuţie a
elementelor în spaţiul trăsăturilor similară cu acea furnizată de
o poartă sau exlusiv

Rezolvare:
(a) Pentru obţinerea unui răspuns egal cu unitatea pentru
anumite elemente ale setului de antrenare şi un răspuns egal
88
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

cu -1 pentru restul vectorilor de trăsături se va folosi o


neliniariate de tip signum asociată neuronului de ieşire. Se
poate folosi şi o neliniaritate de tip tangent hiperbolic dar
pentru ca regiuea de tranziţie dintre valorile -1 şi +1 a
neliniartăţii să nu se facă simţită (să fie cât mai îngustă),
ponderile neuronului corespondent trebuie să fie de valori cât
mai mari. În acest mod ne vom „îndepărta” de zona tranzitorie
și ne vom plasa în regiunile de saturare ale neliniarității de tip
tangent hiperbolic. Acest tip de liniaritate o vom folosi pentru
toţi neuronii din stratul ascuns a reţelei. Neliniaritatea de tip
tangent hiperboloic este descrisă de ecuaţia:
f activ ( x )  tanh(  x ) (5.3)
În continuare pentru toate reprezentările grafice ce vor fi
prezentate în continuare valoarea parametrului α a fost aleasă
egală cu unitatea.
(b) Pentru rezolvarea acestei probleme de clasificare vom
utiliza o reţea neuronală cu un singur strat ascuns. Pe primul
strat ascuns vor exista doi neuroni care vor partiţiona spaţul
în conformitate cu Figura 5.6.
Primii doi neuroni de pe stratul ascuns vor realiza două
suprafeţe de decizii, notate cu S1 şi S2 în figura de mai jos.
Stratul de ieşire va avea un singur neuron care va cupla zonele
determinate de cele două suprafeţe de decizii, S1 şi S2, astfel
încât pentru zona haşurată sistemul neuronal va întoarce
valoarea 1, iar pentru restul spaţiului de trăsături sistemul va
genera valoarea -1.
(c) Pentru maximizarea marginii suprafeţelor de decizie acestea
vor fi plaste în conformitate cu poziţia suprafeţelor prezentate
în Figura 5.6. Astfel, intersecţia cu axa x2 a suprafeţei S1 va fi
în punctul -1, iar a suprafeţei S2 în punctul 1, iar panta ambelor
segmente va fi -1. În acest mod distanţele de la vectorii suport
la suprafeţele de decizie vor fi egale şi de valori maxime.
În plus, vom alege pentru fiecare zonă a planului divizat de
suprafeţele de decizie (S1 sau S2) un anumit semn specific
(pozitiv sau negativ) pe care neuronul liniar (valoarea
obţinută înainte trecerii acesteia prin funcţia de activare) îl va
asocia acestor zone.

89
Dan-Marius Dobrea

x2
2
+
- (-1,1) (0, 1) (1, 1)
0
0
x1

(1, -1)
(-1, -1) (0, -1) -
+ S2
S1
Figura 5.6. Spaţiul trăsătrilor şi plasarea suprafeţelor de
decizie a primului strat pentru problema XOR-ului

S1: Panta acestui segment este egală cu -1, deci:


w1S1 w1S1
m , 1   (5.4)
w2 S1 w2S1
pentru realizarea egalităţii de mai sus alegem w1S1 = - 10 (se
putea alege orice altă valoare). Imediat rezultă că w2S1 = - 10.
În plus, deoarece s-a ales ca intersecţia cu axa x2 a
segmentului S1 să fie în punctul -1, avem relaţia  1   b S 1 ,
w2 S 1
din această relaţie rezultă că bS1 = -10.
Funcţia discriminant a primului neuron este dată de relaţia:
g ( x1 , x 2 )   10  x1  10  x 2  10 (5.5)
Ultima etapă rămasă în determinarea ponderilor primului
neuron de pe stratul ascuns este de a verifica semnul asociat
zonelor obţinute în urma folosirii funcţiei discriminant tocmai
determinate. Pentru acest test se alege punctul de origine a
sistemului de coordonate:
g ( 0,0)   10  0  10  0  10  10 (5.6)
Rezultatul obţinut demonstrează o asociere greşită a
semnului pentru cele două zone ale spaţiului de intrare
90
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

obţinute în urma utilizării acestei funcţii discriminant. Pentru


rezolvarea acestei probleme se schimbă semnul bias-ului
păstrându-se toate celelalte constrângeri (panta segmentului
şi intersecţia cu axa x2). Rezultatul final este:
w1S1 = 10, w2S1 = 10 şi bS1 = 10.
S2: În vederea determinării parametrilor pentru cel de al
doilea neuron, de pe stratul ascuns, paşii care trebuie urmaţi
sunt similari. Astfel, în final se obţin următoarele valori:
w1S2 = -10, w2S2 = -10 şi bS2 = 10.

(-1,1) (1,1)

(-1, -1) (1, -1) (-1, 1) (1, 1)


w1S1 ∑

x1 w1o
w2S1 Out

w1S2 w2o
x2

(-1,1) (1,1) (-1, -1) (1, -1)


w2S2 ∑

(-1, -1) (1, -1)

Figura 5.7. Topologia reţelei neuronale utilizată în clasificare şi


suprafeţele de decizie realizate

O: Prin cuplarea directă a ieşirilor neuronilor din stratul


ascuns (sumarea directă a ieşirilor) se obţine o distribuţie a
valorilor de ieşire funcţie de o anumită zonă a spaţiului
conformă cu cea din Figura 5.6 – valorile încercuite din cele
trei zone. Deoarece se doreşte obţinerea unei valori unitare în
zona haşurată şi -1 în restul spaţiului, după trecerea ieşirii
ultimului neuron prin neliniritate, trebuie să avem valori

91
Dan-Marius Dobrea

pozitive în zona haşurată şi valori negative în restul spaţiului.


Dar, aceste valori ce se vor obţine trebuie să fie cât mai mari
posibile pentru saturarea nelinirităţii de ieşire şi obţinerea
unor valori cât mai apropiate de -1 şi 1 a ieşirii reţelei
neuronale artificiale. Din aceste motive se aleg pentru vectorii
de pondere valorile: w1o = 10 şi w2o = 10. Utilizând aceste
valori vom obţine pentru zona haşurată valoarea 20 şi 0 în
rest. Utilizând un bias egal cu bo = -10 rezultă că în zona
haşurată se va obţine o valoare egală cu +10 iar în restul
spaţiului de trăsături reţeaua neuronală artificială va genera o
valoare egală cu -10. Prin trecerea acestor valori prin
neliniaritatea de ieşire se va obţine o partajare corectă a
setului de date conform cerinţelor impuse în tabelul din
Figura 5.5(b).
Partiţionările spaţiului de trăsături obţinute la ieşirea reţelei
neuronale şi la ieşirile celor 2 neuroni de pe stratul ascuns prin
utilizarea ponderilor determinate anterior sunt prezentate în
Figura 5.7 – în aceste figuri prin culoarea alb se simbolizează
o valoare egală cu unu, iar prin culoarea negru o valoare egală
cu -1.
O reprezentare grafică tridimensională a ieșirii globale a
sistemului este prezentată în Figura 5.8.

1.5
1
Out 1
0.5
0 0
x
-1 -0.5
-1.5
-1
-0.5 -1
0
0.5
1
1.5 -1.5
x

Figura 5.8. Suprafaţa de decizie a reţelei neurale artificiale

O perspectivă interesantă asupra problemei o vom obține atunci când


schimbăm semnul tuturor ponderilor neuronilor de pe stratul ascuns (w1S1 =
-10, w2S1 = -10, bS1 = -10, w1S2 = 10, w2S2 = 10 şi bS2 = -10) și, în plus,
schimbăm și semnul ponderilor w1o și w2o (w1o = -10 şi w2o = -10). Ca rezultat
92
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

direct vom observa că semnul ieșirii neuronilor de pe stratul ascuns se va


complementa (regiunea care anterior avea răspuns +1 a neuronului acum va
avea valoare -1 și pe dos). Dar, observăm că răspunsul global al sistemului,
prezentat în Figura 5.7 – graficul din extrema dreaptă, se va păstra datorită
tocmai schimbării semnului ponderilor w1o și w2o. De aici putem trage o
concluzie importantă: în cadrul RNA există mai multe combinații de
ponderi diferite (ca semn sau valoare) dar care duc la aceeași partiționare
a spațiului de intrare.
Chiar dacă în problema anterioară am determinat în mod manual
ponderile fiecărui neuron în parte, există şi algoritmi de învăţare care permit
sistemului să descopere în mod automat poziţia corectă a funcţiilor
discriminant și a modalității de cuplare a acestora pentru obținerea unei
clasificării corecte a datelor.

93
Dan-Marius Dobrea

5.4. Antrenarea reţelelor neuronale cu un strat ascuns

Atât perceptronul cât şi reţeaua neuronală cu un singur strat ascuns dar


și rețeaua neuronală cu două straturi ascunse fac parte din clasa RNA
supervizate și sunt antrenate cu algoritmi de adaptare a ponderilor care
necesită existenţa unui dorit pe care reţeaua trebuie să-l realizeze cu o eroare
cât mai mică în urma finalizării procesului de adaptare.
Algoritmul de antrenare a reţelelor neuronale multistrat este cunoscut
sub numele de algoritmul de retropropagare a erorii (backpropagation).
Acest algoritm se bazează pe ideea de propagare inversă a erorii – începând
cu stratul de ieşire şi continuând până la stratul de intrare. Algoritmul are
două etape:
 Prima, de propagare înainte a informației – RNA primește vectorul de
intrare și propagă această informație, din strat în strat, până se obține
rezultatul la ieșire;
 Cea de a doua, de propagare inversă a erorii – funcție de doritul RNA
este obținută eroare de clasificare, care se propagă invers (de la stratul
de ieșire către cel de intrare) ajustând la fiecare propagare ponderile
rețelei funcție de mărimea erorii.
Acest algoritm va fi prezentat în întregime în cadrul următorului capitol
pentru cazul unei RNA cu două straturi ascunse. Deoarece RNA cu două
straturi ascunse este o generalizare a RNA cu un singur strat ascuns,
ecuațiile necesare în cadrul acestui subcapitol vor fi deduse din prezentarea
acestora pentru o RNA cu două straturi ascunse.

94
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

6. Reţeaua neuronală cu două straturi ascunse

6.1. Introducere

În Figura 6.1 se prezintă arhitectura unei rețele neuronale cu două


straturi ascunse. Această rețea neuronală are d intrări și M ieșiri. Deci,
prescurtat o vom nota {d : K : L : M}, pentru a pune în evidență topologia
acesteia. Observăm de asemenea o structură complet conectată – fiecare
neuron primește informații de la toți neuronii existenți pe stratul anterior.

1
1
x1 2 1 y1
2
x2 3 2 y2
3

M yM
xd
L

Strat de intrare K
Strat de ieșire

Straturi ascunse

Figura 6.1. O rețea neuronală artificială (RNA) multistrat, cu două


straturi ascunse

95
Dan-Marius Dobrea

Introducerea unuia sau mai multor straturi ascunse se datorează în


principal incapacității unei arhitecturi mai simple de a rezolva anumite
probleme specifice sau anumite clase de probleme. De aici apare necesitatea
creșterii complexității structurii neuronale în vederea rezolvării acelei
probleme sau acelei clase de probleme.
În cadrul acestei structuri neuronale procesarea se face paralel în cadrul
unui strat și serial între straturi, de la stânga la dreapta, vezi Figura 6.1.

6.2. Funcţiile discriminant

O reţea neuronală cu două straturi ascunse are trei nivele de compoziţie:

⎛ ⎞
⎛ ⎞⎟
𝑦 = 𝑓⎜
⎜ 𝑓⎜ 𝑓 (𝑥) ⎟⎟
⎜ ⎟ (6.1)
⎝ ⎠
⎝ ⎠
ș

Din nou, precum la structurile anterioare, dorim să găsim regiunile de


decizie create de această reţea neuronală artificială cu două straturi ascunse.
O modalitate de abordare este să găsim suprafeţele de decizie create de
reţelele neuronale intermediare cu un singur strat ascuns iar apoi să
compunem ieşirile lor. Desigur că acesta RNA cu două straturi ascunse este
mai complexă dar este foarte important să înţelegem capacităţile de care
dispunem atunci când lucrăm cu o astfel de structură neuronală.
Din subcapitolul precedent ştim că o reţea neuronală cu un singur
strat ascuns poate să creeze regiuni locale în spaţiul de intrare. Prin
folosirea unui strat neuronal suplimentar se vor combina aceste regiuni
disjuncte din spaţiul de intrare. Această proprietate a unei RNA cu două
straturi ascunse este un rezultat foarte important, deoarece în teoria
aproximărilor de funcţii s-au demonstrat teoreme care arată că un
combinator liniar de regiuni ale spaţiului de intrare poate să aproximeze în
mod rezonabil (cu o anumită eroare) orice tip de funcţie. În concluzie putem
afirma că o reţea neuronală cu două straturi ascunse este de asemenea un
aproximator universal, deci poate să realizeze orice tip de mapare intrare-
ieşire.
Aceste teoreme sunt numai nişte teoreme care demonstrează existenţa
reţelei cu proprietatea menţionată anterior, dar din păcate nu ne prezintă nici
96
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

o modalitate de alegere a numărului de neuroni sau strasuri ascunse pentru


a rezolva o anumită problemă. Cu toate acestea teorema anterioară este
foarte importantă pentru că ne furnizează certitudinea că o reţea neuronală
de tip MLP cu două straturi ascunse este un aproximator universal. Deci,
cu certitudine o reţea neuronală (cu unul sau cu două straturi ascunse) ne va
rezolva o potențială problema.
Analizând rolurile fiecărui strat neuronal din cadrul unei RNA cu două
straturi ascunse putem sintetiza următoarele [Principe, 2000]:
 fiecare neuron din primul strat ascuns este generatorul unei funcții
discriminant. În general avem nevoie de un număr de neuroni în
primul strat ascuns (de exemplu pentru un spațiu 2D avem nevoie de
trei neuroni) şi un neuron în cel de al doilea strat pentru a forma o
regiune mărginită în spaţiul de intrare.
 numărul de neuroni în cel de al doilea strat ascuns determină
numărul de regiuni mărginite în spaţiul de intrare care sunt necesare
a fi combinate pentru realizarea unei aproximării dorite.
 în final, stratul de ieşire combină aceste regiuni pentru a produce
clasificarea dorită.
Toată această prezentare relevă faptul că o reţea neuronală cu două
straturi ascunse poate aproxima virtual orice mapare intrare-ieşire.

x2

x1

Figura 6.2. O problemă foarte dificilă de clasificare

Exemplu: O problemă foarte difcilă de clasificare este cea prezentată în


Figura 6.2. În această situație este ca și cum cineva a luat o mână de
sare și una de boabe de piper, le-a amestecat și le-a aruncat pe o
suprafață plană. Observăm că nu există nici o logică, nici o legitate
care să guverneze dispunerea elementelor în spațiul de intrare. Cu
toate acestea ne putem imagina o structură neuronală care cu ajutorul
a trei neuroni (plasați pe primul strat ascuns) pentru fiecare element
simbolizat cu un cerculeț roșu să-l izoleze față de celelate. Apoi, mai
avem nevoie de un neuron pe cel de al doilea strat ascuns pentru
97
Dan-Marius Dobrea

fiecare regiune creată de neuronii de pe primul strat ascuns, iar la


ieșire un singur neuron care să grupeze toate aceste regiuni. Desigur,
în acest mod am rezolvat problema pentru setul de antrenare, în
schimb performanțele de generalizare ale unei astfel de structuri vor
fi foarte scăzute.
Dacă am avea informaţii apriorice despre distribuţia datelor în spaţiul
de intrare, putem să alegem topologia optimă a reţelei chiar de la început.

S7 S8
S5
S2 S9

S3
R1 R2 R3
S4

S1 S10

S6
(a)

S1

S2

S5 R1

S6

x1 S3 y
R2
x2 S4

S7

S8 R3

S9

S10
(b)

Figura 6.3. (a) Un potențial exemplu a unei probleme de clasificare,


(b) topologia reţelei pentru a obţine această mapare, MLP (2-10-3-1)

Aplicație 6.1: dacă ştim că în spaţiul de intrare datele ce caraterizează o


clasă sunt repartizate în regiunile R1, R2 și R3, în conformitate cu
98
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

distribuţia din Figura 6.3(a), iar datele care caraterizează cea de a


doua clasă ocupă restul spațiului de intrare, atunci topologia reţelei
va fi cea din Figura 6.3 partea (b). Deci vom avea o reţea neuronală
de tip MLP cu două straturi ascunse de tipul (2-10-3-1).

Observăm din Figura 6.4 că există două suprafețe decizionale, S3 și S4,


care sunt utilizate la separarea tutror regiunilor (R1, R2 și R3), în timp ce
restul suprafețelor sunt utilzate doar la separarea unei singure regiuni.
x2

-4 -3 -2 -1 1 2 3 4
x1
0

-1

-2

-3

-4

-5
Figura 6.4. Distribuţia elementelor în spaţiul
de trăsături x

Problemă 6.1: Pentru o distribuţie a trei clase conformă cu Figura 6.4 (●


reprezintă elementele, vectorii de trăsături, aparţinând primei
clase, ○ reprezintă elemente aparţin celei de a doua clase, în timp
ce ■ reprezintă elementele ultimei clase) se cere:
(a). Precizaţi tipul reţelei neuronale şi topologia (numărul de
straturi ascunse şi numărul de neuroni de pe fiecare strat)
minimală pe care dumneavoastră aţi alege-o pentru realizarea
unei partiţionări corecte a setului de date. Justificaţi-vă
răspunsul (de exemplu: de ce atâţia neuroni pe stratul i; de ce
atâtea ieşiri are reţeaua; de ce ieşirea neuronului n de pe stratul
m se conectează numai cu primii k neuroni de pe următorul
strat; am folosit o neliniaritate de tipul .... pentru că ...;
neuronul j corespunde suprafeţei de decizie S1; etc.).
99
Dan-Marius Dobrea

Răspundeţi la această întrebare ţinând cont şi de cerinţa de la


subpunctul (b) al acestei problemei.
(b). Desenaţi poziţia exactă a suprafeţelor de decizie astfel încât
acestea să maximizeze marginea de decizie a reţelei.
(c). Indicaţi pentru fiecare suprafaţă de decizie vectorii suport
asociaţi (acele puncte care se găsesc la frontiera setului de
date şi faţă de care se determină marginea de decizie).
(d). Determinaţi pentru fiecare suprafaţă de decizie marginea de
decizie.
(e). Determinaţi ponderile şi bias-ul pentru fiecare neuron în parte
ce aparţine acestei reţele minimale ce generează suprafeţe de
decizie ce maximizează marginile de decizie şi care sunt
capabilă să clasifice în mod corect toate elementele
distribuţiilor din Figura 6.4.
(f). Implementaţi în NeuroSolutions soluţia determinată analitic
în cadrul punctului precedent şi verificaţi corectitudinea ei.

Rezolvare:
(a) Pentru rezolvarea acestei probleme există mai multe soluţii.
Una dintre aceste soluţii este prezentată în Figura 6.5.

S2 x2 S3
5

3 S4
2

-2 -1
x1
-4 -3 1 2 3 4
0

-1

-2
S1
-3

-4

-5

Figura 6.5. Distribuţia elementelor în


spaţiul de trăsături x
100
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Prin atribuirea corespunzătoare a ponderilor şi a bias-ului


fiecărui neuron din primul strat ascuns al reţelei neuronale
(neuronii n1, n2, n3 şi n4 din Figura 6.6(b)) se obţine o plasare a
suprafeţelor de decizie conformă cu Figura 6.5. Aceste suprafeţe
de decizie determină o partiţionare a spaţiului conformă cu cea
din Figura 6.6(a), obţinându-se astfel o delimitare a spaţiului de
intrare în diferite zone de interes.
Topologia reţelei neuronale, care plecând de la această
partiţionare a spaţiului, este capabilă să clasifice corect întregul
set de date este prezentată în Figura 6.6(b).
S2
S3

S4

Z2
Z1

S1 Z3
(a)
n1 (S1) n5
Clasa ■
n2(S2) n6 (Z1)
x1 Clasa ●
n3 (S3)
x2 n7 (Z2)
n9
Clasa ○
n8 (Z3) (b)
n4 (S4)

Figura 6.6. (a) Identificarea zonele obţinute,


(b) Topologia reţelei neuronale

În această reţea neuronală ieşirea neuronului n5 va cupla


suprafeţele de decizie S1 şi S2 şi va clasifica toate elementele care
sunt poziţionate în exteriorul triunghiului determinat de aceste
două suprafeţe de decizie ca aparţinând clasei ■.
Neuronul n6 determină zona Z1 prin cuplarea suprafeţelor de
decizie S1, S2, S3 şi S4. Deci, ieşirea neuronului n6 va indica toate
elementele clasei ● care sunt poziţionate în zona Z1.
Pentru clasificarea corectă a vectorilor de trăsături simbolizaţi
în planul de intrare prin ○ trebuie să cuplăm zonele Z2 şi Z3. Zona
101
Dan-Marius Dobrea

Z2 este realizată de către neuronul n7 prin cuplarea în mod


corespunzător a suprafeţelor S1, S2, S3 în timp ce zona Z3
determinată de cuplarea suprafeţelor de decizie S1, S2 şi S4 este
reflectată la ieşirea neuronului n8 printr-un nivel +1. Cuplarea
regiunilor Z2 şi Z3 se realizează prin intermediul neuronului n9
care va diferenţia vectorii trăsături simbolizaţi prin ○ de restul
elementelor aparţinând celorlalte clase.
Deşi această reţea neuronală este aparent una minimală, din
punct de vedere al implementării ea este o RNA atipică deoarece
o ieşire este obţinută din ultimul strat în timp ce celelalte două
ieşiri sunt obţinute din stratul ascuns care astfel nu mai este
„ascuns” fiind direct conectat cu exteriorul.
Ideea de bază a soluţiei corecte este prezentată în Figura 6.7.
Această soluţie a problemei defineşte două „triunghiuri” (primul
triunghi, T1, format din zonele Z1, Z2 şi Z5 iar cel de al doilea
triunghi, T2, din zonele Z3, Z4 şi Z5). Astfel elementele ○ sunt
poziţionate exclusiv în zonele Z1 şi Z2 şi această clasă se obţine
numai pentru acele elemente care sunt interioare triunghiului T 1
şi exterioare triunghiului T2. În mod similar elementele ■ sunt
întotdeauna interioare triunghiului T2 şi exterioare triunghiului
T1. Ultima clasa dată de elementele ● este interioară atât lui T 1
cât şi lui T2.
Pentru poziţionarea corectă a suprafeţelor de decizie S 1, S2, S3
şi S4 se vor defini şi determina în mod corespunzător parametrii
neuronilor n1, n2, n3 şi n4 asociaţi acestor suprafeţe. Spaţiul intern
definit de primul triunghi, T1, compus din zonele Z1, Z2 şi Z5 este
delimitat automat de ieşirea neuronului n5 în timp ce zona definită
de T2 este obţinută la ieşirea neuronului n6. Dacă ambele intrări
sunt complet conectate la primul strat ascuns prin ponderile
aferente ce vor fi ulterior determinate, neuronii celui de al doilea
strat ascuns (format din n5 şi n6) se conectează numai cu acei
neuroni ce definesc acele suprafeţe de decizie care sunt necesare
pentru izolarea zonelor anterior menţionate. Astfel neuronului n5
îi sunt suficiente suprafeţele S1 şi S2 pentru izolarea zonelor Z1,
Z2 şi Z5 iar neuronul n6 va utiliza doar suprafeţele de decizie S3 şi
S4 pentru izolarea zonelor Z3, Z4 şi Z5. Pentru uşurarea modalităţii
de decizie a stratului de ieşire se vor folosi neliniarităţi de tip
semn pentru neuronii n5 şi n6; definirea zonelor dorite făcându-se
astfel prin valoarea +1 asociată cu regiunea decizională plasată în
interiorul suprafeţei decizionale definită de T1 şi T2. Poziţionarea
102
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

elementelor în exteriorul zonelor de interes este dată de o valoare


-1 întoarsă de aceşti doi neuroni. Alegerea neliniarităţii de tip
semn este justificată de trecerea abruptă ce se realizează de la o
zonă de decizie la alta ceea ce ne garantează corecta clasificare a
tuturor elementelor inclusiv a celor ce sunt foarte apropiate de
suprafaţa de decizie.
x2

5
4

3
2 S3
S2 S4
1

-2 -1 x1
-4 -3 1 2 3 4 Z4
0
Z2
-1
Z5
-2 S1 Z1
-3 Z3
-4 (b)
(a)

n1 (S1)
n7
Clasa ■
n2 (S2) n5 (T1)
x1 n8
n3 (S3) Clasa ●
x2
n9
n4 (S4) n6 (T2)
Clasa ○
(c)
Figura 6.7. (a) Poziţionarea corectă a suprafeţelor de
decizie conformă cu cerinţele problemei, (b) zonele de interes
definite şi (c) arhitectura reţelei neuronale

Reţeaua neuronală are 3 ieşiri, fiecare ieşire corespunde uneia


din cele trei clase. Fiecare din aceste ieşiri va întoarce +1 pentru
elementele asociate ei şi -1 pentru restul elementelor. Deci, pe
stratul de ieşire vor fi 3 neuroni. Stratul de ieşire este unul complet
103
Dan-Marius Dobrea

conectat la cei doi neuroni, ce definesc cele două triunghiuri,


tocmai pentru că în procesul decizional al acestor neuroni sunt
necesare informaţii legate de poziţionarea elementului ce
urmează să fie clasificat faţă de ambele zonele definite de
neuronii n5 şi n6.
După cum s-a prezentat anterior cunoaşterea zonei de
poziţionare a elementului de clasificat faţă de o singură zonă nu
este îndeajuns (de exemplu elementele ■ sunt întotdeauna
interioare triunghiului T2 şi exterioare triunghiului T1, deci avem
nevoie de informaţia oferită de ambele ieşiri ale neuronilor n5 şi
n6). Funcţiile de activare a neuronilor din stratul de ieşire (n7, n8
şi n9) vor fi de tipul semn, în acest mod elementele aparţinând
uneia sau alteia dintre clase vor fi caracterizate de o valoare +1 a
ieşirii corespondente în timp ce celelalte ieşiri vor avea valoarea
-1.
Analizând comparativ topologia reţelei neuronale din Figura
6.7(c) cu aceea a reţelei neuronale artificiale din Figura 6.6(b)
se observă că acestea au acelaşi număr de neuroni în schimb
ultima topologie corespunde conceptului de reţea neuronală cu
două straturi ascunse şi, în plus, această topologie are un număr
de ponderi (18) inferior primei topologii prezentate (ce are 22 de
ponderi) – putem spune astfel că această topologie prezentată în
Figura 6.7 este cea căutată.
Reţeaua neuronală ce satisface cerinţele problemei noastre este
una cu două straturi ascunse fiind caracterizată de următoarea
configuraţie: 2:4:2:3 (intrări : nr. neuroni pe primul strat ascuns :
nr. neuroni pe cel de al doilea strat ascuns : număr de ieşiri).

(b). Pentru maximizarea marginii de decizie suprafaţa de decizie


trebuie să fie optimă adică să treacă prin jumătatea distanţei dintre
eşantioanele care sunt cele mai apropiate de frontiera dintre cele
două clase.
Aceste eşantioane poartă numele de vectori suport. În Figura
6.7(a) suprafeţele de decizie au fost deja trasate astfel încât
această regulă să fie respectată.

(c). Vectorii suport sunt acele puncte care se găsesc la frontiera


setului de date şi faţă de care se determină marginea de decizie
astfel încât să se maximizeze marginea de decizie.

104
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Raportându-ne la Figura 6.8 pentru următoarele suprafeţe


de decizie avem următorii vectori suport:
 pentru suprafaţa S1 avem vectorii E11, E12 şi E19 pentru clasa
○, E20, E21, E22, E23 şi E24 pentru clasa ■ şi E17 pentru clasa ●;
 pentru suprafaţa S2 avem vectorii E1 şi E19 pentru clasa ○, E14
pentru clasa ■ şi E15 pentru clasa ●;
 pentru suprafaţa S3 avem vectorii E19 pentru clasa ○, E13, E14,
E20, E28 pentru clasa ■ şi E15 pentru clasa ●;
 pentru suprafaţa S4 avem vectorii E5 şi E9 pentru clasa ○, E13,
E24 pentru clasa ■ şi E18 pentru clasa ●.

S2 x2

E1
E2 E13

E4 E3 E14
E6 E5 A
E8 E7 O E15 x1
E10 E9 E18 E16
E12 E11 E17
S1 E19
S4 E23E22 E21 E20
E24 S3
E25 E26 E27 E28

Figura 6.8. Spaţiul trăsăturilor, suprafeţele de decizie şi


elementele aparţinând celor 3 clase

(d). În cazul poziţionării corecte a suprafeţelor de decizie pentru


maximizarea marginii de decizie, condiţie satisfăcută în cadrul
punctului (b) al problemei noastre, marginea de decizie se poate
determina foarte uşor pentru o anumită suprafaţă de decizie aleasă
drept distanţa de la oricare vector suport a respectivei suprafeţe
de decizie către aceasta.

105
Dan-Marius Dobrea

De exemplu, vezi Figura 6.8, marginea de decizie pentru


suprafaţa S4 se poate calcula din relaţia (două moduri diferite de
a exprima aria triunghiului OE5A):
d S 4  OA OE 5  AE 5
 rezultând în final
2 2
OE 5  AE 5 OE 5  AE 5 1
dS4    .
OA OE  AE
2
5
2
5
5

În mod similar se calculează pentru S2 rezultând aceeaşi valoare.


Pentru suprafeţele S1 şi S3 marginile de decizie se calculează
foarte uşor deoarece acestea sunt paralele cu axele Ox1 şi Ox2 şi
trec chiar prin mijlocul distanţei dintre vectorii suport. Rezultând
în final:
d S1  1şi d S 3  0 .5 .
(e). Din punct de vedere matematic, panta unei drepte de ecuaţie
w1 ∙ x1 + w2 ∙ x2 + b = 0 este:
w1
m
w2
în timp ce intersecţia cu axa x2 a segmentului este dată de relaţia:
b
 x2   .
w2
În vederea determinării ponderilor şi bias-ului suprafeţelor de
decizie S1, S2, S3, S4 ne vom folosi de aceste relaţii. În plus vom
ţine cont şi de faptul că alegem ca în interiorul triunghiurilor T 1
şi T2 să avem valori +1 întoarse de neuronii n5 şi n6. Funcţiile de
activare a tuturor neuronilor acestei reţele sunt de tip semn şi vor
fi notate în continuare cu f.
S1: 𝑚 =− = 0, 𝑆 ∩ 𝑥 = − = −3 de aici rezultă:
w1S1 = 0, w2S1 = 10, bS1 = 30. Funcţia discriminant a acestui neuron
este dată de relaţia: 𝑔 (𝑥 , 𝑥 ) = 10 ⋅ 𝑥 + 30. Pentru a testa
corectitudinea valorilor asociate celor două regiuni vom lua un
punct din oricare din cele două regiuni şi vom trece prin
neliniaritatea neuronului valoarea obţinută de către funcţia
discriminat particularizată în punctul respectiv. Dacă acestă
valoare nu corespunde cerinţelor impuse vom schimba semnul
uneia din ponderile w1, w2. Această schimbare de semn
determinând automat rezolvarea problemei noastre. În cazul
106
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

nostru pentru simplitatea abordării alegem drept punct de test


punctul (0,0). Rezultând:
𝒇 𝒈𝑺𝟏 (𝟎, 𝟎) = 𝒇(𝟑𝟎) = +𝟏
Valoare întoarsă de acest neuron corespunzând cerinţelor impuse
trecem la calcularea ponderilor pentru suprafeţele de decizie
rămase.
S2: 𝑚 =− = −2, 𝑆 ∩ 𝑥 = − = 5 de aici rezultă:
w1S2 = 10, w2S2 = 5, bS2 = -25.
𝑔 (𝑥 , 𝑥 ) = 10 ⋅ 𝑥 + 5 ⋅ 𝑥 − 25, 𝒇 𝒈𝑺𝟐 (𝟎, 𝟎) = 𝒇(−𝟐𝟓) =
−𝟏 observăm că am obţinut un rezultat incorect deoarece ne-am
dori ca în interiorul zonei delimitate de T1 să avem o valoare egală
cu +1. Deci, schimbăm semnul ponderii w1S2 rezultând: w1S2 = -
10, w2S2 = -5, bS1 = 25. Testăm corectitudinea noii atribuiri:
𝑔 (𝑥 , 𝑥 ) = −10 ⋅ 𝑥 − 5 ⋅ 𝑥 + 25, 𝒇 𝒈𝑺𝟐 (𝟎, 𝟎) = 𝒇(𝟐𝟓) = +𝟏.

S3: 𝑚 =− = ∞, 𝑆 ∩ 𝑥 = − = 2.5 de aici rezultă:


w2S3 = 0, w1S3 = -10, bS3 = 25.
𝑔 (𝑥 , 𝑥 ) = −10 ⋅ 𝑥 + 25, 𝒇 𝒈𝑺𝟑 (𝟎, 𝟎) = 𝒇(𝟐𝟓) = +𝟏

S4: 𝑚 =− = 2, 𝑆 ∩ 𝑥 = − = 0 de aici rezultă: w2S4


= 20, w1S4 = -10, bS4 = 0.
𝑔 (𝑥 , 𝑥 ) = 20 ⋅ 𝑥 − 10 ⋅ 𝑥 , 𝒇 𝒈𝑺𝟒 (𝟏, 𝟎) = 𝒇(𝟐𝟎) = +𝟏
Pentru cel de al doilea strat neuronal ascuns, format din
neuronii n5 şi n6, modalitatea de calcul a ponderilor acestora este
puțin diferită. Aceşti neuroni au un rol de compunere a zonelor
decizionale realizate de neuronii poziţionaţi pe primul strat
ascuns. Conform raţionamentului prezentat în cadrul punctului
(a) al problemei dorim ca la ieşirile neuronii n5 şi n6 să avem
valori de +1 pentru zonele interioare triunghiurilor T1 (Z1, Z2 şi
Z5) şi T2 (Z3, Z4 şi Z5) şi -1 în exteriorul lor. Ţinând cont şi de
faptul că acest strat neuronal are funcţii de activare de tipul semn,
vezi relaţia (3.11), rezultă că în zonele interioare celor două
triunghiuri în urma multiplicării ieşirilor neuronilor n1, n2, n3, n4
cu ponderile sinaptice ale neuronilor n5 şi n6 şi a adunării bias-

107
Dan-Marius Dobrea

urilor proprii rezultatul trebuie să fie mai mare sau egal cu zero
iar în exteriorul acestor zone negativ.
Dacă ponderile neuronului n5 sunt ambele egale cu unitatea
iar bias-ul este zero la ieşirea acestuia, dar înaintea funcţiei de
activare, diferitele zone ale spaţiului de trăsături de intrare
primesc valorile prezentate în Figura 6.9(a) încadrate într-un
chenar. Dacă aceste valori sunt trecute prin funcţia neliniară se
observă că zonele ce iau valori egale cu +2 şi 0 vor fi asociate
aceleiaşi clase caracterizată de o valoare egală cu +1 a neuronului
n5. Deci, această asociere este una greşită. Dacă în schimb luăm
o valoare egală cu -1 a bias-ului neuronului n5 valorile obţinute
sunt cele subliniate din Figura 6.9(a). De această dată prin
trecerea acestor valori prin funcţia neliniară se observă o
partiţionare corectă a spaţiului de intrare.

-2
S3
-3
S2 S4
-1
0
-1
+2 +1 0 0
-1
+1 +1 -1
+1 S1
-1 -3 +2
-1 -2 -1
0 +1
(a) +1 -1 (b)

Figura 6.9. Valorile asociate cu diferitele zone decizionale de


către neuronii: (a) n5 şi (b) n6 anterioare funcţiei de activare

Tabelul 6.1. Asocierile neuronilor n5 şi n6


Ieşire n5 Ieşire n6 Zonă
asociată
-1 -1 exterioară
-1 +1 clasă ■
+1 -1 clasă ○
+1 +1 clasă ●

108
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

În mod evident că obţinerea acestui rezultat (această


partiţionare a spaţiului de intrare dată de neuronul n5) nu este
unică. De exemplu, atunci când am determinat ponderile pentru
neuronul ce generează suprafaţa S2 am schimbat semnul ponderii
w1S2 pentru a obţine rezultatul dorit. Dar am fi putut ajunge la un
rezultat final identic cu cel prezentat mai sus dacă nu am fi
schimbat semnul ponderii w1S2 în schimb ponderea w2 a
neuronului n5 ar fi fost egală cu -1.
Pentru neuronul n6 analiza este similară cu cea pe care am
prezentat-o la neuronul n5. Ponderile sinaptice ale acestui neuron
sunt egale cu +1 iar bias-ul este -1, vezi partiţionarea prezentată
în Figura 6.9(b).
Pentru calcularea ponderilor neuronilor de pe stratul de ieşire
va trebui să ţinem cont de rezultatele obţinute la ieşirile neuronilor
n5 şi n6 ce generează diferitele zone spaţiale decizionale. Aceste
rezultate corelate cu dispunerea elementelor ce aparţin celor trei
clase sunt prezentate în Tabelul 6.1.

S3
S2 S4
0

-2
0
+2
0
S1 +2
0 -2 0 0

Figura 6.10. Asignarea valorică a diferitelor zone spaţiale


decizionale

De exemplu, pentru ca reţeaua neuronală să întoarcă la


ieşirea neuronului n9 o valoare egală cu +1 pentru elementele
clasei ○ trebuie ca în urma grupării favorabile a ieşirilor
neuronilor n5 şi n6, prin intermediul ponderilor sinaptice şi a bias-
ului acestui neuron, să obţinem valori mai mari sau egale cu zero
în zonele Z2 şi Z1 şi valori mai mici ca zero în restul zonelor.
Printr-o simplă multiplicare a ieşirii neuronului n5 cu valoarea +1,
prin intermediul ponderii sinaptice w1 a neuronului n5, şi prin
multiplicare cu -1 a ieşirii neuronului n6 vom obţine o asignare
109
Dan-Marius Dobrea

valorică a diferitelor zone spaţiale la ieşirea neuronului, dar


anterioară funcţiei de activare, conformă cu cea din Figura 6.10.
Rezultatele prezentate în
Figura 6.10 sunt obţinute pentru o valoare egală cu zero a
bias-ului neuronului n9. Trecând aceste valori prin funcţia
neliniară de ieşire observăm că obţinem o cuplare incorectă a
zonelor decizionale. Toate zonele decizionale ce au asociate
valori egale cu 0 şi +2 vor fi asignate de n9 clasei ○ printr-o
valoare +1 de ieşire. Pentru corectarea acestei situaţii vom utiliza
o valoare egală cu -1 pentru bias-ul neuronului n9. Această
valoare va determina o cuplare corectă a zonelor decizionale.
Deci rezultatele finale pentru acest neuron sunt w1n9 = +1, w2n9 =
-1 şi bn9 = -1.
În mod similar, utilizând aceeaşi paşi, vor fi obţinute şi valorile
ponderilor pentru neuronii n7 şi n8. Ponderile neuronului n7 sunt
w1n7 = -1, w2n7 = +1 şi bn7 = -1. În timp ce ponderile neuronului n8
sunt w1n7 = +1, w2n7 = +1 şi bn7 = -1.
(f). În directorul de probleme asociat acestui capitol se găseşte în
subdirectorul “Problemă clasificare 3 clase” implementarea în
NeuroSolution a soluţiei acestei probleme. Poziţionaţi
instrumentul de vizualizare a suprafeţelor de decizie la ieşirile
diferiţilor neuroni poziţionaţi pe straturile neuronale ale reţelei şi
corelaţi zonele decizionale obţinute cu ponderile neuronului
respectiv.

110
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

6.3. Algoritmul back-propagation de adaptare

În mod generic scopul oricărui algoritm de antrenare este acela de a


determina acele ponderi ale RNA care determină obținerea erorii minime de
clasificare. Ideal ar fi să obținem o eroare egală cu zero, dar în situațiile reale
este arareori posibil. Acest fapt este determinat de mulți factori, de exemplu
de structura neuronoală care nu are “puterea” necesară rezolvării problemei
respective – prea puține straturi sau preapuțini neuroni pe fiecare strat.
Putem aminti aici și alte problemele generate în principal de setul de date și
mai puțin de structura RNA, cum ar fi: (a) prin însăși natura ei problema
este foarte dificil de rezolvat având clasele interpătrunse și indiferent de
setul de date utilizat eroarea nu va fi niciodată zero, (b) setul de date este
mult prea mic comparativ cu complexitatea structurală a RNA – de aici,
imposibilitatea estimării corecte a parametrilor RNA (a ponderilor) din setul
de date, (c) setul de date este puternic afectat de zgomote sau de diferite
artefacte (de exemplu avem elemente de tip outliers) și (d) setul de date nu
este reprezentativ pentru problema pe care dorim să o rezolvăm.
Procesul de învăţare sau de adaptare, ca mecanism evolutiv al
RNA, este un proces stohastic care depinde și este influențată de o mulțime
de parametrii dar şi de condiţiile iniţiale. Astfel dacă dorim să comparăm
performanțele diferielor RNA (viteza de convergenţă sau performanțele de
clasificare) rezultatul obţinut numai după o singură rulare este aproape
fără semnificaţie. Pentru a obţine rezultate corecte trebuie să rulăm fiecare
RNA de mai multe ori şi să alegem cele mai bune rezultate.
În concluzie, din procese succesive de adaptare a ponderilor aceleiași
RNA vom obţine, la finalul procesului, valori diferite pentru aceşti
parametri (ponderile RNA) chiar în situația obținerii unor performanțe
similare, apropiate. Acest fenomen, este generat în principal datorită
procesului de adaptare iterativ care pornește din vectori de pondere generați
aleator. Ne putem imagina diferite poziții inițiale de pornire a procesului de
adaptare (date tocmai de aceste inițializări aleatorii), pe suprafața de eroare,
care (cel puțin unele dintre ele) vor converge către minimul global. Mai
mult, nu există nici o garanţie că o problemă are o soluţie unică – gândiţi-vă
la problema analizată anterior a XOR-ului. De asemenea, două RNA care
produc aceleaşi rezultate pot să aibă vectori de pondere diferiţi și datorită
faptului că poziţia funcţiilor discriminant este determinată de raportul
ponderilor și nu de valorile lor, în plus prin schimbarea semnului unei
ponderi de la ieşirea unui neuron se poate compensa semnul ponderilor din
111
Dan-Marius Dobrea

stratul anterior. Nu în ultimul rând, pot exista neuroni redundanţi care crează
mai multe posibile soluţii, mai multe potențiale partiționări corecte a
spațiului de intrare.

6.3.1. Relațiile matematice

În cele ce urmează se vor prezenta toate relațiile de calcul necesare


implementării algoritmului de adaptare cu retropropagarea erorii
(backpropagation) pentru o structură neuronală cu 2 straturi ascunse.
Această procedură de instruire aparține clasei metodelor de tip gradient
(first-order steepest descent) în care obiectivul final este minimizarea unei
erori totale de instruire.
Stratul
nr. 1 Stratul
nr. 2 Stratul
(2)
nr. 3
wrj
wrj(1) 1 wrj(3)
1
x1a 2 1 y1(3) d1a
2
x2a 3 2 y2(3) d2a
3

M yM(3) dMa
xda
L

Strat de intrare K
Strat de ieșire

Straturi ascunse

Figura 6.11. RNA notații elemente fundamentale

Din aceste relații, se vor putea deduce ulterior foarte ușor toate relațiile
necesare adapării structurilor neuronale mai simple (de ex. RNA cu un
singur strat ascuns sau perceptronul).
Conform notațiilor din Figura 6.11 avem că ieșirea neuronului j din
stratul i al RNA este egală cu:

112
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

() () ( )
𝑦 [𝑘] = 𝑓 𝑤 [𝑘] ∙ 𝑦 [𝑘] (6.2)

În relația (6.2) k este momentul de timp, yr(i-1)[k] sunt ieșirile neuronilor de


pe stratul i - 1. Cu yr(0)[k] = xra[k], obținem intrările structurii neuronale, iar
indexul r ia următoarele valori 𝑟 = 1, 𝑑 . În timp ce yr(3)[k] = yr[k] sunt
ieșirile RNA, cu 𝑟 = 1, 𝑀 . wrj(i)[k] este ponderea conexiunii neuronale
dintre neuronul r de pe stratul i-1 cu neuronul j de pe stratul i, pentru i = 1,
2, 3 – pentru o reprezentare grafică intuitive vezi Figura 6.12.

Stratul Stratul Stratul Stratul


(i-2) (i-1) (i) (i+1)

r wrj(i)
j

Figura 6.12. Ponderea conexiunii neuronale dintre neuronul j de pe stratul


i cu neuronal r de pe stratul i-1

Prin adaptarea tuturor acestor ponderi, wrj(i)[k], care reprezintă memoria


distribuită a RNA, deci prin instruirea RNA se va aproxima o funcție
vectorială prototip (continuă în cazul regresiei și discontinuă în cazul
problemelor de clasificare) cu M componente, y1, y2, ..., yM, fiecare dintre
aceste componente fiind o funcție de d variabile de intrare x1, x2, ..., xd.
Algoritmul de retropropagare a erorii va calcula în mod continuu (până
în momentul finalizării procesului de adaptare) valoarea fiecărei ponderi
printr-o instruire supervizată. În cadrul acestui proces setul de antrenare este
compus din A exemplare {xa , da}, 𝑎 = 1, 𝐴, în care xaRd este vectorul de
intrare căruia îi corespunde un vector de ieșire dorit da RM.
În mod similar ca la algoritmul LMS vom aproxima gradientul erorii
medii pătratice totale cu gradientul unei măsuri instantane a energiei erorii
Ek (aici prin energia erorii înțelegem pătratu acesteia) definită de relația:

113
Dan-Marius Dobrea

1
𝐸 = 𝑑 [𝑘] − 𝑦 [𝑘] (6.3)
2
[ ]

În relația anterioară dja[k], cu j = 1, 2, …, M, sunt componentele vectorului


dorit (da) la ieșirea RNA, în timp ce yj[k] sunt componentele ieșirii y[k]
corespunzătoare intrării xa[k] din perechea de antrenare {xa, da}.
La modul cel mai general aptarea ponderilor wij ale RNA se face cu
relația următoare (similară cu relația (2.12)):
𝜕𝐸
𝑤 [𝑘 + 1] = 𝑤 [𝑘] − 𝜂 (6.4)
𝜕𝑤 [𝑘]
unde  este o constantă pozitivă (rata de învățare), iar Ek este eroarea medie
pătratică instantanee (o măsură a energiei erorii la momentul k).
În cadrul RNA multistrat adaptarea ponderilor se face de la stratul de
ieșire către stratul de intrare, printr-un așa zis proces de propagare inversă a
erorii – de aici și numele din engleză, rețele cu backpropagation.
Relația de calcul a ponderii wij(3) dintre elementul de procesare
(neuronul) j din stratul 3 și neuronul i din stratul ascuns 2 este dată de (vedeți
figurile Figura 6.11 și Figura 6.12):
( ) 𝜕𝐸
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] − 𝜂 ( ) (6.5)
𝜕𝑤
unde:
𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘]
( )
= = − 𝑑 [𝑘] − 𝑦 [𝑘] (6.6)
𝜕𝑤 𝜕𝑦 [𝑘] 𝜕𝑤 ( ) [𝑘] ( )
𝜕𝑤 [𝑘]
Ținând cont că yj[k] = yj(3)[k], rezultă ieșirea rețelei se calculează cu:

( ) ⎛ ( ) ⎞
𝑦 [𝑘] = 𝑓 ⎜ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘]⎟ (6.7)

⎝ [ ] ⎠
De aici avem:

114
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

( )
𝜕𝑦 [𝑘] 𝜕𝑦
( )
[𝑘] 𝜕 ∑ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘]
= = 𝑓 𝑔 [𝑘]
𝜕𝑤
( )
[𝑘] 𝜕𝑤
( )
[𝑘] 𝜕𝑤
( )
[𝑘] (6.8)
( )
= 𝑓 𝑔 [𝑘] 𝑦 [𝑘]

Din relațiile (6.5), (6.6) și (6.8) rezultă că ponderea wij(3) dintre ieșirea j și
neuronul i din stratul ascuns 2 (vezi Figura 6.11) se calculează cu
următoarea relație generică:

( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 𝑑 [𝑘] − 𝑦 [𝑘] ∙ 𝑓′ 𝑔𝑗 [𝑘] ∙ 𝑦𝑖(2) [𝑘] (6.9)

Această relație se mai poate scrie și sub forma:


( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝛿 [𝑘] ∙ 𝑦(2)
𝑖
[𝑘 ]
(6.10)
𝛿 [𝑘] = 𝑑 [𝑘] − 𝑦 [𝑘] ∙ 𝑓′ 𝑔𝑗 [𝑘] = 𝑒𝑎𝑗 [𝑘] ∙ 𝑓′ 𝑔𝑗 [𝑘]
Particularizând relația (6.9) funcție de existența unei neliniarități de tip
logistic sau tangenthiperbolic și ținând cont și de relațiile (3.46) și (3.47)
obținem:
( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 𝑑 [𝑘] − 𝑦 [𝑘] 𝑦 [𝑘](1 − 𝑦 [𝑘]) 𝑦 ( ) [𝑘]
(6.11)
𝑒𝑗 [𝑘] [ ]

și
( ) 1
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 𝑑 [𝑘] − 𝑦 [𝑘] ∙ ( )
1 − 𝑦 [𝑘] ∙ 𝑦 [𝑘]
2 (6.12)
[ ]
[ ]

Relațiile (6.10), (6.11) și (6.12) reprezintă relația generală sau


particularizările pentru diferite funcții de activare și definesc regula de
adaptare pentru o RNA de tip perceptron. Pentru o astfel de RNA această
regulă de adaptare este cunoscută sub numele de regula Delta de adaptare.
Din relațiile anterioare observăm că regula Delta este locală fiecărui neuron
necesitând doar informații legate de ponderile, ieșirea și doritul respectivei
ieșiri asociat cu neuronul în cauză.
Pentru această RNA de tip perceptron yj(2)[k] = xja[k] (cu j = 1, 2, ..., d),
deci yj(2) este intrarea perceptronului.
Problemă 6.2.: Comparați forma acestor relații ((6.9), (6.11) și (6.12)) cu
relația (4.9).
Calcularea ponderilor wij(2) între neuronul j din cel de al doilea strat

115
Dan-Marius Dobrea

ascuns și neuronul i din primul strat ascuns se va realiza cu relația:


( ) 𝜕𝐸
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] − 𝜂 ( ) (6.13)
𝜕𝑤
Ieșirea yj(2)[k] a neuronului j din cel de al doile strat ascuns intervine în
calculul fiecăreia din ieșirile RNA – prin intermediul neuronilor de ieșire
(de la primul până la al M-ulea neuron). De aici avem:
( )
𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘]
( )
= ( ) (6.14)
𝜕𝑤 𝜕𝑦 [𝑘] 𝜕𝑤 ( ) [𝑘]

Ieșirile neuronilor din straturile 2 și 3 sunt date de relațiile:

( ) ⎛ ( ) ⎞ (6.15)
𝑦 [𝑘] = 𝑦 [𝑘] = 𝑓 ⎜ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘]⎟

⎝ [ ] ⎠
și

( ) ⎛ ( ) ⎞
𝑦 [𝑘] = 𝑓 ⎜ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘]⎟ (6.16)

⎝ [ ] ⎠
Stratul Stratul
(1) (2) Stratul
(3)

1
1
1

i wij(2) wjr(3) r yr(3)[k] = yr[k]


j yj(2)[k]

M
L
K

Figura 6.13. Calcularea ponderii wij(2) și influențele generate de aceasta

116
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Ținând cont că din relația (6.3) Ek este o funcție dependentă de fiecare


ieșire, Ek (y1[k], y2[k], …, yM[k]), atunci primul termen al relației (6.14) se
poate dezvolta sub forma8:
𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝑔 [𝑘]
( )
= ∙ = ∙ ∙ (6.17)
𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑦 ( ) [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑔 [𝑘] 𝜕𝑦 ( ) [𝑘]

În relația (6.17) utilizând relațiile (6.15) și (6.3) vom obține:

𝜕𝐸
( )
=− (𝑑 − 𝑦 [𝑘])𝑓 (𝑔 [𝑘])𝑤 ( ) [𝑘] (6.18)
𝜕𝑦 [𝑘]
Termenul B din relația (6.14) se va calcula conform celor de mai jos:
( ) ( )
𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑔 [𝑘] ( )
( )
= ( )
= 𝑓 𝑔 [𝑘] 𝑦 [𝑘] (6.19)
𝜕𝑤 [𝑘] 𝜕𝑔 [𝑘] 𝜕𝑤 [𝑘]

Combinând relațiile finale (6.18) și (6.19) în relația (6.14) obținem


astfel relația de calcul a ponderii wij(2) (între neuronul j din cel de al doilea
strat ascuns și neuronul i din primul strat ascuns):
( ) ( )
𝑤 [𝑘 + 1] =𝑤 [𝑘] +

( ) ( )
(6.20)
+𝜂 𝑓 𝑔 [𝑘] 𝑦 [𝑘] (𝑑 − 𝑦 [𝑘])𝑓 (𝑔 [𝑘])𝑤 [𝑘]

Deci, cantitatea cu care se va modifica ponderea wij(2) va fi:

( )
∆𝑤 [𝑘] = 𝜂 𝑓 𝑔 [𝑘] 𝑦 ( ) [𝑘] ( )
(𝑑 − 𝑦 [𝑘])𝑓 (𝑔 [𝑘])𝑤 [𝑘] (6.21)

Pentru comoditate putem rescrie relația anterioară sub forma:


( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝜆 [𝑘] ∙ 𝑦 ( ) [𝑘]

( )
(6.22)
𝜆 [𝑘] = 𝑓 𝑔 [𝑘] ∙ (𝑑 − 𝑦 [𝑘])𝑓 (𝑔 [𝑘])𝑤 [𝑘]

8
Dacă M(p1(a), p2(a), ..., pn(a)) atunci derivând funcție de variabila a vom obține:
𝜕𝑀 𝜕𝑀 𝜕𝑝 (𝑎)
= ∙
𝜕𝑎 𝜕𝑝 (𝑎) 𝜕𝑎
117
Dan-Marius Dobrea

Particularizând relația (6.21) de adaptare a ponderilor pentru


neliniarități logistice și tangenthiperbolice obținem:
(2)
∆𝑤𝑖𝑗 [𝑘] = 𝜂 𝑦(𝑗 2) [𝑘] 1 − 𝑦(𝑗 2) [𝑘] 𝑦(𝑖 1) [𝑘] ∙
𝑓′𝑙𝑜𝑔 𝑔𝑗 [𝑘]
𝑀 (6.23)
(3)
∙ 𝑑𝑎𝑟 − 𝑦𝑟 [𝑘] 𝑦𝑟 [𝑘] 1 − 𝑦𝑟 [𝑘] 𝑤𝑗𝑟 [𝑘]
𝑟=1 𝑓′𝑙𝑜𝑔 𝑔𝑟 [𝑘]
și
(2) 1 2
∆𝑤𝑖𝑗 [𝑘] =𝜂 1 − 𝑦(𝑗 2) [𝑘] 𝑦(𝑖 1) [𝑘] ∙
2
𝑓′𝑡𝑎𝑛ℎ 𝑔𝑗 [𝑘]
𝑀 (6.24)
1 (3)
∙ 𝑑𝑎𝑟 − 𝑦𝑟 [𝑘] 1− 𝑦2𝑟 [𝑘] 𝑤𝑗𝑟 [𝑘]
2
𝑟=1
𝑓′𝑡𝑎𝑛ℎ 𝑔𝑟 [𝑘]

Relațiile generale (6.9) și (6.21) reprezintă relațiile necesare antrenării


unei RNA cu un singur strat ascuns. Pentru o astfel de rețea yi(1)[k] reprezintă
intrarea RNA, deci xi[k] = yi(1)[k].

Stratul
(1) Stratul
Stratul (2) Stratul
(0) (3)

1
1
x1a[k] 1

wij(1) j yj(1)[k]
wsr(3) yr(3)[k] = yr[k]
xia[k] r
wjs(2) s ys(2)[k]

xda[k] M
L
K
Strat de intrare Strat de ieșire
Straturi ascunse

Figura 6.14. Calcularea ponderii wij(1) și influențele generate de aceasta

Pentru definitivarea procesului de adaptare a întregii RNA cu 2 straturi


118
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

ascunse, ne mai rămâne să deducem relațiile de modificare a ponderilor


generice wij(1) de pe primul strat ascuns. O astfel de pondere conectează
intrarea i cu neuronul j din primul strat neuronal. Relația generică de
adaptare a acestor ponderi este similară cu cea utilizată în adaptarea
ponderilor de pe stratul 2 ascuns și stratul de ieșire:
( ) 𝜕𝐸
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] − 𝜂 ( ) (6.25)
𝜕𝑤
Dificultatea, ca în exemplele anterioare, rămânâne în calculul derivatei
erorii medii pătratice instantanee.
Relațiile de calcul a ieșirilor fiecărui strat neuronal sunt următoarele:

⎛ ⎞
( )
𝑦 [𝑘] = 𝑦 [𝑘] = 𝑓 ⎜ 𝑤
( )
[𝑘] ∙ 𝑦 ( ) [𝑘]⎟ (6.26)

⎝ [ ] ⎠

( ) ⎛ ( ) ⎞
𝑦 [𝑘] = 𝑓 ⎜ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘]⎟ (6.27)
⎝ [ ] ⎠

( ) ⎛ ( ) ⎞
𝑦 [𝑘] = 𝑓 ⎜ 𝑤 [𝑘] ∙ 𝑥 [𝑘]⎟ (6.28)
⎝ [ ] ⎠
Aceste trei relații anterioare sunt în directă legătură cu Figura 6.14. De altfel
întreaga demonstrație a relației de adaptare a ponderii wij(1) este susținută și
legată de această reprezentare grafică a RNA.
Deoarece ieșirea yj(1)[k] a neuronului j din primul strat ascuns intervine
în calculul fiecăreia din ieșirile RNA, vom avea:
( )
𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘]
( )
= ( ) (6.29)
𝜕𝑤 𝜕𝑦 [𝑘] 𝜕𝑤 ( ) [𝑘]

În calcualrea termenului A din relația (6.29) intervine și dependența Ek


de fiecare valoare a ieșirii Ek (y1[k], y2[k], …, yM[k]).
𝜕𝐸 𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘]
( )
=
[𝑘]
∙ ( ) =− (𝑑 [𝑘] − 𝑦 [𝑘]) ∙ ( ) (6.30)
𝜕𝑦 [𝑘] 𝜕𝑦 𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘]

119
Dan-Marius Dobrea

În relația (6.30) fiecare ieșire, yr[k], este o funcție de ieșirile de pe stratul


precedent (stratul 2) – yr = f (y1(2), y2(2), y3(2), ..., yL(2)), vezi relația (6.26), de
aici avem imediat:
( )
𝜕𝐸 𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘]
( )
=− (𝑑 [𝑘] − 𝑦 [𝑘]) ∙ ( ) (6.31)
𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑦 ( ) [𝑘]

Continuând dezvoltarea:

𝜕𝐸 ⎛ 𝜕𝑦 [𝑘] 𝜕𝑔 [𝑘] 𝜕𝑦 ( ) [𝑘] 𝜕𝑔 [𝑘] ⎞


( )
=− (𝑑 [𝑘] − 𝑦 [𝑘]) ∙ ⎜ ⎟
⎜ 𝜕𝑔 [𝑘] 𝜕𝑦 ( ) [𝑘] 𝜕𝑔 [𝑘] 𝜕𝑦 ( ) [𝑘]⎟
(6.32)
𝜕𝑦 [𝑘]
( [ ]) ( ) ( [ ])
[ ] ( )
⎝ [ ] ⎠
În final obținem valoarea finală a termenului A:
𝜕𝐸 ( )
( )
=− (𝑑 [𝑘] − 𝑦 [𝑘])𝑓 (𝑔 [𝑘]) 𝑤 [𝑘] ∙ 𝑓 (𝑔 [𝑘]) ∙ 𝑤 ( ) [𝑘] (6.33)
𝜕𝑦 [𝑘]

Pentru calcularea termenului B în relația (6.29) parcurgem pașii de mai


jos:
( ) ( )
𝜕𝑦 [𝑘] 𝜕𝑦 [𝑘] 𝜕𝑔 [𝑘]
( )
= = 𝑓 𝑔 [𝑘] 𝑥 [𝑘] (6.34)
𝜕𝑤 [𝑘] 𝜕𝑔 [𝑘] 𝜕𝑤 ( ) [𝑘]

Utilizând relațiile (6.29), (6.33) și (6.34) și întroducându-le în relația


(6.25) vom obține relația finală de adaptare a ponderilor wij(1) de pe primul
strat ascuns:
( ) ( )
𝑤 [𝑘 + 1] =𝑤 [𝑘] + 𝜂 ∙ 𝑓 𝑔 [𝑘] ∙ 𝑥 [𝑘] ∙

( )
(6.35)
∙ (𝑑 [𝑘] − 𝑦 [𝑘])𝑓 (𝑔 [𝑘]) 𝑤 [𝑘] ∙ 𝑓 (𝑔 [𝑘]) ∙ 𝑤 ( ) [𝑘]

În mod similar vom pune relația anterioară sub o altă formă pentru
ușurință, obținem astfel:
( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝜌 [𝑘] ∙ 𝑥 [𝑘]

( )
(6.36)
𝜌 [𝑘] = 𝑓 𝑔 [𝑘] ∙ 𝑒𝑎𝑟 [𝑘]𝑓 (𝑔 [𝑘]) 𝑤 [𝑘] ∙ 𝑓 (𝑔 [𝑘]) ∙ 𝑤 ( ) [𝑘]

120
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Particularizând relația (6.35) pentru neliniaritățile de tip logistic și


tangent hiperbolic vom obține:
( ) ( )
𝑤 [𝑘 + 1] =𝑤 [𝑘] + 𝜂 ∙ 𝑦 ( ) [𝑘] ∙ 1 − 𝑦 ( ) [𝑘] ∙ 𝑥 [𝑘] ∙
[ ]

∙ (𝑑 [𝑘] − 𝑦 [𝑘]) ∙ 𝑦 [𝑘] ∙ (1 − 𝑦 [𝑘]) ∙


( [ ])
(6.37)

( )
∙ 𝑤 [𝑘] ∙ 𝑦 ( ) [𝑘] ∙ 1 − 𝑦 ( ) [𝑘] ∙ 𝑤 ( ) [𝑘]
( [ ])

și
( ) ( ) 1 ( )
𝑤 [𝑘 + 1] =𝑤 [𝑘] + 𝜂 ∙ ∙ 1 − 𝑦 [𝑘] ∙ 𝑥 [𝑘] ∙
2
[ ]

⎛ 1
∙ ⎜(𝑑 [𝑘] − 𝑦 [𝑘]) ∙ 2 ∙ (1 − 𝑦 [𝑘]) ∙ (6.38)
( [ ])

( ) 1 ( ) ( )
∙ 𝑤 [𝑘] ∙ ∙ 1 − 𝑦 [𝑘] ∙𝑤 [𝑘]
2
( [ ])

Relațiile (6.9), (6.21) și (6.35) sunt toate relațiile necesare în


adaptarea ponderilor unei RNA cu 2 straturi ascunse.

Problemă 6.3: Plecând de la relațiile (6.9), (6.21)(6.11) și (6.35) care


prezintă modalitatea de modificare a ponderilor diferitelor strate
de ponderi din RNA scrieți relațiile de modifcare a bias-urilor
pentru 3 neuroni plasați fiecare pe: stratul de ieșire, primul și pe
cel de al doilea strat neuronal ascuns.

6.3.2. Funcțiile de activare

Se poate obsera că toate relațiile anterioare de adaptare a ponderilor de


pe diferitele straturi neuronale (relațiile (6.9), (6.21) și (6.35)), le-am
particularizat ulterior pentru neliniaritățile de tip: logistică și tangent
hiperbolică ((6.11), (6.12), (6.23), (6.24), (2.37) și (6.38)). De aici se ridică
121
Dan-Marius Dobrea

o serie de întrebări. De ce numai aceste neliniarități au fost prezentate?


Există anumite condiții pe care o funcție trebuie să le îndeplinească pentru
a putea fi utilizată în cadrul RNA drept funcție de activare?
Din cele prezentate până acum putem spune că există două condiții
fundamentale pe care trebuie să le îndeplinească funcțiile de activare,
acestea sunt continuitatea și derivabilitatea. Aceste două condiții sunt
evidente dacă analizăm relațiile de adaptare a ponderilor prezentate anterior.
În concluzie, cel puțin din punct de vedere teoretic o RNA antrenată cu
algoritmul de retropropagare a erorii ar putea utiliza orice tip de funcție de
activare atâta timp cât aceasta îndeplinește aceste două condiții
fundamentale.

Problemă 6.4: Într-o RNA cu un singur strat ascuns:


(a). demonstrați că dacă funcțiile de activare ale stratului ascuns
sunt liniare atunci această RNA este echivalentă cu o RNA
de tip perceptron.
(b). Justificați de ce o RNA cu un singur strat ascuns cu funcții
de activare de tip liniar nu poate rezolva problema XOR-ului
(vezi Problema 5.2).

Rezolvare: În Figura 6.15 se prezintă o RNA cu un singur strat ascuns.


Stratul
Stratul
nr. 1
nr. 2

wij(1) 1 wjk(2) wik


x1 (2) x1 1 y1
1 y1
2
x2 x2 y2
2 y2(2) 2
3

M yM(2) M yM
xd xd
L

Strat de Strat de Strat de


Strat de Strat ieșire
intrare ascuns ieșire intrare

Figura 6.15. Echivalarea unei RNA cu un singur strat ascuns cu


o RNA de tip perceptron, în situația în care funcțiile de activare
de pe stratul ascuns sunt liniare
122
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Ecuațiile ieșirilor neuronilor de pe cele 2 straturi sunt:

( ) ( ) ( )
𝑦 = 𝑓( )
𝑦 𝑤 (6.39)

( ) ( )
𝑦 = 𝑓( )
𝑥𝑤 (6.40)

Combinând cele două relații de mai sus vom obține:

( ) ( ) ( )
𝑦 = 𝑓( )
𝑓( )
𝑥𝑤 𝑤 (6.41)

Considerând funcția de activare a stratului ascuns liniară,


f(1)(x) = x, relația (6.41) poate fi simplificată și apoi rescrisă sub
forma:

( ) ( ) ( ) ( ) ( )
𝑦 = 𝑓( )
𝑥𝑤 𝑤 = 𝑓( )
𝑥 𝑤 𝑤 (6.42)

Dar relația (6.42) este echivalentă cu o RNA de tip


perceptron (fără nici un strat ascuns) cu d intrări și M ieșiri (rețea
prezentată în Figura 6.15) pentru care ponderile rețelei vor fi:

( ) ( )
𝑤 = 𝑤 𝑤 (6.43)

iar ieșirea:

𝑦 = 𝑓( )
𝑥𝑤 (6.44)

Dar, noi știm că o RNA de tip perceptron nu poate rezolva


probleme în care clasele nu sunt liniar separabile – de exemplu,
problema XOR-ului prezentată anterior.

Această problemă prezentată anterior pune în evidență necesitatea


utilizării funcțiilor de activare neliniare.
O altă proprietate foarte importantă pe care functiile de activare
trebuie să o îndeplinească este ca acestea să se satureze [Duda, 2001],
[Principe, 2000] – deci, ca ieșirea lor să tindă către o valoare maximă
123
Dan-Marius Dobrea

constantă și către o valoare minimă constantă. De altfel, abilitatea unei RNA


multistrat de a discrimina între vectorii de trăsături de intrare este corelată
în mod direct cu saturarea ieșirii elementelor de procesare.
Analizând relațiile de adaptare a ponderilor diferitelor straturi
neuronale, relațiile (6.9), (6.21) și (6.35), observăm că ponderile sunt
modificate cu o cantitate proporțională cu semnalul de intrare în pondere și
cu derivata funcției neliniare a neuronului ce are asociată ponderea
respectivă:
𝑦
( )
∙ 𝑦
()
=𝑦
( )
∙ 𝑓 ( ) 𝑔 [𝑘] (6.45)
pentru i = 1, 2, 3. Reprezentând grafic fiecare termen în parte și produsul lor
obținem graficele din Figura 6.16.

(𝒊 𝟏)
𝒚𝒊 (𝒈𝒊 ) 1.0
0.8

0.6

0.4

0.2 𝒈𝒊
-5 -4 -3 -2 -1 1 2 3 4 5
-0.2
( )
-0.4
0.5 𝑦 ∙ 𝑓( )
(a) -0.6 0.4
-0.8
0.3
-1.0
0.2

1.0 0.1 𝒈𝒊,𝒋


() 0.9
𝑓 𝑔
0.8 -5 -4 -3 -2 -1 1 2 3 4 5
-0.1
0.7

0.6 (c) -0.2

0.5 -0.3
0.4
-0.4
0.3
-0.5
0.2
(b) 0.1 𝒈𝒋
-5 -4 -3 -2 -1 0 1 2 3 4 5

Figura 6.16. (a) semnalul de intrare, (b) derivata funcției neliniare a


neuronului și (c) produsul celor doi termeno

Având un vector de date la intrarea neuronului și luând în considerare


un vector de ponderi specific acestuia produsul semnalul de intrare în
pondere și derivata funcției neliniare poate fi situat într-o: (a) vecinătate
restrânsă superioară sau inferioară valorii zero sau (b) mai departe de
această vecinătate. Observând curba din Figura 6.16(c) putem trage

124
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

concluzia că vectorul de ponderi a acestui neuron va fi modificat în directă


proporționalitate cu forma acestei curbe. Dacă, ne vom poziționa în
apropierea vecinătății originii (în cazul unei neliniarităţi sigmoidale s-a
arătat că, aceasta, este mai senzitivă pentru activări cu valori apropiate de ±
0.707 [Principe, 2000]) vom modifica ponderea cu o cantitate semnificativă,
iar neuronul sau neuronii care satisfac această condiție vor învăţa mai mult
comparativ cu restul neuronilor; în plus, funcție de valoarea lor de intrare ei
se vor “specializa” în anumite zone ale spaţiului de intrare. Putem
concluziona că efectul global al existenței neliniarităţii este de a stabiliza
vectorul de ponderi în centrul unei anumite zone a spaţiului de intrare.
Deci neliniearitățile funcției de activare permite diferiţilor neuroni să se
specializeze în diferite zone ale spaţiului de intrare.
În cealată situație, în care unul dintre neuroni este saturat (activarea are
o valoare mare sau foarte mare în valoare absolută) în urma procesului de
adaptare vectorul pondere a acestui neuron nu se va schimba în mod
semnificativ – observăm din Figura 6.16(c) că pentru valori mari produsul
(𝒊 𝟏) (𝒊)
𝒚𝒊 ∙ 𝒚𝒋 tinde exponențial către zero.
Deoarece în cadrul unui clasificator dorim crearea de funcţii
discriminant care să mărginească anumite zone ale spațiului de intrare (zone
care vor modela o clasă sau alta), observăm că tocmai aceste neliniarităţi
saturate ale funcțiilor de activare stau la baza puterii discriminative a RNA.
Putem spune astfel că primul strat ascuns neuronal cu funcții de activare
sigmoidale ne permite să avem o reprezentare distribuită a intrării – diferiți
neuroni ocupându-se de diferitele regiuni ale spațiului de intrare [Duda,
2001]. Dacă neuronii vor fi liniari sau neliniari, dar neliniarităţile acestora
nu au proprietatea de a se satura, atunci nu va mai exista fenomenul de
specializare “spațială” pe domeniul de intrare în cadrul RNA. În acest mod
reţeaua nu va putea răspunde cu valori mari pentru anumte zone de intrare
(deci, pentru o anumită clasă) şi cu valori mici pentru restul spațiului de
intrare.

6.3.3. Implementarea algoritmului

Mai jos se prezintă în mod structurat (cu referire la Figura 6.11 și


Figura 6.14) etapele de implementare ale algoritmului de retro propagarea
erorii (backpropagation):
1. k = 0, a = 0;
2. Se inițializează ponderile RNA cu două straturi ascunse;

125
Dan-Marius Dobrea

3. Se prezintă structurii neuronale intrările xa[k] și ieșirile dorite da[k] –


primul este un vector d dimensional în timp ce doritul RNA este un
vectom M dimensional;
4. Se calculează ieșirile fiecărui neuron plasat pe fiecare strat neuronal
yj(1)[k], ys(2)[k] și yr(2)[k] (cu j = 1, 2, …, d, s = 1, 2, …, L și r = 1, 2,
…, M);
5. Se calculează pentru toți neuronii stratului de ieșire (Strat 3):
𝛿 [𝑘] = 𝑑 [𝑘] − 𝑦 [𝑘] ∙ 𝑓 𝑔 [𝑘] (6.46)
6. Se calculează pentru toți neuronii celui de al doilea strat ascuns (Strat
2):

( )
𝜆 [𝑘] = 𝑓 𝑔 [𝑘] ∙ (𝑑 − 𝑦 [𝑘])𝑓 (𝑔 [𝑘])𝑤 [𝑘] (6.47)

7. Se calculează pentru toți neuronii primului strat ascuns (Strat 1):

( )
𝜌 [𝑘] = 𝑓 𝑔 [𝑘] ∙ 𝑒𝑎𝑟 [𝑘]𝑓 (𝑔 [𝑘]) 𝑤 [𝑘] ∙ 𝑓 (𝑔 [𝑘]) ∙ 𝑤 ( ) [𝑘] (6.48)

8. Se adaptează ponderile cu relațiile:


( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝜌 [𝑘] ∙ 𝑥 [𝑘] (6.49)

( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝜆 [𝑘] ∙ 𝑦 ( ) [𝑘] (6.50)

( )
𝑤 [𝑘 + 1] = 𝑤 ( ) [𝑘] + 𝜂 ∙ 𝛿 [𝑘] ∙ 𝑦 ( ) [𝑘] (6.51)

9. a = a +1; dacă a > A atunci a = 0 (și o epocă de antrenare tocmai s-a


încheiat);
10. k = k + 1; dacă s-a îndeplinit condiția de oprire a algoritmul de
antrenare acesta se oprește; dacă nu se reia algoritmul de la pasul 3.

6.3.4. Iniţializarea ponderilor

O iniţializare corectă a ponderilor, înainte de începerea procesului de


învăţare, este o cerinţă esenţială în cadrul RNA pentru a avea o convergență
rapidă a algoritmului de adaptare. Valorile iniţiale ale ponderilor
influenţează în mod definitoriu performanţele procesului de învăţare. Astfel,
126
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

de exemplu, o iniţializare depărtată de minimul global creşte timpul de


învăţare și mărește șansele RNA de a fi captivă într-un minim local.

Problemă 6.5: Având la dispoziție întregul algoritm de adaptare a


ponderilor (prezentat în subcapitolul anterior) explicați de ce o
RNA de tipul MLP cu 2 straturi ascunse nu va învăța niciodată
dacă în urma procesului de inițializare a ponderilor (includem aici
și bias-urile) toate acestea vor lua valori egale cu zero.

Mai mult dorim ca toţi neuronii să înveţe la aceiaşi rată, adică toate
ponderile să ajungă la valorile lor optime aproximativ în același moment de
timp. După cum am prezentat anterior neuronii aflaţi în regiunea liniară a
caracteristicii învaţă mai repede decât cei aflaţi în regiunea saturată.
De exemplu, într-o abordare simplificată ponderile pot fi inițializate în
mod aleatoriu cu o funcție densitate de probabilitate uniformă, în intervalul:
𝑤 ∈ [−𝑟, +𝑟 ] (6.52)
Dacă valoarea r ar fi destul de mică atunci activarea unui anumit neuron (gi)
ar fi și ea de valoare redusă și mai mult ne-am plasa în zona liniară a funcție
de activare. Dacă valorile iniţiale ale ponderilor sunt prea mari se va obține
un fenomen de saturare a neuronilor.
Dar, putem constata că există o mare diferență atunci când inițializăm
ponderile unui neuron ce are 100 de intrări față de situația unui neuron cu
doar 10 intrări. Acest fapt ne subliniază necesitatea iniţializării ponderilor
ţinând cont de fan-in-ul fiecărui neuron în parte, astfel încât aceştia să
proceseze datele în regiunea liniară a funcție de activare şi, în concluzie, să
înveţe toți la aceiaşi viteză.
Notând cu Fi fan-in-ul fiecărui neuron în parte (deci, numărul de intrări
a fiecărui neuron), o regulă practică ne impune ca valorile ponderilor pentru
un neuron al reţelei să fie distribuite uniform în intervalul [Principe, 2000]:
2.4 2.4
− ,+ (6.53)
𝐹 𝐹
În alte locuri, în literatura de specialitate, se recomandă o distribuite
uniformă a valorilor ponderilor în intervalul [Duda, 2001], [Xavier, 2010]:
1 1
− ,+ (6.54)
𝐹 𝐹
Pentru RNA cu structură adâncă (deep feedforward neural networks) în
literatura de specialitate se recomandă o inițializare a ponderilor unui anumit
127
Dan-Marius Dobrea

strat uniform în intervalul [Xavier, 2010]:


√6 √6
− ,+ (6.55)
𝐹 + 𝑛𝑛 𝐹 + 𝑛𝑛
În relația (6.55), nn reprezintă numărul neuronilor de pe stratul pe care se
inițializează ponderile. În cazul utilizării pentru inițializarea ponderilor a
relației (6.55) se recomandă ca ponderile de tip bias să fie puse pe zero.
Din toate relațiile anterioare ((6.53), (6.54) sau (6.55)) se observă
existența unui element comun, cu cât există mai multe ponderi la intrarea
unui neuron, cu atât intervalul în care se vor inițializa ponderile
respectivului neuron este mai redus.

6.3.5. Criterii de oprire a unei reţele neuronale artificiale

Antrenarea RNA trebuie oprită în momentul în care sistemul a învăţat


problema respectivă şi deţine în continuare proprietatea de a generaliza
informaţia învăţată. Din păcate nu există o metodă directă pentru a sesiza
momentul când acest prag a fost atins, mai degrabă există câteva criterii,
fiecare cu meritul lui personal, cu avantajele dar și cu dezavantajele proprii,
care pot fi utilizate în oprirea reţelei.

1. Oprirea reţelei bazată pe informaţia furnizată de eroarea pe


setul de antrenare
Cea mai simplă metodă de a opri o RNA este de a alege un prag pentru
numărul epocilor de antrenare. În momentul în care acest prag a fost atins
procesul de adaptare va fi oprit în mod automat. Singurul avantaj al acestei
metode de oprire a RNA este simplicitatea, deoarece metoda nu se foloseşte
de nici o informaţie pe care RNA o furnizează în timpul perioadei de
antrenare. Dar în momentul opririi nu există nici o garanţie că reţeaua a găsit
vectorii de pondere care determină eroarea minimă (de clasifcare sau
aproximare).
Analizând modalitatea de comportare a erorii medii pătratice a reţelei
pe setul de antrenare, observăm că în mod normal aceasta scade de la o
epocă la alta. În momentul când eroarea medie pătratică scade sub un anumit
prag putem opri procesul de învăţare. Dar, de această dată, nu avem nici o
garanţie că sistemul va ajunge vreodată la acel prag, astfel încât procesul de
învăţare este posibil să nu se oprească niciodată. În plus, s-a observat că

128
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

după un anumit prag de antrenare RNA își pierde caracteristicile de


generalizare.
Pentru formularea unui criteriu mai bun putem analiza proprietățile pe
care le deţin minimele locale şi cel global de pe suprafaţa de eroare. O
condiţie necesară impusă vectorilor de ponderi pentru ca RNA să atingă un
minim local sau global este ca vectorul gradient al ponderilor să fie zero.
Dar arareori vom întâli o astfel de situație. De cele mai multe ori RNA va
oscila cu o mică amplitudine în jurul minimului local sau global. Astfel
putem formula următorul criteriu de oprire al RNA: vom opri procesul de
antrenare al RNA în momentul în care norma Euclidiană a vectorului
gradient al ponderilor a atins un prag suficient de mic. Dezavantajul metodei
este dat de faptul că trebuie să calculăm pentru fiecare epocă de antrenare și
vectorului gradient a ponderilor – astfel se adaugă o complexitate
computațională suplimentară.
Tot din analiza proprietății minimelor locale sau globale observăm că
în aceste puncte eroarea medie pătratică pe întregul set de antrenare este
staţionară, având variații de mică amplitudine. Știind modalitatea de calcul
a erorii medii pătratice pe întregul set de antrenare:

1
𝐸 . [𝑘] = 𝑑 [𝑘] − 𝑦 [𝑘] (6.56)
2

putem defini următorul criteriu: considerăm că algoritmul de retropropagare


a erorii a convers în momentul în care variaţia absolută a erorii pătratice
medii pe o epocă este suficient de mică:
|𝐸 . [𝑘] − 𝐸 . [𝑘 − 𝑇]| < 𝜖 (6.57)
În această situație algoritmul de antrenare se oprește. Această metodă
are dezavantajul opririi antrenării RNA în mod prematur atunci când se
ajunge în regiuni plate ale suprafeţei de eroare.
Rata tipică de variaţie a erorii pătratice medii pe epocă care este
considerată suficientă pentru oprirea algoritmului de învăţare este în
domeniul de 0.1% până la 1% pe epocă. Ideea acestei metode de oprire a
RNA este de a antrena reţeaua până când nu se mai poate extrage mai multă
informaţie din setul de date de antrenare [Principe, 2000].

2. Criteriu de oprire bazat pe capacitatea de generalizare a


RNA
Toate criteriile de oprire prezentate în subcapitolul anterior, din păcate,
129
Dan-Marius Dobrea

nu ne dau nici un indiciu asupra capacităţii RNA de a generaliza9


cunoştinţele dobândite în urma procesului de învăţare.
Informaţii extrase din teoria modelării seturilor de date şi din cea a
învăţării ne indică în mod cert că o RNA antrenată cu algoritmul de
retropropagare a erorii va continua să-şi îmbunătăţească în mod continuu
performanţele pe setul de antrenare. Dar, performanţele se vor înrăutăţi
(după un anumit număr de epoci) pe un alt set de date neutilizat în antrenarea
RNA – acest set de date poartă numele de set de cros-validare. Variabilitatea
performanțelor pe setul de antrenare și pe cel de cros-validare sunt
prezentate în Figura 6.17. Acest fenomen poartă numele de supra-
antrenarea RNA sau, termenul echivalent din limba engleză overtraining.
Popular se spune că RNA a început să “tocească” setul de date.
Motivarea acestei segmentări, a setului de antrenare, este de a valida
capacitatea de generalizare a modelului neuronal (RNA), utilizându-se
pentru aceasta un set de date diferit de cel utilizat în estimarea modelului –
diferit deci de cel utilizat în antrenarea RNA, cu ajutorul căruia ponderile au
fost modificate (funcțe de intrarea rețelei neuronale și de eroarea medie
pătratică).
Eroare Punctul de
oprire optim
pentru
generalizare

Setul de antrenare

Epoci

Figura 6.17. Variaţia erorii pe setul de cros validarea şi pe cel de


antrenare; prezentarea punctului optim de oprire a RNA

Intuitiv, în prima parte a procesului de adaptare RNA încearcă să


descopere mecanismul intern de generare a setului de antrenare, a
corespondenței ce există între intrările RNA și ieșirile dorite. În cea de a
doua parte a procesului de adaptare RNA stochează în ponderile sale,
precum o memorie RAM (dar în acest caz o memorie distribuită),
corespondența între intrare și ieșire (pentru un set de valori de intrare care
sunt similare cu “aceste” valori răspunsul este “acesta” etc.) pierzându-și

9
Generalizare este abilitatea unei reţele de a clasifica corect vectori de trăsături de intrare
care nu au fost utilizați în setul de antrenare.
130
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

astfel capacitatea de generalizare. Utilizându-se setul de date de cros-


validare, atâta timp cât RNA modelează din ce în ce mai bine funcționala
intrare-ieșire, eroarea pe acest set de date va scădea în mod continuu. Dar,
din momentul în care RNA va intra în etapa de „suprantrenare”, capacitatea
de generalizare scade în mod continuu, iar eroarea pe setul de crosvalidare
va crește. Deci, antrenarea RNA va fi oprită în momentul în care eroarea pe
setul de cros-validare începe să crească – acesta este momentul în care RNA
își atinge capacitatea maximă de generalizare, vezi Figura 6.17.
Cu toate că utilizarea setului de date de cros-validare s-a impus ca un
standard, pentru identifcarea momentului când RNA își atinge potențele de
maximă generalizare, acestă metodă prezintă cel puțin un dezavantaj: setul
de crosvalidare micşorează setul de date utilizat în antrenarea RNA. Dar,
beneficiile obţinute sunt mult mai mari decât costurile generate de această
metodă – din acest motiv utilizarea setului de cros-validare este
recomandată drept criteriu de oprire pentru aplicaţiile reale de clasificare.
Metoda de oprire a antrenării pe baza performanțelor obținute în setul
de cros-validare poate fi aplicată oricărui sistem de clasificare, în care
parametrii clasificatorului (ponderile în cazul particular al RNA) sunt extrași
din setul de date de antrenare.
Într-o situație reală setul de date, în special atunci când acesta este de
mari dimensiuni, va fi împărțit în 3 secțiuni după cum urmează:
1. Seul de antrenare (training set) este utilizat în antrenarea modelelor
neuronale – în determinarea parametrilor optimi, a ponderilor
neuronale, a fiecărei RNA în vederea obținerii celor mai bune
performanțe de clasificare. Deci, acest set este utilizat în
determinarea modelului. De exemplu, acest set de date poate fi 60%
din întregul set de date inițial.
2. Setul de crosvalidare (cross-validation set) este utilizat în oprirea
procesului de adaptare în momentul în care RNA deține capacitatea
maximă de generalizare. Dar, deoarece dorim să obținem cele mai
bune performanțe de clasificare vom testa mai multe tipuri de RNA
de același fel și/sau algoritmi de clasificare (SVM, MLP, RBF,
random forests, k-means, Bayes etc.) cu arhitecturi sau parametri
diferiți (număr de straturi, număr de neuroni pe strat) în vederea
obținerii celor mai bune performanțe de clasificare. Din această
perspectivă, putem utiliza setul de cros-validare şi ca un mecanism
de alegere a unei RNA sau algoritm de clasifciare dintr-un set de
potențiali clasificatori conform performanţelor realizate pe setul de
crosvalidare.
Din perspectiva utilizării unei singure structuri neuronale, RNA
131
Dan-Marius Dobrea

de tip MLP, putem spune că setul de crosvalidare este utilizat în


determinarea valorii optime: a numărului de straturi ascunse, a
numărului de neuroni pe fiecare strat, a parametrulor algoritmilor de
adaptare (rata de învățare - , constantei de tip moment - ),
criteriului de eroare (L1 sau L2), etc.
Dimensiunea acestui set de date poate reprezenta 20% din întregul
set de date.
3. Setul de test (test set) este utilizat în estimarea performanțelor RNA
sau a algoritmului ales la pasul anterior, Deci, pentru o structură
neuronală de tip MLP aleasă anterior (topologie, număr elemente,
parametri de învățare etc.) antrenată (ponderile determinate pe setul
de antrenare) evaluarea performanțelor acesteia se face pe setul de
test. În conformitate cu datele prezentate anterior dimensiunea
acestui set de perechi intrare-dorit este de 20% din setul inițial de
date.
Există abordări în care modelul particular ales, cel cu cele mai
bune performanţe, este apoi antrenat atât pe setul de antrenare cât și
pe cel de crosvalidare (reunificate într-un set de date unic), în timp
ce abilitatea de a generaliza a reţelei rezultate este măsurată pe setul
de date de test.
Mărimile acestor seturi de date, prezentate anterior 60/20/20
(procentuale pe antrenare/crosvalidare/test), nu sunt valori impuse. Astfel,
diferiți cercetători utilizează alte rapoarte, precum: 50/25/25 sau 70/15/15.
Așa cum am menționat anterior, dezavantajul major a metodei de oprire
a procesului de antrenare pe baza setului de cros-validare este dat de
micșorarea setului de antrenare. Atunci când setul de date este mic se preferă
o metodă de validare încrucişată cu mai multe (de exemplu, K) sub-seturi
egale ale datelor de antrenament. Astfel, setul de date de antrenare, {xa, da},
a = 1, 2, ... , A, va fi împărțit în mod aleator în K subseturi (fiecare de
lungime A/K elemente). Vom antrena de K ori RNA, cu ajutorul a:
𝐴
(𝐾 − 1) (6.58)
𝐾
elemente, utilizând de fiecare dată un alt set diferit de cros-validare. În final
performanța de clasificare pe setul de cros-validare este dată de media pe
cele K rulări.
Dacă datele de care dispunem sunt foarte puține, atunci vom alege K =
A, iar această metodă este cunoscută sub numele de cros-validare de tip
“leave-one-out”.

132
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

6.3.6. Evaluarea erorii

În principal antrenarea supervizată a RNA necesită determinarea erorii


între ieșirea RNA și doritul rețelei. Funcție de această eroare ponderile
rețelei sunt modificate. Existența unui criteriu de eroare foarte bine stabilit
care să evidențieze acea caracteristică specifică a procesului de clasificare
pe care un utilizato o dorește este un criteriu foarte important în acceptarea
sistemului construit.
Eroarea medie pătratică, parametrul utilizat și prezentat pe larg în
această care, este un indicator foarte important și necesar în analiza şi
observarea procesului de învăţare dar din păcate acest parametru este doar
o măsură indirectă a performanţei sistemului de clasificare.
De exemplu, presupunând că avem o neliniartiate de ieșire de tipul
softmax (astfel ieșirea RNA poate fi interpretată drept probabiulitatea unui
element de apartenență la clasa respectivă10) vom prezenta în continuare
două situații distincte pentru un clasificator cu trei clase de ieșire.

Tabelul 6.2. Rezultatele unei probleme potențiale de clasifcare cu toate


exemplarele clasificate corect
Calculat de RNA Doritul Clasifcat
C1 C2 C3 C1 C2 C3 corect
0.4 0.3 0.3 1 0 0 Da
0.32 0.38 0.3 0 1 0 Da
0.25 0.35 0.4 0 0 1 Da

În Tabelul 6.2 observăm că toate cele trei elemente de intrare sunt


clasificate în mod corect de RNA. În Tabelul 6.3, utilizându-se aceeași
RNA doar antrenată într-o nouă sesiune, doar primul element este corect
clasifcat, iar celelalte două sunt incorect clasificate.

Tabelul 6.3. Rezultatele unei probleme potențiale de clasifcare cu două


exemplarele clasificate incorect
Calculat de RNA Doritul Clasifcat
C1 C2 C3 C1 C2 C3 corect
0.4 0.3 0.3 1 0 0 Da
0.3 0.34 0.36 0 1 0 Nu
0.42 0.2 0.38 0 0 1 Nu

10
Neliniaritatea softmax se va prezenta în detaliu în cadrul subcapitolului 6.5
133
Dan-Marius Dobrea

Calculând eroarea pătratică pentru primul element din Tabelul 6.2,


obținem:
(1 − 0.4) + (0 − 0.3) + (1 − 0.3) = 0.54 (6.59)
Calculând eroarea medie pătratică obținem:
(0.54 + 0.5768 + 0.545)
= 0.5539 (6.60)
3
Pentru cea de a doua situație vom obține o eroare medie pătratică egală
cu 0.5987. Dar în primul caz toate eșantioanele sunt clasifcate corect, deci
avem o eroare de clasifcare de 0%. În timp ce pentru cea de a doua situație
avem o eroare de clasificare de 66%. Comparând eroarea medie pătratică cu
eroarea de clasificare observăm că dacă la prima obținem o variație foarte
mică (0.5539 versus 0.5987) care nu ne-ar alarma foarte tare privind
degradarea performanțelor de clasifcare, eroarea de clasificare este mult mai
informativă și evidențiază mult mai bine degradarea acestor performanțe în
cadrul celei de a doua antrenări a sistemului neuronal11.
În concluzie, putem spune că eroarea de clasifcare este un parametru
mult mai informativ asupra performanțelor sistemului de clasifcare. Deci,
performanţa clasificatorului trebuie măsurată în funcţie de eroarea de
clasificare. Această eroare de clasifcare se calculează împărțind numărul de
eşantioane care sunt clasificate incorect la numărul total de eşantioane. Iar,
acurateţea clasificării devine unu minus eroarea de clasificare.

Aparţinând de drept

Clasa 1 Clasa 2 Clasificate


de RNA în:
Clasificate Clasa 1 Corect  Clasei 1 Incorect  Clasei 1 clasei 1
de reţeaua Clasa 2 Incorect  Clasei 2 Corect  Clasei 2 clasei 2
Pe drept Nr. total
clasa 1 clasa 2
aparţinând: eşantioane
Figura 6.18. Matricea confuziilor pentru un clasificator proiectat să
lucreze cu două clase

Pentru calcularea erorii de clasifcare sau a acurateții clasificării vom


utiliza matricea confuziilor – vezi Figura 6.18. În matricea confuziilor se
găsește numărul exact al vectorilor de intrare clasificaţi corect și greşit.

11
Ne putem imagina în această situație că RNA este captivă într-un minim local sau,
poate, am suprantrenat structura neuronală
134
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

Matricea de confuzie este un tabel foarte intuitiv în care se compară


numărul apartenenţelor reale ale elementelor la diferitele clase cu
informaţia furnizată la ieşirea reţelei. În concordanță cu tabelul prezentat
în Figura 6.18, valoarea reală de apartenenţă a vectorilor de intrare la o clasă
este reprezentată pe liniile tabelului (fiecare linie a tabelului semnifică una
dintre clasele existente la care aparţine vectorul de trăsături), în timp ce
valoarea furnizată de reţea este prezentată pe coloane. O clasificare perfectă
(acuratețe 100% sau eroare de clasifcare 0%) va genera o matrice a
confuziilor care are elemente numai pe diagonala principală, în rest celelalte
elemente ale matricii fiind zero.
Având la dispoziție matricea confuziilor putem ușor să calulăm
acuratețea clasifcatorului (suma tutror elementelor de pe diagonala
principală supra numărul total de eşantioane) sau eroarea de clasificare
(suma tuturor elementelor care nu se află pe diagonala principală supra
numărul total de eşantioane).
În problemele reale de clasificare multiclas (de exemplu, în cele de
clasifcare a tascurilor mentale unde de obicei se utilizează minim 4-5 clase),
sistemul de clasifcare va obține performanțe superioare la unele dintre clase
şi performanțe mai reduse la o anumită clasă sau la anumite clase. Toate
aceste informații sunt foarte uşor de extras din matricea confuziilor. În
concluzie, matricea confuziilor este o metodă foarte bună și intuitivă de
cuantificare a acurateţii clasificatorului, permițând o vizualizare imediată şi
convenabilă a zonelor unde sistemul de clasificare are probleme.

Tabelul 6.4. Matrice de definire a altor parametri de clasificare


Clasa 1 Clasa 2
Clasa 1 AP (TP) FP (FP)
Clasa 2 FN (FN) AN (TN)

Din matricea confuziilor se pot extrage și alți parametri care pot fi


utilizați în procesul clasifcării. De exemplu, presupunând că dezvoltăm un
clasificator capabil să identifice o anumită formă de cancer (are cancer –
Clasa 1 și nu are cancer – Clasa 2, vezi Tabelul 6.4) funcție de anumiți
parametri biologici, putem defini următorii termeni: (a) AP – adevărat
pozitiv (True Positive - TP), situație în care pacientul are cancer iar RNA
identifică corect situația, (b) AN - adevărat negativ (True Negative - TN),
pacientul nu are cancer iar RNA identifică corect că nu are cancer, (c) FN –
fals negativ (False Negative - FN), pacientul are cancer dar RNA identifică
că nu are (în mod greșit) și (d) FP – fals pozitiv (False Positive - FP),
pacientul nu are cancer dar sistemul de clasificare îl identifică cu cancer.
135
Dan-Marius Dobrea

În funcție de problema pe care o avem de rezolvat dorim să minimizăm


diferiți parametri de clasificare.
Aplicație 6.2: De exemplu, în problema anterioară (identificarea subiecților
bolnavi de cancer) dorim foarte mult să minimizăm elementele de
tip fals negative (FN) – pacientul are cancer dar RNA identifică
în mod greșit că acesta nu are. Chiar dacă sistemul are o eroare
mai mare de elemente fals pozitive (pacientul nu are cancer dar
sistemul de clasificare îl identifică cu cancer), deoarece oricum
ulterior se prelevează biopsii și se fac analize suplimentare
acestea vor infirma această clasificare greșită. În schimb o rată
mare de FN înseamnă că se trimit acasă pacienți bolnavi cu
repercursiuni total nedorite.
Aplicație 6.3: În cadrul unui sistem informatic de identificare a email-urilor
de tip spam (Clasa 1 – emai-ul este spam, Clasa 2 – email-ul nu
este spam, vezi Tabelul 6.4), ne dorim să scădem numărul de
emai-uri de tip fals pozitive. Astfel, dacă asteptăm un email
important, iar sistemul îl identifică în mod greșit drept fals pozitiv
– îl identifică drept spam dar el nu este – avem șansa să nu-l
vedem la timp sau chiar să îl ștergem. Observăm că de această
dată, pentru acest tip de aplicație, minimizarea FP este mai
importantă decât a FN.
Utilizând informațiile prezentate în Tabelul 6.4 putem defini
acuratețea drept:
𝐴𝑃 + 𝐴𝑁
(6.61)
𝐴𝑃 + 𝐴𝑁 + 𝐹𝑃 + 𝐹𝑁
Acuratețea nu este indicată a fi utilizată în situația claselor
dezechilibrate ca număr de elmente. De exemplu, sindromul Down are o
incidență de 1 persoană la 1000 de subiecți între 0 și 19 ani, din acest motiv
este mult mai greu să obținem vectori de trăsături de la persoane suferinde
de sindromul Down. Dacă am avea un set de date format din 30 de vectori
de trăsături aparținând subiecților cu sindrom Down și 1000 de vectori de
trăsături aparținând subiecților sănătoși iar sistemul de clasificare nu ar fi
capabil să identifice corect nici un subiect cu sindrom Down, atunci
acuratețea sistemului va fi de 97.08%. De aici am trage concluzia că
sistemul clasifică foarte bine, dar el nu este capabil să identifice în mod
corect nici măcar un subiect cu sindrom Down.
În Tabelul 6.4 este prezentată o problemă de clasificare cu doar 2 clase.
Dacă lucrăm cu o problemă ce are clase multiple, atunci o singură clasă este
136
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

cea importantă la care ne referim (clasa pozitivă), iar restul claselor sunt cele
negative.
Un alt parametru este precizia clasificării. Precizia reprezintă
probabilitatea ca un exemplu clasificat pozitiv să fie corect clasificat.
Aceasta se calculează cu:
𝐴𝑃
(6.62)
𝐴𝑃 + 𝐹𝑃
Dacă revenim la problema de clasificare a subiecților care au sindromul
Down, precizia ne furnizează o mărime direct proporțională cu pacienții ce
au sindrom Down și care chiar sunt bolnavi. Presupunând că avem din nou
datele de mai sus și că sistemul de clasificare greșește în totalitate,
clasificând toți subiecții drept subiecți cu sindrom Down, vom obține o
precizie a clasificării de 2.9%, deci foarte scăzută și inacceptabilă pentru un
sistem real de clasificare.
Senzitivitatea sau rapelul este numărul de exemple pozitive corect
clasificate supra numărul total de exemple pozitive. Reprezintă
probabilitatea ca un exemplu pozitiv să fie identificat corect de către un
clasificator.
𝐴𝑃
(6.63)
𝐴𝑃 + 𝐹𝑁
Calculând sozitivitatea, în aceleași condiții ca în exemplul anterior (sistemul
de clasificare greșește în totalitate, clasificând toți subiecții drept subiecți cu
sindrom Down), vom obține o senzitivitate de 100%.
Dacă dorim ca să minimizăm elementele fals negative (FN) ca în
Aplicația 6.2 atunci vom dori ca senzitivitatea să fie apropiată de 100%, în
timp ce dacă dorim să minimizăm vectorii de trăsături de tipul falși pozitivi
(FP), precum în Aplicația 6.3, vom dori ca precizia clasificării să fie
maximă (cât mai apropiată de 100%).
Un ultim parametru, utilizat pe larg în cadrul clasificatorilor, este
specificitatea. Specificitatea se definește ca proporţia actuală de perechi
negative (nu are afecțiunea sau email-ul nu este spam pe drept) care sunt
corect identificate. Specificitatea este dată de relația:
𝐴𝑁
(6.64)
𝐴𝑁 + 𝐹𝑃
Reluând problema subiecților care au sindromul Down dacă sistemul de
clasificare greșește în totalitate, clasificând toți subiecții drept subiecți cu
sindrom Down, atunci specifictatea va fi zero.

137
Dan-Marius Dobrea

După ce am stabilit că prin intermediul procesului de învăţare nu s-a


reuşit să se extragă din setul de date acele informaţii relevante pentru
obţinerea unor performanţe superioare în procesul clasificări (deci obţinem
un număr mare de eşantioane clasificate incorect în matricea confuziilor –
eșantioane care nu sunt plasate pe diagonala principală a matricii
confuziilor), pasul următor este de a găsi cauza sau cauzele care au
determinat ca procesul de învăţare să nu fie un succes. Potențiale cauze
generatoare a unor performanţe scăzute, pot fi următoarele:
1. RNA nu deţine puterea necesară pentru clasificarea corectă a setului
de date, datorată în principal:
 Numărul de straturi neuronale insuficient – fără a intra în teoria
rețeleor neuronale adânci (care utilizează mai mult de 2 straturi
neuronale), în mod normal un strat neuronal sau două straturi
neuronale sunt suficiente pentru rezolvarea celor mai multe
probleme. Cu toate acestea există indicii încă din anii 1990 că
mai mult de două straturi neuronale pot fi benefice pentru
rezolvarea unor anumite probleme specifice precum: problema
claselor cu distribuție spiralată [Lanf, 1988] sau în situația
clasificării codurilor postale scrise de mână [Le Cun, 1989].
 Număr insuficient de neuroni pe straturile existente.
2. Procesul de învăţare este captiv într-un minim local, datorită unei rate
mici de adaptare sau a unui algoritm de adaptae incapabil să le
depășească pe acestea.
3. Reţeaua neuronală este suprantrenată, pierzându-și astfel
performanțele de generalizare.
4. Probleme generate de setul de date utilizat în antrenare:
 Nu avem destul de multe exemplare în setul de date – în special
în situația problemelor de clasificare complexe care necesită
structuri neuronale cu multe elemente de procesare.
 Seturile de date ce reprezintă clasele sunt dezechilibrate numeric
– există clase sau o clasă cu foarte puține elemente și clase cu
foarte multe elemente (de ex. în situația clasificării maladiillor
rare).
 Exemplarele pe care le avem nu sunt reprezentative pentru
problema în cauză, adică eșantionul de date utilizat în antrenarea
RNA nu este reprezentativ pentru întreaga populație – de
exemplu, avem diferite cazuri specifice din populație care nu se
regăsesc în setul de antrenare.
 În setul de date există exemplare aberante (outliers).
138
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

5. Problema de rezolvat este prea complexă pentru trăsăturile pe care noi


le-am extras, deci trebuie să transformăm intrările sau să
adăugăm/alege noi trăsături pentru a simplifica procesul de clasificare.
Din păcate nu există nici o regulă generală de a testa şi identifica care
din aceste probleme sau ce combinaţie a lor determină obţinerea unor
performanţe slabe de clasificare. Cel care a proiectat clasificatorul trebuie
sa-şi utilizeze informaţiile pe care le deţine şi experienţa pe care o are pentru
a îmbunătăţi performanţele acestuia. Câteva metode de rezolvare a unora
din aceste probleme se vor prezenta în Sucapitolul 6.4.

Problemă 6.6: Pentru problema, anterior rezolvată, a clasificării unui set de


date generat în mod similar celui obţinut prin intermediul unei
porţi de tip XOR, să:
1. se determine ecuaţia analitică a erori medii pătratice funcţie de
ponderile w1S1 şi w2S1 ce aparţin neuronului care generează
suprafaţa de decizie S1.
2. se reprezinte grafic această suprafaţă de eroare.
Pentru rezolvarea aceste probleme se va ţine cont că:
(a). bias-ul neuronului generator al suprafeţei S1 şi-a păstrat
valoarea 10;
(b). în plus, pentru ceilalţi doi neuroni valorile ponderilor şi a
bias-urilor lor au fost păstrate conform celor calculate în
cadrul problemei rezolvate anterior (w1S2 = -10, w2S2 = -10,
bS2 = 10, w1o = 10, w2o = 10 şi bo = -10);
(c). funcţia de activare a tuturor neuronilor reţelei este de tipul
tangenthiperbolic.
Rezolvare:
1. La modul cel mai general ecuaţia unei suprafeţe de decizie
generată de unul dintre cei doi neuroni situaţi pe stratul ascuns
este dată de relaţia:
g ( x1 , x 2 , w1 , w 2 , b )  x1 w1  x 2 w 2  b (6.65)
Funcţia de activare fiind de tip tangent hiperbolic este
descrisă de relaţia:
f activ  x   tanh  x  (6.66)

În aceste condiţii ieşirea reţelei neuronale va fi:

139
Dan-Marius Dobrea

Outx1, x2 , w1, w2   factiv10 factivgx1, x2 , w1, w2 ,10 


(6.67)
 10 factiv g x1, x2 ,10,10,10 10
Eroarea medie pătratică este:
1 n
J   d k  y k 2
n k 1
(6.68)

În relaţia anterioară dk este doritul reţelei (valoarea pe care


în mod ideal reţeaua neuronală artificială ar trebui să o
genereze atunci când se aplică la intrări vectorul de trăsături
cu numărul k) iar yk este ieşirea reală a reţelei neuronale.
Eroarea medie pătratică se calculează pentru toate cele n
exemplare ale setului de antrenare. În situaţia noastră
particulară avem:
y k  Out  x 1 k , x 2 k , w 1 , w 2  (6.69)
Ecuaţia analitică a erori medii pătratice funcţie de
ponderile w1 şi w2 a neuronului care generează suprafaţa de
decizie S1 este:

J  w1, w2  
1
4

1  Out  1, 1, w1, w2 2  1  Out 1,  1, w1, w2 2 
(6.70)

 1  Out  1,  1, w1, w2 2   1  Out 1, 1, w1, w2 2

2. Suprafaţa de eroare obţinută este prezentată în Figura 6.19,


din două perspective diferite de vizualizare.
Din Figura 6.19 se observă că chiar şi în situaţia unei
probleme foarte simple (cum este aceea a clasificării unui set
de date cu o distribuţie similară cu cea obţinută folosind o
poartă sau-exclusiv) suprafaţa de eroare, obţinută doar pentru
două ponderi ale unui singur neuron, prezintă zone de minim
local ce „înconjoară” minimul global. În aceste regiuni
derivata erorii medii pătratice funcţie de vectorul de ponderi
este zero iar ponderile reţelei nu îşi mai pot modifica valoarea
datorită procesului de adaptare. Într-o astfel de situaţie se
spune că procesul de învăţare este captiv într-un minim local.
Pentru depăşirea minimelor locale metoda care s-a impus
este aceea de utilizare a unui termen de tip moment în cadrul
algoritmului de retropropagare a erorii. Acest termen prin
„inerţia” pe care o aduce algoritmului de adaptare permite
140
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

modificarea ponderilor chiar atunci când derivata erorii medii


pătratice este zero.
Din definiţia erorii medii pătratice particularizată pentru
problema de faţă (relaţia (6.70)) se observă că dacă doar un
singur element este clasificat în mod greşit J(w1*, w2*) = 1 iar
pentru clasificarea greşită a două elemente J(w1#, w2#) = 2.
Deci din (6.70) se observă că reţeaua neuronală cu un singur
strat ascuns, pentru această problemă în această configuraţie
(doar la un singur neuron ponderile sunt lăsate libere), poate
clasifica cu o eroare de un element sau de două elemente în
conformitate cu valorile pe care ponderile le pot lua.
Zone de minim local de tip „platou”

J(w1, w2) -15


2 -10
-5
0
1
w2
5

0 10
-15 -10 -5 15
0 5 10 15
w1
Zonă de minim global
(a).
w2
15

10

-15 -10 -5 5 10 15 w1
-5

-10

-15
(b).

Figura 6.19. Reprezentarea grafică a suprafeţei de eroare


funcţie de ponderile w1, w2 a neuronului generator a suprafeţei
de decizie S1

141
Dan-Marius Dobrea

6.4. Metode pentru îmbunătățirea performanțelor RNA

În acest subcapitol se vor prezenta metode și abordări utilizate pentru


îmbunătățirea diferitelor performanțe ale RNA cum ar fi accelerarea
convergenței algoritmului de retropropagare a erorii sau capabilitatea
algoritmului de adaptare de a depăși minimele locale.

6.4.1. Utilizarea funcțiilor de adaptare asimetrice

Din punct de vedere practic, s-a dovedit că într-o mare parte din
problemele de clasificare o rețea neuronală de tip perceptron multistrat
(MLP), învăță mai repede dacă funcția de activare folosită de neuronii RNA
este o funcție asimetrică (antisimetrică):
𝑓(−𝑥) = −𝑓(𝑥) (6.71)
De exemplu, o astfel de fucție este funcția tangent hiperbolică.

6.4.2. Utilizarea unui pas variabil de adaptare în timpul procesului de


instruire

Pentru suprafeţele de eroare pătratice (furnizate de reţele liniare) există


întotdeauna algoritmi de selecţie a ratei optime de învăţare pentru fiecare
iteraţie. În schimb în cazul RNA multistrat care includ neliniarităţi nu avem
metode de determinare a pasului optim pentru fiecare iteraţie în parte.
Alegerea “optimă” a ratei de învățare este aproape imposibilă, deoarece
aceasta este dependentă în mod direct de suprafața de eroare.
O rată de învățare de valori mici va determina o convergență lentă a
algoritmului, deci o viteză mică de învățare. Un alt dezavantaj principal a
unei astfel de alegeri este dat de incapacitatea depășirii minimelor locale. În
schimb, în partea finală a algoritmului, când acesta a convers către minimul
global, vom obține o acuratețe foarte bună a valorilor vectorilor de ponderi
și deci o clasifciare care va atinge astfel performanțele maxime posibile
respectivei structurii neuronale.
În situația alegerii unei valori mari pentru rata de învățare, vom obține
o scădere a timpul petrecut în faza de căutare și, ca un avantaj foarte
important, este posibil să depășim mult mai ușor potențialele minime locale.
În schimb, dezavantajatul unei astfel de alegeri este dat de o probabilitate
142
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

mai mare a RNA să diveargă și de o variabilitate mult mai mare a vectorilor


de ponderi în jurul soluției optime.
Din cele prezentate observăm importanța pasului de adaptare în special
în influanța pe care acesta îl generează în abilitatea algoritmului de adaptare
în depășirea minimelor, maximelor locale și zonelor de tip platou – puncte
sau zone în care procesul de adaptare se poate opri datorită derivatei care
este egală cu zero. Această problemă va fi tratată ulterior utilizând pentru
aceasta metode de modificare a algoritmului de adaptare mult mai
“puternice”.
Sintetizând, putem spune că alegerea fixă a ratei de adaptare, la
începutul procesului de adaptare, este un compromis între: (a) viteza de
învăţare şi (b) acurateţea rezultatului final.
Intuitiv putem propune mai multe metode de variaţie a pasului de
adaptare “adaptive”. Acestea oferă algoritmului de învățare valori mari ale
ratei de învățare la începutul procesului de adaptare (pentru scădea timpul
petrecut în faza de căutare şi pentru depăşirea eventualelor minime locale)
și valori mici în finalul aceluiași proces (pentru a obţine o bună acurateţe a
vectorilor de ponderi). Dificultatea acestui mod intuitiv de alegere a ratei de
învățare este acela de a defini/determina momentul de convergență a
algoritmului, deci când (după epoca 300 sau 1500) ajungem la finalul
procesului de adaptare.
Există două abordări clasice în obținerea unei astfel de variabilități a
ratei de adaptare: (a) scăderea graduală a ratei de adaptare funcție de epoca
de adaptare și (b) menținerea ratei de învățare constantă anumite intervale
de timp și scăderea acesteia bruscă la anumite momente de timp (la atingerea
anumitor epoci de antrenare).
O abordare clasică utilizată în controlul pasului de antrenare este dată
de următoarea relaţie [Principe, 2000]:
𝜂
𝜂(𝑛) = 𝑛 (6.72)
1+
𝑛
În relaţia anterioară 0 este pasul iniţial, în timp ce n0 este o constantă
reprezentând numărul curent a unei anumite epoci de antrenare. În cazul în
care n << n0, pasul ia practic valoarea 0, în timp ce atunci când n >> n0,
pasul se apropie după o pogresi geometrică către zero. Dar, din păcate,
valorile prametrlor n0 şi 0 trebuie găsite experimental (ne existând relaţii
matematice pentru determinarea acestor parametri) şi sunt dependente de
fiecărei problemă în parte. De exemplu, dacă valoarea iniţială a lui 0 este
prea mare, procesul de învăţare poate diverge, în tim ce selecţia lui n0 este
143
Dan-Marius Dobrea

dependentă direct de forma suprafeţei de eroare. Dacă n0 este prea mic, faza
de căutare va fi scurtă şi procesul de învăţare se poate opri prematur într-o
soluţie neoptimală (de exemplu sistemul este “prins” într-un minim local).
În situaţia în care n0 este prea mare sistemul nu petrece prea mult timp în
faza de învăţare, oscilând în jurul soluţiei optime sau între 2 soluții
suboptimnale.
O altă metodă, foarte populară în domeniul RNA, utilizează o scădere
exponențială a ratei de adaptare funcție de numărul epocii de antrenare. O
potențială relație utilizată în această modelare a variației ratei de învățare
este următoarea:
𝜂(𝑛) = 𝜂 ∙ 𝑒𝑥𝑝(−𝑘 ∙ 𝑛) (6.73)

(6.61)

(6.62)

(6.60)

Figura 6.20. Modaltatea de variație a ratei de adaptare funcție de epoca de


antrenare pentru relațiile (6.72), (6.73) și (6.74)

Scăderea valorii ratei de învățare în anumite momemnte specifice de


timp și ținerea constantă a acestui parametru în perioadele de timp
intermediare este o altă metodă de rezolvare a acestei probleme. În Figura
6.20 se prezintă variația ratei de antrenare funcție de epoca de antrenare
pentru o implementare a acestei metode în conformitate cu relația (6.74).
Reprezentarea din figură este pentru o scădere a ratei de adaptare la jumătate
(dr = 0.5 – drop rate) la fiecare număr ndr de epoci - ndr = 100.

𝜂(𝑛) = 𝜂 ∙ 𝑑𝑟 (6.74)
Pentru toate reprezentările grafice din Figura 6.20 rata de adaptare
inițială a fost aleasă egală cu 1.
144
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

În cazul suprafeţelor de eroare prezintă minimele locale, toate aceste


procedee ne ajută să le depăşim pe unele dintre acestea funcție de mărimea
momentană a pasului de adaptare.
Dar, problema fundamentală a tutror acestor abordări ţine de faptul că
noi nu cunoaştem aprioric valoarea optimă a termenilor liberi utilizați în
algoritmul de învăţare, astfel încât selecţia corectă a acestor parametri, din
relațiiile (6.72), (6.73) și (6.74), este necunoscută fiind puternic dependentă
de problema pe care o rezolvăm.

6.4.3. Folosirea termenului de tip moment

Cu cât facem mai mic pasul de învăţare, , cu atât mai mici vor fi
posibilele modificări ale vectorilor de ponderi a unui strat neuronal de la o
iteraţie la alta. În acest mod se obţine o traiectorie mai lină în spaţiul de
eroare, vezi Figura 2.3(a). Costul pe care trebuie sa-l plătim va fi dat de o
viteză de adaptare scăzută. În cazul în care alegem o valoare mai mare pentru
pasul de adaptare, pentru a mări viteza învăţării, obţinem schimbări mari de
amplitudine ale vectorilor de ponderi, vezi Figura 2.3(b), şi este posibil ca
reţeaua să devină instabilă și să nu poată converge la un minim local sau
global.
Pentru creşterea vitezei de învăţare şi, simultan, stabilizarea
convergenţei reţelei neuronale artificiale se poate introduce suplimentar un
termen de tip moment [Rumelhart, 1986]. În acest mod ecuaţia de
modificare a ponderilor devine:
𝜕𝐽(𝑛)
𝑤 (𝑛 + 1) = 𝑤 (𝑛) −𝜂 + 𝛼 𝑤 (𝑛) − 𝑤 (𝑛 − 1)
𝑤 (𝑛) (6.75)
( )

cu
𝜕𝐽(𝑛)
𝛥𝑤 (𝑛) = −𝜂 + 𝛼𝛥𝑤 (𝑛 − 1) (6.76)
𝑤 (𝑛)

În relația (6.75) componenta 𝛼 𝑤 (𝑛) − 𝑤 (𝑛 − 1) este termenul


moment care introduce o “memorie” în cadrul algoritmului de adaptare, iar
parametrul  este constanta de tip moment. Se recomandă ca  să fie în
intervalul [0, 1.0], alegându-se de obicei în jurul valorii 0.9.
În cazul în care  devine zero, atunci se revine la algoritmul standard
de modificare a ponderilor. Acest nou algoritm de adaptare al reţelei îl vom

145
Dan-Marius Dobrea

numi algoritm de tip moment [Rumelhart, 1986], în principal datorită


formei ultimului termen care este apropiată de modalitate de definire a
momentului în mecanică.
Pentru a observa efectul termenului , scriem următorii doi termenii
succesivi:
𝜕𝐽(𝑛)
𝛥𝑤 (𝑛) = −𝜂 + 𝛼𝛥𝑤 (𝑛 − 1) (6.77)
𝑤 (𝑛)

𝜕𝐽(𝑛 − 1)
𝛥𝑤 (𝑛 − 1) = −𝜂 + 𝛼𝛥𝑤 (𝑛 − 2) (6.78)
𝑤 (𝑛 − 1)
folosindu-ne de relaţiile (6.77) şi (6.78) anterioare obţinem:
𝜕𝐽(𝑛 − 1) 𝜕𝐽(𝑛)
𝛥𝑤 (𝑛) = 𝛼 𝛥𝑤 (𝑛 − 2) − 𝛼𝜂 −𝜂 (6.79)
𝜕𝑤 (𝑛 − 1) 𝑤 (𝑛)
continuând dezvoltarea relaţiei (6.79), vom obţine:
( )
𝛥𝑤 (𝑛) = 𝛼 𝛥𝑤 (0) − 𝜂 ∑ 𝛼 ( )

( )
(6.80)
≅ −𝜂 ∑ 𝛼 ( )

Analizând relaţia (6.80) și aducând în plus și alte informații prezentate


în literatură, [Rumelhart, 1986], putem să facem următoarele observaţii și
să tragem următoarele concluzii:
1. Cantitatea cu care se modifică o pondere wij(n) este o sumă de
termeni ponderaţi exponenţial. Pentru ca această serie de timp să
fie convergentă plaja de variaţie a constantei de tip moment
trebuie restrânsă la intervalul 0  |  | < 1. Cu toate că constanta
 poate fi atât pozitivă cât şi negativă, este puţin probabil ca în
practică să fie utilizată o valoare mai mică ca zero.
2. În momentul în care derivata parţială J(t)/wij(t) are acelaşi
semn timp de câteva epoci consecutive suma wij(n) creşte în
valoare iar ponderile wij(n) sunt modificate cu o cantitate mai
mare. Astfel includerea termenului de tip moment va accelera
coborârea pe suprafaţa de eroare.
3. Când derivata parţială J(t)/ wij(t) are semne contrare în epoci
consecutive valoarea cantităţii wij(n) scade şi în acest mod
ponderile sunt ajustate cu o cantitate mai mică, obţinându-se
astfel un efect de stabilizare al algoritmului.
146
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

4. În situaţia în care se ajunge într-o regiune plată sau poate într-un


minim local nu foarte “adânc” al suprafeţei de eroare, deci atunci
când derivata devine zero, este posibil ca algoritmul sa
depăşească această zonă tocmai datorită acestui termen de tip
moment care asigură o anumită “inerţie” sistemului.
Ca o observație practică, în momentul utilizării unui termen de tip
moment de valoare ridicată, rata de învățare ia valori mai mici pentru o bună
convergență a algoritmului.
În concluzie putem afirma ca algoritmul de adaptare a ponderilor care
înglobează termenul de tip moment este o metodă robustă de creştere a
vitezei de învăţare a reţelelor neuronale artificiale şi este recomandat ca
regulă de adaptare implicită pentru RNA care înglobează neliniarităţi în
structura lor.

147
Dan-Marius Dobrea

6.5. MLP-ul drept clasificator universal

Dacă ne-am întoarce înapoi la metodele statistice de recunoaştere de


paternuri, știm din cele studiate că un clasificator Bayes-ian este un
clasificator optimal [Dobrea, 2009]. Adică, este acel clasificator care obține
eroarea minimă posibilă de clasificare pentru o anumită problemă – evident
dacă sunt respectate anumite condiții, condiția cea mai restrictivă fiind aceea
a mărimii setului de date. Deoarece ne dorim și ca un clasificator neuronal
de tip MLP să obțină performanțele maxime de clasificare pentru o anumită
problemă, ne putem pune problema dacă un astfel de clasificator este sau nu
unul optimal. Mai mult, în cazul în care o rețea neuronală de tipul MLP este
un clasificator optimal ar mai trebui să știm și ce condiții trebuie să
îndeplinească pentru aceasta.
Un clasificator optimal trebuie să deţină potenţialul de a crea funcţii
discriminant capabile să separe setul de date în clusteri în conformitate cu
probabilităţile posterioare (probabilitatea unui eveniment după
determinarea unor anumite cantităţi) a fiecărui cluster. Pentru un clasificator
cu M clase, ce primește la intrare un vector de trăsături x (d dimensional),
ieșirile lui trebuie să fie egale cu (𝑖 = 1, 𝑀 ):

𝑃(𝑥|𝐶 ) ∙ 𝑃(𝐶 )
𝑃(𝐶 |𝑥) = (6.81)
∑ 𝑃(𝑥|𝐶 ) ∙ 𝑃(𝐶 )
pentru a fi optimal. Într-o astfel de situație, conform criteriului lui Bayes,
elemental necunoscut va aparține clasei Ci pentru care 𝑃(𝐶 |𝑥) este maxim.
Știind că o RNA de tip MLP este un aproximator universal, după cum
s-a prezentat anterior, sunt șanse mari ca rețeaua MLP să fie și un clasificator
universal – dar, acest lucru trebuie demonstrat.
O condiție minimă, elementară ca o RNA de tipul MLP să producă la
ieşiri estimări directe ale probabilităţilor posterioare, date de (6.81) – adică,
𝑦 (𝑥) = 𝑃(𝐶 |𝑥), este aceea ca valoarea fiecărei ieşiri să fie între 0 şi 1 iar
suma tuturor ieşirilor să fie egală cu 1 pentru orice vector de trăsături x de
intrare. O potențială abordare este aceea de a alege funcțiile de activare
exponențiale, în locul celor sigmoidale:
( )
𝑦 (𝑥) = 𝑓 𝑔 (𝑥) = 𝑒 (6.82)

148
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

cu 𝑔 (𝑥) activările neuronilor din stratul de ieșire – vezi și Figura 1.1.


Pentru a obține suma tuturor ieşirilor să fie egală cu 1 se mai introduce în
plus și un factor de normalizare, precum în relația de mai jos.
( )
𝑒
𝑓 𝑔 (𝑥) = ( )
(6.83)
∑ 𝑒
Această nouă funcție de activare poartă numele de neliniaritate de tip
softmax și este utilizată în special în situație sistemelor de clasificare cu mai
mult de două clase. În situația în care am avea o problemă de clasificare cu
doar două clase putem utiliza la ieşirea RNA o neliniaritate de tipul logistic.
Prin utilizarea acestei neliniarități de ieșire, probabilitatea primei clase este
dată direct de ieşirea reţelei, în timp ce probabilitatea celei de a doua clase
va fi 1 minus ieşirea actuală a reţelei.
În continuare vom lua în considerare o problemă de clasificare cu M
clase, ce utilizează un set de antrenare {𝑥 , 𝑑 } cu 𝑎 = 1, 𝐴. În această
situație, semnalul dorit pentru ieșirea i a stratului de ieșire va fi:
1 𝑑𝑎𝑐ă 𝑥 ∈ 𝐶
𝑑 (𝑥 ) = (6.84)
0 𝑑𝑎𝑐ă 𝑥 ∉ 𝐶
Eroare dată doar de ieșirea i (𝑖 = 1, 𝑀) a rețelei neuronale va fi:
𝐽 (𝑤) = [𝑦 (𝑥, 𝑤) − 𝑑 ] =

= [𝑦 (𝑥, 𝑤) − 1] + [𝑦 (𝑥, 𝑤) − 0] =
∈ ∉ (6.85)
𝑛 1 𝐴−𝑛 1
=𝐴 ∙ [𝑦 (𝑥, 𝑤) − 1] + ∙ 𝑦 (𝑥, 𝑤)
𝐴 𝑛 𝐴 𝐴−𝑛
∈ ∉

În relația (6.85) A este numărul total de elemente din setul de antrenare,


în timp ce ni este numărul total de elemente din setul de antrenare care
aparțin clasei Ci.
Continuând dezvoltarea relației (6.85), considerând în plus o situație
ideală când numărul de eșantioane de antrenare este infint (A  ) și ținând
cont și următoarele două relații [Dobrea, 2009]:

1
𝐸{𝑔(𝑥)} = 𝑔(𝑎 ) (6.86)
𝐾

și

149
Dan-Marius Dobrea

𝐸{𝑥|𝐵} = 𝑋 ∙ 𝑝(𝑋|𝐵) 𝑑𝑋 (6.87)

putem scrie mai departe [Duda, 2001]:


1
lim 𝐽 (𝑤) ≅ 𝐽(𝑤)
→ 𝑛
= 𝑃(𝐶 ) [𝑦 (𝑋, 𝑤) − 1] 𝑝(𝑋|𝐶 )𝑑𝑋 + (6.88)

𝑃 𝐶 𝑦 (𝑋, 𝑤) 𝑝 𝑋|𝐶 𝑑𝑋

Dezvoltând în continuare (6.88) obținem:


1
lim 𝐽 (𝑤) = 𝑦 (𝑋, 𝑤) 𝑃(𝐶 )𝑝(𝑋|𝐶 ) 𝑑𝑋 −
→ 𝑛 ( , )

−2 𝑦 (𝑋, 𝑤) 𝑃(𝐶 )𝑝(𝑋|𝐶 ) 𝑑𝑋 + 𝑃(𝐶 )𝑝(𝑋|𝐶 )𝑑𝑋 + (6.89)


( , )

+ 𝑦 (𝑋, 𝑤) 𝑃 𝐶 𝑝 𝑋|𝐶 𝑑𝑋
,

În relația (6.89) adunând prima și ultima integrală obținem:


1
lim 𝐽 (𝑤) = 𝑦 (𝑋, 𝑤) 𝑝(𝑋, 𝐶 ) + 𝑝 𝑋, 𝐶 𝑑𝑋 −
→ 𝑛
( )

−2 𝑦 (𝑋, 𝑤)𝑝(𝑋, 𝐶 )𝑑𝑋 + 𝑝(𝑋, 𝐶 )𝑑𝑋 = (6.90)

= 𝑦 (𝑋, 𝑤)𝑝(𝑋)𝑑𝑋 − 2 𝑦 (𝑋, 𝑤) 𝑝(𝑋, 𝐶 ) 𝑑𝑋 + 𝑝(𝑋, 𝐶 )𝑑𝑋


( | ) ( )

Pentru aducerea relației (6.90) sub o formă din care să putem trage
concluziile necesare dovedirii că o rețea de tipul MLP este un clasificator
optimal, vom dezvolta în continuare ultima integrală din relația (6.90), cea
notată cu A. Astfel avem:

150
Tehnici de inteligență computațională. Aplicații în electronică și biomedicină

𝐴= 𝑃(𝐶 |𝑋)𝑝(𝑋) 𝑑𝑋 = 𝑃(𝐶 |𝑋) 𝑝(𝑋, 𝐶 ) + 𝑝 𝑋, 𝐶 𝑑𝑋 =


( , )

= 𝑃(𝐶 |𝑋) 𝑃(𝐶 |𝑋)𝑝(𝑋) + 𝑃 𝐶 |𝑋 𝑝(𝑋) 𝑑𝑋 = (6.91)

= 𝑃 (𝐶 |𝑋)𝑝(𝑋)𝑑𝑋 + 𝑃(𝐶 |𝑋)𝑃 𝐶 |𝑋 𝑝(𝑋)𝑑𝑋

Combinând primii doi termeni ai dezvoltării finale din relația (6.90) cu


termenul B din relația (6.91) putem rescrie relația (6.90) ca mai jos:
1
lim 𝐽 (𝑤) = [𝑦 (𝑋, 𝑤) − 𝑃(𝐶 |𝑋)] 𝑝(𝑋)𝑑𝑋 +
→ 𝑛
(6.92)
+ 𝑃(𝐶 |𝑋)𝑃 𝐶 |𝑋 𝑝(𝑋)𝑑𝑋

Din relația (6.92) se observă că termenul D nu depinde de ponderile


sistemului neuronal. Atunci când vom minimiza eroarea obținută de la
ieșirea i a sistemului neuronal, obsevăm că vom minimiza termenul:

[𝑦 (𝑋, 𝑤) − 𝑃(𝐶 |𝑋)] 𝑝(𝑋)𝑑𝑋 (6.93)

Dar algoritmul de adaptare minimizează eroarea de la toate ieșirile dețelei


neuronale, deci global va fi minimizată eroarea:

[𝑦 (𝑋, 𝑤) − 𝑃(𝐶 |𝑋)] 𝑝(𝑋)𝑑𝑋 (6.94)

Deoarece la limită, în situația ideală, vom obține eroare de clasificare egală


cu zero sau foarte apropiată de această valoare, rezultă din (6.94) că:
𝑦 (𝑋, 𝑤) ≅ 𝑃(𝐶 |𝑋) (6.95)
pentru oricare 𝑖 = 1, 𝑀.
Întraga demonstrație prezentată începând cu relația (6.81) și terminând
cu relația (6.95) nu s-a făcut particularizată pe o structură de tip MLP.
Observăm doar că s-a evidențiat existența unei structuri neuronale
caracterizată de un set de vectori de ponderi notat cu w. De aici putem trage
concluzia că orice RNA care este caracterizată de un set de ponderi w,
utilizează ca funcție de cost eroarea medie pătratică, adaptarea ei face uz de
151
Dan-Marius Dobrea

un algoritm care poate să micșoreze o eroare de tipul (6.94) și ieșirea este


de tip probabilitate (adică utilizează, de exemplu, o funcție de activare de
tip softmax) este un clasificator optimal. În concluzie, putem spune că o
rețea de tipul MLP poate fi un clasificator optimal. În ultima afirmație am
folosit acel “poate fi” deoarece RNA de tip MLP mai trebuie să satisfacă și
alte condiții. De exemplu, dacă nu avem un număr suficient de neuroni, deci
MLP-ul nu are puterea necesară, atunci structura neuronală va fi departe de
un clasificator optimal.
Ținând cont de toată demonstrația anterioară, putem concluziona că o
RNA va fi un clasificator optimal dacă îndeplinește următoarele condiții:
1. Structura neuronală folosește drept funcție de cost eroarea medie
pătratică – o relație matematică de reprezentare a erorii sub forma (6.85).
2. Se utilizează funcții de activare de ieșire specifice astfel încât valoarea
fiecărei ieşiri să fie între 0 şi 1 iar suma tuturor ieşirilor să fie egală cu 1
pentru orice vector de trăsături de intrare – de exemplu o neliniaritate de
tipul softmax ca cea prezentată în relația (6.83).
3. RNA are un număr suficient neuroni și straturi neuronale pentru a putea
produce o mapare corectă a vectorilor de trăsături de la intrare intrare în
valorile dorite de la ieșire.
4. Algoritmul de adaptare este capabil să determine minimul global de pe
suprafața de eroare – adică, să minimizeze o eroare de forma (6.94).
5. Setul de date este suficient de mare şi acoperă tot spaţiul de intrare astfel
încât RNA să poată învăța toate specificitățile problemei de clasificare.

152

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