Sunteți pe pagina 1din 6

Ce sunt retelele neuronale ?

O retea neuronala este o reprezentare artificiala a creierului uman, reprezentare ce incearca sa simuleze procesul creierului de a invata. Termenul artificial se refera la faptul ca retelele neuronale sunt implementate in programe pe calculator , programe care sunt capabile sa faca fata numarului mare de calcule necesare in timpul procesului de invatare. Pentru a vedea unde isi au originea retelele neuronale ne putem uita la modelul biologic : creierul uman.

Modelul biologic
Creierul uman este alcatuitt dintr-un numar mare de celule neuronale care proceseaza informatia ( mai mult de un miliard ). Fiecare celula lucreaza ca un simplu procesor si doar masiva interactiune dintre toate celulele si procesarea lor paralela fac posibile perforantele creierului. Aceste celule neuronale se numesc neuroni. Mai jos se poate vedea o reprezentare simpla a acestei celule.

Structura unui neuron din creierul uman Dupa cum indica figura, neuronul este alcatuit din nucleu, dendrite pentru informatia care vine si axon prevazut cu dendrite pentru informatia transmisa mai departe 2

la neuronii conectati.Informatia este transportata intre neuroni sub forma de stimul electrici de-a lungul dendritelor. Informatia care ajunge la dendritele neuronului este colectata, adunata si transmisa de-a lungul axonului la terminatiile dendritice de la capatul sau, unde informatia este transmisa celorlalti neuroni daca stimulul ( energetic ) a depasit un anumit prag. In acest caz se spune ca neuronul a fost activat. Daca informatia care a ajuns la neuron a fost prea putina, sub prag , ea nu va fi propagata mai departe. In acest caz se spune ca neuronul a fost inhibat. Conexiunile dintre neuroni sunt adaptive, ceea ce inseamna ca structura conexiunilor se schimba dinamic.Se stie ca o mare parte din capacitatea de invatare a creierului uman se bazeaza pe adaptare.

Componentele retelelor neuronale


Exista multe tipuri diferite de retele neuronale dar toate au aproape aceleasi componente. Daca vrem sa simulam functionarea creierului uman este evident ca trebuie sa aducem simplificari drastice modelului biologic. In primul rand este aproape imposibil sa simulam paralelismul creierului uman. Chiar daca exista masini multiprocesor tot nu putem simula paralelismul complet al creierului. O alta limitare ar fi faptul ca nu putem avea stimuli electrici in programe. La fel ca un creier uman o retea neuronala este alcatuita din neuroni si din conexiunile dintre ei. In retelele neuronale aceste conexiuni poarta termenul de ponderi ( weights ). Informatia electrica este simulata cu valori specifice stocate in aceste ponderi. Prin simpla schimbare a acestori ponderi se poate simula schimbarea structurii de conectare a retelei. Figura urmatoare ne arata o schema de neuron generic de reta neuronala.

Structura unui neuron dintr-o retea neurala artificiala Dupa cum se poate observa un neuron artificial seamana cu un neuron natural. Si de asemenea incearca sa simuleze functionarea sa. Informatia de intrare este trimisa neuronului pe intrarile sale caracterizate de anumite ponderi. Aceasta intrare, input, este procesat de o functie de propagare care sumeaza toate intrarile ponderat. Valoarea rezultata este comparata cu o valoare de prag de catre functia de activare. Daca valoarea depaseste valoare de prag se activeaza neuronul altfel se inhibeaza. Daca este activat, neuronul trimite un rezultat, output, spre iesirile sale ponderate, rezultat care va devenii o intrare pentru neuronii conectati la neuronul respectiv, si astfel procesul de transmitere a informatiei intre neuronii conectati se continua. Intr-o retea neuronala, neuronii sunt grupati pe layere, straturi. De obicei fiecare neuron dintr-un layer este conectat la toti neuronii din layerul anterior si din layerul care urmeaza( exceptie facand layerul de intrare si iesire). In functie de algoritmul folosit la antrenarea retelei neurale este posibil ca informatia sa fie propagata si invers prin retea. In schema de mai jos se poate observa o retea compusa din trei layere din care unul ascuns:

Retea neuronala cu trei layere De remarcat ca structura de mai sus nu reprezinta o structura generala de retea neuronala. Se poate intampla ca unele RN sa nu aiba layere ascunse sau ca neuronii dintrun layer sa fie aranjati intr-o matrice. Ce este comun insa tuturor RN este prezenta a cel putin unei matrici de ponderi, adica a unei matrici de conexiuni.

Unde pot da rezultate si unde pot da gres


RN sunt construite pentru a rezolva probleme ce nu pot fi rezolvate prin folosirea unor algoritmi conventionali. Astfel de probleme sunt cele de optimizare sau clasificare. Astfel RN sunt folosite in domenii ca : clasificare paternuri

detectare regularitati procesare imagini analiza vocala probleme de optimizare control si ghidare roboti procesare de intrari inexacte sau incomplete quality assurance ( asigurarea calitatii ) previziunea indicilor de piata bursiera simulari

Exista multe tipuri diferite de RN fiecare avand proprietati speciale, asa incat fiecare domeniu de probleme are un tip de RN adecvat. In general se poate spune ca RN sunt sisteme foarte flexibile in rezolvarea problemelor. O proprietate trebuie mentionata explicit : toleranta la erori a RN. Aceasta inseamna ca daca o RN a fost antrenata intr-o problema specifica, va fi posibil ca ea sa raspunda corect chiar daca problema pe care trebuie sa o rezolve nu este exact aceeasi pe care care deja a invatat sa o rezolve. De exemplu, sa presupunem ca o RN a fost antrenata sa recunoasca vocea umana. In timpul procesului de antrenare, o anumita persoana trebuie sa pronunte cuvinte, care sunt folosite in antrenare de RN. Apoi, daca este antrenata corespunzator, RN va fii capabila sa recunoasca aceleasi cuvinte spuse de alta persoana. Desi RN sunt capabile sa gaseasca solutii pentru probleme dificile ca cele de mai sus, rezultatele nu pot fi garantate ca fiind unele perfecte sau cel putin corecte. Sunt doar aproximari a solutiei dorite si intotdeauna este prezenta si o anumita eroare. Dar exista si unele probleme care nu se pot rezolva corect cu ajutorul RN. Un exemplu de recunoastere de paternuri ar fi urmatorul : Daca intalnesti o persoana pe care ai vazut-o mai demultm de obicei o vei recunoaste a doua oara, chiar daca persoana nu mai arata la fel ca prima data.

Daca antrenezi insa o RN cu fotografia acelei persoane acea imagine va fi sigur recunoscuta de RN. Dar daca se adauga mult zgomot la imagine si se roteste cu cateva grade, recunoasterea efectuata de RN va esua cel mai probabil. Bineinteles, nimeni nu ar trebui sa foloseaca o RN intr-un algoritm de sortare, pentru ca exista algoritmi care ar rezolva aceasta problema mult mai bine si mai repede, dar in domenii de probleme ca cele mentionate mai sus, RN sunt intotdeauna o buna alternativa la algoritmii existenti si merita incercata folosirea lor.

S-ar putea să vă placă și