Sunteți pe pagina 1din 33

Cobo

râr
e  
p e  
gr ad
ien
t  

f(
x+�
)≈f(
x)+�
f(x)

f(
x)>0→ fc
res
te

f(
x)<0→ fs
cad
e

Da
ca�>0→ f(
x−�·s
ign
(f(
x))≤f(
x)

cobo
râr
e  
p e  
gr ad
ien
t  
în  1D
 
Tipuri  de  puncte  cri-ce  

x e punct critic → f (x) = 0
Minim  local  vs  minim  global  
Cobo
râr
e  
p e  
gr ad
ien
t  
în  
R  
s

w  
ar e
 
s
 
=
 
J
(n +1
)  
+  
L( J
+1)
 
ponde
ri  
 
 

k+1 k k
w =w −ρ·∇wkE(
w)

cobo
râr
e  
p e  
gr ad
ien
t  
în  
s
 
d imen
siun
i  
Incremental  vs  batch  

Eroarea  calculată  pentru  un  singur  exemplu  (cel  curent)  

Eroarea  calculată  pentru  toate  exemplele  


Cobo
râr
e  
p e  
gr ad
ien
t  
fo lo
sind
 
min ib
atch
-­‐u
ri  

Ap
roxim eaz
ă  
g r adi entu l  
p e  
b a z
a  
num a
i  
a  m

 
e x emp
le
(min
i-­‐b
atch
)  
{ x (1
),
 
x(2,
)  
x(3),…  
x(m’
)}
 

1
m
� � L
(j) (
j) 2
E(
w)= � (
dl −yl )
m j=1
l
=1
k+1 k k
w =w −ρk+1 ·∇wkE(
w)
r
ata
 
l a  
i t e
ra-a
 
k +1
,  
t r ebuie  
sa  
s c ad a  
la  
fi e c
are  
it e
ra-
e,
 
al^ e
l  
in t
rodu
ce  
z gomo
t  
P
entru  
con ve
rg en t
a  
e ste
 
sufi c i en t  
c a :
 

� �∞
ρk =∞, ρ2
k <∞,
k=1 k=1
Dezavantaje  backpropaga-on  

• viteză  lentă  de  convergență  

• oscilații  în  găsirea  soluției  op-me  (zig  –zag)  

• soluție  minim  local  

• soluție  cu  valorea  mică  a  funcției  eroare  dar  cu  


capacitate  mică  de  generalizare  (overfiang)  
 
 
Dezavantaje  backpropaga-on  
Exemplu:  rețeaua  ne^  care  implementează  funcția  f  
Dezavantaje  backpropaga-on  
Exemplu:  rețeaua  ne^  care  implementează  funcția  f  

10  
-­‐5   1  
10   1  
-­‐1  

-­‐5  

Par,cularizez  cei  7  parametri  


Dezavantaje  backpropaga-on  
Exemplu:  rețeaua  ne^  care  implementează  funcția  f  

10  
-­‐5   1  
10   1  
-­‐1  

-­‐5  

Par,cularizez  cei  7  parametri   Funcția  f  


Dezavantaje  backpropaga-on  
Exemplu:  consideram  o  rețeaua  net  cu  aceeasi  arhitectura
ca  ne^  pentru  care  vrem  sa  es-mam  parametri  op-mi  pe  
baza  unei  mul-mi  de  antrenare  

Mulțimea  de  antrenare  


Funcția  f  
Dezavantaje  backpropaga-on  
Vizualizare  suprafața  de  eroare  E    
(fixăm  5  parametri,  vizualizăm  3D)  
Dezavantaje  backpropaga-on  
Vizualizare  suprafața  de  eroare  E    
(fixăm  5  parametri,  vizualizăm  3D)  
Suprafața  de  eroare  E  nu  este  convexă,  
variază   puternic   având   uneori   o   formă  
plată  (platou),  alteori  abruptă.    
 
  -­‐   în   regiunile   de   platou   (caracteris,ce  
pentru   sigmoide)   ,   ar   fi   de   dorit   o   rată  
de  învățare  mare;  
   
-­‐  în  regiunile  foarte  abrupte,  cu  gradient  
foarte   mare,   ar   fi   de   dorit   o   rată   de  
învățare   mica   pentru   a   nu   avea   variații  
foarte  mari  ale  funcției  eroare  E  
 
Dezavantaje  backpropaga-on  
Sensibil  la  inițializare:  inițializări  diferite  duc  la  soluții  
diferite  
Dezavantaje  backpropaga-on  
Sensibil  la  rata  de  învățare:  rată  de  învățare  mare  
conduce  la  oscilații  mari  în  traiectorie,  diverge  de  la  
punctul  de  la  minim  local  

Matlab:  programele  demonstra,ve  nnd12sd1,  nnd12sd2  


Îmbunătățiri  la  backpropaga-on  
1. strategii  de  inițializare  a  parametrilor  

2. învățare  cu  moment  

3. rată  de  învățare  variabilă  

4. bazate  pe  metode  de  op-mizare:  Newton,  gradient  


conjugat,  Levenberg  Marquardt  
Strategii  de  inițializare  a  parametrilor  
 -­‐    bazate  pe  euris-ci  as^el  încât  rețeaua  as^el  
inițializată  să  prezinte  anumite  proprietăți  “dorite”  
 
-­‐  nu  e  clar  dacă  asemenea  proprietăți  se  păstrează  când  
se  începe  învățarea  
 
-­‐  trade-­‐off:  inițializări  bune  pentru  op-mizare  (conduc  
la  puncte  cu  valoare  mică  a  funcției  E)  dar  care  oferă  
o  capacitate  de  generalizare  slabă  
Strategii  de  inițializare  a  parametrilor  
 -­‐    un  singur  lucru  cert:  inițializează  parametri  as^el  încât  
fiecare  perceptron  de  pe  același  strat  (are  aceeași  
funcție  de  ac-vare)  să  învațe  o  altă  funcție  (“fără  
simetrii”).  Dacă  doi  perceptroni  sunt  inițializați  cu  
aceleași  ponderi,  vor  învăța  aceeași  funcție  (vor  primi  
întotdeauna  același  update)  

-­‐  uzual  se  inițializează  ponderile  cu  valori  aleatoare  


selectate  din  distribuția  uniformă  ([-­‐r,r])  sau  
Gaussiană  de  medie  0  
Strategii  de  inițializare  a  parametrilor  
 -­‐    scala  r  este  aleasă  as^el  încât:  
 1.  să  nu  fie  prea  mică  –  să  nu  apară  perceptroni  care    
 învață  aceeași  funcție  
 2.  să  nu  fie  prea  mare  -­‐  produce  “saturație”  pentru  
perceptronii  cu  funcții  de  ac-vare  sigmoide  
 
-­‐exemplu:  se  inițializează  ponderile  unui  perceptron  cu  ni  
intrări  ca  valori  aleatoare  în  [-­‐3*ni-­‐0.5,3*ni-­‐0.5];  dacă  
intrările  perceptronului  urmează  distribuția  N(0,1)  atunci  
neti  (semnalul  primit  de  perceptron  după  integrare)  e  de  
medie  0  și  deviație  standard  1.  
Învățare  cu  moment  

Metoda   momentelor   adaugă   un   termen   reprezentând  


“momentul”  la  ecuațiile  de  update  (3.2  și  3.9)  
În
văț
are
 
cu  mom
ent
 
M
etod
a  
mom en t elo
r  
ad au g ă  un
 
t e rm en  
r epre z en
tând
 

momentul”  
l a  
ecu aț
i
ile  d
e  upd a
t e  
(3 .2
 
și  3
.9)
 

Mom entul:  
a cumu leaz ă  
contribu ți a
 
gr ad ienț
ilo r  d
in  
tr e
cut  
 
In tu i
ție:
 ac
c el e
r e ază  cobo râ
r ea  în
 
dir e

i a  
m edi e,  
p r evin e  
o scil
ați
ile  
Învățare  cu  moment  

Învățare  fără  moment   Învățare  cu  moment  


În
văț
are
 
cu  mom
ent
 
M
etod
a  
mom en t elo
r  
ad au g ă  un
 
t e rm en  
r epre z en
tând
 

momentul”  
l a  
ecu aț
i
ile  d
e  upd a
t e  
(3 .2
 
și  3
.9)
 

P ar am etru l  0< =
 
alph a  
< =1  
con t
ro le az ă  
r ata  
cu  
c ar e  
con t
ribu ți a  d
in
 
tr e cu t
 
a  
gr adi en țilo r  
influ e ț e ază  
dir ec ți a  
a c
tu a lă  d
e  
cobo r âr e  
 
S e  
r ea
liz ea ză  un  upd a t e
 
fo a r t
e  ma r e  
în  
mom en tu l  
în  
care  
s e  
a cumu l e az ă  
fo a
r t e  
mu lți  g
r ad ien ți  
cu  
a c e eași  
d
i r ec ți e  
Învățare  cu  moment  
Metoda   momentelor   adaugă   un   termen   reprezentând  
“momentul”  la  ecuațiile  de  update  (3.2  și  3.9)  

Update-­‐ul  cu  momentul  după  N  iterații:    

În  regiunile  platou,  am  un  gradient  mic,  posibil  constant:  


În
văț
are
 
cu  mom
ent
 
M
etod
a  
mom en t elo
r  
ad au g ă  un
 
t e rm en  
r epre z en
tând
 

momentul”  
l a  
ecu aț
i
ile  d
e  upd a
t e  
(3 .2
 
și  3
.9)
 

Po
t  a
vea
 
p a r
ame
tru
l  
alph
a  
c ar
e  
s e  
mod ifi
că  
în  
-mp:  

P
en tru  
ac eea și  
d
i r e cț ie  a
 
d e r
iv at e
i  
p
a rț
iale  
d ar  d e  
m a gn itud in e  
m ai  
m
i că  a
lgo r
i tmu l  a
c ce le rea ză.  
Pentru  
di rec
ț i e  
opu s ă,  
a l go ri
tmu l  
dece
l er ea ză.  
 
În
văț
are
 
cu  mom
ent
 
M
etod
a  
mom en t elo
r  
ad au g ă  un
 
t e rm en  
r epre z en
tând
 

momentul”  
l a  
ecu aț
i
ile  d
e  upd a
t e  
(3 .2
 
și  3
.9)
 

Mom en
tu l:  
acumu leaz ă  
con tr
ibu ț
ia  
gr ad ienților  d
in  
t r ecut  
 
P en tru  r
eg iun i  abrup t e  t
erm enu
l  
d e  mom en t  
ar e  magnitud in e  
mi că  
Rată  de  învățare  variabilă  
 -­‐  trade-­‐off  pentru  rate  de  învățare:  
 -­‐valoare  mare:  convergență  inițială  rapidă  (bună  
pentru  regiuni  platou),  dar  apoi  oscilații  (divergență  de  la  
soluția  op-mă)  
   -­‐  valoare  mică:  convergență  lentă  (se  fac  multe  
update-­‐uri),  previne  oscilațiile    
 
-­‐  diverse  euris-ci  legate  de  gradient,  de  valoarea  funcției  
obiec-v  
Rată  de  învățare  variabilă  
-­‐  exemplul  1:  rate  de  învățare  constante  invers  
proporționale  cu  numărul  de  intrări  ale  unui  
perceptron  (pentru  a  preveni  “saturația”  
perceptronilor  cu  funcții  de  ac-vare  sigmoide)  

-­‐  exemplul  2:  rate  de  învățare  variabile  pentru  fiecare  


pondere  în  funcție  de  derivatele  parțiale  ale  funcției  
E:  dacă  ele  își  mențin  același  semn  (direcția  e  bună)  
atunci  crește  rata  de  învățare,  al^el  scade  
Rată  de  învățare  variabilă  
-­‐  exemplul  3:  rate  de  învățare  variabilă  în  funcție  de  valoarea  lui  E:  

-­‐  dacă  valoarea  funcției  eroare  E  crește  cu  un  procent  x  (în  MATLAB  
max_perf_inc  =  1.04  implicit)  după  realizarea  unui  update,  atunci  
update-­‐ul  nu  se  mai  realizează,  rata  de  învățare  curentă  se  înmulțește  
cu  o  valoarea  subunitară  0  <  lr_dec<  1  (implicit  parametrul  lr_dec  =  
0.7),  iar  coeficientul  mc  (în  cazul  în  care  este  folosit)  care  specifică  
momentul  se  setează  la  0.    

-­‐  dacă  valoarea  funcției  eroare  E  scade  după  realizarea  unui  update,  se  
acceptă  acest  update  iar  rata  de  învățare  curentă  se  înmulțește  cu  o  
valoarea  supraunitară  (parametrul  lr_inc  =  1.05  implicit).  Dacă  
coeficientul  mc  care  specifică  momentul  este  setat  la  0,  se  resetează  
la  valoarea  inițială.  
Metode  de  op-mizare  
Până  acum  am  folosit  update-­‐uri  pe  bază  de  gradienți  
(derivate  de  ordinul  întâi)  

Alte  metode  (Newton,  gradient  conjugat,  Levenb


erg -­‐ Marquardt)  folosesc  aproximarea  unui  func
ții  pornind de la  dezvoltarea  în  serie  Taylor  până  la  
ordinul  2  
M
etod
a  
lu i  N
ewton
 

ma
tri cea  H
e ssi an a,
 
tr ebui e  
s a  fi
e  
po
zi- v  
d efin i
t ă  
p
entru  
ca  upd at e
-­‐
ul  

 
m e a
r g ă  
în  
dir ecț
ia  
bună  
A
lgo
ri
tm  
fo art e
 
în c
e t,  
tr ebu i e
 
s ă  
in v
ers
eze
 
m a t
ric
ea  
H
ess
iana  
în  
fi e c
ar e  
pun c t.  
Gradienți  conjugați  

Direcția  de  coborâre  d(t)  este  un  compromis  între  


direcția  gradientului  și  direcția  anteriaoră.  Direcția  
este  conjugată  în  raport  cu  matricea  Hessiană  H:  

Regula  Polak-­‐Ribiere:  

Accelerează  convergența    când  ne  aflăm  în  


vecinătatea  unui  minim  local  
Levenberg-­‐Marquardt  

Combină  backpropaga-on  în  variantă  incrementală  la  


început  cu  gradient  conjugat  la  final  
 
Este  opțiunea  implicită  de  antrenare  în  Matlab  (destul  
de  înceată  –  calculează  Hessiana)    

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