Sunteți pe pagina 1din 13

Lucrarea nr.

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.

Figura 1 Modelul general al neuronului artificial

Semnificaiile notaiilor i a blocurilor componente ale neuronului artificial


prezentat n Figura 1 sunt urmtoarele:
- xi (i = 1, n ) reprezint intrrile n neuron. n cazul integrrii neuronului ntr-o reea de
neuroni aceste intrri vor reprezenta activrile tuturor neuronilor conectai la acest
neuron n cauz. Setul celor n intrri x=(x1 x2 xn) mai este cunoscut i sub numele
de vector de intrare;
- wi (i = 1, n ) reprezint ponderarea intrrii i. Aceast pondere determin efectul pe care
l are semnalul oferit de intrarea i asupra ieirii neuronului. Ponderile reprezint
echivalentul jonciunilor sinaptice ntlnite la reelele de neuroni biologici.
- Neuronul vede toate intrrile ca o intrare general (total) y care este calculat
folosind o funcie de intrare la care se adaug o valoare de offset sau bias (). n
majoritatea cazurilor, funcia de intrare utilizat este funcia sum ponderat a tuturor
intrrilor xi. Expresia matematic de calcul a intrrii generale n acest caz este dat de
relaia:
n

y = Fin (x ) + = xi wi + .

(1)

i =1

Alte tipuri de funcii folosite ca funcii de intrare:


funcia max{xiwi}, i=1n,
1

- funcia min{xiwi}, i=1n,


- funcia (xiwi), i=1n,
- Funcia de activare stabilete activarea neuronului. Din cele prezentate n paragraful
anterior, neuronul biologic poate fi activ (excitat) sau nu. Deci prezint o stare de
activare. La fel i neuronii artificiali pot s aib, unii, dou stri de activare (cazul
perceptronului binar) sau mai multe stri de activare (cazul neuronilor artificiali
reali).
Tipuri de funcii pentru funcia de activare (Fa) a neuronului artificial:
- funcia prag (treapt unitar simetric)(Figura 2):

1 daca y 0
Fa ( y ) =
1 daca y < 0

(2)

Figura 2 Funcie de activare prag

- funcia liniar simetric cu saturaie(Figura 3):

1 daca y > 1

Fa ( y ) = y daca y 1
1 daca y < 1

(3)

Figura 3 Funcie de activare liniar

- funcia sigmoid unipolar (Figura 4):

Fa ( y ) =

1
1 + ey

(4)
Figura 4 Funcie de activare sigmoid
unipolar

- funcia sigmoid bipolar (Figura 5):

Fa ( y ) =

2
1
1 + ey

(5)
Figura 5 Funcie de activare sigmoid bipolar

- funcia tangent hiperbolic (Figura 6):

Fa ( y ) = tanh( y ) =

e y e y
e y + ey

(6)
Figura 6 Funcie de activare tangent
hiperbolic

- funcia arctangent (Figura 7):

Fa ( y ) = arctg ( y )

(7)

Figura 7 Funcie de activare arctangent

- a reprezint activarea (ieirea) neuronului:


a=Fa(y)
adic valoarea oferit de funcia de activare.

(8)

2.2. Funcii matlab


n continuare vor fi prezentate funcii matlab ce vor fi utilizate pentru
desfuarea lucrrii:
- newlin - creeaz un strat de neuroni liniari;
Apelul funciei:
RNA = newlin(PR,S,ID,LR);

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.

- newp creeaz un perceptron binar;


Apelul funciei:
RNA = newp(PR,S,TF,LF)

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);

2. n exemplu nu sunt setate valorile ponderilor de la intrarile


neuronului creat.

- sim simuleaz o reea neuronal artificial creat cu o funcie matlab (newlin,


newp, etc.). Va calcula pentru valorile prezentate la intrarea RNA ieirea
corespunztoare.
Exemplul 3
%----------------------------------------------------------------% Simularea RNA creata cu functiile newlin si newp din
% exemplele 1 si 2
%----------------------------------------------------------------% Setarea ponderilor neuronului
%ponderile intrarilor
rna.IW{1,1}=[-0.7 0.3];
%ponderea pentru "bias"
rna.b{1}=0.05;
%Forme (valori) de intrare
F=[0 0 1 1
%pt. prima intrare
0 1 0 1]; %pt. a doua intrare
sim(rna,F)

n Figura 8 sunt prezentate formele pentru diferite tipuri de funcii de activare


generate cu funcii matlab.

Figura 8 Forme de funcii de activare generate cu funcii matlab

Probleme propuse
1. Se vor verifica exemplele prezentate
5

2. Folosind Exemplul 2 i Exemplul 3 se va crea i simula, folosind funciile de


apartenen prezentate n Figura 8, o reea neuronal artificial format dintr-un
perceptron cu 2 intrri i 1 ieire. Setrile reelei neuronale sunt:
- ponderile intrrilor: [0.17 0.8];
- ponderea pentru bias: -0.15;
- funcia de activare: hardlim, hardlims, logsig, poslin,
purelin, satlins, tansig;
- valorile intrrilor:
- prima intare: 0 0 1 1;
- a doua intrare: 0 1 0 1.
3. innd cont de Figura 1 i utiliznd relaiile matematice (1)(7) s se scrie un
program n limbajul matlab sau limbajul C pentru crearea i simularea unei
reele neuronale artificiale.

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.

Figura 1. Strucura general a perceptronului binar

Semnificaia notaiilor din Figura 1 este urmatoarea:


x1, x2, , xn intrrile perceptronului binar (valori: 0 sau 1);
n numrul de intrri ale perceptronului binar;
1, 2, , n, ponderi (echivalentul sinapselor neuronului biologic), intrarea
care prezint ponderea poart numele de intrare de offset (bias);
y - intrarea general a perceptronului;
Fa(y) funcia de activare a perceptronului binar, este funcia treapt unitar
0 daca y 0
Fa ( y ) =
1 daca y > 0

(1)

ay ieirea perceptronului
(2)
ay = Fa(y)
O alt form de reprezentare (mai compact) a perceptronului binar este
prezentat n Figura 2.

Figura 2. Forma compact de reprezentare a perceptronului binar

Scopul antrenrii (nvrii) perceptronului binar este de a modifica ponderile


i (i=1n), n vederea realizrii transformrii dorit T(.):
(3)
T(x, ): {0,1}n {0,1}
unde:
- x - reprezint vectorul intrrilor ,
- - reprezint vectorul ponderilor.
n continuare se va enuna algoritmul de antrenare a unui perceptron binar cu n
intrri.
2.2 Algoritm de antrenare al perceptronului binar (Regula DELTA)
Pas 1:Se alege numrul de intarri ale perceptronului binar. Se alege factorul de
nvare ((0,1)). Se aleg aleator valorile iniiale ale elementelor vectorului de
ponderi (i [-0.5,0.5]). Se alege o variabil E pentru memorarea erorii globale de
nvare a perceptronului binar i se iniializeaz E=0. Fie q numrul vectorilor de
instruire (antrenare) disponibili. Un vector de antrenare reprezint cuplul de vectori (x,
d), unde x reprezint vector de intrare iar d ieirea dorit corespunztore vectorului de
intrare x.
Pas 2. Se prezint reelei vectorul de intrare x p i ieirea corect d p (ieirea
dorit), unde p reprezint indicele vectorului n cadrul setului de vectori de antrenare
(1 p q). Vectorii din cadrul setului de vectori de antrenare pot fi prezentai reelei
neuronale n ordine aleatoare (n acest caz p k; Ex: primul vector de antrenare este
vectorul <3>, al doilea vector va fi vectorul <q-1>, al treilea va fi vectorul <1>,
.a.m.d.). Dac p = k atunci vectorii de antrenare sunt prezentai reelei neuronale n
ordinea cresctoare a poziiei lor n setul de vectori de antrenare (Ex: primul vector de
antrenare este vectorul <1>, al doilea vector va fi vectorul <2>, al treilea va fi vectorul
<3>, .a.m.d.).
Pas 3. Se calculeaz intrarea totale a neuronului:
y

= 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)

unde F(.) este funcia treapt unitar (Heavishide)


Pas 4. Se calculeaz eroarea ptratic:
E

1
d
2

ay

(5)

Se calculeaz eroarea global cu relaia:


E=E+E

(6)

Pas 5. Se adapteaz matricea de ponderi, folosind regula Delta:


p
p
p
w j (k + 1) = w j (k ) + d
ay
xj
unde: j = 1n
Pas 6. Se pune k=k+1
Pentru k n salt la pasul P2, altfel se continu cu pasul P7
Pas 7. Dac E = 0, atunci STOP. n caz contrar, E=0 i salt la pasul P2.

(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

- ieirea {0,0,,0,1} are semnificaia c sa recunoscut litera Z

Figura 1 Configuraia reelei neuronale (24 de iesiri = nr. de litere)

Figura 2 Exemple de litere ale alfabetului reprezentate pe o matrice de 5x8 celule

10

Not: n neuronii din stratul de intrare nu se efectueaz nici o operaie matematic. Ei


au rolul de a distribui semnalul (valorile) de la intrarea lor spre intrrile perceptronilor binari
din stratul de ieire.
Algoritmul de antrenare (Widrow-Hoff sau Delta)

Se iniializeaz ponderile, alegnd o matrice w cu valori subunitare arbitrare.


Se fixeaz o rat de nvare pozitiv.
Fie q numrul vectorilor de instruire (antrenare) disponibili. Un vector de
antrenare reprezint cuplul de vectori (x, d), unde x reprezint vector de intrare iar d
vector de ieire dorit.
Se pune k=1.
Se iniializeaz eroarea total E=0.
Se prezint reelei vectorul de intrare x p i ieirea corect d p (ieirea dorit), unde
p reprezint indicele vectorului n cadrul setului de vectori de antrenare (1 p q).
Vectorii din cadrul setului de vectori de antrenare pot fi prezentai reelei neuronale n
ordine aleatoare (n acest caz p k; Ex: primul vector de antrenare este vectorul <3>,
al doilea vector va fi vectorul <q-1>, al treilea va fi vectorul <1>, .a.m.d.). Dac p = k
atunci vectorii de antrenare sunt prezentai reelei neuronale n ordinea cresctoare a
poziiei lor n setul de vectori de antrenare (Ex: primul vector de antrenare este
vectorul <1>, al doilea vector va fi vectorul <2>, al treilea va fi vectorul <3>,
.a.m.d.).
P3.
Se calculeaz intrrile totale ale neuronilor din stratul de ieire:
P1.

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

m nr. de neuroni din stratul de ieire


n nr. de neuroni din stratul de intrare.
Se calculeaz ieirile neuronilor din stratul de ieire:
p
ai = F ( yi ), i = 1...m
unde F(.) este funcia treapt unitar (Heavishide)
P4.

P5.

P6.
P7.

(1)

Se calculeaz eroarea ptratic:


2
1 m
p
p 2
p
E = d i ai
(2)
2 i =1
Se calculeaz eroarea global cu relaia:
p
E=E+E
(3)
Se adapteaz matricea de ponderi, folosind regula Delta:
p
p
p
(4)
w ij (k + 1) = w ij (k ) + d i a i
xj
unde: i = 1m, j = 1n
Se pune k=k+1
Pentru k n salt la pasul P2, altfel se continu cu pasul P7
Dac E = 0, atunci STOP. n caz contrar, se seteaz E=0 i salt la pasul P2.

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

(cmd CMDmin ) * ( INTmax INTmin )


+ INTmin
(CMDmax CMDmin )

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:

S se testeze reeaua folosind formele bruiate:

13

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

  • Masini Unelte Cu Comanda Numerica
    Masini Unelte Cu Comanda Numerica
    Document57 pagini
    Masini Unelte Cu Comanda Numerica
    Alina Ali
    80% (10)
  • Evalriscuri Ptsite
    Evalriscuri Ptsite
    Document233 pagini
    Evalriscuri Ptsite
    stirbuson4980
    Încă nu există evaluări
  • Labor 14
    Labor 14
    Document9 pagini
    Labor 14
    stirbuson4980
    Încă nu există evaluări
  • Mod Sim Curs
    Mod Sim Curs
    Document129 pagini
    Mod Sim Curs
    Belean Cosmin
    Încă nu există evaluări
  • MPP Constructie Functionare
    MPP Constructie Functionare
    Document21 pagini
    MPP Constructie Functionare
    Gigi Tyirean
    Încă nu există evaluări
  • Masini Unelte Cu Comanda Numerica
    Masini Unelte Cu Comanda Numerica
    Document57 pagini
    Masini Unelte Cu Comanda Numerica
    Alina Ali
    80% (10)
  • Verificarea Metro Logic A Si Etalonarea Mijloacelor de Masurare
    Verificarea Metro Logic A Si Etalonarea Mijloacelor de Masurare
    Document48 pagini
    Verificarea Metro Logic A Si Etalonarea Mijloacelor de Masurare
    mbarabas
    Încă nu există evaluări
  • Labor 13
    Labor 13
    Document10 pagini
    Labor 13
    stirbuson4980
    Încă nu există evaluări
  • Labor 12
    Labor 12
    Document8 pagini
    Labor 12
    stirbuson4980
    Încă nu există evaluări
  • Labor 09
    Labor 09
    Document8 pagini
    Labor 09
    stirbuson4980
    Încă nu există evaluări
  • Labor 10
    Labor 10
    Document6 pagini
    Labor 10
    stirbuson4980
    Încă nu există evaluări
  • Labor 05
    Labor 05
    Document5 pagini
    Labor 05
    stirbuson4980
    Încă nu există evaluări
  • Labor 11
    Labor 11
    Document9 pagini
    Labor 11
    stirbuson4980
    Încă nu există evaluări
  • Labor 08
    Labor 08
    Document8 pagini
    Labor 08
    stirbuson4980
    Încă nu există evaluări
  • Labor 07
    Labor 07
    Document9 pagini
    Labor 07
    stirbuson4980
    Încă nu există evaluări
  • Labor 06
    Labor 06
    Document7 pagini
    Labor 06
    stirbuson4980
    Încă nu există evaluări
  • Labor 02
    Labor 02
    Document8 pagini
    Labor 02
    stirbuson4980
    Încă nu există evaluări
  • Copert 1
    Copert 1
    Document2 pagini
    Copert 1
    stirbuson4980
    Încă nu există evaluări
  • Cap
    Cap
    Document31 pagini
    Cap
    stirbuson4980
    Încă nu există evaluări
  • Labor 03
    Labor 03
    Document7 pagini
    Labor 03
    stirbuson4980
    Încă nu există evaluări
  • Labor 04
    Labor 04
    Document6 pagini
    Labor 04
    stirbuson4980
    Încă nu există evaluări
  • Labor 01
    Labor 01
    Document7 pagini
    Labor 01
    stirbuson4980
    Încă nu există evaluări
  • Proiect SCPC
    Proiect SCPC
    Document5 pagini
    Proiect SCPC
    stirbuson4980
    Încă nu există evaluări
  • Sarbatorile Primaverii Mami
    Sarbatorile Primaverii Mami
    Document11 pagini
    Sarbatorile Primaverii Mami
    stirbuson4980
    Încă nu există evaluări
  • Protectia Mediului - Raul Mures
    Protectia Mediului - Raul Mures
    Document85 pagini
    Protectia Mediului - Raul Mures
    stirbuson4980
    Încă nu există evaluări