PROGETTO E TRAINING DI MLP PT-1 Principali aspetti da considerare: • efficienza e controllo del learning • criterio d’errore • topologia della rete TOPOLOGIA L’errore si attenua da uno strato all’altro Si parte dal perceptron; se questo non risolve il problema Si passa alla MLP con uno strato nascosto infine Si passa alla MLP con due strati nascosti Poiché una MLP con 2 strati nascosti è un approssimatore universale raramente si dovranno usare reti con più di due strati nascosti CONTROLLO DEL LEARNING PT-2 • Pesi iniziali • Tasso di learning • Algoritmo di ricerca dell’ottimo È inoltre cruciale la qualità e quantità dei dati di training • Criterio d’arresto • Pesi iniziali - Non vi sono molti lavori in letteratura Regola pratica: pesi random; occorre fare più run • Tasso di learning: annealing Es: - (n 1) (n) costante - ( n ) 0 1 0 ,n0 n n0 da determinare sperimentalmente L’annealing migliora la convergenza ed evita l’intrappolamento nei minimi locali. Regola empirica: incrementare dallo strato d’uscita all’ingresso di un fattore da 2 a 5 da strato a strato LA SCELTA DI UN LEARNING RATE UGUALE PER TUTTI I NODI È DETTATA DALLA SEMPLICITÀ IMPLEMENTATIVA PT-3 Teoricamente: va scelto in accordo con il valore dell’autovalore per la specifica direzione di ricerca Praticamente: difficilmente realizzabile Soluzione alternativa: adattamento dinamico per ciascun peso wij ij REGOLA DI ADATTAMENTO DELTA-BAR-DELTA se S ij(n 1) Dij (n) 0 k ij ( n 1) bij (n) se S ij(n 1) Dij (n) 0 altrimenti 0 Sij: media dei gradienti precedenti Dij: gradiente corrente Se Sij e Dij hanno lo stesso segno il loro prodotto è >0 e è incrementata di una costante Se il prodotto è negativo c’è un’oscillazione dei pesi e deve essere decrementato TUTTI QUESTI SCHEMI AUMENTANO I PARAMETRI LIBERI TUNING PIÙ DIFFICOLTOSO COMPETIZIONE DEI NEURONI NON LINEARI PT-4 Le non linearità agiscono come meccanismi di competizione che permettono ai diversi neuroni di specializzarsi in differenti aree dello spazio degli ingressi wij f ' (neti ) k wki y j k Derivata della non linearità Somma degli errori pesati provenienti dallo strato successivo i Errore locale Attività locale Differenti neuroni nascosti con diversi punti di funzionamento (valore di net) producono un aggiornamento dei pesi molto diverso PROCEDURE DI RICERCA PT-5 • Ricerca locale - Metodi del gradiente: estrema semplicità minimi locali divergenza - Metodi del II°ordine: maggior potenza • Ricerca globale - Simulated Annealing - Algoritmi Genetici - Tabu Search minimi locali divergenza maggior costo computazionale Costosi in termini implementativi; costosi in termini di memoria richiesta; richiedono quantità non locali; minimo globale LA TENDENZA È QUELLA DI UTILIZZARE TECNICHE CHE MIGLIORANO LE PRESTAZIONI DEL METODO DI BASE DEL GRADIENTE DISCENDENTE wij J (wij ) SIA LMS CHE EBP USANO UNA STIMA DEL GRADIENTE wij (n) i (n) y j (n) SI PUÒ MIGLIORARE QUESTA ESPRESSIONE PER ADEGUARSI A SUPERFICI DI PRESTAZIONE NON CONVESSE SUPERFICI DI PRESTAZIONE Espansione in Serie di Taylor SP-1 Sia F(x) una funzione analitica tale che esistano tutte le sue derivate: Essa puo’ essere rappresentata dalla sua espansione in serie di Taylor nell’intorno di un punto x* F x = F x + d F x dx x = x x – x 2 1 d + --F x 2 d x2 2 x – x + x = x n 1 d + ----F x n! d x n n x – x + x = x Possiamo approssimare la F(x) troncando la serie ad un numero finito di termini Esempio –x F x = e Serie di Taylor di F(x) nell’intorno di x* = 0 : F x = e –x –0 = e –0 1 –0 2 1 –0 3 – e x – 0 + ---e x – 0 – -- e x – 0 + 2 6 1 2 1 3 F x = 1 – x + -- x – --- x + 2 6 Approssimazioni della serie di Taylor : F x F0 x = 1 F x F1 x = 1 – x 1 2 F x F 2 x = 1 – x + --- x 2 SP-2 SP-3 Grafico delle Approssimazioni 6 5 4 F2 x 3 2 1 F1 x F0 x 0 -2 -1 0 1 2 SP-4 Le tre approssimazioni sono accurate se x e’ vicino a x* Se x si allontana da x* l’approssimazione migliora all’aumentare del numero di termini. Infatti i termini sono moltiplicati per potenze crescenti di (x-x*) e man mano che x si avvicina a x* questi termini diventano geometricamente piu’ piccoli SP-5 Caso Vettoriale F x = F x1 x 2 x n F x = F x + Fx Fx x 1 – x 1 + x 2 – x 2 x1 x2 x=x x=x 2 2 1 ++ F x x – x + -F x – x x n n 1 1 2 x2 xn x = x x = x 1 2 1 + --Fx x 1 – x 1 x 2 – x 2 + 2 x 1 x 2 x=x SP-6 Forma Matriciale F x = F x + F x T x = x x – x T 1 + --- x – x 2F x x – x + 2 x=x Fx xn 2 2 x1 2 Fx Fx 2 F = x x x 2 1 2 2 2 2 Fx x x 2 n Fx Fx x x x x 1 2 1 n 2 x2 Fx 2 Fx Fx x x x x n 1 n 2 2 Fx F x = x 2 Fx x1 Hessiano Gradiente 2 2 xn Fx SP-7 Derivate Direzionali Derivata prima (pendenza) di F(x) lungo l’asse xi : F x xi (i-esimo elemento del gradiente) Derivata seconda (curvatura) di F(x) lungo l’asse xi : 2 2 Fx x i (elemento i,i dell’Hessiano) Se vogliamo la derivata lungo una qualunque direzione p: T p F x ----------------------Derivata prima (pendenza) di F(x) lungo il p vettore p: T Derivata seconda (curvatura) di F(x) lungo il vettore p: p 2 F x p -----------------------------2 p SP-8 Esempio 2 2 F x = x 1 + 2x 1 x2 + 2 x2 0.5 x = 0 F x x = x = p = F x x1 F x x2 = 1 –1 2x 1 + 2x 2 2x 1 + 4x 2 x = x x = x = 1 1 1 1 – 1 T 1 0 p F x ----------------------- = ------------------------ = ------- = 0 p 2 1 –1 Si ottiene derivata nulla se la direzione p e’ ortogonale al gradiente Si ha pendenza massima quando la direzione p e’ quella del gradiente SP-9 Grafici Derivate direzionali 2 20 15 1 1.4 10 1.3 x2 5 1.0 0 0.5 0 2 1 2 1 0 x2 0.0 -1 0 -1 -1 -2 -2 x1 -2 -2 -1 0 x1 1 2 Minimi SP-10 Strong Minimum Il punto x* e’ un strong minimum di F(x) se esiste uno scalare > 0, tale che F(x*) < F(x* + x) per tuttti i x tali che > ||x|| > 0. Global Minimum Il punto x* e’ un unico global minimum di F(x) se F(x*) < F(x* + x) per tutti i x 0. Weak Minimum Il punto x* e’ un weak minimum di F(x) se non e’ un strong minimum, e esiste uno scalare > 0, tale che F(x*) F(x* + x) per tutti i x tali che > ||x|| > 0. SP-11 Esempio Scalare 4 2 1 F x = 3x – 7x – --- x + 6 2 8 Strong Maximum 6 4 2 Strong Minimum Global Minimum 0 -2 -1 0 1 2 SP-12 Esempio Vettoriale 4 Fx = x2 – x1 + 8x 1 x2 – x1 + x2 + 3 2 2 2 F x = x 1 – 1.5x 1x2 + 2 x2x1 2 2 1.5 1 1 0.5 0 0 -0.5 -1 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 -2 -2 2 12 -1 0 1 2 8 6 8 4 4 2 0 2 0 2 1 2 1 0 0 -1 -1 -2 -2 1 2 1 0 0 -1 -1 -2 -2 Condizioni di Ottimalità del Primo-Ordine 1 F x = F x + x = F x + F x T SP-13 x + --- x 2F x x + 2 x=x x=x T x = x – x Per piccoli x: Se x* e’ un minimo, questo implica: T F x + x F x + F x T Se Fx x = x T x Fx T x 0 F x – x F x – F x allora x=x Poiche’ questo deve essere vero per ogni x, x =x = 0 x 0 x F x T F x Ma questo implicherebbe che x* non e’ un minimo. Quindi: F x x = x x = x x = x x = 0 SP-14 Condizioni del Secondo-Ordine Se la condizione del primo-ordine e’ soddisfatta (gradiente nullo), allora: 1 T F x + x = F x + -- x 2 F x 2 x T Un strong minimum esisterà in x* se x 2F x x=x = x x + x 0 Per ogni x 0. La matrice Hessiana deve essere definita positiva. Una matrice H e’ positiva definita se: z T Hz 0 Per qualunque z 0. Questa e’ una condizione sufficiente per l’ottimalità. Una condizione necessaria e’ che la matrice Hessiana sia semidefinita positiva. Una matrice H e’ semidefinita positiva se: zT Hz 0 Per qualunque z. SP-15 Esempio 2 2 F x = x 1 + 2x 1 x 2 + 2x 2 + x 1 F x = 2 x1 + 2x 2 + 1 2 x1 + 4x 2 2 F x = 2 2 24 = 0 x = – 1 0.5 (Non una funzione di x in questo caso.) Se gli autovalori della matrice Hessiana sono tutti maggiori di zero, la matrice Hessiana e’ positiva definita. 2 F x – I = = 0.76 5.24 2– 2 2 4– 2 = – 6 + 4 = – 0.76 – 5.24 Entrambi gli autovalori sono positivi, quindi strong minimum. Funzioni Quadratiche 1 xTAx d Tx x + +c F = -2 (A simmetrica) Gradiente e Hessiano: Utili proprietà del gradiente: T T h x = x h = h T Qx Tx x Qx Q = + = 2 Qx (per Q simmetrica) Gradiente di una funzione quadratica: F x = Ax + d Hessiano di una funzione Quadratica : 2F x = A SP-16 Forma quadratica SP-17 1 xTHx d Tx x + +c F = -2 Tutte le derivate di ordine superiore al secondo della F(x) sono nulle. Quindi i primi tre termini della serie di Taylor forniscono una rappresentazione esatta della funzione quadratica Spesso la funzione costo utilizzata e’ quadratica. Quando non lo fosse, spesso può essere approssimata con una funzione quadratica in un intorno piccolo, specialmente vicino a un minimo. Se ||x|| e’ piccolo, tutte le funzioni analitiche si comportano come quadratiche in un piccolo intorno. Autovalori e autovettori di H SP-18 Consideriamo una funzione quadratica che ha un punto di stazionarietà nell’origine, e il cui valore sia zero. 1 xT Hx x F = --2 Usiamo gli autovettori di H come nuova base e operiamo un cambiamento di base. B = z 1 z 2 zn Poiche’ H e’ simmetrica, i suoi autovettori sono ortogonali, e l’inversa coinciderà con la trasposta. B– 1 = BT 1 0 0 0 2 0 T H' = B HB = 0 0 n = H = BB T Derivata seconda direzionale SP-19 Possiamo utilizzare il concetto di derivata direzionale per spiegare il significato fisico degli autovalori e autovettori di H e come essi determinano la forma della superficie di una funzione quadratica La derivata seconda di F(x) lungo la direzione p e’: T T p p Hp 2 F x p ------------------------------ = --------------2 2 p p p = Bc Dove c e’ la rappresentazione di p rispetto agli autovettori (nuova base): n 2 i ci p TH p c T B T BB T Bc c T c i = 1 ------------2--- = ------------------------------------------- = ------------T T T - = ------------------n p c B Bc c c 2 ci i=1 SP-20 La derivata seconda secondo p e’ una media pesata degli autovalori e quindi non può essere più grande del maggior autovalore o più piccola del minor autovalore, quindi: T p Hp min -------------- max 2 Se scegliamo p = zmax p (cioe’ l’autovettore associato al massimo autovalore) T T c = B p = B z max = 0 1 0 Allora il vettore c e’: 0 0 0 Posizione corrispondente a max SP-21 Autovettori (Massimo Autovalore) Il valore unitario e’ in corrispondenza a max poiche’ gli autovettori sono ortonormali. n Sostituendo a p zmax T z max Hz max max i=1 ------------------------------= ------------------= 2 n z max Il massimo della derivata seconda si ha in direzione dell’autovettore corrispondente all’autovalore piu’ grande. Gli autovalori rappresentano la curvatura (derivate seconde) lungo gli autovettori (gli assi principali). 2 i ci i=1 2 ci SP-22 Esempio: Circular Hollow 2 2 1 T F x = x 1 + x2 = ---x 2 0 x 2 0 2 2 F x = 20 02 1 = 2 z1 = 1 0 z2 = 0 2 = 2 1 (In realtà in questo caso qualunque coppia di vettori indipendenti possono essere autovettori) Poiche’ gli autovalori sono uguali la curvatura deve essere la stessa in tutte le direzioni e la funzione ha linee di contorno circolari 2 4 1 2 0 0 2 -1 1 2 1 0 0 -1 -1 -2 -2 -2 -2 -1 0 1 2 SP-23 Esempio: Elliptical Hollow 2 2 1 T F x = x 1 + x1 x2 + x2 = -- x 2 1 x 2 12 21 12 2F x = 1 = 1 z1 = 1 –1 z2 = 1 2 = 3 1 (gli autovettori non sono univoci, essi possono essere moltiplicati per uno scalare) In questo caso il massimo della curvatura e’ in direzione di z2 2 3 1 2 0 1 0 2 -1 1 2 1 0 0 -1 -1 -2 -2 -2 -2 -1 0 1 2 SP-24 Esempio: Autovalori di segno opposto 1 2 3 1 2 1 T F x = – --- x 1 – --- x 1 x 2 – --- x 2 = --- x – 0.5 – 1.5 x 4 2 4 2 – 1.5 – 0.5 –0.5 – 1.5 –1.5 – 0.5 2F x = z1 = –1 1 = 1 2 = – 2 1 z2 = –1 –1 L’Hessiano e’ indefinito. Il punto di stazionarietà e’ una sella, e’ un minimo lungo il primo autovettore e un massimo lungo il secondo 2 4 1 0 0 -4 -8 2 -1 1 2 1 0 0 -1 -1 -2 -2 -2 -2 -1 0 1 2 SP-25 Esempio: Valle stazionaria 1 2 1 2 1 T F x = --- x 1 – x 1 x 2 + --- x 2 = --- x 1 – 1 x 2 2 2 –1 1 2 F x = 1 –1 –1 1 z1 = –1 1 = 1 z2 = – 1 2 = 0 1 –1 Il secondo autovalore e’ nullo. Ci sarà una curvatura nulla lungo il secondo autovettore. 2 3 1 2 0 1 0 2 -1 1 2 1 0 0 -1 -1 -2 -2 -2 -2 -1 0 1 2 OTTIMIZZAZIONE DELLE PRESTAZIONI Algoritmo di ottimizzazione di base Trovare il minimo di una funzione obiettivo Schema iterativo xk + 1 = x k + k p k o x k = xk + 1 – x k = p k k kp k xk +1 xk pk - Direzione di ricerca k - Learning Rate o Step size Gli algoritmi che vedremo si distinguono per la scelta della direzione di ricerca. OP-1 Steepest Descent OP-2 Scegliere il passo successivo in modo che la funzione decresca: F x k + 1 F xk Per piccoli cambiamenti nella x si puo’ approssimare F(x): T x x x x x g = + + F k + 1 F k k F k k k dove g k F x x =xk Se vogliamo che la funzione decresca: g Tk xk = kg Tk p k 0 Possiamo massimizzare il decremento scegliendo: pk = –gk x k + 1 = xk – k g k OP-3 Esempio 2 2 x = + 2 + 2 F x1 x1 x 2 x 2 + x1 x 0 = 0.5 = 0.1 0.5 F x = F x x1 F x x2 = 2x 1 + 2x2 + 1 g 0 = F x 2x 1 + 4x 2 x 1 = x 0 – g 0 = 0.5 – 0.1 3 = 0.2 0.5 3 0.2 x2 = x1 – g1 = 0.2 – 0.1 1.8 = 0.02 0.2 1.2 0.08 x= = 3 x0 3 Grafico OP-4 Per valori bassi di la traiettoria e’ sempre perpendicolare alle linee di contorno 2 Se incrementassimo per es. a 0.035, la traiettoria oscillerebbe. Al crescere di le oscillazioni aumentano in ampiezza e l’algoritmo diventa instabile. 1 0 -1 -2 -2 -1 0 1 2 Stabilizzazione del Learning Rate (Quadratico) OP-5 Non c’e’ un metodo sistematico per trovare per qualunque tipo di funzione. Per funzioni quadratiche si ha un limite superiore. 1 x THx d Tx x = -+ +c F 2 F x = Hx + d xk + 1 = I – H x k – d x k + 1 = xk – gk = x k – Hx k + d La stabilità e’ determinata dagli autovalori di questa matrice, che devono avere ampiezza minore dell’unità Poiche’: I – H z = z – Hz = z – z = 1 – z i i i i (i - autovalore di H) i i i i Autovalore di [I - H]. Requisiti per la stabilità dell’algoritmo steepest descent: 1 – 1 i 2 ---i 2 -- ------max OP-6 Esempio 0.851 = 5.24 z = 0.526 = 0.764 z = 1 2 2 1 – 0.526 0.851 A= 22 24 2 2 -- ------- = ---------- = 0.38 max 5.24 = 0.37 = 0.39 2 2 1 1 0 0 -1 -1 -2 -2 -1 0 1 2 -2 -2 -1 0 1 2 Minimizzazione lungo una linea OP-7 Un altro approccio per scegliere il learning rate e’ quello di minimizzare F rispetto a k a ciascuna iterazione cioe’: Scegliere k per minimizzare: F x k + k pk Si puo’ usare un metodo detto Line Search Per funzioni quadratiche si puo’ trovare la soluzione analiticamente T T p k + k pk 2F x pk -----d----(F xk + k p k ) = F x x = xk x = xk dk T T F x x x pk g p = k k k ------------------------------------------ = – ------------------ k = – -----T 2 T pk F x p p k Hkp k x=x k k dove Hk 2 F x x = xk OP-8 Esempio 1 T F x = -- x 2 2 x + 1 0 x 2 24 F x = F x x1 F x x2 = 2x 1 + 2x2 + 1 2x 1 + 4x 2 –3 33 –3 = – ------------------------------ = 0.2 0 2 2 –3 –3 –3 2 4 –3 x 0 = 0.5 0.5 p 0 = –g 0 = – F x x = x0 = –3 –3 x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1 0.5 3 – 0.1 OP-9 Grafico Contour Plot 2 I passi successivi sono ortogonali: Infatti, quando minimizziamo lungo una linea dobbiamo sempre fermarci in un punto tangente a una linea di contorno. Allora, poiche’ il gradiente e’ ortogonale alle linee di contorno, il successivo passo, che e’ lungo il gradiente negativo, sarà ortogonale al precedente percorso. x2 1 0 -1 -2 -2 -1 0 x1 1 2 T d x + p = d x d x + p x F k F k + 1 = F x = x k k k k k k + 1d k dk dk = F x T T x = xk + 1 pk = gk + 1 pk Metodo di Newton OP-10 E’ basato sulla serie di Taylor del secondo ordine T 1 xT H x x x x x g x F k + 1 = F k + k F k + k k + -2- k k k Per trovare il punto di stazionarietà si prenda il gradiente di questa approssimazione del secondo-ordine e si ponga uguale a zero: gk + Hk xk = 0 –1 x k = – Hk g k xk + 1 = xk – H–k 1 gk OP-11 Esempio 2 2 F x = x1 + 2 x1 x 2 + 2x 2 + x1 x 0 = 0.5 0.5 F x = F x x1 F x x2 = 2x 1 + 2x2 + 1 g 0 = F x x= = 3 x0 3 2x 1 + 4x 2 H= 22 24 x1 = 0.5 22 – 0.5 24 –1 3 = 3 0.5 1 – 0.5 3 – = 0.5 – 0.5 0.5 3 Trova il minimo in un passo 0.5 1.5 – = 0.5 0 –1 0.5 OP-12 Grafico Se la funzione originaria e’ quadratica sarà minimizzata in un passo 2 1 0 -1 -2 -2 -1 0 1 2 OP-13 Metodo di Newton Se la funzione originaria non e’ quadratica non si avrà, in generale, la convergenza in un passo. Inoltre non si ha la sicurezza neanche della convergenza poiché essa dipende sia dalla funzione sia dal punto iniziale. Esempio non-quadratico 4 Fx = x2 – x1 + 8x 1 x2 – x1 + x2 + 3 Tale funzione ha tre punti di stazionarietà: due minimi e una sella Punti di stazionarietà: 1 x = – 0.42 0.42 2 x = – 0.13 0.13 3 x = 0.55 – 0.55 OP-14 Esempio non-quadratico Se partiamo dal punto iniziale x 0 = 1.5 0 La prima iterazione non porta a convergenza. Il metodo di Newton si intrappola nei minimi locali F(x) F2(x) 2 2 1 1 0 0 -1 -1 -2 -2 -1 0 1 2 -2 -2 -1 0 1 2 OP-15 Condizioni iniziali differenti F(x) 2 2 2 1 1 1 0 0 0 -1 -1 -1 -2 -2 F2(x) -1 0 1 2 -2 -2 -1 0 1 2 -2 -2 2 2 2 1 1 1 0 0 0 -1 -1 -1 -2 -2 -1 0 1 2 -2 -2 -1 0 1 2 -2 -2 -1 0 1 2 -1 0 1 2 Sommario OP-16 •Sebbene generalmente abbia una convergenza più veloce dei metodi steepest descent, il metodo di Newton presenta un comportamento più complesso •Si può avere convergenza su un punto di stazionarietà che non e’ un minimo, o si può non avere convergenza. Si può avere un comportamento oscillatorio •Il metodo di Newton richiede il calcolo e l’immagazzinamento della matrice Hessiana e della sua inversa Spesso il calcolo dell’Hessiano e’ impraticabile, specie per le reti neurali dove, nei casi pratici, gli elementi, cioè i pesi sinattici, possono essere dalle centinaia alle svariate migliaia. Occorrerebbero metodi con terminazione quadratica ma che richiedessero solo derivate prime Metodo del gradiente coniugato Funzione quadratica: OP-17 1 x THx d Tx x -= + +c F 2 Un insieme di vettori {pk} e’ mutuamente coniugato rispetto a una matrice Hessiana H definita positiva se e solo se: p Tk Hp j = 0 kj Esiste un numero infinito di insiemi mutuamente coniugati in uno spazio n-dimensionale dato Un possibile insieme di vettori coniugati sono gli autovettori di H. zTk Hz j = jz Tk z j = 0 kj (Gli autovettori di matrici simmetriche sono ortogonali.) Si puo’ mostrare che se effettuiamo una sequenza di ricerche lineari lungo qualunque set di direzioni coniugate {p1,..,pn}, il minimo esatto di qualunque funzione quadratica, con n parametri, si raggiunge in al più n ricerche. Come costruire queste direzioni coniugate? Per funzioni quadratiche 1 x THx d Tx x -= + +c F 2 F x = Hx + d 2F x = H La modifica nel gradiente all’iterazione k e’ g = g k k+1 – g = Hx k k +1 + d – Hx + d = H x k k dove x k = xk + 1 – xk = p k k Le condizioni per la coniugazione possono essere riscritte: p Tk Hp j = 0 Da kj a T T T p Hp x Hp g = = k k k k pj = 0 j j k j Questo non richiede la conoscenza della matrice Hessiana. OP-18 OP-19 Costituzione delle direzioni coniugate Le direzioni di ricerca saranno coniugate se sono ortogonali alle modifiche del gradiente. La prima direzione di ricerca e’ arbitraria. Una scelta molto comune e’ di iniziare la ricerca nella direzione della discesa più ripida, cioè: Scegliere la direzione di ricerca iniziale come il negativo del gradiente. p0 = –g0 Scegliere le successive direzioni in modo che siano coniugate. p k = – gk + k p k – 1 Per la scelta della scalare k vi sono differenti proposte Scelte possibili T gk – 1 gk k = ---------T-------------------g k – 1 p k – 1 T gkgk k = ------------------------- Hestenes-Steifel Fletcher-Reeves g Tk – 1 gk – 1 T g g k = ----------k----–--1------k--- g Tk – 1 gk – 1 Polak-Ribiere OP-20 OP-21 Algoritmo del gradiente coniugato 1. La prima direzione di ricerca e’ il negativo del gradiente p0 = –g0 2. Selezionare il learning rate per minimizzare lungo la linea. T x p F x = x k k g Tk p k ------------------------------------------ = – ------------------ k = – -----T 2 T pk F x p p k Hkp k x=x k (Per funzioni quadratiche.) k 3. Fare un passo xk=k pk 4. Selezionare la successiva direzione di ricerca usando: pk = – gk + k pk – 1 5. Se l’algoritmo non va a convergenza, ritornare al passo 2. Una funzione quadratica sarà minimizzata in n passi. OP-22 Esempio 1 T F x = -- x 2 2 x + 1 0 x 2 24 F x = F x x1 F x x2 = 2x 1 + 2x2 + 1 2x 1 + 4x 2 –3 33 –3 = – ------------------------------ = 0.2 0 2 2 –3 –3 –3 2 4 –3 x 0 = 0.5 0.5 p 0 = –g 0 = – F x x = x0 = –3 –3 x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1 0.5 3 – 0.1 OP-23 Esempio g 1 = F x 1 = x = x1 T g1 g1 -----------gT0 g0 = 2 2 – 0.1 + 1 = 2 4 – 0.1 0 0.6 –0.6 0.6 0.6 – 0.6 – 0.6 0.72 = ----------------------------------------- = ---------- = 0.04 18 3 33 3 p 1 = – g1 + 1 p 0 = – 0.6 –3 + 0.04 = 0.6 –3 –0.72 0.48 – 0.72 0.6 – 0.6 0.48 –0.72 = – ------------------------------------------ = – ------------- = 1.25 1 0.576 2 2 –0.72 –0.72 0.48 2 4 0.48 OP-24 Grafici x2 = x1 + 1 p1 = – 0.1 + 1.25 – 0.72 = – 1 – 0.1 0.48 Gradiente coniugato Steepest Descent Contour Plot 2 1 1 x2 2 0 0 -1 -1 -2 -2 0.5 -1 0 1 2 -2 -2 -1 0 x1 1 2 VARIAZIONI DEL BACKPROPAGATION Variazioni VP-1 L’EBP e’ troppo lento per la maggior parte delle applicazioni. • Modifiche euristiche – Momentum – Learning Rate variabile • Ottimizzazione numerica standard – Gradiente coniugato – Metodo di Newton (Levenberg-Marquardt) VP-2 Esempi di superfici di prestazione Architettura di rete 1-2-1 Diamo alla rete un problema di cui conosciamo la soluzione: approssimare una funzione che non e’ altro che la risposta della stessa rete per un assegnato set di valori dei pesi e dei bias Esempi di superfici di prestazione VP-3 Risposta desiderata Valori dei parametri 1 1 1 w 1 1 = 10 w 2 1 = 10 0.75 2 w 1 1 = 1 2 1 1 b1 = –5 b 2 = 5 w 1 2 = 1 2 b = –1 0.5 0.25 0 -2 -1 0 1 2 Si vuole allenare la rete per approssimare la funzione in figura. L’approssimazione sarà esatta per il valore dei parametri su riportato. Sia noto il valore della funzione in un certo numero di punti di campionamento. La funzione costo sia il MSE calcolato in tali punti. Errore quadratico vs. 1 w 1,1 e w 2 VP-4 1,1 15 10 10 w21,1 5 5 0 -5 0 0 -5 2 -5 -5 w 0 5 10 15 0 5 1,1 w11,1 5 10 10 15 15 w11,1 Gli altri parametri sono settati al loro valore ottimo. Il cerchio blu indica il minimo errore pari a zero per w11,1 = 10 e w21,1=1 Errore quadratico vs. 1 w 1,1 e 1 b1 VP-5 15 2.5 5 2 1.5 b11 -5 1 0.5 -15 0 -10 20 0 10 10 -25 -10 0 10 20 30 w11,1 0 -10 20 -20 30 -30 b11 w11,1 Gli altri parametri sono settati al loro valore ottimo. Il cerchio blu indica il minimo errore pari a zero per w11,1 = 0 e b11= -5 1 b 1e Errore quadratico vs. b VP-6 1 2 10 1.4 5 0.7 2 b 0 1 0 -10 -5 -5 -10 -5 0 -10 -10 -5 0 5 10 b11 0 5 5 10 10 b21 b11 Gli altri parametri sono settati al loro valore ottimo. Il cerchio blu indica il minimo errore in b11= -5 e b12= 5 Considerazioni VP-7 •Vi sono delle simmetrie nelle MLP che fanno sì che lo zero sia un punto di stazionarietà della funzione obiettivo. E’ buona norma non settare il valore iniziale dei parametri a zero. •E’ buona norma non settare il valore iniziale dei parametri a valori troppo grandi. Questo perché la funzione costo tende ad avere regioni molto piatte lontano dal punto ottimo. •E’ buona norma settare il valore iniziale dei parametri a piccoli valori random. •E’ buona norma provare differenti scelte di valori iniziali per aumentare la probabilità di convergenza al minimo globale. VP-8 Esempio di convergenza 15 10 w21,1 Traiettoria a: si ha convergenza al minimo globale ma la convergenza e’ lenta a causa del cambio di curvatura. Un valore alto del learning rate aumenterebbe la velocità di convergenza nelle regioni piatte, ma provocherebbe la instabilità dell’algoritmo quando si cada in una valle. b 5 0 Traiettoria intrappolamento minimo locale. a -5 -5 0 5 w11,1 10 15 in b: un Learning Rate troppo alto 15 10 w21,1 5 0 -5 -5 0 5 w11,1 10 15 VP-9 Commenti VP-10 Si e’ notato che quando l’algoritmo comincia a divergere la traiettoria di ricerca comincia a oscillare attraverso la stretta valle. Se si potesse filtrare la traiettoria mediando gli aggiornamenti dei parametri, questo potrebbe smorzare le oscillazioni e produrre oscillazioni stabili. Questo puo’ essere fatto con un filtro passa-basso. MOMENTUM LEARNING VP-12 Usa la memoria, cioè l’incremento passato del peso, per accelerare e stabilizzare la convergenza wij n 1 wij n i n y j n wij n wij n 1 : momentum 1 0,5 0,9 • I pesi vengono modificati proporzionalmente a quanto essi sono stati cambiati nell’ultima iterazione 2,3,... gradiente discendente 1 3 • Se ci si trova in un minimo locale o in una zona piatta i pesi vengono ancora modificati, non a causa del gradiente (nullo) ma perché c’è una modifica dei pesi all’iterazione precedente 2 • Metodo robusto - Accelera l’apprendimento gradiente discendente con momentum • Se ne consiglia l’uso per reti con non-linearità VP-13 Momentum :Esempio 15 Con l’uso del momentum si e’ potuto usare un learning rate più alto mantenendo la stabilità dell’algoritmo 10 w21,1 5 0 -5 -5 0 5 w11,1 = 0.2 10 15 Learning Rate Variabile (VLBP) VP-14 • Se l’errore quadratico (sull’intero training set) cresce più di una certa percentuale fissata da 1 a 5% dopo un aggiornamento dei pesi, allora l’aggiornamento non viene fatto, il learning rate viene moltiplicato per un fattore (1>>0), e il coefficiente momentum e’ settato a zero. • Se l’errore quadratico decresce dopo un aggiornamento dei pesi, allora l’aggiornamento viene accettato e il learning rate viene moltiplicato per un fattore >1. Se era stato precedentemente posto a zero, viene resettato al suo valore originale. • Se l’errore quadratico cresce meno di , allora l’aggiornamento dei pesi viene accettato, ma il learning rate e il coefficiente momentum non vengono modificati. VP-15 Esempio 15 = 1.05 10 = 0.7 2 w 1,1 5 = 4% 0 -5 -5 0 5 10 15 w11,1 1.5 60 1 40 0.5 20 0 0 10 102 Iteration Number 104 0 0 10 102 Iteration Number 104 Tecniche di ottimizzazione numerica VP-16 Riformulazione con sole informazioni locali Approssimazione della funzione costo J(w) nel punto operativo w 0 Sviluppo in serie di Taylor di J intorno a w 0 : J w w0 J0 w w0 J0 1 w w0 H0 w w0 ... 2 dove: J : gradiente Hessiano matrice delle derivate H : seconde i cui elementi sono: 2 J w H ij w0 wi w j NOTA: l’hessiano non può essere calcolato con sole informazioni locali Deriviamo J rispetto ai pesi: J w J 0 H0 w w0 ... Poiché la superficie di prestazione tende ad essere quadratica intorno al minimo, normalmente possiamo fermarci solo al primo e al secondo termine dell’espressione •Se usiamo solo il primo termine metodi del primo ordine: metodi del gradiente gradiente stimato come il suo valore in w 0 VP-17 •Se usiamo anche il secondo termine metodi del secondo ordine: metodi di Newton J w J 0 H0 w w0 ... Uguagliando a zero l’espressione troncata: w w0 H01 J 0 Vantaggi: se la funzione è quadratica si ottiene la convergenza nel minimo globale in un numero finito di passi (spesso 1 passo) Svantaggi: massiccio uso di memoria e di tempo di calcolo per l’inversione di H0 Complessità: O( N3) N: numero dei pesi Una rete neurale può avere migliaia di pesi l’hessiano milioni di termini Soluzione Metodi di approssimazione dell’hessiano: •Metodi LINE SEARCH •Metodi PSEUDO-NEWTON METODI PSEUDO NEWTON VP-19 IDEA BASE: fornire approssimazioni dell’hessiano ragionevoli e facili da calcolare A) Considerare i soli termini diagonali di H si usa un algoritmo di Newton separatamente per ciascun peso: wi n wi n B) Generalmente questa regola è sostituita dalla: J n 2 J n wi2 J n 2 J n 2 wi : Piccola costante che evita i problemi legati a curvature negative o a denominatori nulli A) e B) danno approssimazioni poco accurate APPROSSIMAZIONI PIU’ ACCURATE MA POCO COSTOSE: –LEVEMBERG-MARQUARD (LM) –DAVIDSON - FLETCHER - POWELL (DFP) –BROYDEN - FLETCHER - GOLDFARB - SHANNO (BFGS) Metodo di Newton wk + 1 = wk – Hk– 1 gk Hk 2 J w w= w gk J w w= w k k Se la funzione costo e’ una somma di funzioni quadratiche: N J w = 2 e i w T = e w e w i =1 Allora il j-esimo elemento del gradiente e’: N ei w J wj = --------------- = 2 ei w --------------wj wj i=1 J w VP-27 Forma Matriciale Il gradiente puo’ essere scritto in forma matriciale: T J w = 2 w e w dove e’ la matrice Jacobiana: e 1 w e 1 w e 1 w ---------------- ---------------- --------------w1 w2 wn = x e 2 w e 2 w e 2 w -------------- - ---------------- ---------------w1 w2 wn e N w e N w e N w ----------------- ---------------- ----------------w1 w2 wn VP-28 VP-29 Hessiano L’elemento k,j della matrice Hessiana e’: J w k j 2 N w J = ------------------ = 2 wk w j ei w ei w 2 i w e --------w--k----- -------w----j---- + ei w -----w--k------w----j- i = 1 2 La matrice Hessiana puo’ allora essere scritta nella seguente forma: 2 T J w = 2 ww + 2 S w dove N S w = ei w2e i w i=1 Metodo Gauss-Newton VP-30 Se assumiamo S(w) piccolo si approssima la matrice Hessiana come: 2 J w 2 ww T Sostituendo nella formula di aggiornamento dei pesi wk + 1 = wk – Hk– 1 gk Il metodo di Newton diventa: –1 wk + 1 = wk – 2T wk wk 2T wk e wk T = wk – wk wk –1 T wk e wk Levenberg-Marquardt Gauss-Newton approssima l’Hessiano come: H’ = T VP-31 Questa matrice potrebbe essere singolare, ma puo’ essere resa invertibile nel seguente modo: G = H’ + mI Se gli autovalori e autovettori di H’ sono: 1 2 n z1 z2 zn allora Autovalori di G Gz i = H’ + mI z i = H’z i + mz i = iz i + mz i = i + mz i G puo’ essere resa definita positiva incrementando m sino a che i+m>0 Questo porta all’algoritmo di Levenberg-Marquardt: wk + 1 = wk – T wk wk + mk I – 1T wk e wk Aggiustamento di mk VP-32 Come mk0, LM diventa Gauss-Newton. –1 wk + 1 = wk – JT wk J wk J T wk e wk Come mk, LM diventa Steepest Descent con piccolo learning rate. wk + 1 wk – ---1--J T wk e wk = wk – -----1---- J w mk 2 mk Quindi, iniziare con mk piccolo per usare Gauss-Newton e accelerare la convergenza. Se un passo non porta a J(w) inferiore, ripetere lo step con mk piu’ alto fino a che J(w) e’ decrementato. J(w) deve comunque diminuire, poiche’ si compie uno step molto piccolo nella direzione steepest descent. Esempio di LMBP Step 15 10 w21,1 5 0 -5 -5 0 5 w11,1 10 15 VP-35 Traiettoria del LMBP 15 10 w21,1 5 0 -5 -5 0 5 w11,1 10 15 VP-36 CRITERI DI STOP VP-37 Non esistono indicatori diretti che misurano se la rete ha imparato il compito che ci si prefigge 1) Stop in base all’errore su training 2) Stop in base al decremento del MSE da un’iterazione all’altra OVERFITTING 3) EARLY STOPPING o CROSS VALIDATION stop in base all’errore sul test set early stopping errore validation set training set iterazioni VALIDATION SET: normalmente il 10% del totale numero di training pattern Svantaggi: si riduce il numero di esempi utili per l’allenamento e questo può essere un problema nelle applicazioni reali DIMENSIONI DEL TRAINING SET A) (Haykin) N W N : # esempi W : # pesi : errore accettabil e sul training set B) regola empirica: N 10 W accettando un’accuratezza di classificazione del 90% QUALITA’ DEL TRAINING SET • COPERTURA DELLO SPAZIO DEGLI INGRESSI • Tecniche di estrazione di feature per ridurre le dimensioni dello spazio degli ingressi • Si riducono le dimensioni della rete ALTERNATIVA: TECNICHE DI PRUNING VP-38 CRITERIO DI ERRORE J J n, k k n VP-39 n : indice pattern k : indice nodo output J n,k f dnk ynk f nk Generalmente: J n, k dnk ynk p p intero •Se p = 2 MSE L2 •Se p = 1 metrica di Manhattan •Se p = intero finito (norma p) Lp J nk dnk ynk ynk p 1 •L: si considerano nulli tutti gli errori eccetto il più alto •p = 0 : si usa semplicemente il segno dell’errore istantaneo sgn dnk ynk