rn2009 curs6
TRANSCRIPT
Retele neuronale - curs 6 1
Variante ale algoritmului BackPropagation
Algoritmul BackPropagation standard
Variante ale algoritmului standard
Probleme ale algoritmului BackPropagation Cauze Solutii
Retele neuronale - curs 6 2
Algoritmul BackPropagationReminder: retea cu doua
nivele
1
0
2
0
)1(1
)2(2
N
k
N
jjkjiki xwfwfy
Antrenare: • Set de antrenare: {(x1,d1),…,
(xL,dL)}
• Functie de eroare: eroarea medie patratice
• Minimizare: metoda gradientului
Retele neuronale - curs 6 3
Algoritmul BackPropagation Structura generala
Varianta seriala
Initializare aleatoare a ponderilor
REPEAT
FOR l=1,L DO
etapa FORWARD
etapa BACKWARD
modificarea ponderilor
ENDFOR
Recalcularea erorii
UNTIL <conditie de oprire>
epoc
a
Varianta batch (cu ajustare cumulata)
Initializare aleatoare a ponderilor
REPEAT
Initializarea variabilelor ce vor contine ajustarile
FOR l=1,L DO
etapa FORWARD
etapa BACKWARD
cumularea ajustarilor
ENDFOR
Modificarea ponderilor
Recalcularea erorii
UNTIL <conditie de oprire>
epoc
h
Retele neuronale - curs 6 4
Algoritmul BackPropagationDetalii (varianta seriala)
ENDFOR
: ,:
/* ajustare de Etapa * /
)(: ),)((:
/* BACKWARD Etapa * /
)(: ,: ),(: ,:
/* FORWARD Etapa * /
DO ,1: FOR
REPEAT
0:
)1,1(:),1,1(:
2211
2
1
2'1
'2
2
1
0
21
0
0
1
21
lk
liikik
lj
lkkjkj
N
i
liik
lk
lk
li
li
li
li
li
li
N
k
lkik
li
lk
lk
N
j
ljkj
lk
ikkj
ywwxww
wxfydxf
xfyywxxfyxwx
Ll
p
randwrandw
Retele neuronale - curs 6 5
Algoritmul BackPropagationDetalii (varianta seriala)
* OR UNTIL
1:
)2/(:
ENDFOR
)(:
/* erorii Sumarea * /
)(: ,: ),(: ,:
/*)ponderilor ale valorinoile(cu FORWARD Etapa * /
DO ,1: FOR
0:
/* erorii Calculul * /
max
1
2
2
1
0
21
0
0
1
EEpp
pp
LEE
ydEE
xfyywxxfyxwx
Ll
E
L
l
li
li
li
li
N
k
lkik
li
lk
lk
N
j
ljkj
lk
Retele neuronale - curs 6 6
Algoritmul BackPropagationParticularitati ale variantei “batch”
222111
2211
2
1
2'1
'2
2
1
0
21
0
0
1
21
21
: ,:
ENDFOR
: ,:
/* ajustare de Etapa * /
)(: ),)((:
/* BACKWARD Etapa * /
)(: ,: ),(: ,:
/* FORWARD Etapa * /
DO ,1: FOR
00
REPEAT
0:
0..0,1..0,2..1 ),1,1(:),1,1(:
ikikikkjkjkj
lk
liikik
lj
lkkjkj
N
i
liik
lk
lk
li
li
li
li
li
li
N
k
lkik
li
lk
lk
N
j
ljkj
lk
ikkj
ikkj
wwww
yx
wxfydxf
xfyywxxfyxwx
Ll
:,Δ:Δ
p
NjNkNirandwrandw
Retele neuronale - curs 6 7
Variante
Noi variante ale algoritmului BackPropagation pot fi obtinute prin modificarea:
Functiei de eroare
Metodei de minimizare
Metodei de alegere a ratei de invatare
Initializarii ponderilor
Retele neuronale - curs 6 8
VarianteFunctia de eroare:• Eroarea medie patratica este potrivita pentru rezolvarea problemelor
de aproximare• Pentru problemele de clasificare a masura mai adecvata este entropia
incrucisata (cross-entropy):• Caz particular: clasificarea in doua clase
– dl este din {0,1} (0 corespunde clasei 0 iar 1 corespunde clasei 1– yl este din (0,1) si poate fi interpretata ca probabilitatea de
apartenenta la clasa 1
0 daca)1ln(
1 dacaln)(
))1ln()1(ln()(1
ll
lll
L
lllll
dy
dyWE
ydydWCEObs: Valoarea minima (0) se
obtine cand dl si yl sunt suficient deapropiate
Retele neuronale - curs 6 9
Variante
Eroare bazata pe entropie: Se schimba valorile derivatelor partiale Semnalul de eroare corespunzator unitatii de iesire (cu functie
logistica de transfer) va fi:
)1()1(
)1()1(
)1()1()()
1
1( )2('
2
llll
llll
llll
l
l
l
ll
dyyd
yyyy
dyydxf
y
d
y
d
Retele neuronale - curs 6 10
VarianteMetoda de minimizare:
• Metoda gradientului este simpla dar are dezavantaje:– Convergenta lenta
– Sensibilitate mare la alegerea valorii ratei de invatare (pasul de descrestere)
• Se pot utiliza metode mai rapide (insa mai complexe):– Metoda gradientului conjugat (si variante ale ei)
– Metoda lui Newton
• Particularitati ale acestor metode:– Convergenta rapida (ex: metoda gradientului conjugat converge in n
iteratii pentru functii patratice de argument n-dimensional)
– Necesita calculul matricii hessiene (matrice continand derivatele de ordin doi ale functiei de eroare) si uneori a inversei acesteia
Retele neuronale - curs 6 11
VarianteExemplu: metoda lui Newton
))(())(()()1(
:fi va wlui a estimare Noua
0))(()())(())((
:ec a solutie ca obtine vase pentru w aproximare noua criticpunct de
conditia punand si cu raport in Taylor seriein adezvoltare Derivand
))(())((
))())((())((2
1))(()))((())(()(
p) epocii toarecorespunza (estimarea )(in Taylor seriein dezvoltarePrin
ponderile) toatecontine ce (vectorul ,:
1
2
pwEpwHpwpw
pwEpwpwHwpwH
w
ww
pwEpwH
pwwpwHpwwpwwpwEpwEwE
pw
RwRRE
jiij
TT
nn
Retele neuronale - curs 6 12
Variante
Avantaj:
• Nu necesita calculul hessianei
• Pentru valori mari ale factorului de atenuare ajustarea devine similara celei de la metoda gradientului
j
iij
Tp
T
L
l
TL
Lnl
w
wEwJ
wewJ
pwepwJIpwJpwJpwpw
wEwEweRRewEwE
)()(
eargumentel cu toate
raport in e luir derivatelo matricea)( lui jacobianul)(
))(())(()))(())((()()1(
))(),...,(()(,: ),()(
1
11
Caz particular: metoda Levenberg-Marquardt• Metoda lui Newton adaptata pentru cazul in care eroarea este o
suma de patrate de diferente (cum este eroarea medie patratica)
Termen de perturbare care eliminacazurile singulare (matrice neinversabila)
Retele neuronale - curs 6 13
VarianteAlegerea ratei de invatare:
• Constanta
• Adaptiva– Metode euristice
– Aplicand, la fiecare etapa de ajustare, o metoda unidimensionala de minimizare
Retele neuronale - curs 6 14
VarianteInitializarea ponderilor:
• Aleator
• Aplicand o metoda aleatoare de minimizare
Retele neuronale - curs 6 15
Probleme ale algoritmului BP• Viteza mica de convergenta (eroarea descreste prea
incet)
• Oscilatii (valoarea erorii oscileaza in loc sa descreasca in mod constant)
• Problema minimelor locale (procesul de invatare se blocheaza intr-un minim local al functiei de eroare)
• Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim local)
• Supraantrenarea si capacitatea limitata de generalizare
Retele neuronale - curs 6 16
Probleme ale algoritmului BPP1: Eroare descreste prea incet sau oscileaza in loc sa descreasca
Cauze: • Valoare inadecvata a ratei de invatare (valori prea mici conduc
la convergenta lenta iar valori prea mari conduc la oscilatii)– Solutie: adaptarea ratei de invatare
• Metoda de minimizare are convergenta lenta
Solutii:
- modificarea euristica a variantei standard (e.g. momentum)
- utilizarea unei alte metode de minimizare (Newton, gradient conjugat)
Retele neuronale - curs 6 17
Probleme ale algoritmului BPRata adaptiva de invatare:• Daca eroarea creste semnificativ atunci rata de invatare trebuie
redusa (ajustarile sunt ignorate)• Daca eroarea descreste semnificativ atunci rata de invatare poate
fi marita (ajustarile sunt acceptate)• In toate celelalte cazuri rata de invatare ramane neschimbata
)1()()1()1()()1()1(
21 ),1()()1()1()(
10 ),1()()1()1()(
pppEpEpE
bpbppEpE
apappEpE
Exemplu: γ=0.05
Retele neuronale - curs 6 18
Probleme ale algoritmului BPVarianta cu “moment” (termen de inertie):• Se introduce o “inertie” in calculul ponderilor: termenul de ajustare a ponderilor de la epoca curenta se
calculeaza pe baza semnalului de eroare precum si a ajustarilor de la epoca anterioare
• Actioneaza ca o adaptare a ratei de invatare: ajustarile sunt mai mari in portiunile plate ale functiei de eroare si mai mici in cele abrupte
• Se combina cu varianta pe blocuri
9.0
)()1(
pwypw ijjiij
Retele neuronale - curs 6 19
Probleme ale algoritmului BPP2: Problema minimelor locale (procesul de invatare se blocheaza
intr-un minim local al functiei de eroare)
Cauza: metoda gradientului este o metoda de minimizare locala
Solutii:• Se restarteaza antrenarea de la alte valori initiale ale ponderilor• Se introduc perturbatii aleatoare (se adauga la ponderi dupa
aplicarea ajustarilor):
edistribuit normalsau
uniform aleatoare valori: , ijijijij ww
Retele neuronale - curs 6 20
Probleme ale algoritmului BPSolutie:• Inlocuirea metodei gradientului cu o metoda aleatoare de
optimizare• Inseamna utilizarea unei perturbatii aleatoare in locul celei
calculate pe baza gradientului• Ajustarile pot conduce la cresterea valorii erorii• Pasul de ajustare
)W:(W ajustare accepta se THEN )()( IF
aleatoare valori:
WEWE
ij
Obs:• Ajustarile sunt de regula generate in conformitate cu repartitia
normala de medie 0 si dispersie adaptiva• Daca ajustarea nu conduce la o descrestere a valorii erorii atunci
nu se accepta deloc sau se accepta cu o probabilitate mica
Retele neuronale - curs 6 21
Probleme ale algoritmului BP
Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim local)
Cauza: ajustarile sunt foarte mici intrucat se ajunge la argumente mari ale functiilor sigmoidale ceea ce conduce la valori foarte mici ale derivatelor; argumentele sunt mari fie datorita faptului ca datele de intrare nu sunt normalizate fie intrucat valorile ponderilor sunt prea mari
Solutii:– Se “penalizeaza” valorile mari ale ponderilor
– Se utilizeaza doar semnele derivatelor nu si valorile lor
Retele neuronale - curs 6 22
Probleme ale algoritmului BP
Penalizarea valorilor mari ale ponderilor: se adauga un termen de penalizare la functia de eroare
ji
ijr wWEWE,
2)( )()(
Ajustarea va fi:
ijijrij w2)(
Retele neuronale - curs 6 23
Probleme ale algoritmului BPUtilizarea semnului derivatei nu si a valorii (Resilient BackPropagation – RPROP)
ab
w
pWE
w
pWEpb
w
pWE
w
pWEpa
p
w
pWEp
w
pWEp
pw
ijijij
ijijij
ij
ijij
ijij
ij
10
0 ))2(())1((
if)1(
0 ))2(())1((
if)1(
)(
0 ))1((
if)(
0 ))1((
if)(
)(
Retele neuronale - curs 6 24
Probleme ale algoritmului BPSupraantrenare si capacitate limitata de generalizare:
Cauze:• Arhitectura retelei (numarul de unitati ascunse)
– Un numar prea mare de unitati ascunse poate provoca supraantrenare (reteaua extrage nu doar informatiile utile din setul de antrenare ci si zgomotul)
• Dimensiunea setului de antrenare– Prea putine exemple nu permit antrenarea si asigurarea
capacitatii de generalizare• Numarul de epoci (toleranta la antrenare)
– Prea multe epoci conduc la supraantrenare
Solutii:• Modificarea dinamica a arhitecturii• Criteriul de oprire se bazeaza nu pe eroarea pe setul de
antrenare ci pe un set de validare
Retele neuronale - curs 6 25
Probleme ale algoritmului BPSupraantrenare si capacitate limitata de generalizare:
Retele neuronale - curs 6 26
Probleme ale algoritmului BPModificarea dinamica a arhitecturii:
• Strategie incrementala:
– Se porneste cu un numar mic de unitati ascunse– Daca antrenarea nu progreseaza se adauga succesiv unitati;
pentru asimilarea lor se ajusteaza in cateva epoci doar ponderile corespunzatoare
• Strategie decrementala:
– Se porneste cu un numar mare de unitati– Daca exista unitati care au impact mic asupra semnalului de iesire
atunci acestea se elimina
Retele neuronale - curs 6 27
Probleme ale algoritmului BP
Criteriu de oprire bazat pe eroarea pe setul de validare :
• Se imparte setul de antrenare in m parti: (m-1) sunt folosite pentru antrenare si una pentru validare
• Ajustarea se aplica pana cand eroarea pe setul de validare incepe sa creasca
Validare incrucisata:• Algoritmul de invatare se aplica de m ori pentru cele m variante
posibile de partitionare a datelor in subset de antrenare si subset de validare
Retele neuronale - curs 6 28
Probleme ale algoritmului BP
Criteriu de oprire bazat pe eroarea pe setul de validare :
Eroare pe setul de antrenare
Eroare pe setul de validare