Documente Academic
Documente Profesional
Documente Cultură
01 - Rna-Pms
01 - Rna-Pms
Neuronul formal
Neuronul formal este un element de procesare a informaţiei care modelează, de o
manieră simplificată, neuronul real. Cea mai simplă versiune de neuron formal este un automat
binar cu două stări : activ (+1) şi inactiv (-1) (Fig. 1).
Starea neuronului se actualizează periodic după următorul mecanism: se determină
potenţialul neuronal vi , calculând suma ponderată a intrărilor xj (care reprezintă ieşirile altor
neuroni din reţea sau informaţii provenind de la neuronii de intrare); acest potenţial este
comparat cu un prag θi , neuronul activându-se (yi = +1) dacă vi ≥ θi sau devenind pasiv (yi = -
1) dacă vi < θi. Această prelucrare a informaţiei în interiorul neuronului corespunde unei funcţii de
transfer de tip treaptă (Heviside), denumită frecvent funcţie de activare.
X1
W
Neuron i
11
X2 W
12
+1
X3 W
13
Σ θ
i
v y
i v i
i
-1
X W 1n
n
f ( x) = a ⋅ x + b
unde coeficientul b joacă rolul unui prag. Pentru a = 1 şi b = 0 se obţine funcţia de activare
identitate, iar pentru a = 1 şi b ≠ 0 – funcţia de activare identitate plus prag.
β dacă x ≥ θ
f ( x) =
− δ dacă x θ
De regulă, pentru constantele β şi δ se folosesc valori corespunzătoare unor reprezentări binare,
de exemplu β = 1 şi δ = 0, respectiv β = δ =1.
Funcţia de activare rampă (Fig. 2c), combinaţie între funcţiile liniară şi treaptă.
Această funcţie de activare stabileşte limite maximă şi minimă pentru ieşirea neuronului (± γ),
asigurând totodată o variaţie liniară între aceste limite. De regulă, punctele de saturare sunt
simetrice în raport cu originea, iar expresia funciei rampă este:
γ dacă x ≥ γ
f ( x) = x dacă | x | γ
− γ dacă x −γ
1
- sigmoidul logistic sau unipolar (Fig. 2d) f ( x) =
1 + e −αx
1 − e −αx
- sigmoidul tangent hiperbolic sau bipolar (Fig. 2e) f ( x) =
1 + e −αx
- Funcţii de adaptare de tip gaussian (Fig 2f).
Aceste funcţii au formă radială, simetrică în raport cu o valoare medie xm şi sunt caracterizate de
un anumit grad de împrăştiere, descries de varianţa σ:
/σ
f ( x ) = e − ( x − xm )
2
f(x) f(x)
x θ x
(a) (b)
f(x) f(x)
1
γ
γ x
-γ
0 x
(c)
(d)
f(x) f(x)
1
x σ
0
-1 x
0
(e) (f)
Ieşiri
Z1 Z2 Z3
y1 y2
X1 X2 X3
Intrări
Legăturile dintre straturile RNA se realizează prin conexiuni sinaptice ponderate. Pentru
RNA din Fig. 3, fiecare neuron dintr-un strat este legat cu toţi neuronii din stratul următor şi nu
există legături între straturile neconsecutive (de exemplu, intrare-ieşire). O asemenea structură
este cunoscută sub numele de RNA complet conectată. Structura RNA este descrisă complet de
matricea ponderilor conexiunilor dintre două straturi consecutive [W], ale cărei elemente wij
indică influenţa pe care ieşirea neuronului j din stratul inferior o are asupra activării neuronului i
din stratul superior. Astfel, ponderile pozitive au caracter excitatoriu, ponderile negative - caracter
inhibitoriu, iar ponderile nule indică absenţa conexiunii între cei doi neuroni. Totodată, cu cât
valoarea absolută a ponderii wij este mai mare, cu atât influenţa excitatorie / inhibitorie a
neuronului j asupra neuronului i este mai pregnantă.
RNA din Fig. 3 are anumite proprietăţi care se aplică unei categorii largi de reţele
neuronale:
• fiecare neuron acţionează independent de ceilalţi neuroni din acelaşi strat; ieşirea
unui neuron depinde numai de semnalele ce se aplică pe conexiunile sinaptice de
intrare;
• activarea fiecărui neuron depinde numai de informaţii cu caracter local; informaţia ce
este prelucrată de neuron provine numai de pe conexiunile adiacente, nefiind
necesară cunoaşterea stării altor neuroni cu care neuronul considerat nu are legături
directe;
• numărul mare de conexiuni existente asigură un grad ridicat de rezervare şi uşurează
reprezentarea distribuită a informaţiei.
Primele două proprietăţi permit funcţionarea eficientă a RNA în paralel, iar ultima
proprietate le conferă o sensibilitate redusă faţă de posibilele perturbaţii şi calităţi de generalizare
greu de obţinut cu sistemele clasice de calcul.
Aceste proprietăţi sugerează următoarele trei cazuri importante, în care utilizarea RNA se
poate dovedi avantajoasă:
• situaţii care impun luarea unui număr mic de decizii pe baza unei cantităţi mari sau
foarte mari de informaţii;
• situaţii care necesită realizarea automată a unor clasificări neliniare;
• situaţii în care se doreşte obţinerea în timp real a unei soluţii optimale sau
suboptimale pentru o problemă de optimizare combinatorie.
Există mai multe criterii de clasificare a RNA. În continuare, vom prezenta două dintre
aceste criterii, care au în vedere arhitectura acestora.
Un prim criteriu se referă la existenţa sau absenţa legăturilor de reacţie inversă între
neuronii din diversele straturi ale reţelei. Astfel, se disting două tipuri:
O reţea hibridă, care foloseşte atât legaturi feedforward, cât şi legături feedback, este
reţeaua Hamming (Fig. 6), numită şi clasificator după similaritate maximă.
O O ... On-1 O
Neuroni
ieşire
X1 X2 Xn-1 Xn
Intrări ( la momentul iniţial )
Reţea asociere
X1 X2 Xn- Xn
Intrări (la momentul iniţial)
Cel de-al doilea criteriu de clasificare a RNA are în vedere numărul straturilor de neuroni
din reţea. Din acest punct de vedere se disting:
• RNA cu un singur strat. În acest caz stratul unic joacă rol dublu intrare-ieşire.
Totodată, absenţa altor straturi impune ca aceste RNA să aibă o topologie buclată .
În această categorie se înscriu reţelele Hopfield (Fig. 4), precum şi variante
ale acestora, care se deosebesc în funcţie de modul de conectare a neuronilor.
Reţelele cu un singur strat sunt folosite pentru completarea modelelor, filtrarea unor
semnale sau rezolvarea unor probleme de optimizare.
• RNA cu două straturi. În acest caz, primul strat este stratul de intrare, iar al doilea cel
de ieşire, neexistând un strat ascuns. Reţelele din această categorie sunt folosite cu
precădere ca reţele clasificatoare. În funcţie de topologia lor, se disting RNA
feedforward (Fig. 7) sau RNA hibride feedforward-feedback (Fig. 8).
• RNA multistrat. Reţelele din această categorie pot avea, în principiu, un număr
nelimitat de straturi. Toate straturile, cu excepţia primului şi ultimului, sunt straturi
ascunse. Structura generală a unei asemenea RNA este indicată în Fig. 9.
Majoritatea RNA multistrat utilizate în diverse aplicaţii practice fac parte din categoria
reţelelor feedforward (nebuclate), iar răspândirea cea mai mare o are perceptronul
multistrat. Principalele aplicaţii ale acestui tip de reţea au în vedere clasificarea şi
aproximarea funcţiilor.
y1 y2 . . . yn
y1 y2 . . . yn
x1 x2 . . . xn x1 x2 . . . xn
... ...
... ...
... ...
... ...
Intrări
APLICAŢIE
În cadrul şedinţei de laborator, se va utiliza aplicaţia sofware care permite studiul
funcţionării neuronului elementar. Se va studia funcţionarea neuronului cu o intrare (Fig.10), a
neuronului cu două intrări (Fig. 11) şi a unei reţele neuronale simple de tip feedforward cu două
straturi (fig. 12). Cu ajutorul unor cursoare, se pot alege diferite valori pentru mărimile de intrare şi
pragul de activare al fiecărui neuron. Programul permite utilizarea unei funcţii de activare
identitate, sigmoid logistic sau tangent hiperbolic. Rezultatele sunt prezentate sub formă
numerică şi grafică.
Se vor realiza combinaţii mărimi de intrare – praguri – funcţii de activare, analizând şi
comparând rezultatele obţinute.
Variabile
f(x,y,z)
x y z Fig. 13 Tabelul de definiţie pentru setul de
…… …… …… …… date de antrenare al perceptronului multistrat,
…… …… …… …… în cazul a trei intrări – x, y şi z – şi a unei ieşiri
…………………… – f(x,y,z).
…… …… …… ……
folosind valorile curente ale ponderilor, se face propagarea înainte a informaţiei de intrare,
calculându-se ieşirea reală furnizată de reţea, o .
(m)
de mai sus se reiau pentru următorul model din setul de antrenare (m ← m + 1), ponderilor li se
va aplica o nouă corecţie în raport cu ieşirile o şi d . După epuizarea tuturor modelelor
(m + 1) (m + 1)
din setul de antrenare, se spune că s-a efectuat un ciclu de antrenare. Este de aşteptat ca, pe
măsura considerării de noi modele din setul de antrenare, abaterile o – d să se micşoreze,
(m) (m)
în general, pentru toate modelele. De cele mai multe ori, însă, un singur ciclu de antrenare nu
este suficient pentru aproximarea cu suficientă precizie a tuturor valorilor de ieşire indicate în
setul de antrenare. Ca urmare, algoritmul se reia pentru un nou ciclu şi procesul continuă, până la
satisfacerea unui anumit criteriu de oprire.
Forma generalizată a regulii ∆ propusă de Rumelhart este descrisă de următoarele trei
propoziţii:
(1) Pentru fiecare model de intrare – ieşire m din setul de antrenare, corecţia unei ponderi wij –
notată ∆ wij – pentru conexiunea dintre neuronul j şi neuronul i din stratul inferior (vezi Fig.
(m)
∆( m ) wij = η ⋅ δ j ( m ) ⋅ oi ( m ) (1)
este ieşirea neuronului i din stratul inferior, pentru modelul m, iar η este un factor
(m)
unde oi
de proporţionalitate, numit rată de învăţare.
Dacă neuronul j se află în stratul de ieşire (vezi Fig. 14.a), termenul de eroare δj se
(m)
(2)
calculează în funcţie de abaterea între valoarea reală oj şi cea dorită dj şi derivata
(m) (m)
( ) (
δ j ( m ) = d j ( m ) − o j ( m ) ⋅ f ′ net j ( m ) ) (2)
(3) Dacă neuronul j se află în stratul ascuns (Fig. 14.b), fiind legat prin conexiuni sinaptice cu
neuronii k din stratul de ieşire, termenul de eroare δj este proporţional cu suma tuturor
(m)
(
δ j ( m ) = ∑ δ k ( m ) ⋅ w jk ⋅ f ′ net j ( m ) ) (3)
k
k …
wjk
oj(m) oj(m)
j j
wij wij
oi(m) oi(m)
… …
i i
(a) (b)
Fig. 14 Cazuri particulare de aplicare a regulii ∆, în funcţie de poziţia conexiunilor sinaptice wij: (a)
neuronul j se află în stratul de ieşire sau (b) neuronul j se află în stratul ascuns.
Propoziţiile (2) şi (3) arată că ponderile asociate unui anumit neuron sunt ajustate cu termeni
direct proporţionali cu abaterile dintre mărimile reale şi cele dorite corespunzătoare neuronilor cu
care primul este legat.
Regulile prezentate pentru aplicarea algoritmului de retropropagare se referă strict la ponderi,
fără a aminti nimic de pragurile θj asociate fiecărui neuron. Această formalizare nu exclude însă
posibilitatea folosirii pragurilor θj, care pot fi modelate ca ponderi wij ale conexiunilor cu un neuron
i din stratul imediat inferior, a cărui ieşire are întotdeauna valoare unitară.
Cele trei propoziţii care stau la baza algoritmului de retropropagare au fost doar enunţate,
fără a aduce în sprijinul lor nici un suport matematic. S-a considerat însă utilă descrierea
prealabilă a principiilor formei generalizate a regulii ∆, urmând ca aparatul matematic necesar să
fie descris mai târziu. Deocamdată, ca o scurtă introducere, vom menţiona că, dacă pentru
estimarea performanţelor reţelei neuronale se foloseşte ca metrică jumătate din abaterea
pătratică totală pe stratul de ieşire (pentru un model m şi J neuroni de ieşire):
∑ (d j )
1 J 2
E( m ) = (m)
− o (j m ) (4)
2 j =1
w11 v11 o1
x1 1
x1
1 g y1 1 h e1
wI1 vJ1
d1
x2 w12 y2 v12
g o2
x2 2 2 2 h e2
wI2 vJ2
d2
…
…
w1J v1K
oK
xI I J g K h eK
xI wIJ yJ vJK
dK
Stratul de Stratul Stratul de Ieşiri dorite şi
intrare ascuns ieşire abateri
În aceste condiţii, pentru aproximarea cât mai corectă a ieşirilor dorite d prin ieşirile reale
(m)
estimare a erorilor de aproximare, care poate fi oricare dintre funcţiile abatere care urmează:
∑ ∑ (d k )
M M K 2
APT = ∑ ||d − o k( m )
(m) (m) 2 (m)
–o || = (5)
m =1 m =1 k =1
∑ ∑ (d k )
1 M 1 M K 2
APMT = ∑ ||d – o || = − o k( m )
(m) (m) 2 (m)
(7)
M ∗K m =1 M ∗K m =1 k =1
∑ (d k )
1 K 2
APMP = (m)
− o k( m ) (8)
K k =1
1 M (m)
∑
2
E= d − o (m) (10)
2 m =1
E(w, v) =
1 M
2 m =1
(m) (m) 2 1 M K (m)
∑ ||d – o || = = ∑ ∑ d k − ok
2 m =1k =1
(m)
( )
2
=
1 M K (m)
[
∑ ∑ d − h qk
2 m =1 k =1 k
(m)
( )]
2
=
2 2
1 M K J
= ∑ ∑ d k( m ) − h ∑ v jk ⋅ y (j m ) =
2 m=1 k =1
1 M K J
= ∑ ∑ d k( m ) − h ∑ v jk ⋅ g r j( m ) ( )
=
(11)
j =1 2 m =1 k =1 j =1
2
1 M K J I
= ∑ ∑ d k( m ) − h ∑ v jk ⋅ g ∑ wij ⋅ xi( m )
2 m=1 k =1 j =1 i =1
unde yj este ieşirea neuronului ascuns j, pentru modelul m, iar xi este intrarea reţelei pe
(m) (m)
Relaţiile (11) şi (14) indică un sistem de ecuaţii neliniare , a cărui rezolvare se face pe cale
iterativă, folosind o metodă de tip gradient, ale cărei principii de aplicare sunt prezentate în
continuare.
Metode de gradient
Cea mai simplă metodă de gradient folosită în problemele de optimizare – în cazul de faţă
minimizarea funcţiei abatere E – permite determinarea unui minim local x* al funcţiei f (x),
impunând anularea derivatei:
f ′(x ) =
df
=0 (15)
dx
În cazul unei funcţii f (x) neliniare, cu o formă complexă, rezolvarea directă a ecuaţiei (15)
nu este posibilă; se poate aplica însă o metodă iterativă care permite determinarea unei
aproximaţii a punctului de minim x*. Pornind de la o aproximaţie iniţială x şi aplicând formula de
0
recurenţă:
df
x t +1 = x t − η ⋅ (16)
dx xt
se determină un şir de aproximaţii succesive care – în anumite condiţii – tinde către minimul local
x*. În relaţia (16) η reprezintă un factor pozitiv folosit pentru amplificarea sau atenuarea deplasării
în lungul direcţiei df / dx. În cazul unor valori prea mari ale factorului η, punctul de minim poate fi
depăşit, în timp ce valori prea mici ale lui η, pot determina o apropiere foarte lentă de punctul de
minim. Relaţia (16) descrie aşa-numita metodă a gradientului.
În cazul algoritmului de retropropagare, pentru care funcţia obiectiv E depinde de mai multe
variabile (vectorii w şi v), relaţia de recurenţă (16) este adusă la forma vectorială, în care derivata
df / dx este înlocuită prin gradientul ∇E, ajungându-se la:
w t + 1 = w t – η ⋅ ∇E(w t ) (17)
v t + 1 = v t – η ⋅ ∇E(v t )
iar factorul η se numeşte rată de învăţare.
Propagarea înapoi a erorii
Se va prezenta în continuare deducerea expresiilor pentru termenii de eroare δj
(m)
din
relaţiile (2) şi (3) indicate pentru forma generalizată a regulii ∆. În acest scop se va folosi
arhitectura reţelei neuronale de tip PMS din Fig. 5, pentru care semnificaţia notaţiilor folosite este:
I, J şi K – numărul de neuroni din straturile de intrare, ascuns şi de ieşire; xi (i = 1,…,I) - intrările
reţelei neuronale; yj ( j = 1,…, J) - ieşirile produse de neuronii ascunşi; ok (k = 1,…,K) - ieşirile
reţelei neuronale; dk (k = 1,…,K) - valorile dorite pentru ieşirile reţelei neuronale; wij (i = 1,…,I; j =
1,…,J) - ponderile conexiunilor dintre straturile de intrare şi ascuns; vjk (j = 1,…,J; k = 1,…,K) -
ponderile conexiunilor dintre straturile ascuns şi de ieşire; g şi h – funcţiile de activare ale
neuronilor din straturile ascuns şi de ieşire. Se mai folosesc, de asemenea, notaţiile: rj
(m)
–
intrarea netă a neuronului j din stratul ascuns, pentru modelul m (vezi rel. (13)); qk – intrarea
(m)
netă a neuronului k din stratul de ieşire, pentru modelul m (vezi rel. (12)).
Dintre funcţiile obiectiv menţionate, pentru ajustarea ponderilor din reţeaua neuronală, se
va folosi într-o primă etapă abaterea pătratică parţială APP , corespunzătoare modelului m. Cu
(m)
alte cuvinte, ajustarea ponderilor se face după prezentarea fiecărui model din setul de antrenare.
În finalul acestui paragraf, se va prezenta şi modul în care are loc propagarea înapoi a erorii în
cazul în care antrenarea se face pe întregul lot, adică ajustarea ponderilor se face o singură dată,
la fiecare ciclu, după prezentarea tuturor modelelor. În continuare, pentru simplificarea notaţiilor,
se renunţă la indicele care precizează modelul m, iar abaterea se notează simplu cu E; astfel,
până la precizări contrare, în cadrul acestui paragraf notaţia E ţine locul lui APP .
(m)
= w – η⋅∇E(w ) = w + ∆ w
t+1 t t t t
w (18)
= v – η⋅∇E(v ) = v + ∆ v
t+1 t t t t
v
Particularizarea acestor relaţii pentru una din ponderi:
∂E
wijt +1 = wijt − η ⋅ wijt
∂wij
(19)
∂E
v tjk+1 = v tjk − η ⋅ v tjk
∂v jk
arată că ajustarea ponderilor din reţea presupune calculul derivatelor funcţiei-eroare în raport cu
fiecare dintre ponderi. În continuare se va indica modul de calcul al acestor derivate pentru cazul
reţelei cu un singur strat ascuns. De asemenea, se vor indica particularităţile legate de folosirea
diferitelor tipuri de funcţii de activare. În final se descrie o generalizare a formulelor stabilite în
cazul folosirii abaterii pătratice parţiale APP pentru cazul antrenării pe întregul lot, când se
(m)
care corespunde intrărilor nete, notate rj şi qk , pentru reţeaua din Fig. 14. Funcţia de activare
(m) (m)
f (corespunzătoare funcţiilor g şi h pentru reţeaua din Fig. 14) se aplică acestei intrări nete, pentru
a determina ieşirea neuronului i:
outi = f (neti ) (23)
∂E ∂E ∂ o k ∂E ∂ o k ∂ q k
= ⋅ = ⋅ ⋅ =
∂ v jk ∂ o k ∂ v jk ∂ o k ∂ q k ∂ v jk
K 2 ∂ J
=
∂
∂ ok
( )
∑ d p − o p ⋅ h ′(q k ) ⋅ ∑ v pk ⋅ y p =
∂ v jk p =1
(24)
p =1
= 2 ⋅ (d k − o k ) ⋅ (− 1) ⋅ h ′(q k ) ⋅ y j = −2 ⋅ (d k − o k ) ⋅ h ′(q k ) ⋅ y j
=
∂ K 2
( )
∑ (d k − o k ) ⋅ g ′ r j ⋅ xi =
∂ y j k =1
=∑
K
k =1 ∂
∂
y
[ ] ( )
(d k − ok )2 ⋅ g ′ r j ⋅ xi =
j
K ∂o
= 2 ⋅ ∑ (d k − o k ) ⋅ (− 1) ⋅ k
∂ yj
( )
⋅ g ′ r j ⋅ xi =
k =1
K ∂ o ∂ qk
= −2 ⋅ ∑ (d k − o k ) k ⋅
∂ qk ∂ y j
( )
⋅ g ′ r j ⋅ xi =
k =1
K ∂ J
= −2 ⋅ ∑ (d k − o k ) ⋅ h ′(q k ) ⋅ ( )
∑ v pk ⋅ y p ⋅ g ′ r j ⋅ xi =
∂y j p =1
k =1
K
( )
= −2 ⋅ ∑ (d k − o k ) ⋅ h ′(q k ) ⋅ v jk ⋅ g ′ r j ⋅ xi
k =1 (25)
Expresiile astfel stabilite vor fi modificate pentru a ţine seama de forma funcţiilor de activare
g şi h. Pentru aceste funcţii se vor considera două cazuri posibile: sigmoidul unipolar şi sigmoidul
bipolar. Expresiile acestor două funcţii, considerând – în cazul sigmoidului unipolar – şi un prag b,
au formele:
• sigmoidul unipolar: f1 (x ) =
1
1 + e − x + b)
(
1 + e−x
• sigmoidul bipolar: f 2 (x ) =
1 − e −x
Pentru sigmoidul unipolar, expresia derivatei este:
df1
=−
(− 1) ⋅ e (− x+b ) = e (− x+b ) = 1 + e (− x+b ) − 1
dx [
1 + e (− x + b )
2
] [ 1 + e (− x + b )
2
] [1 + e(− x + b )]2
= f1 (x ) − [ f1 (x )]2 = f1 (x ) ⋅ [1 − f1 (x )]
1 1
= −
1+ e ( − x +b )
[
1+ e ( − x + b ) ]
2
( ) (
df 2 (− 1) ⋅ e − x 1 − e − x − e − x ⋅ 1 + e − x
= = −
) e−x
( ) ( )
2
2 2
dx 1 − e−x 1− e−x
Dacă în expresia lui f2(x) se adună, respectiv se scade 1 în ambii termeni, se obţin relaţiile:
1 + e−x 1 + e−x 2e − x
1 + f 2 (x ) = 1 + 1 − f 2 (x ) = 1 −
2
= =−
1 − e −x 1 − e −x 1 − e −x 1 − e −x
Înmulţind aceste ultime două expresii din relaţia, se obţine:
e−x
[1 + f 2 (x )] ⋅ [1 − f 2 (x )] = −4
(1 − e )
(26)
−x 2
astfel încât, pentru derivată df2 / dx din (.55) se obţine expresia echivalentă:
= [1 + f 2 (x )] ⋅ [1 − f 2 (x )]
df 2 1
(27)
dx 2
Relaţiile (26) şi (27) au fost folosite pentru rescrierea relaţiilor de calcul a derivatelor
funcţiei-eroare în raport cu ponderile (vezi Tabelul 1).
Tabelul 1 – Relaţiile de calcul ale derivatelor funcţiei-eroare în raport cu ponderile pentru reţele
de tip PMS cu un singur strat ascuns şi funcţii de activare de tip sigmoidal.
∂E
= −2 ⋅ (d k − o k ) ⋅ o k ⋅ (1 − o k ) ⋅ y j
∂ v jk
Sigmoid unipolar
∂E
∂ wij
K
(
= −2 ⋅ ∑ (d k − o k ) ⋅ o k ⋅ (1 − o k ) ⋅ v jk ⋅ y j ⋅ 1 − y j ⋅ xi )
k =1
∂E
= −(d k − o k ) ⋅ (1 + o k ) ⋅ (1 − o k ) ⋅ y j
∂ v jk
Sigmoid bipolar
∂E
∂ wij
1 K
( )(
= − ⋅ ∑ (d k − o k ) ⋅ (1 + o k ) ⋅ (1 − o k ) ⋅ v jk ⋅ 1 + y j ⋅ 1 − y j ⋅ xi
2 k =1
)
Propagarea înapoi a erorii în cazul antrenării pe întregul lot
Antrenarea după abaterea pătratică parţială pentru fiecare model m, APP , determină
m
adaptarea ponderilor astfel încât se asigură reducerea erorii de aproximare pentru modelul m.
Nimic nu garantează însă că, la prezentarea următorului model m + 1, adaptarea ponderilor în
sensul micşorării erorii pentru acel model, nu va produce creşterea erorilor de aproximare pentru
modelul m şi pentru toate celelalte modele prezentate deja reţelei în cadrul ciclului curent. În
realitate, de cele mai multe ori chiar aşa se întâmplă şi, în consecinţă, de la un ciclu de antrenare
la altul, eroarea globală de aproximare scade foarte lent.
Pentru eliminarea acestei deficienţe se poate folosi o schemă de antrenare care realizează
adaptarea ponderilor o singură dată în cadrul unui ciclu de antrenare. În acest caz, după
prezentarea fiecărui model m, ieşirile reale furnizate de reţea ok , k = 1,…,K sunt memorate,
m
∑ ∑ (d k )
M K
E = ( APT ) =
2
(m)
− o k( m ) (28)
m =1 k =1
4. Ajustarea poderilor:
for c = 1 to Cmax do.
for m = 1 to M do.
// Propagare înainte în primul strat
for j = 1 to J do
yj = 0;
for i = 1 to I do yj = yj + wji ⋅ xi
// Propagarea înainte în al doilea strat
for k = 1 to K do
ok = 0;
for j = 1 to J do ok = ok + vkj ⋅ yj
for j = 1 to J do
// Adaptarea ponderilor pentru al doilea strat
for k = 1 to K do
( )
v jk = v jk + η1 ⋅ d k( m ) − o k ⋅ o k ⋅ (1 − o k ) ⋅ y j
// Adaptarea ponderilor pentru primul strat}
for i = 1 to I do
K
[( ) ]
wij = wij + η 2 ⋅ ∑ d k( m ) − o k ⋅ o k ⋅ (1 − o k ) ⋅ v jk ⋅ o k ⋅ (1 − o k ) ⋅ xi( m )
k =1