Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » tehnologie » electronica electricitate
Retele neurale

Retele neurale


Universitatea Politehnica Bucuresti

Facultatea de Energetica

Referat la disciplina

Conducerea si automatizarea centralelor electrice

RETELE NEURALE



Desi nu exista o definitie general acceptata a retelelor neurale artificiale, majoritatea cercetatorilor sunt de acord ca acestea reprezinta ansambluri de elemente de procesare simple, interconectate prin canale de comunicatii prin care se propaga informatie numerica.

Retelele neurale artificiale sunt parte componenta a asa-numitelor sisteme cognitive, care reprezinta o colectie de tehnologii informatice inspirate de mecanismele care sunt utilizate de creierul uman in prelucrarea semnalelor receptionate, in procesul gandirii, in luarea unor decizii, precum si de principiile evolutiei naturale. In aceeasi categorie sunt incluse sistemele fuzzy, algoritmii geneticisi sistemele expert.

Originea acestor retele trebuie cautata in studierea retelelor bioelectrice din creier formate de neuroni si sinapsele acestora. Majoritatea retelelor neurale utilizeaza mecanisme pe baza carora intensitatea legaturilor dintre neuroni sunt ajustate in functie de calitatea raspunsului la stimuli externi.Principala trasatura a acestor retele o constituie capacitatea de a invata pe baza de exemple, folosindu-se de experienta anterioara pentru a se imbunatati permanent performantele si pentru a oferi un anumit grad de generalizare, care se traduce printr-un raspuns adecvat la informatii de intrare care nu au fost folosite in faza de "antrenare". O retea neurala artificiala construieste singura algoritmul de rezolvare a unei probleme, daca ii furnizam o multime reprezentativa de cazuri particulare ( exemple de instruire ). Reteua va folosi informatia achizitionata in etapa de instruire pentru a trata situatii de aceeasi natura cu cele continute in multimea de instruire.

Desi se aseamana in functionare cu creierul uman, retelele neurale au o structura diferita de cea a creierului. O retea neurala este mult mai simpla decat corespondentul uman, dar la fel ca si creierul uman, este compusa din unitati puternice de calcul, mult inferioare insa corespondentului uman, neuronul.

Neuronul, unitatea de baza a unei retele neurale, are una sau mai multe intrari si o singura iesire. Prin intermediul acestor intrari el se conecteaza cu iesirile altor neuroni. Elementele care realizeaza aceste legaturi se numesc sinapse, fiecare continand o pondere, un numar real, care modifica importanta valorii ce este transmisa prin sinapse. Iesirile neuronilor ponderate cu valorile de pe sinaps sunt insumate in interiorul neuronului receptor, rezultatului aplicandu-i-se o functie numita functie de activare . Valoarea astfel obtinuta va constitui iesirea neuronului care va fi transmisa mai departe altor neuroni.

McCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare

y = f (Si=1,nwixi - q y = f (Si=0,nwixi)

wi reprezinta intensitatea legaturii (conexiunii) de la neuronul cu iesirea xi

Daca fi > 0 excitare

Daca fi < 0 inhibare

Daca fi = 0 nu exista sinapsa intre neuroni

q - valoarea de prag peste care neuronul se activeaza


Retelele neurale artificiale se pot caracteriza pe baza a 3 elemente:

modelul adoptat pentru elementul de procesare individual;

structura particulara de interconexiuni (arhitectura)

mecanismele de ajustare a legaturilor (algoritmii de invatare).

Principala deosebire a retelelor neurale fata de alte sisteme de prelucrare a informatiilor il constituie capacitatea de invatare in urma interactiunii cu mediul inconjurator, si imbunatatirii performantelor.O reprezentare corecta a informatiilor, care sa permita interpretarea, predictia si raspunsul la un stimul extern, poate permite retelei sa construiasca un model al procesului analizat.Acest model va putea raspunde astfel unor stimuli neutilizati in procesul prealabil de invatare.

Informatiile utilizate in procesul de invatare pot fi: informatii disponibile a priori sau perechi intrare-iesire( care stabilesc relatii de tipul cauza-efect), iar modul de reprezentare interna urmareste un set de reguli bine documentate.

Acesti algoritmi pot fi clasificati dupa mai multe criterii cum ar fi:

disponibilitatea raspunsului dorit la iesirea retelei;

existenta unui model analitic;

tipul aplicatiei in care sunt utilizati.

Cele mai multe documentatii se rezuma la doua clase mari:

invatarea supravegheata( presupune existenta in orice moment a unei valori dorite a fiecarui neuron din stratul de iesire);

invatarea nesupravegheata(in care reteaua extrage singura anumite caracteristici importante a datelor de iesire, in urma unui gen de competitie intre neuronii elementari).

In ultima perioada se remarca inca o clasa de algoritmi, algoritmii de invatare folosind un critic, rezultati in urma observatiilor experimentale facute pe animale, acestia fiind de tipul recompensa / pedeapsa.

Exista cateva motive intemeiate pentru a considera retelele neurale ca o solutie atractiva intr-o serie intreaga de aplicatii practice importante, dintre care amintim:

· acestea pot actiona ca module de tip black-box in situatiile in care ave m la dispozitie un volum mare de date, fara a putea spune prea multe despre procesul care le -a generat. De multe ori, desi identificarea unei dependente intre marimile de intrare si o anumita informatie de interes ar fi extrem de utila, nu beneficiem de modele adecvate sau de valori ale parametrilor acestora. Un exemplu concludent este oferit de aplicatiile financiare: valoarea unei actiuni

sau a unui indice bursier este in mod evident dependenta de ansamblul informatiilor existente pe piata pana la momentul considerat, insa modele analitice pur si simplu nu exista.   Retelele neurale sunt capabile sa descopere astfel de dependente "ascunse" pornind numai de la baza de date disponibila, fara a impune constrangeri de modelare. Scopul este atins folosind algoritmi specifici, care modifica valorile interconexiunilor dintre neuroni astfel incat sa "forteze" ca raspunsul retelei sa se apropie cat mai mult de cel dorit.

· in urma unui proces de invatare reusit, retelele neurale tolereaza in mod remarcabil diferente (uneori, apreciabile) intre datele aplicate la intrare in procesul de operare si cele "vazute" in etapa de antrenare. Dar acesta reprezinta si modul natural de functionare al creierului uman: odata ce am invatat sa citim suntem de regula capabili sa intelegem scrisul de mana al unor personae necunoscute. Aceasta reprezinta o consecinta a asanumitei capacitati de generalizare a retelelor neurale, care exprima posibilitatea acestora de a oferi un raspuns corect chiar daca la intrare se aplica versiuni incomplete, zgomotoase sau distorsionate ale informatiilor folosite inantrenare.

· aplicatii extrem de diferite pot fi abordate folosind practic acelasi sistem, fara a fi necesara reproiectarea completa. Mai mult, extinderea acestei tehnologii este facilitata de prezenta pe piata a unor circuite integrate specializate si chiar a unor placi compatibile PC, care ofera performante de viteza si precizie suficiente pentru a permite implementarea unor algoritmi de procesare complecsi, limitati in trecut numai la utilizarea in programe de simulare dedicate. O serie de aplicatii practice realiste, care depasesc cadrul restrans al asa-numitelor toy problems, constituie deja obiectul de activitate al unor firme de mare succes. In paralel, au fost dezvoltate si lansate in circuitul comercial o serie de simulatoare puternice si flexibile, un exemplu concludent in acest sens fiind oferit de produsul firmei americane NeuroDimension denumit NeuroSolutions

Aplicatii specifice

Se pot identifica doua directii distincte inspre care este canalizata atentia cercetatorilor din domeniul retelelor neurale. Prima o reprezinta identificarea unor modele plauzibile din punct de vedere biologic pentru neuronii elementari si structura de interconexiuni dintre acestia. Interesul este justificat de preocuparile pentru

studierea creierelor naturale si de nivelul tehnologic actual, in speranta ca intr-o zi vom putea reproduce artificial performantele remarcabile ale acestora. Cea de -a doua, pe care am putea-o denumi 'inginereasca', isi propune un scop mai putin ambitios dar la fel de necesar, anume identificarea unor principii de procesare suficient de simple si robuste, dependente de un numar relativ restrans de parametri si care sa poata fi folosite pentru rezolvarea unor probleme concrete.

Gama aplicatiilor in care se utilizeaza retelele neurale artificiale este extrem de vasta, extinzandu-se mult in afara preocuparilor legate de tehnica in general si de electronica in particular. In ultimii ani au fost raportate rezultate foarte incurajatoare privind folosirea acestora in medicina, finante sau constructia de automobile si viitorul va demonstra cu siguranta inmultirea si diversificarea acestor exemple. Aceasta abordare s-a dovedit utila si in cazul unor probleme 'clasice', ca de exemplu conversia analognumerica

sau calculul de transformate liniare.

Observatia fundamentala care se poate face in legatura cu acest domeniu este ca retelele neurale sunt utile in aplicatii pe care le -am putea denumi 'orientate pe date', adica la care beneficiem de un volum mare de rezultate experimentale de genul unor perechi intrare-iesire, fara sa putem spune prea multe despre sistemul sau procesul care le -a generat. Din acest punct de vedere, unele operatii de prelucrare intermediara a datelor, ca de exemplu normalizari, extragere de trasaturi semnificative (feature extraction), grupari (clustering) pot conduce la imbunatatiri sensibile ale performantelor. De asemenea, in cazul modelarii/identificarii de sisteme a caror natura are un aspect neliniar intrinsec, abordarea 'neurala' conduce la rezultate net superioare tratarii liniare (de exemplu in cazul egalizoarelor de canal in transmisiuni de date sau in analiza seriilor de timp, in particular a celor haotice). In unele aplicatii de prelucrare de imagine sau de control retelele neurale pot inlocui algoritmi de calcul complicati sau nu suficient de rapizi. In recunoasterea de forme, mai ales in cea a caracterelor scrise de mana si, respectiv, in recunoasterea vorbirii, retelele neurale se dovedesc indispensabile in obtinerea unor rezultate semnificative.

O problema majora o constituie din acest punct de vedere modalitatea de a asigura compatibilitatea cu hardware-ul existent.

Prezentam in continuare cateva aplicatii concrete care ilustreaza aria larga de aplicabilitate a acestei tehnologii, cu mentiunea ca un numar special al IEEE Transactions on Neural Networks aparut in iulie 1997 a fost dedicat acestui subiect:

- detectia utilizarii frauduloase a cartilor de credit [54]: din 1996 functioneaza in Spania sistemul Minerva, care inglobeaza un clasificator neural capabil sa identifice cu mare probabilitate operatiunile frauduloase desfasurate cu carti de credit VISA. Sistemul face fata cu succes celor doua cerinte specifice acestei aplicatii, anume timpul mic de raspuns si volumul imens de tranzactii ce trebuie analizate. Suportul teoretic este oferit de varianta neliniara a asa-numitei analize discriminatorii de tip Fisher.

- aplicatii financiare : firma americana NeuroDimension a elaborat produsul software denumit TradingSolutions destinat unei categorii largi de aplicatii din domeniul financiar precum predictia indicatorilor bursieri, a valorii actiunilor cotate sau a dobanzilor, alcatuirea unui portofoliu de investitii si elaborarea unei strategii de actiune la bursa. Produsul este bazat pe utilizarea simulatorului NeuroSolutions, care inglobeaza o paleta extrem de larga de arhitecturi si algoritmi de antrenare inclusi intr-un mediu de operare flexibil, intuitiv si simplu de manevrat.

- procesarea peliculelor de film : firma americana Silicon Recognition produce un circuit VLSI specializat in operatii de prelucrare de imagine cu performante remarcabile. Acest circuit reprezinta materializarea conceptului denumit ZISC (Zero Instruction Set Computer) si include in structura sa o retea neurala denumita RBF (Radial Basis Functions) cu 36 de neuroni, expandabila nelimitat prin simpla interconectare a unor circuite similare. Conceptul, considerat revolutionar, asigura o viteza de operare de 8,6 GB/s, o frecventa de lucru redusa (33 MHz) si compatibilitate cu hardware-ul uzual. Circuitul a fost utilizat cu succes in prelucrarea peliculelor de film deteriorate, in aplicatii de recunoastere de caractere scrise de mana, precum si de control al calitatii fabricarii circuitelor integrate.

- industria alimentara : o retea neurala cu rol de clasificator a fost utilizatapentru analiza cleiului de stejar folosit in industria viticola pentru etanseizarea sticlelor de vin. Aplicatia este extrem de dificila deoarece trebuie identificata cu precizie prezenta oricaror crapaturi, gauri sau eventuale insecte si incadrarea corecta a probei analizate intr-una dintre cele 8 categorii acceptate. In aceeasi arie de interes se incadreaza si sistemul realizat de catre firma Hecht-Nielsen Corporation folosit la sortarea automata a merelor pe categorii de calitate.

- navigare automata: sistemul ALVINN (Autonomous Land Vehicle In a Neural Network) primeste drept intrare imagini ale traseului de urmat si furnizeaza drept iesire directia pe care trebuie sa se miste vehiculul considerat. Este folosita o retea multistrat avand 1217 neuroni pe stratul de intrare, 29 de neuroni pe stratul ascuns si 46 de neuroni de iesire. Baza de date de antrenare a constat din1200 de imagini reprezentand diverse combinatii de trasee, curbe, conditii de iluminare si nivele de distorsionare. Rezultatele raportate au fost comparabile cu cele obtinute de cele mai performante sisteme de navigare automata traditionale, cu avantajul unei durate a procesului de antrenare incomparabil mai reduse si cu posibilitatea imbunatatirii performantelor in urma constatarii unor erori de navigare.

PROIECTAREA RETELELOR NEURALE FOLOSIND ALGORITMI GENETICI

Aparitia circuitelor integrate specializate de tip VLSI si extinderea utilizarii metodelor de calcul paralel, a dus la utilizarea retelelor neurale in rezolvarea unor probleme cu modele neliniare. Instruirea unei retele neurale urmareste alegerea topologiei retelei si a ponderilor, a polarizarilor si a functiilor de activare. In practica utilizarii retelelor neurale se alege initial topologia retelei si din considerente teoretice se alege si tipul de functie de activare. Deci proiectarea unei retele neurale consta in calculul ponderilor, polarizarile fiind incluse in aceasta problema, cu ponderea unu.

Un algoritm genetic necesita adoptarea unui mod de codificare, alegerea unei functii de apreciere, alegerea unei metode de initializare a populatiei de cromozomi si aplicarea unui mecanism de reproducere si selectare. Avantajul esential al algoritmilor genetici il constituie faptul ca se pot obtine rezultate bune si cand exista mai multe optime locale.

Daca se foloseste o retea neurala pentru prelucrarea unor date definite prin K-trasaturi si M clase, atunci este necesar ca numarul de noduri de intrare sa fie K, iar cel de iesire sa fie M. Asfel la aplicarea unor valori ale trasaturilor la intrarea retelei, dupa propagarea starilor prin reteaua neurala, la iesirea acesteia se obtine tipul de clasa.

Utilizarea algoritmilor genetici pentru calculul ponderilor unei retele neurale necesita alegerea unei forme de reprezentare a cromozomilor, a functiei de evaluare, a unor proceduri de initializare si a algoritmului de reproducere si selectare.

O retea neurala poate identifica interactiunile intre variabilele de intrare si permite realizarea unor modele care vor predicta iesirea pentru date de intrare cunoscute. Pentru a transforma datele de intrare intr-o forma mai accesibila pentru retele neurale care sa reflecte relatii de productie, este necesara reprezentarea variabilelor de instruire sub forma de multimi fuzzy. Cea mai utilizata forma pentru functiile de apartenenta este forma piramidala trunchiata (fig.3)

Relatiile prin care o variabila

x este convertita intr-o multime de

functii de apartenenta sunt deduse

introducand constante intermediare:


C1 = 1 / (b - a)

C2 = 1/ (e - d)

g = (aC1 - dC2) / (C1 - C2)

h = (g - h) / C1

In functie de aceste constante se determina valoarea functiei

de apartenenta u(x)=f(h,g,C1,C2,x), pentru un x-dat.

Prin inlocuirea variabilelor de intrare cu 3 sau 4 functii de apartenenta fiecare, creste numarul de intrari al retelei neurale, dar informatiile de intrare vor fi deja preprocesate si va fi mai usor de gasit o relatie, un model neliniar pentru seturile de intrare.

O retea de computere in care procesoarele individuale sunt legate similar cu neuronii in creierul uman; puterea de procesare si memoria sunt complet distribuite, dar conectate eficient. Fiind o extensie a conceptului de procesare paralela, retelele neurale au zeci, sute sau mii de procesoare individuale interconectate.

Ele nu urmeaza reguli de programare rigide asa cum fac computerele digitale conventionale. Mai degraba ele construiesc o baza de informatie printr-o metoda de incercari succesive. Un programator, de exemplu, va introduce o imagine fotografica intr-o retea neurala pentru identificare si "va ghici" ce circuit sa activeze pentru a identifica fotografia si a obtine raspunsul corect. Traseele dintre circuitele individuale sunt "intarite" (rezistenta este scazuta) cand o operatie este efectuata corect si "slabite" (rezistenta la inaintare este crescuta) daca operatiunea este efectuata incorect. In acest mod o retea neurala "invata" din propriile greseli si da rezultate din ce in ce mai precise la fiecare repetare a unei operatii.

O analiza critica a teoriei retelelor neurale artificiale dezvoltata pana in present ilustreaza cateva dezavantaje ale acestora, printre care:

lipsa unei tratari teoretice unitare: de multe ori solutiile propuse se potrivesc numai aplicatiei concrete ilustrate, fiind dificila adaptarea comoda la o alta, diferita

lipsa unor informatii referitoare la arhitectura necesara intr-o aplicatie data, sub forma unor reguli de constructie clare (de exemplu, numar de straturi si numar de neuroni pe fiecare strat, retea cu reactie sau fara reactie)

structuri de multe ori 'stufoase', ridicand probleme deosebite in implementare, mai ales daca este necesara invatarea on-line. In plus, depanarea este practic imposibila, deoarece calculul este distribuit in toata masa retelei si nu este posibila localizarea 'componentei' care conduce la functionare eronata la un moment dat. Totusi, acest aspect are si un efect binefacator, conferind retelei un grad sporit de robustete, in sensul ca defectarea unor 'neuroni' nu conduce la degradarea dramatica a performantelor globale ale retelei.

desi nu constituie neaparat un dezavantaj, unele retele neurale artificiale nu sunt plauzibile biologic, de exemplu cele care folosesc algoritmi de invatare supravegheata (care beneficiaza de existenta in fiecare moment a unui raspuns dorit). In plus, este posibil ca unele teorii bazate pe concepte aflate conjunctural 'la moda' (holografia, sistemele haotice) sa nu se dovedeasca pana la urma corecte in

explicarea mecanismelor de functionare a creierului.

Retele neurale simple au fost construite la sfarsitul anilor 1950 si nu s-au facut progrese mari pana cand nu au fost dezvoltate tehnici de procesare paralela, cateva decenii mai tarziu.

Retelele neurale sunt inca mult mai simple decat creierul uman si multe exista doar ca simulari computerizate. Desi computerele traditionale vor ramane probabil superioare pentru multe din operatiunile computerizate, multi cercetatori cred ca retelele neurale sofisticate vor fi utilizate pentru aplicatii ale inteligentei artificiale, cum ar fi recunoasterea de voce sau de modele.





Politica de confidentialitate


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