rn2009 curs6

28
Retele neuronale - curs 6 1 Variante ale algoritmului BackPropagation Algoritmul BackPropagation standard Variante ale algoritmului standard Probleme ale algoritmului BackPropagation Cauze Solutii

Upload: livlivliv

Post on 22-Jun-2015

112 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Rn2009 curs6

Retele neuronale - curs 6 1

Variante ale algoritmului BackPropagation

Algoritmul BackPropagation standard

Variante ale algoritmului standard

Probleme ale algoritmului BackPropagation Cauze Solutii

Page 2: Rn2009 curs6

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

Page 3: Rn2009 curs6

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

Page 4: Rn2009 curs6

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

Page 5: Rn2009 curs6

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

Page 6: Rn2009 curs6

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

Page 7: Rn2009 curs6

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

Page 8: Rn2009 curs6

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

Page 9: Rn2009 curs6

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

Page 10: Rn2009 curs6

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

Page 11: Rn2009 curs6

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

Page 12: Rn2009 curs6

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)

Page 13: Rn2009 curs6

Retele neuronale - curs 6 13

VarianteAlegerea ratei de invatare:

• Constanta

• Adaptiva– Metode euristice

– Aplicand, la fiecare etapa de ajustare, o metoda unidimensionala de minimizare

Page 14: Rn2009 curs6

Retele neuronale - curs 6 14

VarianteInitializarea ponderilor:

• Aleator

• Aplicand o metoda aleatoare de minimizare

Page 15: Rn2009 curs6

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

Page 16: Rn2009 curs6

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)

Page 17: Rn2009 curs6

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

Page 18: Rn2009 curs6

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

Page 19: Rn2009 curs6

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

Page 20: Rn2009 curs6

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

Page 21: Rn2009 curs6

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

Page 22: Rn2009 curs6

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

Page 23: Rn2009 curs6

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

)(

Page 24: Rn2009 curs6

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

Page 25: Rn2009 curs6

Retele neuronale - curs 6 25

Probleme ale algoritmului BPSupraantrenare si capacitate limitata de generalizare:

Page 26: Rn2009 curs6

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

Page 27: Rn2009 curs6

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

Page 28: Rn2009 curs6

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