Upload
emapesce
View
33
Download
4
Embed Size (px)
Citation preview
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Applicazioni dei metodi quasi-Newton per laconvergenza dell’addestramento delle reti neurali
Emanuele Pesce
Università degli studi di Salerno
Giugno 2014
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Metodi basati su ricerca lineare
Il problemaProdurre una sequenza di punti xk che converge all’ottimo x∗partendo da un punto iniziale x0.
xk+1 = xk + αkpk (1)
pk rappresenta la direzione di ricercaαk la lunghezza del passo di iterazione
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
L’idea dietro un metodo di discesa
DecrescitaSe vogliamo garantire la decrescita dobbiamo avere che
f (xk+1) < f (xk) ∀k ≥ 0 (2)
I Scelta del parametro αkI Scelta della direzione pk
Esistono molti approcci (metodi del gradiente, metodi di Newtonetc.)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Algoritmo generico di un metodo di discesa
Algorithm 1: Metodo di discesa
1 Scegli x0 ∈ Rn;2 k = 0;3 while 5f (xk) 6= ∅ do4 calcola la direzione di discesa pk ∈ Rn;5 calcola la lunghezza del passo αk ∈ Rn;6 xk+1 = xk + αkpk7 k = k + 18 end
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Programmazione quadratica
Classe di problemi molto importante, la cui formulazione è
min f (x) = 12xT Qx − bT
t.c. x ∈ Rn(3)
dove Q è una matrice quadratica simmetrica di ordine n.Si ricava che il vettore gradiente e la matrice hessiana per questiproblemi sono
5 f (x) = Qx − b (4)
H(x) = Q (5)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Programmazione quadratica
L’ottimalità per questa classe di problemi si ha quando
5 f (x) = 0 (6)
Da cui si ricava chex∗ = Q−1b (7)
Capire se è massimo o minimo interviene l’hessiana. Infatti se H èI definita positiva: x∗ è un punto di minimo globaleI é semi-definita positiva: se è invertibile è un minimo globale,
altrimenti non esistono soluzioniI non è definita positiva: la funzione non ha punti di minimo
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Metodo di Newton
Data una funzione f si vuole minimizzare una sua approssimazionequadratica.Si consideri hk = αkpk , grazie alla serie di Taylor calcoliamo la suaapprossimazione quadratica
f (xk + hk) ≈ q(hk) = f (xk) + hTk 5 f (xk) + 1
2hTk H(xk)hk (8)
Da qui ponendo il gradiente di q(hk) pari a 0
5q(hk) = 5f (xk) + H(xk)hk = 0 (9)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Metodo di Newton
Attraverso qualche calcolo ricaviamo la direzione del metodo diNewton
hk = −H(xk)−1 5 f (xk) (10)
AggiornamentoE dato che hk = αkpk e che xk+1 = xk + αkpk si ricava che
xk+1 = xk − H(xk)−1 5 f (xk) (11)
ovvero la formula di aggiornamento del metodo di Newton.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Algoritmo metodo di Newton
Algorithm 2: Metodo di Newton Puro
1 Scegli x0 ∈ Rn;2 k = 0;3 while 5f (xk) 6= ∅ do4 xk+1 = xk − H(xk)−1 5 f (xk)5 k = k + 16 endConverge velocemente in quanto a numero di iterazioni, ma ognipasso impiega O(n3)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Metodi quasi-Newton
ScopoOvviare all’eccessivo costo computazionale del metodo di Newton
IdeaI Al posto di calcolare l’hessiana, si calcola una sua
approssimazione B definita positivaI Si calcola Bk+1 a partire da Bk
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Condizione quasi-Newton
Siano:hk = xk+1 − xk e γk = 5f (xk+1)−5f (xk).
Tramite calcoli si ottiene
5 f (xk) + H(xk)hk ≈ 5f (xk+1) (12)5f (xk+1)−5f (xk) ≈ H(xk)hk (13)
γk ≈ H(xk)hk (14)
Che ci permette di scrivere la quasi-Newton condition
H(xk)−1γk ≈ hk (15)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Condizione quasi-Newton
I Si inizializza B alla matrice identitàI Si impone che ad ogni iterazione k
B(xk+1)−1γk = hk (16)
Il modo in cui si ricava la B determina la variante del metodoquasi-Newton
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Metodo quasi-Newton
Algorithm 3: Metodo quasi-Newton
1 Scegli x0 ∈ Rn;2 k = 0;3 B0 = I /*Inizializza B0 con la matrice identità*/4 while 5f (xk) 6= ∅ do5 pk = −Bk 5 f (xk); /*direzione di discesa*/6 αk ∈ Rn; /*lunghezza del passo*/7 xk+1 = xk + αkpk8 ricava Bk+1 da Bk ;9 k = k + 1;
10 end
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Formula di aggiornamento di rango uno
Con questo metodo la formula di aggiornamento è
Bk+1 = Bkγ + cuuTγ = hk (17)
dove uuT è una matrice simmetrica di rango 1 e c è uncoefficiente di proporzionalità.Attraverso vari calcoli diventa
Bk+1 = Bk + (hk − Bkγk)(hk − Bkγk)T
(hk − Bkγk)Tγk(18)
I Non si hanno garanzie che Bk rimanga positiva ad ogniiterazione, quindi non si sa se la direzione sia di discesa
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Formula di aggiornamento di rango due o DFP
Con questo metodo la formula di aggiornamento è
Bk+1 = Bk + cuuT + dvvT (19)
che attraverso vari calcoli diventa
Bk+1 = Bk + hkhTk
hTk γk
− BkγkγTk Bk
γTk Bkγk
(20)
I Ogni iterazione ha costo O(n2)I Le matrici B sono sempre definite positiveI Converge in n passi se il problema è quadratico
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineareMetodi di NewtonMetodi quasi-Newton
Formula di aggiornamento di rango due inversa o BFGS
Simile al metodo precedente ma stavolta si va va ad approssimarela matrice hessiana e non la sua inversa arrivando ad avere
Bk+1 = Bk +(1+ γkBkγ
Tk
hTk γk
)hkhTk
hTk γk−(hkγ
Tk Bk + BkγkhT
khT
k γk
)(21)
I Preserva tutti i vantaggi del metodo di DFPI Converge globalmente
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Reti Neurali
Cos’èUna rete neurale artificiale è un modello che cerca di emulare ilcomportamento di una rete una rete neurale naturale.
ScopoNate per riprodurre e attività tipiche del cervello umano come lapercezioni di immagini, il riconoscimento di forme, la comprensionedel linguaggio o altro.
Molto utilizzate nell’ambito della classificazione
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Neurone Artificiale
Cos’èUnità base del funzionamento di una rete neurale
I un neurone comunica con altri neuroni attraverso deicollegamenti (generalmente pesati)
I il modo in cui sono connessi i neuroni tra loro è chiamataarchitettura
I l’architettura più usata è quella a strati
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Attivazione Neurone Artificiale
Input Neurone YSi consideri un neurone Y che riceve input da n neuroni X . Sianoxi l’uscita associata al neurone Xi , wi il peso relativo a xi e sia αyla somma pesata dei segnali in ingresso di Y .
αy =n∑
i=1wixi (22)
Uscitadefiniamo y l’attivazione o l’uscita del neurone Y
y = f (αy ) = f (n∑
i=1wixi) (23)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Attivazione Neurone Artificiale
Funzione di attivazioneI f è chiamata funzione di attivazione e può essere scelta tra
molte funzioniI generalmente si sceglie la funzione sigmoidea
y = f (α) = 11 + e(−α) (24)
Perchè?I É derivabile, condizione che sarà necessaria per molti metodi
di addestramentoI dà valori compresi da 0 ed 1
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Modello Neurone Artificiale
Nella fase di addestramento si cerca di trovare dei valori ai pesi inmodo da far funzionare la rete in modo efficiente
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Delta Rule
Aggiornamento pesi
wi = wi +4wi (25)
dove 4wi indica la variazione
4wi = ηδxi , conδ = t − y [errore] (26)
Aggiorniamo finché l’errore scende sotto una soglia accettabileEk errore sul k-esimo esempio, E è l’errore globale
EK = 12
p∑j=1
(tj − yj)2 E =m∑
k=1Ek (27)
p è il numero di uscite della reteEmanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento
Backpropagation
I É una tecnica di addestramento molto diffusaI si base su reti feedforwardI vi è una fase in cui i segnali viaggiono verso l’uscitaI successivamente si calcola l’errore e lo si propaga all’indietro
modificando i pesi delle connessioniI Formula di aggiornamento
4wij(n + 1) = ηδoi + α4 wij(n) (28)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Batch/Online
Dato un dataset di training i metodi quasi-Newton possonooperare sia in maniera Batch che Online
Onlinei pesi dei neuroni vengono modificati pattern dopo pattern, inmaniera sequenziale. Permette agevolmente di trovare il minimolocale.
Batchl’aggiustamento dei pesi viene fatto sulla base di tutto in dataset,ottendendo una stima più accurata del vettore gradiente.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Addestramento tramite ioBFGS
io BFGS: Improvered Online BFGS
E (w) = 1Pt
∑p∈T
Ep(w) (29)
con
Ep(w) = 12 ||dp − op||2, op = f (w, xp) (30)
Sapendowk+1 = wk +αkgk (31)
gk = − δEp(wk)δwk per l’approccio online
gk = − δE(wk)δwk per l’approccio batch.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
poBFGS: Parametrized Online BFGS
poBFGSSfrutta i vantaggi di entrambe le tecniche (Batch ed Online)
ComeSfrutta in modo combinato entrambi gli approcci
Passaggio gradualeViene introdotto un coefficiente u che viene aggiornato di volta involta in modo che il cambiamento da online a batch avvenga ilmodo graduale.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
poBFGS: Parametrized Online BFGS
Aggiornamento pesi
Epo(wk) = (1− µ)E (wk) + µEp(wk) (32)
I quando u vale 0 si sta utilizzando l’approccio batchI quando u vale 1 si sta utilizzando l’approccio onlineI Tale parametro generalmente è inizializzato ad 1 e viene
decrementato gradualmente
Formula di aggiornamento
wk+1 = wk + ηkHkgk (33)
con Hk che è approssimata in modo iterativo dalla formula BFGS.Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Random Neural Network
Cos’è una RNNÉ una versione probabilistica di una rete neurale standard.
La caratteristica principale è che accetta soluzioni compatibili conil modello probabilistico product form solution, il quale vienespesso usato per fornire una metrica per vari tipi di sistemi.
La distribuzione di probabilità della rete può essere descritta comeil prodotto delle probabilità marginali dello stato di ogni nodo.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Random Neural Network
Cos’è una RNNIn questo tipo di reti ogni nodo accumula i segnali provenienti daglialtri nodi o dall’esterno della rete.
I segnali ricevuti da un nodo i da un nodo esterno sono gestitisecondo una distribuzione di Poisson con parametri +λ(i) e −λ(i)rispettivamente se il segnale è positivo o negativo.
Se in un dato instante il nodo ha un valore positivo allora il segnaleviene emanato verso l’esterno
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Modello
Errore Globale
E =K∑
k=1Ek (34)
conEk = 1
2
n∑i=1
ai(qi − yik)2, ai ≥ 0 (35)
doveqi = λ(i)+
r(i) + λ−(i) (36)
corrisponde alla probabilità che il neurone i sia eccitato.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Output e aggiornamento
Secondo questo modello in una rete con n nodi si avrà chen∑
j=1[p+(i , j) + p−(i , j)] + d(i) = 1 (37)
con d(i) probabilità che un segnale lasci il nodo i .p+(i , j) e p−(i , j) probabilità che il segnale assuma valore positivoo negativo
Formula di aggiornamento
wk+1(u, v) = wk(u, v)− ηn∑
i=1ai(qik − yik) δqi
δw(u, v) (38)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca LineareReti Neurali
Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random
Confronto metodi
É stato anche fatto un confronto tra i risultati dei vari metodiquasi-Newton
Emanuele Pesce Applicazioni dei metodi quasi-Newton