Documente Academic
Documente Profesional
Documente Cultură
Student
SERBAN Laurentiu- Florin
Anul IV (2015-2016)
Cuprins
Capitolul 1 - Introducere
Bibliografie
14
Capitolul 1
INTRODUCERE
Reeaua neurala Hopfield poate fi folosita ca memorie asociativ sau pentru
rezolvarea unor probleme de optimizare. Folosete neuroni cu intrri binare, a cror ieire
conine nelineariti de tipul limitare hardware. Arhitectura unei reele Hopfield cu N neuroni
este prezentat n Figura 1.2. Ieirea fiecrui neuron este aplicat tuturor celorlalte noduri
prin intermediul unor ponderi. Hopfield a demonstrat c aceast reea converge dac
ponderile sunt simetrice. Dei simplitatea ei o face atractiv, aceast reea prezint dou
limitri majore cnd este utilizat ca memorie adresabil prin coninut. n primul rnd,
numrul de forme prototip care pot fi stocate i apoi regsite corect n reea este limitat la
aproximativ 15% din numrul de neuroni. Dac se ncearc stocarea prea multor forme
prototip, reeaua ar putea converge ctre un prototip fictiv. A doua limitare prezent la reeaua
Hopfield apare dac prototipurile memorate n reea sunt foarte asemntoare (prezint un
mare numr de bii identici), caz n care reeaua devine instabil.
Dac reeaua Hopfield este folosit drept clasificator, ieirea reelei (dup convergen)
trebuie comparat cu fiecare form prototip, dup care se poate lua decizia de apartenen la
una din clasele ataate formelor prototip.
Capitolul 2
2.1. ALGORITMUL DE ANTRENARE AL RETELEI HOPFIELD
unde functia neliniara fh este de tipul limitare hardware. Operatia se repeta pana cand toate
iesirile neuronilor raman neschimbate. In acest caz, configuratia iesirilor coincide cu forma
prototip cea mai apropiata de forma necunoscuta de intrare.
Pasul 4. Repeta pasii 2-3 pentru orice alta forma necunoscuta de intrare
Capitolul 3
REALIZAREA APLICATIEI CU AJUTORUL RETELEI HOPFIELD
n primul rnd, se va deschide o interfa de lucru GUI, prin tastarea >>guide n
linie de comand n Matlab.
Capitolul 4
CODUL SURSA AL APLICATIEI
1. Resetarea retelei:
a. Resetarea retelei se face accesand butonul RESETEAZA RETEAUA dupa
cum se vede in poza:
2. Incarcarea imaginii
a. Incarcarea imaginii se face accesand butonul INCARCA IMAGINEA dupa
cum se vede in poza:
3. Antrenarea retelei
a. Antrenarea retelei se face cu ajutorul invatarii imaginii incarcate ulterior
accesand butonul ANTRENEAZA RETEAUA.
W = ( kron(im-avg,im-avg))/(N^2)/avg/(1-avg);
end
% Erasing self weight
ind = 1:N^2;
f = find(mod(ind,N+1)==1);
W(ind(f),ind(f)) = 0;
handles.W = W;
% Placing the new pattern in the figure...
xStart = 0.01;
xEnd = 0.99;
height = 0.65;
width = 0.09;
xLength = xEnd-xStart;
xStep = xLength/10;
offset = 4-ceil(Npattern/2);
offset = max(offset,0);
y = 0.1;
if Npattern > 0
for n=1 : Npattern
x = xStart+(n+offset-1)*xStep;
h = handles.hPatternsDisplay(n);
set(h,'units','normalized');
set(h,'position',[x y width height]);
end
x = xStart+(n+offset)*xStep;
h = axes('units','normalized','position',[x y width height]);
handles.hPatternsDisplay(n+1) = h;
imagesc(im,'Parent',h);
else
x = xStart+(offset)*xStep;
h = axes('units','normalized','position',[x y width height]);
handles.hPatternsDisplay = h;
end
imagesc(im,'Parent',h);
set(h, 'YTick',[],'XTick',
[],'XTickMode','manual','Parent',handles.learnedPaterns);
guidata(hObject, handles);
10
5. Adaugarea zgomotului
a. Pentru a testa reteaua se poate incarca orice imagine binara sau se poate
incarca una din formele invatate si se poate adauga zgomot. Se poate alege
orice nivel de zgomot de la 1% la 100%.
11
12
13
im = fixImage(networkResult,N);
imagesc(im,'Parent',handles.neurons);
14
BIBLIOGRAFIE :
15