(italian) applicazione dei metodi quasi-newton per la convergenza delle reti neurali

33
Ricerca Lineare Reti Neurali Metodi quasi-Newton nell’addestramento delle reti neurali Applicazioni dei metodi quasi-Newton per la convergenza dell’addestramento delle reti neurali Emanuele Pesce Università degli studi di Salerno Giugno 2014 Emanuele Pesce Applicazioni dei metodi quasi-Newton

Upload: emapesce

Post on 17-Aug-2015

33 views

Category:

Science


4 download

TRANSCRIPT

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

Ricerca LineareReti Neurali

Metodi quasi-Newton nell’addestramento delle reti neuraliAddestramento con metodi quasi-Newton Online/BatchMetodi quasi-Newton nelle Reti Neurali Random

Fine

Grazie dell’attenzione

Emanuele Pesce Applicazioni dei metodi quasi-Newton