Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » tehnologie » electronica electricitate
Proiectarea evoluționista a rețelelor neurale

Proiectarea evoluționista a rețelelor neurale


Proiectarea evoluționista a rețelelor neurale

O arie de cercetare foarte activa este incorporarea evolutiei in sistemele conexioniste, vizand obtinerea unor moi metode pentru alegerea ponderile de legatura intre noduri, a arhitecturilor retelei si a regulilor de invatare. Din aceast punct de vedere, o retea neurala evolutionista (EANN) poate fi privita ca un sistem ierarhic adaptiv, cu trei nivele. Nivelul cel mai inalt il reprezinta evolutia arhitecturilor, care se desfasoara cel mai incet in timp si depinde de sarcinile pe care trebuie sa le indeplineasca sistemul. Evolutia regulilor de invatare constituie nivelul imediat inferior. Viteza de evolutie in timp pe acest nivel este medie. Ultimul nivel - si cel mai dinamic in timp - realizeaza adaptarea ponderilor. Algoritmii genetici pot fi utilizati fie ca proceduri generale de cautare a optimului pe nivelele superioare, fie pentru a inlocui metodele conventionale (ca, de exemplu, cele de gradient) in adaptarea ponderilor.

O EANN combina doua tehnici intre care exista o diferenta esentiala: reteaua se adapteaza dupa un timp foarte scurt, pe cand evolutia lucreaza lent, peste mai multe generatii succesive. Procedurile de cautare evolutioniste sunt aplicate conform unor scheme suportive (secventiale) sau colaborative (simultane). In combinarea suportiva, una din tehnici (GA sau ANN) joaca rolul de rezolvitor al problemei, pe cand cealalta are rol suport, adica furnizeaza date initiale, specifica sarcinile de rezolvare si analizeaza solutiile care au fost gasite. In combinarea colaborativa, GA si ANN lucreaza impreuna, de obicei GA realizand definirea topologiilor sau instruirea retelei.



O problema a sistemelor de clasificare o reprezinta stabilirea numarului de caracteristici (trasaturi) asupra carora se efectueaza evaluari. Daca acesta este mare, sistemul este mai precis, dar creste timpul de calcul. De aceea, o buna selectie initiala a caracteristicilor imbunatateste performantele sistemului. Aceasta operatie poate fi facuta de un GA care asista sistemul neural de clasificare intr-o  combinatie suportiva. Reprezentarile prin siruri binare marcheaza prin cate un bit prezenta sau absenta unei trasaturi. Aceste siruri sunt utilizate pentru instruirea retelei, fiecare neuron prelucrand bitul asignat unei anumite trasaturi. Timpul de invatare se reduce semnificativ si - in plus - algoritmul genetic poate crea noi caracteristici, derivate din cele originale. Pot fi atinse astfel unul din urmatoarele obiective: selectarea sau transformarea caracteristicilor spatiului utilizat de sistemul neural; selectarea regulilor sau parametrilor de instruire ai retelei neurale; analiza globala a sistemului de clasificare.

Algoritmii genetici au fost utilizati si pentru selectarea celei mai bune rate de instruire pentru o ANN. Cu ajutorul lor se determina ulterior topologia pentru reteaua cu propagare inapoi, in functie de ratele de invatare propuse, sau se calculeaza atenuarea exponentiala a ratei pe parcursul invatarii, atunci cand aceasta este variabila.

Utilizarea GA este utila si pentru a construi ANN mai explicite. Pentru a explora spatiul deciziilor unei ANN, algoritmul utilizeaza vectori de validare, adica modele de intrari care produc la iesire activarea maxima a unui neuron. Dupa multiple iteratii cu diferite seturi de vectori generati aleator, rezultatele furnizate de GA vor fi folosite ca baza pentru mecanismul de explicare al retelei neurale.

Combinatii colaborative intre un GA si o ANN au urmarit initial instruirea asistata a retelei, adica optimizarea ponderilor intr-o topologie predefinita, utilizand calculul evolutionist. Solutia poate fi utila in aplicatiile de instruire supervizata a retelelor directe cu functii de activare sigmoidale complexe, in care este dificil de obtinut minimizarea ponderilor numai pe baza informatiilor de gradient. Exemple de astfel de aplicatii sunt sistemele cu reactii speciale, retelele integral recurente sau cele care au neuroni cu functii nediferentiabile. Experientele au validat si eficienta GA pentru instruirea retelelor directe ai caror neuroni executa functii de codificare, insumare sau logice.

Atunci cand se foloseste instruirea prin consolidare, nu este apriori cunoscut setul de iesiri dorite corespunzatoare unui set de date aplicat la intrare, iar evaluarea retelei se bazeaza numai pe performanta. S-a incercat gasirea unor algoritmi care - lucrand cu un model invers al sistemului - sa converteasca invatarea prin consolidare in invatare cu supervizare, generand pentru fiecare intrare o iesire dorita. Aceste iesiri pot fi utilizate ulterior de catre un controler. Solutia este aplicabila pentru metodele de instruire cu propagare inapoi in timp. Metodele adaptive critice evalueaza si predicteaza performanta sistemului la fiecare moment de timp printr-o prima retea evolutionista. Predictia este apoi utilizata pentru generarea euristica a iesirilor dorite intr-o a doua retea, "de actiune", care controleaza evolutia sistemului. Utilizarea acestui algoritm pentru probleme concrete de instruire cu consolidare (cum ar fi cea a controlului pendulului rasturnat sau a bioreactorului stochastic neliniar) a dat bune rezultate.

O noutate in instruirea retelelor neurale o reprezinta algoritmul cu corelatii in cascada, care consta in obtinerea topologiei dorite prin adaugarea in fiecare moment de timp al instruirii a cate unui neuron ascuns, pana cand comportamentul sistemului a fost invatat cu succes. Algoritmul instruieste la un moment dat numai ponderile de pe un singur strat al retelei. El asigura astfel optimizarea numarului neuronilor si ii elimina pe cei concurenti (adica pe aceia care au reactii asemanatoare).

In sistemele hibride neural - genetice, relatia intre evolutie si invatare este inca investigata. Totusi, ciclul de evolutie al regulilor de instruire poate fi descris generic in urmatoarea forma:

1.Codifica in fiecare individ al generatiei curente o regula ce va fi utilizata in instruirea retelei neurale evolutioniste (EANN).

2.Construieste o EANN cu arhitectura si ponderile initiale generate aleator si evalueaza eficienta instruirii cu fiecare regula (acuratetea, timpul de invatare, complexitatea arhitecturii, etc.).

3.Calculeaza adecvanta fiecarui reguli, pe baza evaluarilor de la punctul 2.

4.Reproduce un numar de fii pentru fiecare individ din generatia curenta care a obtinut  valori mari ale functiei de adecvanta.

5.Aplica operatorii genetici  fiilor obtinuti, pentru a alcatui noua generatie.

6.Reia pasul 1, daca nu este satisfacut criteriul de terminare.

Cercetarile recente sugereaza si utilizarea pentru proiectarea automata a topologiilor retelelor neurale a algoritmilor constructivi/destructivi. Un algoritm constructiv porneste de la o retea minimala (ca numar de straturi ascunse si de legaturi) si adauga, daca este cazul, noi noduri si conexiuni in timpul invatarii. Algoritmul destructiv lucreaza in mod contrar, eliminand treptat noduri.

Cu ajutorul algoritmilor genetici se poate incerca optimizarea topologica a retelei neurale. Proiectarea evolutionista a arhitecturilor de retele neurale consta in reprezentarea acestora prin siruri binare. Intr-o schema de codificare directa, fiecare conexiune si nod sunt specificate printr-un numar de biti. O varianta simplificata este schema de codificare indirecta, care cuprinde numai anumiti parametri, cum ar fi numarul de noduri, numarul de conexiuni sau tipul functiei de transfer a nodului. O codificare mai generala - cea parametrica - a fost conceputa si testata numai pentru retele directe. In ipoteza conectivitatii complete, numarul maxim de straturi, cat si de neuroni pe strat sunt fixate, iar fiecare sir codifica numai neuronii situati pe cate un strat ascuns.

Proiectarea optimala a arhitecturii unei EANN consta in cautarea celei mai bune topologii care executa o sarcina specificata, pe baza unui anumit criteriu de optim. Cautarea evolutionista in spatiul arhitecturilor posibile este mai adecvata decat cea euristica, datorita caracteristicilor acestuia: este infinit larg (numarul nodurilor si conexiunilor posibile nu este limitat), este nediferentiabil (schimbarile de noduri si conexiuni sunt discrete si cu efecte discontinui), este complex si perturbat, este inselator (doua retele cu arhitectura similara pot avea capacitati de prelucrare si performante radical diferite) si este multimodal (retele cu diferite arhitecturi pot avea comportamente similare). Algoritmul de proiectare optimala evolutionista a arhitecturii unei EANN este:

1.Codifica in fiecare individ din generatia curenta cate o arhitectura. Supune aceasta arhitectura procesului de instruire.

2.Instruieste fiecare arhitectura printr-o regula de invatare fixa si predefinita, utilizand diferite seturi aleatoare de valori pentru ponderi.

3.Calculeaza adecvanta fiecarei arhitecturi codificate in raport cu rezultatele instruirii, complexitatea topologica, etc..

4.Reproduce un numar de fii pentru fiecare individ din generatia curenta care are valori mari ale functiei de adecvanta.

5.Aplica operatorii genetici fiilor obtinuti, pentru a alcatui noua generatie.

6.Reia pasul 1, daca nu este satisfacut criteriul de terminare.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.