Pokročilé metody učení neuronových sítí - webdev.fit.cvut.cz

Download Report

Transcript Pokročilé metody učení neuronových sítí - webdev.fit.cvut.cz

Pokročilé metody
učení neuronových sítí
Tomáš Řehořek
[email protected]
Problém učení neuronové sítě (1)
• Nechť N = (V, I, O, S, w, f, h) je dopředná
neuronová síť, kde:
– V je množina neuronů
– I  V je množina vstupních neuronů
– O  V je množina výstupních neuronů
– S  V × V je množina synapsí
– w : S →  je váhová funkce
– f : V → { φ | φ :  →  je diferencovatelná }
je přiřazení aktivačních funkcí neuronům
Problém učení neuronové sítě (2)
• Předpokládáme, že topologie sítě (V, I, O, S)
a aktivační funkce neuronů (f) jsou pevně dány
• Uvažujme množinu trénovacích příkladů
T = { (x1,d1), (x2,d2), …, (xk,dk) },
kde xi  | I | a di  |O|
• Definujme chybovou funkci E : |S| →  jako:
T
O

E w    d ij - λw  x i  j
i =1 j =1

2
kde λw je funkce realizovaná sítí N za
předpokladu váhové funkce w
Problém učení neuronové sítě (3)
• Váhovou funkci w lze ztotožnit s odpovídajícím váhovým vektorem, tj. w  |S|
• Naším úkolem je nalézt váhový vektor
w  |S| takový, že E(w) je minimální
Učení neuronové sítě: Algoritmy
• Gradientní:
–
–
–
–
–
Back-Propagation
QuickProp
Quasi-Newton
Levenberg-Marquardt
Delta-bar-Delta
• Negradientní:
– Např. evoluční techniky (GNARL, SANE,
NEAT, HyperNEAT…)
Back-Propagation (1)
• Objeven vícekrát nezávisle na sobě na
počátku 70. let (Paul Werbos, 1974)
• Vektor w je náhodně inicializován a následně
iterativně zlepšován
• V každé iteraci je určen vektor gradientu
g = (E)(w) a je učiněn krok proti jeho směru
(chybovou funkci minimalizujeme)
• V nejjednodušší verzi wt+1 = wt + η·g, kde
parametr η nazýváme learning rate
Back-Propagation (2)
• Algoritmus pracuje ve dvou fázích:
– Dopředná – jsou spočítány:
• hodnota λw(x),
• derivace aktivačních funkcí v daných bodech
– Zpětná – od výstupní vrstvy je zpětně šířena chyba
• pro každou synapsi wij ve výstupní vrstvě snadno
zjistíme E/wij jako (E/s) * (s/wij) kde s je
vnitřní potenciál, pomocí rozdílu očekávaného
a skutečného výstupu
• pro synapse v každé vnitřní vrstvě pak počítáme
gradient ze znalosti E/s ve vrstvě následující
Back-Propagation (3)
• Nejčastější varianta: Online learning
(okamžitý update vah), výpočty parciálních
derivací v „error landscape“ probíhají již
v dopředné fázi
• Náchylný k uvíznutí v lokálním minimu
(obyčejný gradientní sestup)
• Klíčový parametr: η – learning rate
Optimalizace 1. a 2. řádu
• Gradientní optimalizace
– optimalizace 1. řádu
– založena na aproximaci „error landscape“
polynomem 1. stupně, tj. nadrovinou
– bereme v potaz pouze sklon, nikoli „křivost“
• Optimalizace 2. řádu
– aproximace „error landscape“ polynomem
2. stupně, tj. kvadratickou funkcí
– problém: vyžaduje znalost Hessovy matice
rozměrů | S | × | S |, výpočetně velmi náročné
QuickProp (1)
• Scott Elliott Fahlman, 1988
• Autor rozšiřuje BP o pseudo-2.řádovou
optimalizaci
• Optimalizační proces stejný jako u BP, pro
každou synapsi si však pamatujeme navíc:
– E/wij z předchozí epochy (t –1)
– rozdíl předchozí a současné váhy
Δwij = wij(t) – wij(t –1)
QuickProp (2)
• Dva velmi silné předpoklady:
– Křivka chybové funkce pro každou váhu
každé synapse je konvexní parabola
– Synapse nejsou v interakci
• Parametry dvourozměrné paraboly jsou nezávislé
na všech ostatních vahách
• Předpoklady v praxi téměř jistě neplatí,
autor je však využívá k empiricky efektivní
optimalizaci
QuickProp (3)
• V každém kroku t známe:
– předchozí směrnici E/wij (t –1)
– deltu Δwij = wij(t) – wij(t –1)
– aktuální směrnici E/wij (t)
• To umožňuje jednoznačné určení paraboly
– v novém kroku se přesuneme přímo do jejího
minima za použití vztahu
Δw ij  t -1
E
Δw ij =
S  t  , kde S  t  
t 
S  t -1 - S  t 
w ij
QuickProp (4)
• Autor hovoří o batch update po epochách
• Odolnější proti uvíznutí v lokálním optimu
než BP
• Základní parametry:
– r … inicializační parametr vah
– ε ... velikost kroku
– μ … omezení velikosti kroku shora
QuickProp (5)
• r … inicializační parametr vah
– na počátku jsou váhy vzorkovány
z uniformního náhodného rozdělení U(-r,r)
– vhodná velikost závisí na typu problému
a charakteristikách aktivačních funkcí
– přirozená volba: r = 1, doporučuje i autor
QuickProp (6)
• ε … velikost kroku
– kroky determinovány předchozím krokem
a aktuálním sklonem → nutnost učinit 1. krok!
– velikost 1. kroku je ε, možno volit např. ε = 1
– vyjde-li v nějakém kroku příliš malé Δwij,
velikost váhy na mnoho epoch „zamrzne“
• autor na základě svých experimentů navrhuje: je-li
znaménko předchozí směrnice shodné se
znaménkem směrnice aktuální, připočtěme k Δwij
vypočtené kvadratickou formulí ještě ε-krát
aktuální směrnici
QuickProp (7)
• μ … horní omezení velikosti kroku
– po každém kroku může u paraboly nastat
jedna ze situací:
• znaménko směrnice zůstává stejné, mění se ale
její velikost (stejné rameno paraboly)
• znaménko směrnice se změní (přeskok na opačné
rameno paraboly)
• směrnice se téměř nezmění, rozdíl je blízký
nule
QuickProp (8)
• μ … horní omezení velikosti kroku
– pokud se velikost směrnice mnoho nezmění,
vyjde nové Δwij velmi vysoké
– proto: velikost nového skoku může být
maximálně μ krát předchozí krok
– autor doporučuje μ = 1.75
Newtonova optimalizační metoda (1)
• Lokální optimalizace náhodně zvoleného
počátečního řešení x  n
• V každé iteraci aproximujeme okolí x
n-rozměrným Taylorovým polynomem
2. stupně, tj. kvadratickou funkcí
• Cílem je nalézt bod s nulovým gradientem
– předpokládáme, že se jedná o lokální
optimum
– hledáme v Taylorově polynomu, což má
přesné analytické řešení
Newtonova optimalizační metoda (2)
• Taylorův polynom získáme jako:
T  xt   E  xt   E  xt 
T
1
T
 x  xt    x  xt  HE  x  x  xt 
2
x ... proměnná
xt … řešení v čase t
T(xt ) … Taylorův polynom v čase t
E(xt ) … hodnota chybové funkce v čase t
 E(xt ) … gradient chybové funkce v čase t
HE(x) … Hessova matice v bodě x
Newtonova optimalizační metoda (3)
• Bod s nulovým gradientem určíme
analyticky v Taylorově polynomu:
xt +1  xt  HE  xt   E  xt 
-1
• Pozn.: v 1-D případě platí:
E   xt 
xt +1  xt 
E   xt 
Quasi-Newton (1)
• Optimalizační metoda založená na klasické
Newtonově metodě
• Předpokládá lokální aproximovatelnost
chybové funkce kvadratickou funkcí, hledá
stacionární bod této funkce
• Vyhýbá se náročnému výpočtu Hessovy
matice druhých derivací
• Hessova matice je průběžně aktualizována
na základě po sobě jdoucích gradientů
Quasi-Newton (2)
• Základní myšlenka:
– Učiňme sekvenci lineárně nezávislých kroků
(Δx1, Δx2, …, Δxn)
– Zaznamenejme přírůstky gradientu
(Δg1, Δg2, …, Δgn)
– Hessovu matici pak spočítáme jako:
(Δg1, Δg2, …, Δgn) * (Δx1, Δx2, …, Δxn) -1
– Potřebnou inverzi spočítáme jako:
(Δx1, Δx2, …, Δxn) * (Δg1, Δg2, …, Δgn) -1
Quasi-Newton (3)
• Algoritmus začíná s libovolnou pozitivnědefinitní maticí S(0), která je v každém
kroku aktualizována pomocí Δxt a Δgt
• Existuje celá řada variant
– Davidon-Fletcher-Powell (DFP)
• historicky první Quasi-Newton metoda
– Broyeden-Fletcher-Goldfarb-Shanno (BFGS)
• považován za nejlepší známou QN metodu
• Typicky se používá batch update vah
Levenberg-Marquardt (1)
• Kompromis mezi:
– Quasi-Newtonovskou optimalizací
• konverguje rychle k lokálnímu optimu,
• ovšem může i divergovat
– Gradientní optimalizací
• při správné volbě η zajištěna konvergence,
• ovšem konverguje pomalu
Delta-Bar-Delta (1)
• Robert A. Jacobs, 1988
• Heuristická úprava BP
• Automaticky upravuje learning rate η pro
každou synapsi (dimenzi v |S|) odděleně
• Používá se zásadně pro batch learning,
nefunguje pro online learning
Delta-Bar-Delta (2)
• Pro každou synapsi si pamatujeme směrnice
z předchozích kroků (ty jsou průměrovány)
• Pokud má aktuální směrnice stejné
znaménko, η se zvýší
• Pokud má aktuální směrnice opačné
znaménko, η se sníží
• Urychluje konvergenci: Dynamická adaptace
η pro každou dimenzi zvlášť umožňuje:
– zrychlovat blížení se k lokálnímu optimu, je-li
příliš vzdáleno
– zpomalovat blížení se lokálnímu optimu, je-li
míjeno
Delta-Bar-Delta (3)
• Na základě znalosti gradientu gij(t) určíme:
gij  t  = 1- β  gij t  + βgij t -1 ,
0  β 1
• Learning rate ηij(t +1) pak vypočteme jako:
ηij  t  + κ ,
g ij  t  1 g ij  t   0

ηij  t + 1 = 1  γ  ηij  t  , g ij  t  1 g ij  t   0
η  t  ,
jinak
 ij
• Problém: parametry β, κ, a γ jsou voleny
uživatelem na empirickém základě
Použité zdroje
[1] Jan Drchal: Přednáška ke kurzu A4M33BIA na FEL ČVUT,
2010.
[2] Scott Elliott Fahlman: An Empirical Study of Learning Speed
in Back-Propagation Networks. Technical report, 1988.
[3] Simon Haykin: Neural Networks and Learning Machines.
Third Edition. Prentice Hall. 2009.
[4] Aristidis Likas, Andreas Stafylopatis: Training the random
neural network using quasi-Newton methods. European
Journal of Operational Research, 2000.
[5] Genevieve B. Orr: Delta-Bar-Delta. Dostupné online na
http://www.willamette.edu/~gorr/classes/cs449/Momentum/del
tabardelta.html
[6] Raul Rojas: Neural Networks, Springer-Verlag, Berlin, 1996.
[7] Wikipedia: Newton's method in optimization.
Děkuji za pozornost!
Tomáš Řehořek
[email protected]