Documente Academic
Documente Profesional
Documente Cultură
1. Introducere
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
x1
x2 uk yk
Σ φ
xN θk
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
Î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).
5. Probleme
Rezolvare:
%Reprezentare functii de activare
%Catalin-Daniel Caleanu, 2000
clear all
close all
clc
n = -4:0.001:4;
subplot(1,4,1)
plot(n,a1,'linewidth',2,'color','b');
Modele ale neuronilor şi ale reţelelor neuronale artificiale - 25 -
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')
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
% x = vector de intrare
x = [0.1 0.3 -0.8 0.5]
- 26 - Aplicaţia nr. 2
% y = iesirea neuronului
y1 = purelin(x*w'-theta)
y2 = logsig(x*w'-theta)
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).
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)
» 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