Sunteți pe pagina 1din 10

APLICAŢIA NR.

Modele ale neuronilor şi ale reţelelor neuronale artificiale

1. Introducere

Se urmăreşte definirea noţiunilor de neuron artificial şi reţea neuronală


artificială (RNA). Sunt evidenţiate arhitecturile tipice ale RNA precum şi modurile de
instruire aferente acestora [4], [5].

2. Modelul neuronului artificial

Neuronul artificial, denumit uneori procesor elementar, nod sau unitate este
inspirat din modelul corespondentului biologic, real. Astfel, în cazul neuronului
biologic (fig.2.1) se pot deosebi mai multe intrări (dendrite), corpul celulei şi o ieşire
(axon).
Analogia dintre neuronul real şi cel artificial poate fi observată comparând fig.
2.1 cu fig.2.2, în cea din urmă figură fiind prezentat modelul unui neuron artificial. Se
pot deosebi, în cazul fig.2.2, cele 3 elemente constituente ale neuronului artificial:
- un număr de intrări (conexiuni sinaptice), fiecare dintre ele fiind caracterizată de o
anumită pondere sinaptică wkj;
- un sumator care efectuează o combinaţie liniară a intrărilor, rezultatul fiind intrarea
netă uk;
- o ieşire caracterizată de prezenţa unei funcţii de activare φ(.) şi a unui prag
!k. De regulă φ(.) este o funcţie neliniară. Fig. 2.3 prezintă câteva forme tipice
pentru funcţia de activare a unui neuron.
- 20 - Aplicaţia nr. 2

sinapsă

axon
nucleu

corpul celulei

dendrite

Fig. 2.1 Structura unui neuron biologic.

x1

x2 uk yk
Σ φ

xN θk

Fig. 2.2 Modelul neuronului artificial.

Formula matematică care descrie comportarea neuronului artificial este:


N
y k # % (u k $ ! k ) # % (" wkj x j $ ! k ) (2.1)
j #1

ceea ce se mai poate scrie:


N
y k # % (" wkj x j ) (2.2)
j #0

cu x0 = -1 şi wk0 = ! k.
Modele ale neuronilor şi ale reţelelor neuronale artificiale - 21 -

1 1 1 1

0 0 0 0

-1 -1 -1 -1
-4 -2 0 2 4 -4 -2 0 2 4 -4 -2 0 2 4 -4 -2 0 2 4
a) Sigmoid b) Treaptă c) Liniară cu saturaţie d) Gaussian

Fig. 2.3 Funcţii de activare tipice.

3. Arhitecturi ale RNA

O structură compusă dintr-un număr mare de procesoare elementare


interconectate care operează în paralel, în vederea îndeplinirii unei sarcini specifice,
poartă denumirea de reţea neuronală artificială, prescurtat RNA.

&' RNA cu propagare înainte a semnalului (feedforward)

În acest caz, câmpul receptiv al unui neuron provine doar din stratul/straturile
inferioare celui din care face parte neuronul. RNA feeedforward pot fi total (fig.2.4)
sau parţial conectate (fig.2.5).

&' RNA recurente (feedback)

Se disting prin existenţa unui semnal de reacţie din partea neuronilor


straturilor superioare pentru neuronii straturilor inferioare sau, ca un caz particular,
semnalul de reacţie poate să provină de la ieşirile neuronilor aceluiaşi strat (fig.2.6).
- 22 - Aplicaţia nr. 2

Fig. 2.4 RNA feedforward total conectată.

Fig.2.5 RNA feedforward parţial conectată.

4. Tipuri de instruire specifice RNA

RNA achiziţionează cunoştinţele prin instruire (învăţare). Învăţarea presupune


adaptarea parametrilor liberi ai RNA ca urmare a stimulilor mediului în care se
găseşte reţeaua. Tipul de învăţăre este determinat de maniera în care sunt ajustaţi
parametrii liberi ai RNA:
Modele ale neuronilor şi ale reţelelor neuronale artificiale - 23 -

Fig.2.6 RNA recurentă.

&' Învăţarea de tip supervizat

Este caracterizată de prezenţa unui supervizor care cunoaşte cu exactitate


modul de asociere al intrărilor RNA cu ieşirile acesteia. Parametrii RNA sunt
modificaţi sub influenţa combinată a vectorilor de antrenament şi a semnalului de
eroare (diferenţa dintre răspunsul dorit şi cel actual). Scopul final al algoritmului de
antrenament este ca RNA să emuleze, optim în sens statistic, supervizorul.

&' Învăţarea de tip nesupervizat (cu autoorganizare)

Este caracterizată de absenţa unui semnal sau supervizor care să aprecieze


corectitudinea asociaţiilor intrare-ieşire. RNA va descoperii singură legităţile
conţinute în datele de intrare printr-o reprezentare internă adecvată a trăsăturilor
vectorului de intrare.
- 24 - Aplicaţia nr. 2

&' Învăţarea prin întărire

Urmăreşte maximizarea unei mărimi scalare (indice de performanţă sau


semnal de întărire) în urma unei acţiuni efectuate de către sistemul supus învăţării.
Dacă modificările aduse conduc spre o stare mai bună decât cea precedentă, tendinţa
sistemului de a produce acea acţiune particulară este întărită.

5. Probleme

5.1. Reprezenati grafic câteva din funcţiile de activare (denumite în MATLAB


“transfer functions”) ale unui neuron disponibile în Neural Networks Toolbox, v.3.0.
Indicaţie: Pentru a cunoaşte totalitatea funcţiilor specifice, predefinite, disponibile
pentru domeniul reţele neuronale tastaţi “help nnet”. Dacă se doresc amănunte despre
o anumită funcţie, acestea se pot obţine prin: “help denumirea_funcţiei”.

Rezolvare:
%Reprezentare functii de activare
%Catalin-Daniel Caleanu, 2000

clear all
close all
clc

n = -4:0.001:4;

%functie de activare de tip sigmoid


a1 = logsig(n);

%functie de acticare de tip treapta


a2 = hardlim(n);

%functie de activare de tip liniar, cu saturatie


a3 = satlins(n);

%functie de activare radiala


a4 = radbas(n);

subplot(1,4,1)
plot(n,a1,'linewidth',2,'color','b');
Modele ale neuronilor şi ale reţelelor neuronale artificiale - 25 -

axis([-4 4 -1.1 1.1])


title('sigmoid')

subplot(1,4,2)
plot(n,a2,'linewidth',2,'color','b');
axis([-4 4 -1.1 1.1])
title('treapta')
subplot(1,4,3)
plot(n,a3,'linewidth',2,'color','b')
axis([-4 4 -1.1 1.1])
title('liniar')

subplot(1,4,4)
plot(n,a4,'linewidth',2,'color','b');
axis([-4 4 -1.1 1.1])
title('radial')

Observaţie: Rezultatul rulării programului poate fi observat în fig. 2.3.

5.2. Un neuron “j” primeşte semnale de la alţi patru neuroni ale căror nivele de
activare sunt: 0,1 , 0,3 , - 0,8 , 0,5. Ponderile sinaptice ale neuronului “j” sunt: 0,9 , 0,7
, 0,1 , 0,7. Calculaţi ieşirea neuronului “j” în următoarele cazuri:
a) neuronul este liniar;
b) neuronul are o funcţie de activare sigmoidală.
Se consideră pragul de activare θk = 0,5.
Indicaţie: Modelul neuronului va fi implementat folosind funcţiile de activare purelin
pentru cazul neuronului liniar respectiv logsig pentru cazul neuronului neliniar.

Rezolvare:
%Implementare neuron
%Catalin-Daniel Caleanu, 2000

clear all
close all
clc

% definire prag de activare


theta = 0.5

% x = vector de intrare
x = [0.1 0.3 -0.8 0.5]
- 26 - Aplicaţia nr. 2

% w = vectorul ponderilor sinaptice


w = [0.9 0.7 0.1 0.7]

% y = iesirea neuronului
y1 = purelin(x*w'-theta)
y2 = logsig(x*w'-theta)

5.3. Cunoscând faptul că anumiţi algoritmi de antrenament ai RNA folosesc derivata


de ordinul I a funcţiei de activare, ce avantaj prezintă în acest sens funcţiile de activare
sigmoid şi tangentă hiperbolică?

Rezolvare: Derivatele reprezintă funcţii exprimate prin funcţia originală (cea care se
derivează).

5.4. Implementaţi o RNA feedforward total conectată, care să aibă configuraţia de mai
jos. Calculaţi ieşirea y a RNA pentru x = [0,7 3] considerând că neuronii din stratul
ascuns au funcţii de activare de tip tangentă hiperbolică iar neuronul de ieşire este
liniar.

-1
0,5 -1
-1 0,5
x1 1
0,2
y
-0,2
x2 1 -2
-0,1
-1
Fig.2.7 Reţea neuronală feedforward (pentru problema 5.4).

Indicaţie: La implementarea RNA se va folosi funcţia newff, a cărei descriere este


oferită în continuare:
NEWFF Crează o reţea neuronală feedforward
Sintaxa: net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
în care:
Modele ale neuronilor şi ale reţelelor neuronale artificiale - 27 -

PR – Rx2, matrice de valori min şi max pentru R intrări.


Si – Numărul de neuroni ai stratului “i”, pentru Nl straturi.
TFi – Funcţia de transfer pentru stratul “i”, implicit tangentă hiperbolică ('tansig').
BTF – Funcţia de antrenament, implicit metoda Levenberg-Marquardt ('trainlm').
BLF – Funcţia de învăţare, implicit gradient descendent cu moment ('learngdm')
PF – Atribuit de performanţă, implicit eroarea medie pătratică ('mse').

Rezolvare:
%Implementare unei retele neuronale feedforward
%Catalin-Daniel Caleanu, 2000
clear all
close all
clc
% vectorul intrarilor
x = [0.7; 3];
% specificarea valorilor min si max pentru fiecare dintre
intrari
x1min=0;
x2min=0;
x1max=10;
x2max=10;
% definirea numarului de straturi si a numarului de
neuroni/strat
nr_neur_asc_strat1=2;
nr_neur_ies=1;
% newff intoarce obiectul net, in care
% ponderile stratului de intrare, net.iw
% ponderile straturilor ascunse, net.lw
% si deplasarile de scara, net.b
% sunt initializate cu valori subunitare aleatorii
net = newff([x1min x1max; x2min x2max],[nr_neur_asc_strat1
nr_neur_ies],{'tansig' 'purelin'});
% se definesc valorile dorite pentru praguri si ponderi
net.iw{1,1}(1,:) = [-1 -0.2];
net.iw{1,1}(2,:) = [1 0.2];
net.b{1,1}(1,:) = 0.5;
net.b{1,1}(2,:) = -0.1;
net.lw{2,1}(1,:) = [1 -2];
net.b{2} = 0.5;
y = sim(net,x)

5.5 Trasaţi diagrama Hinton aferentă RNA de la punctul anterior.


Indicaţie: Diagrama Hinton reprezintă o modalitate de vizualizare a mărimii
ponderilor şi pragurilor. Pentru vizualizarea ponderilor şi pragurilor aferente
neuronilor stratului ascuns din problema precedentă se va folosi comada:
- 28 - Aplicaţia nr. 2

» hintonwb(net.iw{1},net.b{1})
Se observă o reprezentare proporţională a mărimii ponderilor şi pragurilor, culoarea
roşie (mai închisă) fiind asocită cu valorile negative iar cea verde (mai deschisă) cu
cele pozitive (fig.2.8).

1
Neuron

0 1 2
Input

Fig.2.8 Diagrama Hinton pentru problema 5.5.

5.6 Evidenţiaţi comparativ avantajele şi dezavantajele RNA total conectate faţă de


RNA parţial conecte.

Rezolvare: Reţelele neuronale total conectate se folosesc atunci când nu există


cunoştinţe apriorice despre structura datelor de intrare. Au o aplicabilitate generală şi
din acest motiv o structură care presupune un număr însemnat de parametri liberi
(ponderi şi praguri). RNA parţial conectate exploatează informaţiile referitoare la
structura datelor de intrare şi au o arhitectură orientată pe un anumit tip de problemă.
Ele oferă uneori, pentru probleme particulare, rezultate mai bune decât cele total
conectate. Au cerinţe privitoare la puterea de calcul mai mici decât în cazul precedent,
având implementate mecanisme de partajare a ponderilor (“weight sharing”).

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