Pagina documente » Informatica, Matematica » Arhitecturi neurale. Memorii asociative bidirectionale

Cuprins

lucrare-licenta-arhitecturi-neurale.-memorii-asociative-bidirectionale
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-arhitecturi-neurale.-memorii-asociative-bidirectionale


Extras din document

CUPRINS
Introducere........I
1. Fundamentele arhitecturilor neurale...........4
1.1. Elemente de procesare...4
1.2. Functii semnal4
1.3. Caracteristici topologice6
1.3.1. Tipuri de conexiuni.........6
1.3.2. Scheme de interconectare6
1.3.3. Configuratii de campuri...7
1.4. Memoria..........8
1.4.1. Tipuri de forme.8
1.4.2. Tipuri de memorii............8
1.4.3. Mecanisme de memorare.8
1.5. Decodarea.......9
1.6. Instruirea.........9
1.6.1. Invatarea prin corectarea erorilor..10
1.6.2. Invatarea prin intarire....11
1.6.3. Invatarea stocastica........12
1.6.4. Sisteme hardware...........12
1.6.5. Invatarea Hebbiana........13
1.6.6. Invatarea competitiva si cooperativa............14
1.6.7. Sisteme conectate aleator..............15
1.7. Stabilitatea si convergenta...........16
1.7.1. O definitie a stabilitatii globale.....16
1.7.1.1 Metoda directa Liapunov.17
2. Arhitecturi neurale feedforward si recurente............17
2.1. Primul model de retea neurala.....17
2.2. Arhitecturi neurale feedforward...20
2.2.1. Perceptronul...20
2.2.1. 1. Perceptronul cu un singur strat......20
2.2.1.2. Functia de performanta...22
2.2.1.3. Algoritm de instruire......23
2.2.1.4. Teorema de convergenta.27
2.2.1.5. Algoritmul Gallant..........29
2.2.2. Memoria liniar asociativa - LAM..32
2.2.3. Memoria liniar asociativa optimala - OLAM33
2.2.4 Adaline/Madaline..........36
2.2.4.1. Functia de performanta...36
2.2.4.2. Algoritmi de instruire......37
2.2.5. Retele cu backpropagare -BNP.....39
2.2.5.1. Introducere......39
2.2.5.2. Arhitectura multistrat a retelelor neuronale...41
2.2.5.3. Functia de performanta..45 2.2.5.4. Algoritm de instruire......45
2.2.5.5. Variante ale algoritmului de backpropagare..49
2.2.5.5.1. Varianta momentum.........49
2.2.5.5.2. Varianta netezirii..............51
2.2.5.5.3. Varianta Batch-updating...51
2.2.5.5.4. Varianta Delta-har-Delta..52
2.2.5.5.5. Varianta a doua a ratei de instruire variabile...53
2.2.5.5.6. Varianta algoritmului robust............54
2.3. Arhitecturi neurale recurente.......56
2.3.1. Introducere.....56
2.3.2. Memorii asociative bidirectionale.57
2.3.2.1. Notiuni de baza57
2.3.2.2. Asociatorul liniar............58
2.3.2.3. Functionarea asociatorului liniar....60
2.3.2.4. Memorii liniare optimale61
2.3.3. Functionarea memoriilor asociative bidirectionale......62
2.3.3.1. Stabilirea ponderilor........62
2.3.3.2. Dinamica BAM-urilor.....63
2.3.3.3. Functionarea BAM-urilor66
2.3.3.4. Algoritmul BAM.............72
2.3.4. Stabilitatea memoriei asociative bidirectionale............74
2.3.4.1. Stabilitatea bidirectionala74
2.3.4.2. Consideratii elementare privind functiile Liapunov......75
2.3.4.3. Sisteme dinamice stabile.76
2.3.4.4. Functia energie pentru retele neurale.............77
2.3.4.5. Stabilitatea memoriei asociative bidirectionale.............79
2.3.4.6. Stabilitatea memoriei asociative bidirectionale. Cazul general............82
3. Descrierea aplicatiei....85
Bibliografie.

Alte date

?

Introducere

Inca de la inceputul cercetarilor de inteligenta artificiala s-au conturat in acest domeniu doua directii rivale ce constituie si acum modelele dominante (paradigmele) in Inteligenta Artificiala.

Paradigma logico-simbolica presupune mecanisme de reprezentare simbolica a cunostintelor si utilizarea diferitelor modele logice pentru a deduce noi cunostinte din faptele memorate in baza de cunostinte a sistemului. De exemplu, programele care joaca sah si programele inteligente (numite Sisteme Expert) care rezolva probleme de mare complexitate dintr-un domeniu bine conturat reprezinta realizari notabile in cadrul acestei paradigme.

Paradigma conexionista a introdus un nou concept de calcul - calculul neuronal - si a generat realizari concrete cunoscute sub numele de retele neurale artificiale (pe scurt retele neurale).

In retelele neurale informatia nu mai este memorata in zone bine precizate, ca in cazul calculatoarelor standard, ci este memorata difuz in toata reteaua. Memorarea se face stabilind valori corespunzatoare ale ponderilor conexiunilor sinaptice dintre neuronii retelei.

Un alt element important, care este, probabil, principalul responsabil pentru succesul modelelor conexioniste, este capacitatea retelelor neurale de a invata din exemple. In mod traditional, pentru a rezolva o problema, trebuie sa elaboram un model (matematic, logic, lingvistic etc) al acesteia. Apoi, pornind de la acest model, trebuie sa indicam o succesiune de operatii reprezentand algoritmul de rezolvare a problemei. Exista, insa, probleme practice de mare complexitate pentru care stabilirea unui algoritm, fie el si unul aproximativ, este dificila sau chiar imposibila. In acest caz, problema nu poate fi abordata folosind un calculator traditional, indiferent de resursele de memorie si timp de calcul disponibile.

Caracteristic retelelor neurale este faptul ca, pornind de la o multime de exemple, ele sunt capabile sa sintetizeze in mod implicit un anumit model al problemei. Am putea spune ca o retea neuronala construieste singura algoritmul pentru rezolvarea unei probleme, daca iI furnizam o multime reprezentativa de cazuri particulare (exemple de instruire). Reteaua neuronala extrage informatia prezenta in multimea de instruire (invata din exemplele prezentate). In aceasta situatie se spune ca reteaua este instruita (antrenata). In faza de lucru - sau de referinta - reteaua va folosi informatia achizitionata in etapa de instruire pentru a trata situatii de aceeasi natura cu cele continute in multimea de instruire.

In cadrul modelelor conexioniste nu mai suntem obligati sa furnizam retelei neurale un algoritm determinist de rezolvare a unei probleme. Trebuie sa-i oferim doar o multime consistenta de exemple impreuna cu o regula de modificare a ponderilor interneurale. Pentru fiecare exemplu regula de instruire compara iesirea dorita (data de exemplu) cu iesirea reala a retelei si determina o modificare a ponderilor, in conformitate cu o strategie precizata. De regula, stabilirea ponderilor este un proces iterativ.

Capacitatea retelelor neurale de a rezolva probleme practice complexe utilizand o multime (uneori restransa) de exemple le confera un potential de aplicabilitate extrem de larg. Spectrul aplicatiilor merge de la sisteme de recunoastere a caracterelor (utilizate in trierea corespondentei), de recunoastere a semnaturilor (folosite in sistemul bancar) si recunoastere a vorbirii pana la piloti automati si sisteme (in timp real) pentru controlul unor procese complexe. Acest spectru este in continua extindere si se considera ca, cel putin pentru viitorul apropiat, paradigma conexionista va polariza tot mai mult interesul cercetatorilor din domeniul inteligentei artificiale.

Scurt istoric

In mod obisnuit, se considera ca anulk 1943 marcheaza debutul calculului neuronal. La aceasta data apare primul model de neuron. Rezultat din colaborarea unui neurofiziolog cu un matematician (W.S. McCulloch si W. Pitts), acest model este, in linii generale, acceptat si astazi.

Progresele inregistrate in neurobiologie si psihologie au determinat aparitia unor modele matematice ale invatarii. Un astfel de model a fost propus in 1949 de catre D.O. Hebb. Modelul Hebb a reprezentat punctul de plecare in tentativele intreprinse i? deceniul urmator de realizare a unor retele neurale artificiale capabile sa invete.

In 1958 Frank Rosenblatt a publicat p[rima sa lucrare despre perceptron. Acesta era “un model probabilistic pentru memorarea si organizarea informatiei in creier”. Un alt model de retea neuronala, cunoscut ca ADALINE (ADAptive LInear Neuron), a fost propus la inceputul anilor ‘60 de catre Bernard Widrow. Retelele realizate in aceasta perioada au fost aplicate pentru rezolvarea unor probleme cum ar fi recunoasterea unor structuri specifice in electrcardiograme sau perceptia artificiala. Astazi putem spune ca acestea sunt aplicatii de recunoastere a formelor.

Primele succese ale retelelor neurale au determinat o mare emotie in lumea stiintifica. Specialistii erau aproape unanimi in a considera ca si alte procese asociate cu inteligenta si memoria umane pot fi modelate prin astfel de retele, eventual mai complicate.

Marvin Minsky, unul dintre pionierii cercetarilor privind retelele neurale, a intreprins o analiza lucida a posibilitatilor si limitelor modelelor neurale existente in epoca. El a demonstrat imposibilitatea principala a retelelor neurale cu un singur strat de a rezolva unele probleme relativ simple. De exemplu, functia logica SAU EXCULSIV (XOR) nupoate fi realizata (calculata) de o astfel de retea. Cartea lui M.Minsky si S.Papert ( Perceptrons, 1969), prin concluziile sale sceptice privind imposibilitatea retelelor multistrat de a depasi dificultatile perceptronului, pastrind insa caracteristicile care il fac interesant (liniaritatea, convergenta procedurii de instruire, simplitatea conceptuala ca model de calcul paralel), a marcat o scadere dramatica a interesului pentru aceasta directie de cercetare. A urmat aproape un deceniu de stagnare, in care putinii fideli ai domeniului au fost lipsiti de fondurile necesare unor cercetari de anvergura.

Aparitia in 1986 a cartii Parallel Distributed Processing, Explorations in the Microstructure of Cognition, de David Rumelhart,James McClelland si grupul PDP, se considera acum a fi momentul care a marcat relansarea cercetarilor privind modelele conexioniste. Interesul crescand pentru acest domeniu a dus la organizarea in 1987 a primei conferinte internationale de retele neurale. In prezent exista numeroase reviste de specialitate care publica articole cu caracter teoretic sau aplicativ privind retelele neurale si (cel putin) o revista de mare prestigiu consacrata exclusiv acestui domeniu:

IEEE Transactions on Neural Networks.

Calculul neural reprezinta acum un domeniu de cercetare fascinant si o provocare intelectuala si tehnologica majora. Retelele neurale au modificat imaginea noastra asupra proceselor de calcul si aspectelor algoritmice ale inteligentei artificiale si au furnizat psihologiei un nou model al proceselor mentale.

Prin aplicatiile in rezolvarea unor probleme dificile, cum sunt cele de estimare, identificare si predictie, a unor probleme de optimizare complexe, retelele neurale capata o pondere si un impact tot mai mari, nu doar in stiinta sau tehnologie, ci si in domeniul mult mai sensibil al vietii sociale. Retelele neurale pot reprezenta instrumente puternice in luarea deciziilor economice si chiar politice.

Pe plan mondial prin realizari deosebite se disting: S.Grossberg, H.Taylor, S.Yamakawa ce editeaza revista “Neural Networks”,Stephan Gallant “Neural Networks Learning and Expert System”(1993),Teuro Kokonen “Self organization and Associative Memory”(1988),V.Vemuri “Artificial Neural Networks”(1988),Helge Ritter ,T.Martinez, K.Schulten “Neural Computation and Self Organizing Map”(1992), A.Cichocki,Unmbhanen “Neural Netwarks for Optimization and Signal Processing” (1993).

Dintre cercetatorii romani mentionam deosebitele contributii ale Doamnei profesoare Luminita State in cadrul Universitatii Bucuresti precum si profesorii D.Dumitru in cadrul facultatii Babes-Bolyai din Cluj si Hariton Costin profesor al Universitatii Tehnice Gh. Asachii din Iasi

.

Structura lucrarii .

Lucrarea contine trei capitole:

Capitolui I - Sunt prezentate elemente fundamentale privind arhitectura si functionarea retelelor neurale.Sunt descrise elementele de procesare,functiile semnal, tipurile de memorii, decodarea si encodarea precum si notiuni de stabilitate si convergenta.

Capitolul III - Este structurat pe doua teme principale: arhitecturile neurale feedforward si cele recurente.In prima parte sunt tratate :modelul lui McCullach-Pitts,perceptronul, memoria liniar asociativa, memoria liniar asociativa optimala,

adaline/madaline si backpropagarea. Sunt prezentate pentru fiecare dintre acestea topologiile retelelor, functiile criteriu , algoritmii precum si metode de inbunatatire si variante ale acestora,,precum si teoremele de convergenta.In cadrul lucrarii sunt detaliate diferitele variante ale backpropagarii.In partea a doua este tratata una din cele mai “puternice” retele ce apartine acestei clase,memoria asociativa bidirectionala BAM, amintindu-se si de modelele unilayer asincron -Hopfield si cel sincron -Little.

Capitolul III - Este consacrat descrierii aplicatiei realizata in mediul de programare Borland C++ 3.1 sub Windows, in care sunt implementati principalii algoritmi descrisi in lucrarea de fata .Aplicatia este un “recognizer” de caractere -OCR

Printre algoritmii implementati se disting OLAM care encodeaza optim esantionul de invatare precum si cea mai “puternica “ retea feedforward -BPN.Programul contine fisiere in care sunt retinute memoriile retelelor dupa ce acestea au fost instruite pe baza unor esantioane de exemple. Exista posibilitatea instruirii prin selectarea fisierului cu esantionul de test, si aplicarea comenzii de instruire.Programul prezinta diverse facilitati de testare: atat a exemplelor din esantioanele de instruire, perturbatii ale lor sau forme diferite de cele prezentate la instruire. Exista obtiuni de modificare a parametrilor ce intra in componenta algoritmilor. Pe baza compararilor sub forma de grafice pe care le permite aplicatia, exista posibnilitatea optimizarii algoritmilor prin gasirea valorilor optime ale parametrilor,precum si a compararii performantelor. Programul contine si un help in care sunt prezentate metodele abordate in aplicatie.

Capitolul I

1. Fundamentele arhitecturilor neurale

In acest capitol vom prezenta notiuni fundamentale si concepte matematice folosite pentru a descrie si analiza procesarea sistemelor neurale artificiale (ANS Artificial Neural System).Intr-un sens larg, ANS consta din trei elemente:

(1) o topologie organizata de elemente de procesare interconectate (retea sau sistem neural)

(2) o metoda de encodare a informatiei

(3) o metoda de decodare a informatiei

1.1. Elemente de procesare

Elementele de procesare PE se refera la noduri,memorii de scurta durata,neuroni, populatii sau unitati de prag logic,ce sun componente ale retelelor neurale si majoritatea, daca nu toate participa la calcul.Semnalele de intrare provin din mediu inconjurator sau de la iesirile altor PE-uri.Forma vectorilor de intrare