Documente Academic
Documente Profesional
Documente Cultură
1
Structura generala a unui neuron artificial
1. Scopul lucrrii
Familiarizarea studenilor cu structura general a unui neuron artificial. Crearea
primului neuron artificial utiliznd funcia matlab newlin. Simularea neuronului creat
cu ajutorul funciei matlab sim. Crearea unui perceptron cu funcia matlab newp.
Simularea perceptronului folosind diferite funcii de activare.
2. Noiuni teoretice
2.1. Structura general a unui neuron artificial
Modelul general al unui neuron artificial este prezentat n Figura 1.
y = Fin (x ) + = xi wi + .
(1)
i =1
1 daca y 0
Fa ( y ) =
1 daca y < 0
(2)
1 daca y > 1
Fa ( y ) = y daca y 1
1 daca y < 1
(3)
Fa ( y ) =
1
1 + ey
(4)
Figura 4 Funcie de activare sigmoid
unipolar
Fa ( y ) =
2
1
1 + ey
(5)
Figura 5 Funcie de activare sigmoid bipolar
Fa ( y ) = tanh( y ) =
e y e y
e y + ey
(6)
Figura 6 Funcie de activare tangent
hiperbolic
Fa ( y ) = arctg ( y )
(7)
(8)
unde:
PR matrice de dimensiune Rx2 cu valorile minim i maxim pentru R intrri;
S numrul de neuroni;
ID vector de intrri cu ntrzieri, implicit = [0];
LR rata de nvare, implicit = 0.01;
RNA stratul de neuroni nou creat (RNA = Reea Neuronal Artificial).
Exemplul 1:
%----------------------------------------------------------------% Crearea unei RNA cu un singur neuron liniar cu 2 intrari,
% valorile minima si maxima pentru intrari este: min=0; max=1.
%----------------------------------------------------------------%valorile min si max pentru cele 2 intrari
PR=[0 1 % pt. prima intrare
0 1];% pt. a 2-a intrare
%numarul de neuroni
S=1;
%Vectorul cu intarzieri pentru intrari; in cazul de fata nu avem
%intrari intarziate cum este cazul filtrelor
3
ID=0;
%Rata de invatare. Deocamdata este vorba doar de simularea RNA,
%adica calcularea iesirii pentru fiecare set de intrari (vezi
%functia sim)
LR=0;
rna=newlin(PR,S,ID,LR);
Observatii
1. Programul din acest exemplu poate fi redus la ultima linie setnd
toate valorile dorite chiar n lista de argumente ale functiei, fara
a se mai apela la variabile suplimentare:
rna = newlin([0 1;0 1], 1, 0, 0);
2. n exemplu nu sunt setate valorile ponderilor de la intrrile
neuronului creat.
unde:
PR matrice de dimensiune Rx2 cu valorile minim i maxim pentru R intrri;
S numrul de perceptroni;
TF funcia de activare, implicit = 'hardlim' (treapt unitar);
LF funcia de nvare, implicit = 'learnp';
RNA reeaua neuronal artificial creat compus din perceptroni binari.
Exemplul 2:
%----------------------------------------------------------------% Crearea unei RNA cu un perceptron binar cu 2 intrari, valorile
% minima si maxima pentru intrari este: min=0; max=1.
%----------------------------------------------------------------%valorile min si max pentru cele 2 intrari
PR=[0 1 % pt. prima intrare
0 1];% pt. a 2-a intrare
% numarul de neuroni
S=1;
%functia de activare
TF='hardlim';
%functia de invatare
LF='learnp';
rna=newp(PR,S,TF,LF);
Observatii
1. Programul din acest exemplu poate fi redus la ultima linie setnd
toate valorile dorite chiar n lista de argumente ale functiei, fara
a se mai apela la variabile suplimentare (valorile pentru
argumentele TF si LF fiind cele implicite pot fi omise din lista de
argumente ale functiei):
rna = newlin([0 1;0 1], 1);
Probleme propuse
1. Se vor verifica exemplele prezentate
5
Lucrarea nr. 2
Perceptronul binar
1. Scopul lucrrii
Familiarizarea studenilor cu structura i antrenarea perceptronului binar.
2. Noiuni generale
2.1 Structura general a perceptronului binar
Strucura generala a perceptronului binar este prezentat n Figura 1.
(1)
ay ieirea perceptronului
(2)
ay = Fa(y)
O alt form de reprezentare (mai compact) a perceptronului binar este
prezentat n Figura 2.
= wj xj
j =1
)+
(4)
unde:
wj ponderea de pe intrarea j a neuronului
n nr. de intrri.
Se calculeaz ieirea neuronului:
8
ay
= F (y)
(4)
1
d
2
ay
(5)
(6)
(7)
PROBLEM propus
S se realizeze un program n mediul Matlab sau in C/C++ pentru simularea i
antrenarea unui perceptron binar cu dou intrri. Antrenai peceptronul binar avnd ca
i date de intrare valorile de intrare ale porii logice I iar date de ieire, valorile de
ieire ale porii logice I corespunztoare intrrilor porii logice. Antrenai
perceptronul, n mod similar porii logice I, pentru redarea porilor logice SAU, INEGAT, SAU-NEGAT, SAU-EXCLUSIV.
Tema nr. 3
S se realizeze o reea neuronal cu dou straturi (cu perceptroni binari) pentru
recunoaterea literelor A, B, , Z. Literele se reprezint pe o matrice 5x8 (Figura 1, Figura
2). Numrul de ieiri este egal cu numrul de litere care se doresc a fi nvate.
- ieirea {1,0,0,,0} are semnificaia c s-a recunoscut litera A
- ieirea {0,1,0,,0} are semnificaia c s-a recunoscut litera B
- ieirea {0,0,1,,0} are semnificaia c s-a recunoscut litera C
10
P2.
yi
= wij x j
j =1
)+
p
i
, i = 1...m
unde:
wij ponderea dintre neuronul j din stratul de intrare i neuronul i din stratul de
ieire
P5.
P6.
P7.
(1)
11
Tema nr. 4
Utiliznd regula delta generalizat s se antreneze o reea neuronal cu trei
starturi (strat de intrare, strat ascuns i strat de ieire) n vederea redrii funciei logice
XOR. Stratul de intrare are 2 neuroni, stratul de ieire are 2 neuroni iar startul de ieire
un singur neuron. Funcia de activare a neuronilor din stratul ascuns i cel de ieire
este funcia sigmoid unipolar.
Tema nr. 5
Utiliznd regula delta generalizat s se antreneze o reea neuronal cu o
intrare, un strat ascuns i o ieire utiliznd ca date de intrare datele din fiierul
Comanda.txt iar ca date de ieire datele din fiierul Senzor.txt. Se vor considera
doua cazuri distincte pentru reeaua neuronal:
- caz 1: funcia de activare a neuronilor din stratul ascuns i cel de ieire este funcia
sigmoid;
- caz 2: funcia de activare a neuronilor din stratul ascuns este funcia sigmoid iar, a
neuronilor din stratul de ieire este funcia liniar;
-
Se cere:
pentru fiecare caz s se studieze comportarea erorii globale de antrenare n funcie
de numrul de neuroni din stratul ascuns considernd acelai numr de epoci de
antrenare a reelei neuronale (de ex. 1000 de epoci de antrenare);
s se fac o comparaie a rezultatelor nvrii (pentru acelai numr de epoci i
acelai numr de neuroni din stratul ascuns).
Not:
Este necesar scalarea datelor de antrenare, adic trecerea din domeniul
valorilor msurate in domeniul de valorilor din intervalul [0,1].
Ex.
Pentru valorile din fiierul Comanda.txt se va aplica urmtoarea formul de
transformare:
CMDmax CMDmin .............................. INTmax INTmin
cmd CMDmin
X=
..............................
X INTmin
unde:
CMDmax valoarea maxim din fiierul Comanda.txt
CMDmin valoarea minim din fiierul Comanda.txt
INTmax valoarea maxim din intervalul [0,1], adic valoarea 1
INTmin valoarea minim din intervalul [0,1], adic valoarea 0
cmd o valoare din fiierul Comanda.txt
X valoarea scalat corespunztoare valorii cmd
La fel se procedeaz i pentru datele din Senzor.txt.
ntrebare: De ce este nevoie de scalare a datelor de intrare i de ieire?
12
Tema nr. 6
S se construiasc o memoria asociativ bidirecional utiliznd ca vectori exemplari:
x1=(1,-1,-1,1,-1,1,1,-1,-1,1)t y1=(1,-1,-1,-1,-1,1)t
x2=(1,1,1,-1,-1,-1,1,1,-1,-1)t y2=(1,1,1,1,-1,-1)t
S se testeze memoria utiliznd vectorii de start:
x0=(-1,-1,-1,1,-1,1,1,-1,-1,1)t y0=(1,1,1,1,-1,-1)t
x0=(-1,1,1,-1,1,1,1,-1,1,-1)t y2=(-1,1,-1,1,-1,-1)t
S se realizeze concluzii asupra rezultatelor obinute
Tema nr. 7
S se construiasc o memorie Hopfield capabil s memoreze diferite simboluri
reprezentate vizual pe o matrice 8x8. S se memoreze n memoria Hopfield simbolurile:
ptrat, +, elipsa, 7 prezentate n figurile de mai jos:
13