Concepte fundamentale
Atributele RN
Principiile fundamentale pe baza carora sunt descrise matematic RN provin din biologie. Matematica īncearca sa descrie cāt mai fidel comportamentul biologic al neuronilor si retelelor formate de acestia.
Atributele de baza ale RN se pot clasifica īn arhitectura (structura) si neurodinamica (proprietati functionale). Astfel, arhitectura defineste structura retelei (numarul de neuroni din retea si modul īn care acestia se interconecteaza). RN constau īntr-un numar de neuroni (sau elemente de procesare) cu anumite caracteristici: intrari, iesiri, legaturi sinaptice, functii de activare, bias etc. Neurodinamica RN defineste proprietatile lor: cum anume īnvata, asociaza, compara, clasifica reteaua neuronala.
RN proceseaza informatii īn mod non-secvential, bazāndu-se pe descompunerea paralela a informatiilor complexe īn elemente de baza, iar aceste elemente si relatiile dintre ele sunt stocate īn memoria/banca de date a creierului.
Retelele neurale artificiale (RNA)
Īn ultimii ani s-au realizat numeroase īncercari de a proiecta circuite electronice care sa copieze cāt mai fidel RN biologice si atributele lor. Astfel s-au dezvoltat modelele de retele neuronale numite si paradigme, mai mult sau mai putin asemanatoare cu retelele neuronale biologice.
Toate RNA sunt descrise prin intermediul ecuatiilor diferentiale sau cu diferente (īn forma discreta). Pāna si cele mai sofisticate RNA (de departe inferioare celor mai primitive forme de viata), create pentru a demonstra anumite principii sau pentru aplicatii, sunt limitate si specializate. Specialistii īnsa considera acest fapt o provocare, continuānd sa descopere noi paradigme si aplicatii ale acestora.
Exemplu: Īmpartirea numarului 100 la 3. Calculatorul obtine 33,333.+ε, unde ε→0. Daca se doreste reconstructia numarului 100 se obtine: 33,33.+33,33.+33,33.+3ε100, deoarece nu se stie valoarea exacta a lui ε. Omul īnsa poate īmparti o nuia de 100 de cm lungime īn 3 parti egale.
Modelarea RNA
Pentru a crea un model al unui sistem care sa descrie sistemul cāt mai exact, este necesar sa cunoastem foarte bine acel sistem. Matematica a fost inventata pentru a descrie fenomenele din natura, iar modelarea este modalitatea noastra de a aproxima creatiile naturii. Deci, daca modelul nostru da gres, greselile trebuie cautate īn model, nu īn natura. Īn continuare se vor utiliza notiunile de model si paradigma ca fiind echivalente.
Modelul fundamental al unui neuron
Neuronul (elementul de procesare) artificial este unitatea fundamentala a RNA. Īn general neuronul prezinta un set de n intrari xj (). Fiecare intrare este ponderata īnainte de a ajunge īn corpul principal al neuronului prin intermediul factorului de ponderare (puterea sau intensitatea legaturii) wj. Īn plus, mai exista si un termen numit bias w0, o valoare de prag Θ care trebuie atinsa sau depasita pentru ca sistemul sa produca un semnal; deasemenea mai exista o functie neliniara F care actioneaza asupra semnalului produs R, rezultānd iesirea O. O constituie intrare pentru alti neuroni. Daca un neuron este o parte a unei retele cu mai multi neuroni acesta se numeste nod. Daca exista mai multe noduri (m) īntr-o retea, se introduce īnca un indice pentru a distinge fiecare neuron. Modelul de baza al unui neuron este descris īn figura 1:
Functia de transfer a unui neuron este descrisa de relatia:
, (1)
iar conditia de activare a unui neuron este data de:
(2)
Īn figura 2 este exemplificat modul de functionare a unui neuron:
Functia neliniara are rolul de a asigura limitarea raspunsurilor neuronului (conditionarea, amortizarea), la stimuli de diferite amplitudini, pentru a-i asigura de fapt controlabilitatea. Cāteva exemple de neliniaritati uzuale se regasesc īn figura 3:
a)functii limitator b) functii rampa c) sigmoida
Īnvatarea īn cadrul RNA
Procesul de īnvatare din cadrul RN este foarte important si suscita interesul īn ambele tipuri de retele neuronale: biologice si artificiale. īn retelele biologice īnvatarea nu este un proces unic, exista diferite tipuri de procese de īnvatare, proprii fiecarei specii si nu toate sunt eficiente īn mod egal. Tot asa, pentru RNA s-au dezvoltat diferiti algoritmi de īnvatare, specifici diferitelor tipuri de RNA.
Īn general, īnvatarea este procesul prin care o RNA se adapteaza unui stimul 646f519g si eventual (dupa o ajustare a parametrilor proprii) produce un semnal de raspuns. Deasemenea, īnvatarea poate fi considerata o continua clasificare a stimulilor de intrare: daca apare un stimul la intrarea unei retele, aceasta īl va recunoaste sau va crea o noua categorie de stimuli. Īn timpul procesului de īnvatare reteaua īsi adapteaza parametrii (ponderile sinaptice) ca raspuns la un stimul de intrare, astfel īncāt raspunsul actual sa convearga catre raspunsul dorit. Īn momentul īn care raspunsul actual este identic cu cel dorit, RNA si-a īncheiat faza de īnvatare sau cu alte cuvinte, a "acumulat cunostinte".
Modelele de RNA constau din neuroni artificiali conectati īn diverse moduri, iar procesul de īnvatare nu este acelasi pentru toate. Regulile de īnvatare sunt descrise prin expresii matematice numite ecuatii de īnvatare. Aceste ecuatii descriu de fapt procesul de autoajustare a ponderilor sinaptice. Algoritmii de īnvatare sunt specifici unor artitecturi de retele neuronale, nu orice retea poate īnvata cu unul sau altul dintre algoritmi, dupa cum nu orice algoritm se preteaza unei anumite retele.
Īn continuare se descriu cātiva dintre cei mai utilizati algoritmi de īnvatare pentru RNA.
1.3.1. Algoritmi de īnvatare
Īn timpul perioadei de antrenare utilizānd algoritmul de cu īnvatare supervizata (Supervized Learning), la intrare se aplica un stimul (pattern), rezultānd un raspuns al retelei, comparat cu un raspuns dorit, ideal. Daca raspunsul actual difera fata de cel ideal, reteaua genereaza un semnal de eroare, care este utilizat apoi pentru a calcula ajustarea ponderilor astfel īncāt iesirea actuala sa fie identica cu cea dorita. Cu alte cuvinte se realizeaza o minimizare a erorii, daca se poate pāna la zero. Procesul de minimizare a erorii necesita un circuit special, numit si supervizor. Spre deosebire de acest tip de algoritm, īnvatarea nesupervizata (Unsupervized Learning) nu are nevoie de circuitul de supraveghere si nu exista o iesire dorita impusa a retelei. Īn timpul antrenarii, reteaua primeste la intrare stimuli pe care īi clasifica īn mod arbitrar. Daca dupa aceea apare la intrare un pattern, reteaua indica prin iesirea sa carei clase apartine stimulul de la intrare. Daca aceasta nu exista se creeaza o noua clasa. Desi nu este nevoie de circuit de supraveghere, pentru ca īnvatarea nesupravegheata sa dea rezultate satisfacatoare, sunt necesare unele indicatii īn ceea ce priveste modul de grupare a pattern-urilor.
Īnvatarea "īntarita" (Reinforced Learning) necesita cel putin un neuron la iesire si un circuit de supraveghere care indica daca iesirea actuala este sau nu identica cu iesirea dorita (raspuns binar). Circuitul de supraveghere nu prezinta retelei ietirea dorita ci ofera doar o indicatie de tipul "reusit/nereusit". Deci semnalul de eroare este un semnal binar. Daca indicatia supervizorului este "nereusit" reteaua īsi ajusteaza ponderile si īncearca din nou, pāna cānd obtine raspunsul corect.
Īnvatarea competitiva (Competitive Learning) este o alta forma a īnvatarii supravegheate, totusi diferita datorita arhitecturii si modului de operare diferit. Acest tip de īnvatare necesita mai multi neuroni īn stratul de iesire. Cānd se aplica la intrare un stimul, fiecare nod de iesire este īn competitie cu ceilalti pentru a produce cel mai apropiat raspuns fata de raspunsul dorit. Neuronul care reuseste acest lucru este iesirea dominanta. Pentru un alt semnal de intrare, alt neuron de iesire va fi dominant s.a.m.d. Astfel, fiecare nod de iesire este antrenat sa raspunda la un pattern de intrare diferit. De aceea, īnvatarea competitiva poate fi privita ca un proces de specializare aleatoare.
Regula Delta (Delta Rule) se bazeaza pe ajustarea continua a ponderilor respectānd regula de minimizare a erorii patratice, unde eroarea este diferenta īntre iesirea dorita si cea actuala a unui element de procesare. Acest tip de īnvatare mai este cunoscut si sub denumirea de algoritmul Widrow-Hoff sau regula celor mai mici patrate.
Regula gradientului (Gradient Descent Rule) ajusteaza ponderile cu o cantitate proportionala cu prima derivata (gradientul) a erorii unui element de procesare, tinānd cont si de valoarea ponderii actuale. Scopul este descresterea functiei eroare, evitānd minimele locale si atingānd minimul actual sau pe cel global.
Donald Hebb a enuntat urmatorul principiu referitor la procesele care au loc īn creierul uman: cānd un axon al celulei A este suficient de aproape pentru a excita celula B si īn mod permanent si persistent ia parte la activarea ("aprinderea") acesteia, au loc anumite schimbari metabolice īn ambele celule, astfel īncāt creste eficienta celulei A si gradul de activare a celulei B. Astfel, taria legaturii sinaptice (ponderile, īn cazul retelelor neuronale artificiale) se modifica īn functie de gradul de corelare a activitatii. Acest tip de īnvatare se numeste īnvatare hebbiana (Hebbian Learning). Īnvatarea anti-hebbiana (Anti-Hebbian Learning) se refera la retele neuronale unde legaturile sinaptice sunt numai de tip inhibitor.
Caracteristici ale RNA
Īn general, o RNA este o retea de comunicatie adaptiva care comunica o functie de cost pentru o iesire dorita. Din punct de vedere matematic, o RNA reprezinta un sistem dinamic care poate fi modelat ca un set de ecuatii diferentiale cuplate īntre ele. Un astfel de sistem depinde de valorile parametrilor ecuatiilor: mici modificari ale parametrilor pot determina schimbari majore īn comportamentul retelei.
RNA pot fi caracterizate de urmatorii factori:
Calcul colectiv si sinergic
programul se executa colectiv si sinergic
operatiile sunt descentralizate
Robustete
operatiile sunt insensibile la īntreruperi minore
operatiile sunt insensibile la intrari care nu sunt descrise cu acuratete foarte ridicata
Īnvatare
RNA realizeaza īn mod automat asociatii īntre informatii
Programul este creat de retea pe parcursul procesului de īnvatare
RNA se adapteaza
Asincronism īn operatii
RN biologice nu necesita un ceas explicit pentru a-si sincroniza operatiile
RNA necesita un tact de sincronizare.
Parametri ai RNA
Īn situatia unei abordari top-down a proiectarii unei RNA este necesara focalizarea asupra urmatorilor parametrii:
Topologia retelei
Numarul de nivele din retea
Numarul de neuroni/noduri de pe fiecare nivel
Algoritmul de īnvatare potrivit retlei
Numarul de iteratii/pattern efectuate pe parcursul īnvatarii
Numarul de calcule/iteratie
Viteza de recunoastere a unui pattern
Performanta retelei (este descrisa prin prisma numarului de pattern-uri de intrare recunoscute complet, incomplet sau prea putin)
Plasticitatea retelei
Capacitatea retelei (numarul maxim de pattern-uri recunoscute)
Gradul de adaptabilitate al retelei
Termenii bias
Valorile de prag
Limitari ale ponderilor sinaptice
Alegerea neliniaritatilor si domeniului de operare al neuronului
Imunitatea la zgomot a neuronului
Valorile finale (stationare) ale ponderilor sinaptice (programul retelei)
Topologii de RNA
RNA cuprind un numar de neuroni interconectati īntre ei. Modul de interconectare poarta numele de topologie. Se pot identifica numeroase topologii, dintre care cele mai utilizate sunt prezentate īn figura 4:
Topologie directa multi-nivel Topologie competitiva multi-nivel
Topologie directa-inversa Topologie hetero, cu reactie
cu doua nivele pe un nivel
Capacitatea de discriminare a RNA
RNA sunt antrenate pentru a recunoaste semnale de intrare (pattern-uri). Astfel, RNA trebuie sa fie capabila sa faca discriminari īntre pattern-urile aplicate la intrarile sale si apoi sa produca raspunsul dorit. īn unele aplicatii, RNA trebuie sa identifice semnalul de la intrare si grupul caruia acesta īi apartine.
Numarul de pattern-uri pe care RNA este capabila sa le clasifice se numeste capacitate de discriminare (numarul maxim de puncte pe care le poate separa sau identifica īn mod clar si pentru care poate emite un raspuns unic). Capacitatea de discriminare poate caracteriza o RNA ca fiind liniara, multiliniara sau neliniara.
RNA liniar separabile
Pentru a descrie o RNA liniar separabila presupunem ca exista la intrarea unei retele cu doi neuroni pe nivelul de intrare patru pattern-uri si anume: (+1 +1), (-1 +1), (+1 -1) si (-1 -1). RNA trebuie sa produca un semnal egal cu 1 daca la intrare se aplica (-1 +1) sI 0 īn rest. Prin amplasarea pattern-urilor īn spatiul (x1,x2) al intrarilor obtinem patru puncte simetrice īn jurul originii. Acest plan poate fi separat printr-o dreapta īn doua semiplane astfel īncāt īn fiecare dintre acestea sa fie amplasat cāte un grup de pattern-uri (figura 5). Ecuatia dreptei se considera de forma:
Figura 5
RNA multiliniar separabile
RNA multiliniare trebuie sa fie capabile sa separe punctele planului (x1,x2) īn doua sau mai multe grupuri. Astfel, RNA multiliniara consta dintr-un set de functii liniare, fiecare cu alta panta (A) si decalaj (B) (figura 6).
Figura 6
Īn figura 7 se exemplifica modalitatea de calcul a functiei SAU exclusiv de catre o RNA multiliniara:
Exemplu:
Figura 7
RNA neliniar separabile
Īn acest caz RNA este descrisa de o functie neliniara, care uneori poate fi foarte dificil de tratat. Īn figura 8 este prezentata o RNA neliniara:
Figura 8
Adaptabilitatea si stabilitatea RNA
O importanta deosebita prezinta adaptabilitatea RNA, capacitatea de a īnvata īn mod continuu. Īnvatarea continua implica continua up-gradare a ponderilor sinaptice ale RNA, ceea ce poate prezenta unele limitari tehnice pentru unele modele de RNA la nivel de implementare.
Pe de alta parte, stabilitatea unei RNA consta īn capacitatea RNA de a atinge valorile stationare ale ponderilor sinaptice. Daca se impune ca RNA sa īnvete ceva nou, aceasta īnseamna ca ponderile sale se vor modifica si RNA īsI va pierde memoria (programul). Astfel, pentru a evita pierderea memoriei trebuie evitat un nou proces de īnvatare aditional. Dar pe de alta parte, o RNA care īsi pierde adaptabilitatea, capacitatea de a īnvata īn mod continuu, de cele mai multe ori nu este acceptabila. Astfel apare o dificultate īn proiectarea unei RNA, atunci cānd se doreste obtinerea unei retele adaptabile dar care sa nu-si piarda stabilitatea. Dilema stabilitate-adaptabilitate este una dintre preocuparile majore ale specialistilor īn dezvoltarea de noi arhitecturi de RNA.
Paradigme sau arhitecturi de RNA
Un model (paradigma) al unei RN reprezinta o RNA constituita de obicei dintr-un numar de neuroni, organizati pe unul sau mai multe nivele. Īn cazul īn care exista mai multe nivele, nivelul unde se aplica semnalele de intrare (pattern-urile sau stimulii de intrare) se numeste nivel de intrare, iar nivelul unde se obtine marimea de iesire se numeste nivel de iesire. Nivelele de intermediare se numesc nivele ascunse deoarece intrarile si iesirile lor nu sunt observabile. Aceasta organizare pe nivele exista sI īn structura RN biologice, de unde a fost preluata.
Programul unei RNA nu este un algoritm secvential, ci este distribuit īn retea si stocat īn ponderile sinaptice ale fiecarui neuron. Īn timpul īnvatarii, ponderile sinaptice si valorile de prag sunt ajustate pāna cānd RNA ofera iesirea dorita. Īn general, ponderile si pragurile fiecarui neuron īn regim stationar constituie de fapt programul retelei si fiecare neuron participa la executia (paralela) a programului.
Īn continuare se descriu unele dintre cele mai utilizate modele de RNA.
Modelul McCulloch-Pitts
Primul model matematic al unui neuron biologic idealizat a fost propus īn anul 1943 de catre Warren McCullogh (neurobiolog) si Walter Pitts (statistician) si este cunoscut astazi ca modelul McCullogh-Pitts. Acest model este foarte simplu, fara īnvatare si adaptare, reprezentānd totusi piatra de temelie a cercetarilor ulterioare īn domeniul RNA.
Īn figura 9 este prezentat modelul unui astfel de neuron:
Figura 9
Iesirea unui astfel de neuron este data de relatia:
(3)
Termenul de bias, valoarea de prag si ponderile sinaptice se presupune ca au atins valorile stationare si se considera constante, ceea ce implica faptul ca procesele de īnvatare si adaptare sunt īncheiate.
Perceptronul
Modelul McCullogh-Pitts nu este decāt un sistem simplu īn bucla deschisa cu singurul scop recunoscut de a modela un neuron. Nu exista un mecanism de comparare a iesirii obtinute cu cea dorita si nu are loc un proces de īnvatare. Se impune astfel introducerea unei reactii, pentru a putea obtine un model mai apropiat de realitate, care sa surprinda si functionarea, nu doar structura unui neuron.
Exemplu
Īn general MLP sunt compuse din mai multi perceptroni formānd o structura ierarhica de tip topologie directa (feedforward), cu unul sau mai multe nivele ascunse. Fiecare nivel are unul sau mai multi neuroni. Numarul de nivele ascunse si numarul de neuroni de pe fiecare nivel se alege īn functie de aplicatie pe principiul trial-error, neexistānd o metoda formala de determinare a numarului optim de nivele sau de neuroni.
Pentru antrenarea MLP se pot utiliza diversi algoritmi, cel mai des folosit fiind regula Delta.
MLP pot fi utilizati pentru implementarea functiilor logice booleene (2 nivele), pentru partitionarea spatiului intrarilor ti clasificare (2-3 nivele), pentru implementarea transformarilor neliniare pentru probleme de aproximare (2-3 nivele).
Acest algoritm de īnvatare se bazeaza pe metoda minimizarii a celor mai mici patrate. Obiectivul acestei metode este exprimarea diferentei dintre iesirea actuala si cea dorita īn functie de intrari si iesiri. Eroarea medie patratica este data de:
(7)
unde wi este matricea ponderilor, xi vestorul intrarilor, Ti vectorul iesirilor-tinta si Oi vectorul iesirilor actuale ale celui de-al i-lea neuron, iar f este functia de activare. Gradientul erorii va fi:
(8)
Deoarece se cauta minimizarea erorii, vom considera:
(9)
unde μ este o constanta pozitiva. Astfel, devine:
sau (10)
(11)
Daca presupunem ca functia de activare neliniara este o sigmoida de ecuatie:
(12)
unde k=1, derivata va putea fi aproximata prin relatia:
(13)
Rezulta ca:
(14)
Exemplu: Se considera o RNA de tip MLP cu patru intrari. Se dau vectorul de intrare xi si vectorul ponderilor wi:
activare este o functie sigmoida cu k=1. Sa se antreneze reteaua.
Se calculeaza īntāi derivata dupa prima iteratie:
Dupa prima iteratie ponderile devin:
Iteratia continua pāna cānd ponderile nu se mai modifica sau pāna cānd eroarea este mai mica decāt o valoare impusa. (Tema pentru acasa)
ADALINE sI MADALINE
Conceptul de ADALINE (ADAptive LInear NEuron), introdus de Bernard Widrow si colegii sai, consta dintr-un singur neuron cu functie de activare de tip limitator (sgn), cu ponderi ajustabile (figura 11).
Regula de adaptare a ponderilor (de fapt algoritmul de īnvatare) poarta denumirea de algoritmul Widrow-Hoff si implica parcurgerea urmatorilor pasi:
Se ataseaza ponderilor sinaptice valori īntre 1 si -1.
Se aplica modelului un set de intrari si iesirea-tinta corespunzatoare.
Se calculeaza eroarea.
Se ajusteaza fiecare pondere īn sensul minimizarii (sau chiar anularii) erorii medii patratice, astfel īncāt eroarea este redusa cu 1/n, unde n este numarul de ponderi.
Se repeta procesul pāna cānd eroarea este suficient de mica (sau zero).
Se repeta pasii anteriori pentru toate seturile de antrenare.
Figura 11
RNA de tip ADALINE au aplicatii īn filtrarea de semnal adaptiva, recunoasterea formelor de semnal, predictie.
Figura 12
RNA de tip MADALINE (Multi ADALINE) utilizeaza mai multe modele ADALINE īn paralel, cu o singura unitate de iesire, care furnizeaza o valoare determinata pe baza unor reguli de selectie. De ex., daca se utilizeaza regula votului majoritar, iesirea va fi 1 (adevarat) daca cel putin 51% dintre intrari sunt 1 (adevarate), iar daca nu, va fi -1 (fals). O alta varianta de alegere a regulii de selectie este functia sI logic: iesirea va fi 1 (adevarat), daca toate intrarile sunt 1 (adevarat), iar īn rest este falsa (figura 12).
RNA de tip MADALINE se preteaza la recunoasterea invarianta de forme, comunicatii (egalizatoare de semnal adaptive, anularea adaptiva a ecoului etc.).
RNA bazate pe algoritmul de īnvatare back-propagation
Algoritmul Back-propagation, dezvoltat de Paul Werbos īn 1974 (si redescoperit pe cale independenta de catre Rumelhart si Parker) este cunoscut ca un algoritm de īnvatare care se preteaza la antrenarea unui anumit tip de retele (retele directe, pe mai multe nivele), de unde poate apare denumirea de retele back-propagation. Retelele tipice care se antreneaza cu acest algoritm au unul sau mai multe straturi ascunse. Fiecare strat este total conectat cu stratul urmator. Pattern-urile de la intrare sunt propagate īnainte de la intrare catre iesire, iar apoi erorile constatate īntre iesirile dorite si cale actuale sunt propagate īnapoi si sunt utilizate pentru ajustarea ponderilor.
Cu toate ca este un algoritm foarte utilizat, exista unele deficiente. Una dintre acestea este faptul ca metoda "inversa" a calculului ponderilor, specifica acestui algoritm nu pare plauzibila d.p.d.v. biologic. Din acest motiv se poate accepta algoritmul ca metoda de proiectare a unei retele cu īnvatare, dar nu ca pe un emulator al creierului uman.
Retele de tip CMAC (Cerebellum Model Articulation Controller)
Acest tip de retele a fost dezvoltat de James Albus. Retelele CMAC prezinta o structura din trei straturi: stratul de intrare, stratul functiilor de baza, respectiv stratul vectorilor de ponderi. Algoritmul de īnvatare utilizat este regula Delta. Este o retea cu procesarea locala a informatiei. Se utilizeaza īn structuri de reglare adaptiva.
Retele bazate pe ART (Adaptive Resonance Theory )
RNA bazate pe teoria rezonantei adaptive au fost dezvoltate de Steven Grossberg si Gail Carpenter ca o structura nesupravegheata, bazata pe īnvatare competitiva. Acest tip de retele au aparut īn ideea de a rezolva dilema stabilitate-plasticitate prin faptul ca reteaua ART combina īnvatarea competitiva bottom-up (intrare-iesire) cu īnvatarea top-down (iesire-intrare).
Retelele ART contin doua straturi principale: stratul de intrare-comparare si stratul de iesire-recunoastere, care interactioneaza īntre ele. Īn plus, exista un nivel intermediar, o retea de filtrare adpativa īntre nivelul de intrare si cel de iesire. Pentru fiecare nivel exista semnale de control pentru fluxul de informatii.
Sunt utilizate la recunoasterea independenta a formelor, predictie, generalizare, realizānd clasificarea unor categorii de pattern-uri si fiind capabile sa īnvete altele noi.
Modelul Hopfield
Modelul realizat de John Hopfield īn 1982 este o retea total conectata, autoasociativa, asincrona (ca si creierul uman dealtfel), aleatoare, cu ponderi simetrice, constānd dintr-un singur nivel de noduri. Urmareste o topologie hetero cu reactie (heterofeedback). Accepta la intrare semnale bivalente: 0 si 1 sau -1 si 1.
Unitatea fundamentala a modelului Hopfield a fost un element de procesare cu doua iesiri: una inversoare si una neinversoare. Iesirile fiecarui element de procesare se pot conecta la intrarile oricarui alt neuron , īn afara de cele ale lui īnsusi. Conexiunile sunt rezistive (o rezistenta īn paralel cu un condensator), si reprezinta ponderea legaturilor sinaptice. Conexiunile de excitare utilizeaza iesirile pozitive, iar conexiunile inhibitorii utilizeaza iesirile inversoare. Conexiunile devin excitatoare atunci cānd iesirile unui elent de procesare sunt identice cu intrarile acestuia. Conexiunile devin inhibitorii cānd iesirile difera de intrarile elementului de procesare respectiv.
Modelul Hopfield este o retea stabila, utilizata ca memorie asociativa.
Alte arhitecturi de RNA
Memoriile asociative sunt retele simple cu unul sau doua straturi de neuroni care pot memora pattern-uri, prin asociere. Reteaua īnvata un numar de perechi de pattern-uri si trebuie apoi sa refaca la iesire pattern-ul asociat cu cel prezentat la intrare, chiar daca acesta este putin modificat. Exista mai multe tipuri de memorii asociative, fiecare avānd proprietati si algoritmi de īnvatare diferiti.
BSB (Brain-State-in-a-Box) este un concept dezvoltat de James Anderson si implementat apoi īntr-o retea neuronala asociativa liniara combinata cu un algoritm neliniar de post-procesare utilizat pentru īnlaturarea raspunsurilor nedorite produse de reteaua liniara. Simuleaza procesul de gāndire uman.
LVQ (Linear Vector Quantization) este o arhitectura de clasificare dezvoltata de Teuvo Kohonen, care modifica limitele claselor de pattern-uri astfel īncāt sa minimizeze eroarea de clasificare. Reteaua LVQ are singur strat de noduri, fiecare nod corespunzānd unei clase sau subclase de pattern-uri. Īn final, un vector prezentat la intrare i se asociaza o anumita clasa (cea mai apropiata). Se utilizeaza pentru recunoasterea de caractere, convertirea vorbirii īn foneme etc.
SOM (Self-Organizing Map) este un algoritm de clusterizare dezvoltat de Teuvo Kohonen, care creeaza o reprezentare redusa a datelor originale de intrare, creānd relatii īntre pattern-urile de intrare. Iesirea SOM nu corespunde unor clase cunoscute (ca īn cazul LVQ), ci unor clustere necunoscute pe care SOM le creeaza singur. Iesirea adecvata se furnizeaza pe baza celei mai mici distante fata de pattern-ul de antrenare. Astfel, dupa antrenare, ponderile fiecarui nod modeleaza proprietatile care caracterizeaza un cluster format īn spatiul datelor de intrare. Retelele SOM sunt utilizate īn retele hibride cu backpropagation sau retele hibride de clasificare.
PNN (Probabilistic Neural Network) a fost realizata de Donald Specht ca o arhitectura de clasificare care aproximeaza instantaneu limita cea mai buna īntre categoriile de pattern-uri. Reteaua este structurata pe patru nivele, cu doua straturi ascunse. Primul dintre acestea contine cāte un nod pentru fiecare pattern de antrenare, iar cel de-al doilea, cāte un nod pentru fiecare clasa. Īn timpul antrenarii se utilizeaza pattern-uri de antrenare pentru a estima distributia probabilistica a claselor. Apoi, pattern-urile de la intrare sunt asociate acelei clase care este cea mai asemanatoare. Antrenarea este rapida, dar necesita un numar mare de date de antrenare.
RBF (Radial Basis Function) este o arhitectura de clasificare si aproximare a functiilor obtinuta de M.J.D. Powell. Iesirea retelei este formata ca o combinatie liniara a unor functii baza radiale. Capacitatea de aproximare a retelei este data de pozitia centrelor functiilor baza īn spatiul intrarilor.
Retelele B-spline pot fi utilizate pentru a realiza o corespondenta īntre un vector de intrare si o marime scalara, īntr-un domeniu restrāns al spatiului intrarilor, prin definirea unui numar de functii baza īn acest domeniu. Iesirea retelei este o combinatie liniara a acestui set de functii baza, definite īn spatiul vectorilor de intrare. Este o retea cu procesare locala a informatiei.
Masina Boltzmann este o generalizare a retelei Hopfield. Spre deosebire de aceasta, nodurile pot fi conectate inclusiv cu ele īnsele, iar reteaua poate poseda si straturi ascunse. Actualizarea starii nodurilor se face pe baza unei reguli de decizie stochastica. Starile retelei sunt structurate īn distributie Boltzmann (forma exponentiala de probabilitate de distributie utilizata pentru a modela starile unui sistem fizic la echilibru termic). Poate fi utilizata ca memorie asociativa sau pentru solutionarea unei probleme de optimizare.
Retelele Hamming implementeaza un clasificator al erorii minime pentru un vector binar, unde eroarea este definita utilizānd distanta Hamming. Un clasificator de eroare minima este definit prin intermediul unor vectori exemplu. Dupa antrenare, un vector de intrare a carui apartenenta la o clasa este necunoscuta, este asociat categoriei al carei vector exemplu este cel mai apropiat (din punct de vedere al distantei Hamming).
Retelele modulare sunt implementate pe baza metodei "divide et impera". Un task este īmpartit īn task-uri mai simple si de dimensiuni mai reduse, fiecare task fiind īnvatat de un modul (retea neuronala) expert. Rezultatele obtinute de fiecare modul sunt apoi utilizate pentru rezolvarea problemei globale. Aceste retele ofera numeroase avantaje, datorate modularizarii. Se pot utiliza pentru proiectarea regulatoarelor neuronale.
3. Aspecte legate de conducerea neuronala a proceselor
Retelele neuronale artificiale se preteaza la utilizarea īn conducerea de procese atāt pentru identificarea si modelarea proceselor cāt si ca regulatoare.
Principala caracteristica care justifica utilizarea retelelor neuronale pentru modelarea si identificarea sistemelor dinamice, īn special a celor neliniare, este capacitatea de a aproxima aplicatii neliniare. O retea MLP feedforward cu un singur strat ascuns este capabila sa aproximeze orice functie continua, cu un grad dorit de precizie, fapt valabil si pentru retelele recurente multistrat. Astfel modelele neurale pot fi utilizate pentru modelarea si identificarea sistemelor dinamice neliniare necunoscute, pentru care sunt disponibile doar date referitoare la conduita de transfer.
Īn ceea ce priveste utilitatea retelelor neuronale īn sistemele de conducere, cercetatorii au evidentiat arhitectura, caracteristicile si performantele creierului uman utilizat ca regulator si īn relatie cu aceasta, unele avantajele ale regulatoarelor neurale īn raport cu cele conventionale.
3.1. Modelarea si identificarea neuronala a sistemelor
Īn domeniul modelarii exista patru strategii mai importante de modelare a unui proces utilizānd retele neuronale. Īn continuare se va face o trecere īn revista a principiilor acestora.
Modelarea directa presupune antrenarea unei retele neuronale īn vederea aproximarii dinamicii directe a procesului. Īn paralel cu procesul care trebuie modelat se plaseaza modelul neural. Procesul poate fi descris de urmatoarea ecuatie:
(15)
Semnalul de antrenare al retelei este eroarea dintre iesirea procesului si iesirea retelei. Ca algoritm de īnvatare se utilizeaza īnvatarea supervizata, dar īn cazul particular īn care reteaua este de tip MLP se poate folosi ca algoritm de antrenare si algoritmul back-propagation. Aceasta strategie de modelare poate fi descrisa de schema de principiu din figura 13 :
Figura 13
Un model neural de acest tip poate fi utilizat īn sisteme de conducere cu reactie īn care este necesara o estimare a iesirii procesului, pentru predictia performantelor procesului īn cazul īn care iesirea reala a procesului nu este disponibila, pentru proiectarea off-line a unui regulator. Datele necesate procesului de antrenare se obtin din observatii ale conduitei de transfer a procesului. Reteaua are ca intrare aceeasi marime ca si procesul, iar iesirea procesului este iesirea dorita a retelei.
Structura modelului neural se alege aceeasi cu a procesului. Reteaua are o arhitectura simpla. Semnalul de comanda si starile procesului sunt esantionate, formānd intrarea retelei, apoi se calculeaza iesirea retelei si se compara cu iesirea masurata (dorita) a procesului. Diferenta dintre cele doua marimi este utilizata pentru ajustarea ponderilor retelei īn scopul reducerii erorii obtinute.
Īn cazul modelarii directe este foarte importanta alegerea setului de date folosit pentru antrenarea retelei, deoarece reteaua utilizeaza doar informatii referitoare la intrarea si iesirea procesului. Astfel, semnalul de intrare trebuie sa fie suficient de consistent pentru a furniza date de antrenare care sa parcurga īntregul spatiu de intrari al retelei.
3.1.2. Modelarea inversa generalizata
Prin modelare inversa a procesului o RNA este antrenata ca invers al procesului. Se obtine astfel un regulator neural, care īmpreuna cu procesul considerat are o functie de transfer unitara. Reteaua este antrenata ca invers al procesului din relatia (15), adica:
(16)
Metoda de antrenare generalizata este cea mai simpla abordare a strategiei de modelare inversa. Schema de principiu este ilustrata īn figura 14 :
Figura 14
Pentru intrarea retelei se foloseste un semnal sintetic, acelasi cu semnalul de intrare a procesului. Iesirea sistemului este folosita ca intrare a retelei, iar iesirea retelei este comparata cu intrarea sistemului, considerata semnal de antrenare. Pentru definirea cāt mai corecta a modelului invers este necesar ca setul de date de antrenare sa fie unic. Īn cazul antrenarii generalizate, reteaua este antrenata off-line īn sensul minimizarii urmatorului criteriu:
(17)
unde w reprezinta vectorul ponderilor retelei.
Un dezavantaj al metodei este faptul ca nu este orientata pe aplicatie, este mai curānd generala. Metoda de modelare generalizata se poate utiliza pentru controlul sistemelor neliniare sau pentru īnvatarea cinematicii inverse, respectiv a dinamicii inverse īn conducerea robotilor.
3.1.3. Modelarea inversa specializata
Scopul metodei este acelasi cu al metodei anterioare, īnsa difera modul de rezolvare a problemei. Shema de principiu este ilustrata īn figura 15:
Figura 15
Metoda inversa specializata presupune constructia unui model direct al procesului prin care se transmite īnapoi un semnal de eroare īntre iesirea dorita a procesului si raspunsul procesului. Astfel, regulatorul neuronal constituit de modelul invers al procesului īsi va ajusta parametrii īn functie de semnalul de eroare amintit. Acest tip de antrenare este o procedura on-line, ideea de baza fiind minimizarea criteriului:
(18)
unde: . Modelul invers este obtinut pentru Am=Bm=1, desi uneori se poate utiliza si un filtru trece-jos, caz īn care se obtine un model invers mai neted.
Spre deosebire de metoda anterioara, modelarea inversa specializata prezinta avantajul orientarii pe aplicatie. Din acest motiv, antrenarea specializata este potrivita pentru optimizarea regulatoarelor īn vederea urmarii īndeaproape a unei traiectorii de referinta prescrise, ceea ce prezinta importanta īn numeroase aplicatii (de ex. īn robotica). Īn plus, chiar daca modelul direct al procesului nu este bine definit, se poate obtine un model invers cu proprietatile dorite. Un dezavantaj al metodei ar putea fi acela ca datorita faptului ca antrenarea specializata trebuie realizata on-line este mai dificil de pus īn practica decāt antrenarea generalizata.
3.1.4. Modelarea operationala
Īn cadrul acestei metode, procesul de īnvatare se efectueaza īn paralel cu activitatea unui operator care actioneaza asupra procesului. Schema de principiu a unui astfel de sistem este cea din figura 16. Semnalul de antrenare este raspunsul procesului, care contine o componenta de zgomot semnificativa, datorata gradului de imprecizie a actiunilor operatorului.
Pentru a obtine un model cāt mai corect, setul de date de antrenare trebuie sa fie consistent, iar vectorul de intrari al retelei trebuie sa contina toata informatia detinuta de operator.
3.1.5. Identificarea bazata pe modele neurale
Pentru identificarea sistemelor bazata pe modele neuronale se procedeaza ca si īn cazul identificarii orientate pe modele clasice, principiile de baza fiind aceleasi, atāt pentru procese liniare, cāt si pentru sisteme neliniare. Procesul de identificare īn cazul īn care modelele sunt reprezentate de retele neuronale consta de fapt īn antrenarea respectivei retele. Se porneste de la cel mai simplu model care poate descrie sistemul si se continua cu modele mai complexe numai īn cazul īn care modelul cel mai simplu nu īndeplineste testele de validitate. Daca se testeaza un model mai complicat, rezultatele obtinute cu un model mai simplu pot ajuta la maniera de alegere a parametrilor structurali pentru noul model.
Astfel, procedura care trebuie executata pentru identificarea unui sistem dinamic consta īn patru pasi de baza, ca īn organigrama din figura 17.
Īn faza de experimentare datele experimentale despre proces sunt culese si prelucrate īn vederea obtinerii unui set de date/semnale adecvate utilizarii lor īn continuare. Astfel, datele experimentale trebuie sa contina informatii care sa descrie sistemul īn toate regimurile si punctele de functionare, cu o perioada de esantionare adecvata.
Presupunānd ca setul de date a fost cules, urmatorul pas consta īn alegerea structurii modelului, ceea ce este destul de dificil īn cazul sistemelor neliniare. Īn acest caz este necesara stabilirea regresorilor si aunei arhitecturi de RNA corespunzatoare. Regresorii se pot stabili ca si īn cazul identificarii clasice a sistemelor , urmānd sa se determine arhitectura de RNA optima, avāns ca intrari regresorii stabiliti. Odata selectata structura modelului (tipul de model) urmatorul pas consta īn alegerea ordinului modelului, pentru care exista metode specifice.
Estimarea modelului se realizeaza de fapt prin antrenarea retelei neuronale, utilizānd diverse metode de estimare, de exemplu metoda Levenberg-Marquardt sau metoda predictiei recursive a erorii de predictie.
Īn ceea ce priveste validarea modelului, cea mai buna metoda este investigarea erorii de predictie cu ajutorul unui set-test de date (autocorelatie, cross-corelation).
Figura 17
Īntoarcerea la etapa de antrenare se datoreaza faptului ca s-a atins un minim local al criteriului. Īn acest caz, RNA trebuie antrenata din nou, pornind de la ponderi initiale diferite fata de ultima antrenare. Īntoarcerea la etapa selectiei structurii modelului se datoreaza modului īn care s-a realizat separarea problemei. Astfel, trebuie īncercat fie un alt regresor, fie o alta arhitectura a retelei. Acest lucru se poate realiza prin īncercari succesive sau printr-o metoda optimala.
3.2. Reglajul neuronal
Datorita posibilitatilor multiple oferite de retelelele neuronale, acestea au fost introduse si ca regulatoare īn sisteme automate. Cel mai mare avantaj al acestora este realizarea unui reglaj cu performante ridicate datorita capacitatii de a īnvata a retelelor neuronale.
Sistemele de reglare neuronale pot fi īmpartite īn doua categorii fundamentale din punct de vedere al proiectarii, si anume:
- cu proiectare directa (regulatorul este o retea neuronala);
cu proiectare indirecta (regulatorul nu este o retea neuronala, dar strategia de reglare se bazeaza pe modelul neuronal al procesului).
Pe de alta parte, din punct de vedere al tipului de model implicat īn strategia de reglare distingem:
reglare pe baza modelui direct al procesului;
reglare pe baza modelului invers al procesului.
3.2.1. Reglarea pe baza modelului invers
Cele mai raspāndite strategii de conducere bazate pe retele neuronale sunt cele care utilizeaza modelarea dinamicii inverse a procesului. Īn continuare se vor prezenta cele mai utilizate procedee de control bazate pe modelul invers al procesului.
3.2.1.1. Controlul direct invers
Īn acest caz, modelul
invers al procesului obtinut fie prin antrenare generalizata, fie
prin antrenare specializata este utilizat ca regulator pentru proces prin
inserarea iesirii dorite si a referintei r(t+1) īn locul iesirii y(t+1).
Principiul controlului direct invers este ilustrat īn figura 18:
3.2.1.2. Controlul bazat pe model intern
Īn acest caz, semnalul de comanda este
sintetizat printr-o combinatie īntre un model direct al procesului si
un model invers. Acest tip de proiectare are avantajul dea furniza un
raspuns fara offset, chiar daca procesul este afectat de o
perturbatie
Figura 19
3.2.1.3. Optimizarea unui sistem de reglare deja existent
Utilizarea modelelor inverse īn structuri cu reactie conduce la obtinerea de raspunsuri aperiodice, ceea ce īn unele cazuri nu este de dorit. Daca un regulator PID a fost deja acordat pentru stabilizarea procesului, se poate utiliza un model invers al procesului pentru furnizarea unui semnal pe calea directa, direct de la referinta. Īn acest fel se pot optimiza performantele de reglare ale sistemului initial, īnlaturānd dezavantajul controlului aperiodic (figura 20).
Figura 20
3.2.2. Reglarea prin liniarizare dupa reactie
Reglarea prin liniarizare dupa reactie este o metoda utilizata pentru controlul unor anumite clase de procese neliniare. Īn continuare se prezinta un regulator discret bazat pe liniarizare intrare-iesire utilizānd un model neural al procesului. Antrenarea modelului neural se realizeaza cu ajutorul unui algoritm cu urmatoarea structura:
(19)
unde f si g sunt doua retele separate. Marimea de comanda se calculeaza astfel:
(20)
Selectarea
marimii de comanda virtuale w(t)
ca o combinatie liniara adecvata a iesirilor anterioare
plus referinta permite impunerea arbitrara a polilor sistemului
īnchis. Astfel, liniarizarea dupa reactie este de fapt o
varianta neliniara a metodei aplasarii polilor cu anularea
zero-urilor. Principiul metodei este ilustrat īn figura 21:
Figura 21
3.2.3. Controlul neural optimal
Pentru proiectarea regulatoarelor neurale optimale se poate utiliza un algoritm asemanator antrenarii specializate, cu unele modificari, si anume introducerea īn criteriu a unui termen īn scopul penalizarii patratelor marimii de comanda:
(21)
3.2.4. Reglarea prin liniarizare īn jurul unui punct de functionare
Ideea liniarizarii modelelor neuronale neliniare īn jurul unui punct de functionare poate fi rezumata astfel: se presupune un model deterministic al unui proces:
(22)
Se introduce vectorul de stare x(t) compus din argumentele functiei g:
(23)
La momentul se liniarizeaza g īn jurul starii curente x(τ) pentru a se obtine modelul aproximativ:
(24)
unde:
si:
Prin separarea partii care contine componente ale vectorului de stare modelul de mai sus se poate scrie astfel:
(25)
unde π(τ) este termenul de bias si se determina astfel:
(26)
si:
Astfel, modelul aproximat poate fi interpretat ca un model liniar afectat de o perturbatie aditionala π(τ) dependenta de punctul de functionare. Proiectarea unui sistem de reglare dupa acest principiu se face conform figurii 22:
Chiar daca un astfel de regulator nu este adptiv, īn sensul proectarii pentru un sistem variant īn timp, principial acesta se aseamana foarte mult cu regulatoarele autoacordabile de tip RST. Estimarea modelului liniar nu are loc la fiecare pas (perioada de esantionare). Modelul liniar este extras dintr-un model neural al procesului. Aceasta metoda nu utilizeaza un regulator neural propriu-zis, deci este o metoda cu proiectare indirecta.
O varianta de implementare a acestei metode se bazeaza pe principiul minimei variante. Se presupune ca termenul de bias π(τ) este perturbatie de tip zgomot alb, . Regulatorul este astfel proiectat īncāt sa minimizeze criteriul urmator:
(27)
unde It reprezinta informatiile disponibile pāna la momentul t:
.
Un astfel de regulator va avea structura din figura 23, data de legea de reglare:
(28)
Figura 23
O alta varianta de implementare ar fi cea cea a unui regulator predictiv. Proiectarea acestuia se realizeaza prin minimizarea la fiecare iteratie a criteriului:
(29)
īn functie de Nu marimi de comanda ulterioare:
si tinānd cont de urmatoarea constrāngere (u este constant īntre momentele de esantionare):
N1 reprezinta orizontul de minima predictie, N2 este orizontul de maxima predictie, iar Nu orizontul maxim de control; ρ este un factor de penalizare a variatiilor īn marimea de comanda. Predictiile (estimarile) ulterioare se realizeaza ca predictii de minima varianta. Problema de optimizare (rezolvata on-line atāta timp cāt la fiecare moment de esantionare se obtine un model liniar) rezulta ca o secventa de comenzi U(t). Procesului i se va aplica primul element al acestei secvente si anume u(t).
3.2.5. Structuri de reglare ierarhice
Sistemul este compus din trei subsisteme, ca īn figura 24. Subsistemul reprezentat de reactia negativa conventionala (externa) se bazeaza pe eroarea dintre iesirea dorita a procesului r si iesirea masurata y. Al doilea subsistem este reprezentat de calea care uneste RN 1 si reprezinta modelul intern al dinamicii procesului.
Figura 24
Aceasta retea īnvata dinamica procesului, culegānd informatii din marimile de intrare u, respectiv de iesire y ale procesului, furnizānd apoi un semnal estimat . Pe baza erorii dintre r si se determina o bucla de reactie interna, mai rapida decāt cea externa. Cel de al treilea sistem este constituit de RN 2 care supravegheaza iesirea dorita r si intrarea procesului u pentru a modela dinamica inversa a procesului. Astfel, cānd va primi la intrare r va produce .
3.2.6. Structuri multistrat
4.Aplicatii ale retelelor neuronale īn conducerea proceselor
Īn prezent, RNA se aplica cu succes īn numeroase domenii, cum ar fi: procesarea de semnal, procesarea de imagini, comunicatii, controlul inteligent al proceselor, robotica etc.
|