Retele Neurale [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Colecţia “PRELUCRAREA SEMNALELOR”

REŢELE NEURONALE Arhitecturi şi algoritmi

Referent ştiinţific: Prof.dr.ing. Ştefan HOLBAN

Descrierea CIP a Bibliotecii Naţionale

ISBN 973-9389-66-X

Prof.dr.ing. Virgil Tiponuţ

Şef lucr.dr.ing. Cătălin-Daniel Căleanu

REŢELE NEURONALE Arhitecturi şi algoritmi

Colecţia “PRELUCRAREA SEMNALELOR”

EDITURA POLITEHNICA TIMIŞOARA – 2002

Copyright @ Editura Politehnica, 2002 Toate drepturile sunt rezervate editurii. Nici o parte din această lucrare nu poate fi reprodusă, stocată sau transmisă prin indiferent ce formă, fără acordul prealabil scris al Editurii Politehnica. EDITURA POLITEHNICA Bv. Republicii nr.9 1900 Timişoara, România

Consilier editorial: Conf.dr.ing. Eugen CICALĂ

Prefaţă

Reţelele neuronale artificiale (RNA) sunt recunoscute ca modele dominante (paradigme) ale Inteligenţei Artificiale (IA). Cu ajutorul lor îşi găsesc rezolvarea o varietate largă de probleme din mediile ştiinţifice şi inginereşti. Cartea se adresează studenţilor de la facultăţile de Electronică şi Telecomunicaţii, Automatică şi Calculatoare, Informatică dar şi tuturor acelora care urmăresc rezolvarea unor probleme complexe din varii domenii prin intermediul metodelor conexioniste. Trebuie subliniată în acest context intenţia autorilor de a oferi o perspectivă inginerească asupra domeniului reţelelor neuronale artificiale, accentuându-se cu precădere aspectele aplicative. Din acest motiv latura matematică este redusă la mimimul necesar coerenţei lucrării, rezultând astfel şi o accesibilitate mai mare a discursului. Prezenta lucrare tratează aspecte legate de arhitectura şi funcţionarea neuronului artificial şi a principalelor tipuri de reţele neuronale: -

RNA de tip perceptron;

-

RNA bazate pe funcţii radiale;

-

RNA recurente;

-

RNA cu auto-organizare. Totodată se prezintă şi modalităţi hibride de implementare a RNA în

conjuncţie cu alte paradigme ale IA cum ar fi: -

Logica fuzzy;

-

Algoritmii genetici;

-

Învăţarea prin întărire. În finalul lucrării este abordată problematica implementării RNA iar în ultimul

capitol sunt prezentate câteva aplicaţii ale reţelelor neuronale. De menţionat ilustrarea anumitor aspecte reprezentative din cadrul acestei cărţi prin exemple dezvoltate cu

ajutorul mediului MATLAB v.6, ultima versiune existentă la data redactării prezentului material. Pentru aprofundarea aspectelor practice privind implementarea RNA este recomandată utilizarea, în paralel cu acest material, a cărţii “Reţele neuronale. Aplicaţii” apărută în Ed. POLITEHNICA şi elaborată de aceeaşi autori. Lucrarea a fost realizată, pe baza unei documentări efectuate la University of STRATHCLYDE, Glasgow, Marea Britanie, în cadrul programului TEMPUS AC-JEP 13438-98 iar autorii ţin să mulţumească pe această cale coordonatorilor acestui program. Totodată exprimăm mulţumiri recenzorului pentru sugestiile utile exprimate după parcurgerea acestui material precum şi cadrelor didactice de la University of Strathclyde, Glasgow, pentru numeroasele discuţii care au contribuit la finalizarea acestei cărţi. Contribuţia autorilor la realizarea acestei cărţi este următoarea: -

Prof.dr.ing. V. Tiponuţ: Capitolele 1, 3, 8 şi coordonarea întregii lucrări;

-

Ş.l.dr.ing. C.D. Căleanu: Capitolele 2, 4, 5, 6, şi 7. Autorii

Cuprins

CAP.1 Introducere…….…………………………………………….……pag.11 1.1 Reţele neuronale artificiale – definiţie, proprietăţi…………………………...pag.11 1.2 Neuronul biologic…………………………………………………………….pag.12 1.3 Neuronul artificial…………………………………………………………....pag.15 1.4 Arhitecturi ale RNA………………………………………………………….pag.18 1.5 Tipuri şi algoritmi de instruire……………………………………………….pag.21

CAP.2 Reţele neuronale de tip perceptron…………….…………pag.29 2.1 Introducere…………………………………………………………………...pag.29 2.2 RNA de tip perceptron cu un singur neuron…………………………………pag.29 2.2.1 Perceptronul simplu……………………………………………….pag.30 2.2.2 RNA Adaline. Algoritmul LMS…………………………………..pag.32 2.2.3 Deducerea regulilor de modificare a ponderilor pentru cazul perceptronului simplu………………………………………………pag.34 2.2.4 Consideraţii asupra valorii ratei de învăţare (instruire)……………pag.35 2.2.5 Capacitatea perceptronului simplu………………………………...pag.36 2.3 RNA de tip perceptron cu mai multe straturi………………………………...pag.37 2.3.1 Algoritmul de antrenament………………………………………..pag.37 2.3.2 Algoritmi rapizi de antrenament pentru RNA cu propagare înainte a semnalului……………………………………………..pag.45 2.3.2.1 Metoda lui Newton……………………………………...pag.45 2.3.2.2 Metoda Levenberg–Marquardt……….…………………pag.46 2.3.2.3 Metode de tip cvasi–Newton……….…………………...pag.47 2.3.2.4 Metode bazate pe gradientul conjugat……….………….pag.48

CAP.3 Reţele neuronale bazate pe funcţii radiale……………..pag.51 3.1 Introducere…………………………………………………………………...pag.51

3.2 Problema interpolării…………………………………………………………pag.53 3.3 Strategii de învăţare pentru RNA bazate pe funcţii radiale…………………..pag.55

CAP.4 Reţele neuronale recurente…………………………………..pag.59 4.1 Introducere………………………………………………….………………..pag.59 4.2 RNA de tip Hopfield (RNA-H)………………………………………………pag.59

CAP.5 Reţele neuronale cu autoorganizare……………………...pag.63 5.1 Introducere…………………………………………………………………...pag.63 5.2. Reţele neuronale cu autoorganizare şi algoritm de învăţare de tip hebbian…pag.63 5.2.1 Reţele neuronale cu un singur neuron liniar…………………….…pag.65 5.2.2 Analiza componentelor principale. Reducerea dimensionalităţii….pag.66 5.2.3 Analiza componentelor principale prin reţele neuronale cu autoorganizare……………………………………………………..pag.69 5.2.3.1 Algoritmul hebbian generalizat…………………………pag.70 5.2.3.2 Algoritmul APEX……………………………………….pag.72 5.2.3.3 Analiza neliniară a componentelor principale…………..pag.74 5.3 Reţele neuronale cu autoorganizare şi învăţare de tip competitiv……………pag.76 5.3.1 Reţele neuronale cu autoorganizare şi învăţare competitivă simplă………………………………………………...pag.77 5.3.2 Reţele neuronale cu autoorganizare tip hartă de trăsături….……...pag.83 5.3.3 Algoritmi SOFM îmbunătăţiţi….………………………………….pag.87 5.3.4. Cuantizarea vectorială (VQ, Vector Quantization). Învăţarea prin cuantizare vectorială (LVQ, Learning VQ)….…...pag.96

CAP.6 Sisteme hibride inteligente………………………………….pag.101 6.1 Introducere……………………………….…………………………………pag.101 6.2 Algoritmi genetici. Strategii de evoluţie. Programare evolutivă……………pag.104 6.2.1 Introducere……………………………….………………………pag.104 6.2.2 Proiectarea unui algoritm evolutiv……………………………….pag.106 6.3 Sisteme hibride neuro-genetice……………………………………………..pag.112 6.4. Sisteme cu logică fuzzy…………………………………………………….pag.115

6.5 Sisteme hibride neuro-fuzzy……………………………………..………….pag.120 6.6 Învăţarea prin întărire……………..………………………………………...pag.136 6.6.1. Preliminarii…………..……………………………………….….pag.136 6.6.2. Compromisul dintre fazele de explorare şi exploatare…………..pag.138 6.6.3. Modelul învăţării prin întărire…………………………………...pag.139 6.6.4. Modele pentru evaluarea comportamentului………….…………pag.141 6.6.5. Algoritmi specifici învăţării prin întărire………………………..pag.142 6.6.5.1. Metode bazate pe valoarea acţiunilor…………………pag.142 6.6.5.2. Metode bazate pe programarea dinamică……………..pag.144 6.6.5.3. Metode de tip Monte Carlo…………………………...pag.145 6.6.5.4. Diferenţa temporală………………….………………..pag.147 6.6.6. Aplicaţii ale reţelelor neuronale artificale bazate pe învăţarea prin întărire…………………………………………...pag.153

CAP.7 Implementarea reţelelor neuronale……………………..pag.157 7.1 Introducere………………………………………………………………….pag.157 7.2. Implementarea software (printr-un limbaj de programare)………………..pag.157 7.3. Implementarea hardware…………………………………………………...pag.159 7.3.1. Implementarea analogică………………………………………...pag.159 7.3.2 Implementarea digitală…………………………………………...pag.167 7.3.2.1 Procesoare paralele de uz general……………………..pag.167 7.3.2.2 Procesoare dedicate pentru calcul neuronal…………...pag.167 7.3.2.3 Circuite digitale VLSI dedicate RNA…………………pag.168 7.3.3 Implementări hibride……………………………………………..pag.171 7.3.4 Implementarea optică…………………………………….………pag.176

CAP.8 Aplicaţii ale reţelelor neuronale…………………..………pag.179 8.1 Introducere…………..……………………………………………………...pag.179 8.2 Problema XOR……………………………………………………………...pag.180 8.3 Problema parităţii………………………………………….………………..pag.181 8.4. Problema codării……………………………………….…………………..pag.181 8.5 Sinteza vorbirii………………………………….…………………………..pag.182

8.6 Recunoaşterea automată a vorbirii………….………………………………pag.184 8.7 Detecţia şi recunoaşterea facială…….……………………………………...pag.186 8.7.1 Arhitectura şi implementarea unui sistem de detecţie şi recunoaştere automată a feţei……………………….………………………….pag.186 8.7.2 Rezultate experimentale………………………………………….pag.190 8.7.2.1 Influenţa folosirii tehnicii de extragere a trăsăturilor de tip operator de interes asupra procesului de recunoaştere facială…………………….……………………………………pag.192 8.7.2.2 Influenţa rezoluţiei imaginii faciale şi a dimensiunilor ferestrei de extragere a trăsăturilor asupra performanţelor procesului de recunoaştere facială…….……………………………………...pag.194 8.7.2.3 Influenţa folosirii unor arhitecturi paralele şi ierarhice de RNA-MLP asupra procesului de recunoaştere facială………...pag.196 8.7.3 Comparaţie cu alte sisteme de recunoaştere facială….…………..pag.196 8.7.4 Implementarea MATLAB a sistemului de detecţie şi recunoaştere facială bazat pe reţele neuronale…………………………………pag.199

ANEXA 1……………………………………………………………………pag.203 ANEXA 2……………………………………………………………………pag.209 ANEXA 3……………………………………………………………………pag.213 ANEXA 4……………………………………………………………………pag.217 Bibliografie…………………………………………………………………pag.223

CAPITOLUL 1 Introducere

1.1 Reţele neuronale artificiale – definiţie, proprietăţi Reţelele neuronale artificiale (RNA), denumite uneori procesoare paralel distribuite, neurocomputere sau modele conexioniste, reprezintă o încercare de a simula, cel puţin parţial , structura şi funcţiile creierului specifice organismelor vii. Ca o definiţie generală, se poate spune că RNA reprezintă un sistem de procesare al semnalelor, compus dintr-un număr mare de procesoare elementare interconectate, denumite neuroni artificiali sau noduri, şi care cooperează pentru rezolvarea unor sarcini specifice. Modalitatea de adaptare la condiţiile specifice mediului constă în modificarea ponderilor asociate conexiunilor dintre neuroni şi eventual a structurii RNA. Astfel de modele conexioniste oferă anumite avantaje, caracteristice sistemelor neuronale reale (biologice) şi care nu sunt întâlnite în cazul sistemelor de calcul tradiţionale, secvenţiale [1]: •

O proprietate deosebit de importantă a RNA este aceea de a învăţa şi de a se adapta;



Posibilitatea de a opera cu date imprecise;



Capacitatea de generalizare, în sensul în care RNA va opera corect şi cu date de intrare care nu au fost prezentate în timpul procesului de antrenament;



Datorită gradului ridicat de paralelism , funcţionarea defectuoasă sau chiar pierderea unui număr de neuroni nu afectează semnificativ performanţa sistemului global. RNA reprezintă deci sisteme tolerante la erori;



Capacitatea de a aproxima orice funcţie continuă neliniară cu gradul de acurateţe dorit. Astfel RNA pot fi folosite cu succes în modelarea sistemelor neliniare;

- 12 - CAP.1 Introducere •

Datorită numărului mare de intrări şi ieşiri, RNA modelează cu uşurinţă sisteme multivariabilă;



Implementările hardware ale RNA, de exemplu prin intermediul circuitelor integrate pe scară largă (VLSI), fac posibilă utilizarea RNA pentru cazul aplicaţiilor în timp real.

1.2 Neuronul biologic Creierul uman constă dintr-o reţea de 1010...1011 neuroni puternic interconectaţi. În fig.1.2.1 este prezentată structura [2] unei celule nervoase. Se pot distinge următoarele părţi constituente [3]: •

Soma sau corpul celulei reprezintă partea centrală a celulei care realizează majoritatea funcţiilor logice ale neuronului. Corpul celulei conţine mecanismul genetic şi metabolic necesar menţinerii activităţii neuronului.



Axonul (ieşirea celulei) reprezintă o prelungire a corpului celulei (citoplasmă), unică şi în general nearborizată. Funcţia axonilor este aceea de a conduce influxul nervos de la corpul celular la dendritele sau corpul celular al altui neuron sau la o celulă efectoare.



Dendritele (intrările neuronului) sunt prelungiri ale citoplasmei relativ scurte, groase şi bogat ramificate. Funcţia lor este aceea de a recepţiona excitaţii şi de a le conduce până la corpul neuronului . În funcţie de tipul neuronului el poate avea până la 104 dendrite.

1.2 Neuronul biologic - 13 -

AXON NUCLEU MITOCONDRIE RETICUL ENDOPLSMATIC SINAPSE TEACĂ DE MIELINĂ

Fig.1.2.1 Structura celulei nervoase (neuron) încorporează materialul genetic şi un aparat metabolic complex.



Contactul dintre neuroni se realizează prin intermediul sinapselor. Sinapsele dintre doi neuroni se realizează în trei feluri: între butonii terminali ai axonului unui neuron şi dendritele altui neuron (sinapse axo-dendritice); între butonii terminali ai axonului unui neuron şi corpul altui neuron (sinapse axosomatice); între butonii terminali ai axonului unui neuron porţiunea incipientă a axonului

altui neuron (sinapse axo-axonale). Din punct de vedere

funcţional, sinapsele sunt de două feluri: excitatorii şi inhibitorii. Stocarea informaţiei în neuroni se presupune că este efectuată prin intermediul conexiunilor sinaptice, mai precis prin tiparele pe care le formează acestea şi prin ponderea pe care o are fiecare legătură în parte.

- 14 - CAP.1 Introducere Conform acestui model simplificat al neuronului, corpul celulei primeşte semnale de la alţi neuroni prin intermediul conexiunilor sinaptice ajustabile. Când un neuron este excitat, produce impulsuri nervoase care sunt transmise, fără atenuare, de-a lungul axonului, spre alţi neuroni. Rata impulsurilor ieşirii neuronului depinde atât de intensitatea semnalelor de intrare cât şi de ponderile sinaptice aferente acestora. Se poate spune că neuronul operează într-o formă mixtă, digital-analogică. Informaţia transmisă între neuroni, sub forma inpulsurilor nervoase (potenţiale de acţiune), poate fi considerată semnal digital. Densitatea impulsurilor este cea care codează informaţia şi poate fi privită ca un semnal analogic. În fig.1.2.2 se oferă o reprezentare schematică a neuronului biologic din perspectiva teoriei prelucrării informaţiei.

Conversie neliniară în potenţiale de acţiune Prag

Axon Dendrite Intrări neuronale (potenţiale de acţiune)

Ieşirea neuronului (potenţiale de acţiune)

Soma

Sinapse (memorie şi demodulare)

Fig.1.2.2 Modelul simplificat al neuronului biologic considerat din punctul de vedere al teoriei informaţiei

1.3 Neuronul artificial - 15 -

1.3 Neuronul artificial Neuronul artificial denumit uneori procesor elementar sau, mai simplu nod, încearcă să imite structura şi funcţionarea neuronului biologic. Există numeroase modele prezentate în literatură [4], dar cel mai răspândit are la bază modelul elaborat de McCulloch-Pitts în 1943. Astfel se poate considera că neuronul artificial [5] este format dintr-un număr de intrări, fiecare dintre acestea fiind caracterizată de propria pondere sinaptică. De exemplu, semnalul xj prezent la intrarea sinapsei “j” este conectat la neuronul “k” prin multiplicare cu ponderea wkj (fig.1.3.1).

x1

xj xN

wk1 wkj

uk

Σ

wkN

φ

yk

θk

Fig. 1.3.1 Modelul neuronului artificial

O altă componentă a modelului neuronului artificial prezentat în fig.1.3.1 o reprezintă sumatorul destinat însumării intrărilor ponderate. Rezultatul obţinut în urma însumării: N

u k = ∑ wkj ⋅ x j

(1.3.1)

j =1

este denumit intrare netă. Pentru limitarea amplitudinii semnalului de ieşire al neuronului, acesta este prevăzut cu o funcţie de activare ϕ (⋅) :

y k = ϕ (uk − θ k ) = ϕ (uk + bk )

(1.3.2)

- 16 - CAP.1 Introducere în care θ k reprezintă valoarea pragului de activare (treshold) al neuronului. Uneori intrarea netă este majorată prin termenul bk denumit factor al deplasării scării (bias); deplasarea scării reprezintă deci negativul pragului de activare. Valoarea:

vk = u k − θ k

(1.3.3)

poartă denumirea de potenţial de activare. În ceea ce priveşte tipul funcţiei de activare, aceasta este de regulă o funcţie neliniară; în cele ce urmează se va face o prezentare a celor mai răspândite tipuri de funcţii de activare (fig.1.3.2): •

Funcţia prag:

1 dacã v ≥ 0 0 altfel

ϕ (v ) =  •

Funcţia prag simetrică sau funcţia signum:

1 dacã v ≥ 0 - 1 altfel

ϕ (v ) =  •

(1.3.5)

Funcţia sigmoid:

ϕ (v ) = •

(1.3.4)

1 , 1 + e − av

a = ct.

(1.3.6)

Funcţia tangentă hiperbolică:

ϕ (v ) =

1 − e −2 v 1 + e −2v

(1.3.7)

Funcţiile sigmoid şi tangentă hiperbolică reprezintă unele dintre funcţiile de activare cel mai des folosite la implementarea RNA, unul dintre motive reprezentându-l calculul simplu al derivatelor acestora. •

Funcţia liniară:

ϕ (v ) = v •

Funcţia liniară cu saturaţie:

(1.3.8)

1.3 Neuronul artificial - 17 -

0, dacã v < 0  ϕ (v) = v, dacã 0 ≤ v ≤ 1 1, dacã v > 1  •

(1.3.9)

Funcţia liniară cu saturaţie, simetrică:

− 1, dacã v < 0  ϕ (v) = v, dacã 0 ≤ v ≤ 1 1, dacã v > 1  •

(1.3.10)

Funcţia gaussiană:

ϕ (v) = exp(−v 2 )

(1.3.11)

P rag

S ignum

S igm oid

Tangenta hiperbolic a

1

1

1

1

0

0

0

0

-1 -4 -2 0 2 Liniara

4

-1 -4 -2 0 2 S aturatie

4

-1 -1 -4 -2 0 2 4 -4 -2 0 2 4 S aturatie s im etric a Gaus s iana

1

1

1

1

0

0

0

0

-1 -4 -2

0

2

4

-1 -4 -2

0

2

4

-1 -4 -2

0

2

4

-1 -4 -2

0

2

Fig. 1.3.2 Funcţii de activare tipice

Analizând comparativ modelele neuronului real (biologic) şi neuronului artificial se pot face următoarele observaţii [6]:

4

- 18 - CAP.1 Introducere •

Din punct de vedere al implementării este practic imposibil şi chiar ineficient ca modelul artificial al neuronului să copieze exact comportamentul şi structura celui biologic.



RNA sunt proiectate pentru rezolvarea unor probleme specifice şi deci arhitectura şi trăsăturile RNA depind de problema pe care trebuie să o rezolve.



Un neuron real produce la ieşire o secvenţă de impulsuri şi nu o anumită valoare cum este cazul celui artificial. Reprezentarea ratei de activare printrun singur număr (yk) ignoră informaţia care ar putea fi conţinută de exemplu în faza impulsurilor.



Unele celule nervoase biologice efectuează o însumare neliniară a intrărilor. Pot exista chiar operaţii logice (ŞI, SAU, NU) efectuate la nivelul dendritelor.



Ieşirile neuronilor nu se modifică în mod sincron şi nu toţi au acelaşi tip de întârziere.



Cantitatea de substanţă transmiţătoare (mediator chimic) eliberată la nivelul sinapsei poate să varieze într-un mod imprevizibil. Fenomenul este aproximat grosier prin intermediul funcţiei de activare.

1.4 Arhitecturi ale RNA Se pot distinge două mari categorii în modul de structurare al unei RNA: •

RNA feedforward (cu propagare înainte). Sunt caracterizate de prezenţa unui strat de neuroni de intrare, un număr de

straturi ascunse (posibil şi fără) şi un strat de neuroni de ieşire. În fig.1.4.1 este prezentată arhitectura unei RNA feedforward cu un singur strat ascuns. Definitoriu pentru acest tip de RNA este faptul că un neuron primeşte semnale doar de la neuroni aflaţi în stratul/straturi precedent/precedente. Se spune

1.4 Arhitecturi ale RNA - 19 despre o RNA că este total conectată dacă fiecare nod din fiecare strat este conectat la fiecare neuron din stratul precedent (fig.1.4.1). Dacă anumite conexiuni sinaptice lipsesc se spune că RNA este parţial conectată (fig.1.4.2). RNA total conectate au un caracter general, în sensul în care pot fi folosite într-o gamă largă de probleme, dar rezultatele nu sunt întotdeauna cele mai bune [7]. RNA parţial conectate introduc anumite restrângeri, care reprezintă tocmai cunoştinţe apriorice despre problema de rezolvat şi care reduc gradul de generalitate al unei RNA. Prin restrângerea câmpului de recepţie al neuronilor se efectuează o extragere a trăsăturilor locale iar în straturile ce urmează acestea sunt combinate pentru a se forma trăsături de ordin superior. Astfel, RNA parţial conectate pot da rezultate mai bune decât RNA total conectate în rezolvarea anumitor probleme specifice, cu condiţia exploatării cunoştinţelor apriorice despre problema dată.

Fig. 1.4.1 RNA feedforward total conectată

- 20 - CAP.1 Introducere

Fig.1.4.2 RNA feedforward parţial conectată



RNA recurente (feedback, cu propagare înapoi). RNA recurente se individualizează prin existenţa unui semnal de reacţie, din

partea neuronilor de ordin superior, pentru cei de ordin inferior sau chiar pentru propriile lor intrări (fig.1.4.3).

Fig.1.4.3 RNA recurentă

1.5 Tipuri şi algoritmi de instruire - 21 -

1.5 Tipuri şi algoritmi de instruire RNA achiziţionează cunoştinţele prin instruire (învăţare). Învăţarea presupune adaptarea parametrilor liberi ai RNA (ponderi, praguri, rată de învăţare, uneori chiar forma funcţiei de activare sau structura reţelei) ca urmare a stimulilor mediului în care se găseşte reţeaua. Vectorii de instruire sunt prezentaţi RNA în mod secvenţial iar ponderile sinaptice, care memorează practic cunoştinţele reţelei, sunt adaptate pentru a extrage informaţia pe care aceşti vectori o conţin. Tipul de învăţăre este determinat de maniera în care sunt ajustaţi parametrii liberi ai RNA. Deşi în literatura RNA [1], [5], [8] există o mare diversitate de opinii în ceea ce priveşte modul de clasificare al algoritmilor şi tipurilor de învăţăre, fig.1.5.1 încearcă să sintetizeze principalele direcţii. TIPURI DE INSTRUIRE

SUPERVIZATĂ

NESUPERVIZATĂ

PRIN ÎNTĂRIRE

(CU AUTOORGANIZARE)

HEBBIAN COMPETITIV CORECŢIA ERORILOR

BOLTZMAN (STOCHASTIC) Algoritmi

WIDROW-HOFF

PROPAGAREA ÎNAPOI A ERORII

(LMS sau REGULA DELTA)

Fig.1.5.1 Tipuri şi algoritmi de instruire

- 22 - CAP.1 Introducere • Învăţarea de tip supervizat

Este caracterizată de prezenţa unui supervizor care cunoaşte cu exactitate modul de asociere al intrărilor RNA cu ieşirile acesteia, conform fig.1.5.2.

Răspuns dorit SUPERVIZOR

Vector de intrare

SISTEM SUPUS ÎNVĂŢĂRII

Răspuns actual

+ -

Semnal de eroare Fig.1.5.2 Arhitectura unui sistem cu învăţare supervizată

Parametrii RNA sunt modificaţi sub influenţa combinată a vectorilor de antrenament şi a semnalului de eroare (diferenţa dintre răspunsul dorit şi cel actual). Scopul final al algoritmului de antrenament este ca RNA să emuleze, optim în sens statistic, supervizorul. • Învăţarea de tip nesupervizat (cu autoorganizare) Este caracterizată de absenţa unui semnal sau supervizor care să aprecieze corectitudinea asociaţiilor intrare-ieşire (fig.1.5.3). RNA va descoperii singură legităţile conţinute în datele de intrare printr-o reprezentare internă adecvată a trăsăturilor vectorului de intrare.

1.5 Tipuri şi algoritmi de instruire - 23 -

Vector de intrare

SISTEM SUPUS ÎNVĂŢĂRII

Fig.1.5.3 Sistem cu învăţare de tip nesupervizat • Învăţarea prin întărire Urmăreşte maximizarea unei mărimi scalare (indice de performanţă sau semnal de întărire) în urma unei acţiuni efectuate de către sistemul supus învăţării. Dacă modificările aduse conduc spre o stare mai bună decât cea precedentă, tendinţa sistemului de a produce acea acţiune particulară este întărită. • Algoritmi de învăţare bazaţi pe corecţia erorii Fie x(n) vectorul de intrare aplicat unei RNA. Dacă se notează ieşirea neuronului “k” prin yk(n), semnalul de eroare poate fi definit ca fiind diferenţa dintre ieşirea dorită pentru neuronul “k” şi ceea ce furnizează în etapa actuală de către acelaşi neuron: ek ( n ) = d k ( n ) - y k ( n )

(1.5.1)

Scopul final al algoritmilor bazaţi pe corecţia erorii este de a minimiza aşa-numita funcţie de cost. Unul dintre criteriile frecvent utilizate în alegerea funcţiei de cost este cel al erorii pătratice medii - care urmăreşte minimizarea valorii medii pătratice pentru suma erorilor pătratice aferente stratului de ieşire al RNA:

1  J = E  ∑ ek2 (n) 2 k  în care E[.] semnifică media în sens statistic.

(1.5.2)

- 24 - CAP.1 Introducere Una dintre metodele de minimizarea a funcţiei de cost J în raport cu parametrii RNA este metoda gradientului descendent. De cele mai multe ori proprietăţile statistice ale procesului nu sunt cunoscute. În acest caz se oferă o soluţie aproximativă pentru problema de optimizare, prin utilizarea drept funcţie de cost a valorii instantanee a sumei erorilor pătratice:

ε ( n) =

1 ek2 (n) ∑ 2 k

(1.5.3)

O metodă în acest sens o oferă Widrow şi Hoff (regula delta):

∆wkj ( n ) = −η

∂y ∂ε = ηek ( n )( − k ) = ηek ( n ) x j ( n ) ∂wk j ∂wk j

(1.5.4)

în care η reprezintă rata de învăţăre a RNA. Graficul aplicaţiei J în funcţie de ponderile RNA poartă denumirea de suprafaţă a erorii. Exemplul 1.1 Se urmăreşte reprezentarea suprafeţei erorii pentru cazurile unui element liniar (fig.1.5.3) respectiv pentru cazul unui element neliniar (1.5.4) folosind mediul MATLAB 5.3. Codul sursă este următorul: %Exemplu de reprezentare a suprafetei erorii %pentru cazurile unui neuron liniar respectiv neliniar %Catalin-Daniel Caleanu, 2000 clear %definire perechi de valori intrare(p, pattern)-iesire(t, target) p = [-6.0 -6.1 -4.1 -4.0 +4.0 +4.1 +6.0 +6.1]; t = [+0.0 +0.0 +.97 +.99 +.01 +.03 +1.0 +1.0]; %definire ponderi (w, weights), deplasari de scara (b, biases) wv = -1:.1:1; bv = -2.5:.25:2.5;