Reţele Neuronale Cu Învăţare Nesupravegheată de Tip Hopfield. Recunoaşterea Formelor
In:
Submitted By ginasimona Words 796 Pages 4
REŢELE NEURONALE CU ÎNVĂŢARE NESUPRAVEGHEATĂ DE TIP HOPFIELD. RECUNOAŞTEREA FORMELOR Utilizarea RNA pentru rezolvarea unor probleme practice necesită parcurgerea, unei etape esenţiale - etapa de învăţare sau antrenare. În majoritatea cazurilor, antrenarea unei RNA constă în determinarea ponderilor conexiunilor sinaptice dintre neuroni wij şi a pragurilor fiecărui neuron i , care asigură performanţele optime ale reţelei, în sensul în care, pentru un set de date aplicat la intrare, reţeaua oferă la ieşire răspunsul cel mai apropiat de soluţia exactă a problemei studiate. Din punctul de vedere al metodei de antrenare, reţelele neuronale pot fi clasificate în două mari categorii: reţele cu antrenare supravegheată şi reţele neuronale cu antrenare nesupravegheată. Perceptronul multistrat este cea mai reprezentativă şi des utilizată reţea neuronală cu antrenare supravegheată. Din a doua categorie, fac parte reţelele Hopfield şi Kohonen. Reţele Hopfield Reţeaua Hopfield face parte din categoria memoriilor asociative – componente software folosite pentru stocarea informaţiei. Structural, ea este o reţea recurentă cu un singur strat, fiecare neuron din reţea având legături de reacţie cu toti ceilalţi neuroni care compun reţeaua, exceptându-se pe el însuşi. Arhitectura unei reţele Hopfield este prezentată în Fig.1.
1 2 N
W12
W21
1 FA y1 2
FA y2 WN2
W2N
N FA yN Fig.1 Arhitectura reţelei Hopfield. La momentul t = 0, neuronilor reţelei Hopfield li se aplică vectorul de intrare x=(x1, x2, ..., xN) format din componente egale cu +1 sau -1. Acest vector se transferă nealterat pe ieşirile (0) (0) (0) (0) reţelei, pentru a forma vectorul de ieşire la momentul iniţial y = (y1 , y2 , ..., yN ) = x =(x1, x2, ..., xN). Acest vector este returnat prin legăturile de reacţie pe intrările neuronilor din reţea. La un moment dat t, pentru fiecare neuron j se calculează o intrare netă, ce foloseşte şi pragul neuronului θj:
net (jt ) wij y i( t ) j i 1
N
(1)
ţinându-se seama de absenţa legăturilor de reacţie proprie (wjj=0). Această mărime este folosită în continuare pentru determinarea noilor ieşiri ale neuronilor:
y (jt 1) f net tj
(2)
unde f este o funcţie de activare de tip signum. Astfel, noile ieşiri ale neuronilor se calculează cu relaţia:
y (jt 1)
1 y (jt ) 1
net (jt ) 0 net (jt ) 0 net (jt ) 0
(3)
Pentru a asigura convergenţa reţelei Hopfield, activarea neuronilor se face în mod asincron, astfel încât la un moment dat se activează un singur neuron j, care îşi va modifica (t+1) starea conform relaţiilor (1) – (3). Noua ieşire a acestui neuron yj va fi folosită în continuare, pentru modificarea stării celorlalţi neuroni, pe măsura activării acestora. Alegerea neuronului care se activează primul se face la întâmplare. Funcţionarea reţelei Hopfield porneşte de la aplicarea pe intrări a unui model, care se transferă nemodificat la ieşiri, după care reţeaua este lăsată să itereze liber, respectând modelul activării asincrone a neuronilor, până când, în două iteraţii succesive, starea reţelei (ieşirile neuronilor) rămân neschimbate. În acest moment, se consideră că ieşirile reţelei descriu modelul asociat intrării iniţiale.
APLICAŢIE TEMA A – Recunoaşterea formelor Scopul lucrării îl reprezintă studiul capabilităţii reţelelor neuronale de tip Hopfield de a identifica într-o formă alterată prezentată la intrare, caracteristicile uneia din formele predefinite memorate în etapa de antrenare. Formele standard pe care le învaţă RNA sunt cifrele arabe 1, 2, 3, 4, 5, 6, 9 şi caracterul “.”. Caracterele sunt memorate sub formă de matrice cu 12 linii şi 10 coloane ale căror elemente formează o suprafaţă în interiorul căreia apartenenţa unui punct (element din matrice) la forma memorată este modelată prin valoarea 1, iar un punct liber are valoarea -1. Recunoaşterea formelor folosind reţeaua neuronală Hopfield Se va utiliza un set de proceduri scrise în mediul Matlab. Paşii de utilizare sunt următorii: se construieste setul de date de intrare format din matricele caracterelor ce fac obiectul recunoaşterii, stocat în matricea y. Aceasta se realizează apelând o funcţie de iniţializare prin scrierea la linia de comandă Matlab a următorului text: [zero,unu,doi,trei,patru,sase,punct,noua,y]=hinit; se antrenează reţeaua neuronală apoi se prezintă la intrarea ei modelul perturbat. Reţeaua va prezenta modelul recunoscut. Apelul funcţiei de calcul este următorul: [rec,orig,pert] = hrec(y,pmax1,pmax2,n,it); S-au notat: date de intrare: y - matricea modelelor de intrare pmax1 - pragul de la care încolo se schimbă valoarea unui element 1 în -1 (în vederea perturbării modelului iniţial) pmax2 - pragul de la care încolo se schimbă valoarea unui element -1 în 1 (idem) n - numărul modelului ce se doreşte a fi recunoscut (1-8) it - numărul maxim de cicluri de antrenare date de iesire: rec - forma recunoscută orig - forma ce se doreşte a fi recunoscută, asupra căreia s-a efectuat perturbarea pert - modelul de intrare (modelul orig, perturbat) Dacă recunoaşterea s-a făcut corect, matricele rec şi orig sunt identice.