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
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Metodi basati su ricerca lineare
Il problema
Produrre 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 Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
L’idea dietro un metodo di discesa
Decrescita
Se vogliamo garantire la decrescita dobbiamo avere che
f (xk+1) < f (xk) ∀k ≥ 0 (2)
Scelta del parametro Îąk
Scelta della direzione pk
Esistono molti approcci (metodi del gradiente, metodi di Newton
etc.)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Algoritmo generico di un metodo di discesa
Algorithm 1: Metodo di discesa
1 Scegli x0 ∈ Rn;
2 k = 0;
3 while f (xk) = ∅ do
4 calcola la direzione di discesa pk ∈ Rn;
5 calcola la lunghezza del passo ιk ∈ Rn;
6 xk+1 = xk + Îąkpk
7 k = k + 1
8 end
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Programmazione quadratica
Classe di problemi molto importante, la cui formulazione è
min f (x) =
1
2
xT
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 questi
problemi sono
f (x) = Qx − b (4)
H(x) = Q (5)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Programmazione quadratica
L’ottimalità per questa classe di problemi si ha quando
f (x) = 0 (6)
Da cui si ricava che
x∗
= Q−1
b (7)
Capire se è massimo o minimo interviene l’hessiana. Infatti se H è
definita positiva: x∗ è un punto di minimo globale
Ê semi-denita positiva: se è invertibile è un minimo globale,
altrimenti non esistono soluzioni
non è denita positiva: la funzione non ha punti di minimo
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Metodo di Newton
Data una funzione f si vuole minimizzare una sua approssimazione
quadratica.
Si consideri hk = Îąkpk, grazie alla serie di Taylor calcoliamo la sua
approssimazione quadratica
f (xk + hk) ≈ q(hk) = f (xk) + hT
k f (xk) +
1
2
hT
k H(xk)hk (8)
Da qui ponendo il gradiente di q(hk) pari a 0
q(hk) = f (xk) + H(xk)hk = 0 (9)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Metodo di Newton
Attraverso qualche calcolo ricaviamo la direzione del metodo di
Newton
hk = −H(xk)−1
f (xk) (10)
Aggiornamento
E dato che hk = Îąkpk e che xk+1 = xk + Îąkpk si ricava che
xk+1 = xk − H(xk)−1
f (xk) (11)
ovvero la formula di aggiornamento del metodo di Newton.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Algoritmo metodo di Newton
Algorithm 2: Metodo di Newton Puro
1 Scegli x0 ∈ Rn;
2 k = 0;
3 while f (xk) = ∅ do
4 xk+1 = xk − H(xk)−1 f (xk)
5 k = k + 1
6 end
Converge velocemente in quanto a numero di iterazioni, ma ogni
passo impiega O(n3)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Metodi quasi-Newton
Scopo
Ovviare all’eccessivo costo computazionale del metodo di Newton
Idea
Al posto di calcolare l’hessiana, si calcola una sua
approssimazione B denita positiva
Si calcola Bk+1 a partire da Bk
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Condizione quasi-Newton
Siano:
hk = xk+1 − xk e γk = f (xk+1) − f (xk).
Tramite calcoli si ottiene
f (xk) + H(xk)hk ≈ f (xk+1) (12)
f (xk+1) − f (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 Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Condizione quasi-Newton
Si inizializza B alla matrice identitĂ 
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 metodo
quasi-Newton
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi 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 f (xk) = ∅ do
5 pk = −Bk f (xk); /*direzione di discesa*/
6 ιk ∈ Rn; /*lunghezza del passo*/
7 xk+1 = xk + Îąkpk
8 ricava Bk+1 da Bk;
9 k = k + 1;
10 end
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi 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 è un
coeciente di proporzionalità.
Attraverso vari calcoli diventa
Bk+1 = Bk +
(hk − Bkγk)(hk − Bkγk)T
(hk − Bkγk)T γk
(18)
Non si hanno garanzie che Bk rimanga positiva ad ogni
iterazione, quindi non si sa se la direzione sia di discesa
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi 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 +
hkhT
k
hT
k Îłk
−
BkÎłkÎłT
k Bk
ÎłT
k BkÎłk
(20)
Ogni iterazione ha costo O(n2)
Le matrici B sono sempre denite positive
Converge in n passi se il problema è quadratico
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Metodi basati su ricerca lineare
Metodi di Newton
Metodi quasi-Newton
Formula di aggiornamento di rango due inversa o BFGS
Simile al metodo precedente ma stavolta si va va ad approssimare
la matrice hessiana e non la sua inversa arrivando ad avere
Bk+1 = Bk + 1 +
ÎłkBkÎłT
k
hT
k Îłk
hkhT
k
hT
k Îłk
−
hkÎłT
k Bk + BkÎłkhT
k
hT
k Îłk
(21)
Preserva tutti i vantaggi del metodo di DFP
Converge globalmente
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Reti Neurali
Cos’è
Una rete neurale articiale è un modello che cerca di emulare il
comportamento di una rete una rete neurale naturale.
Scopo
Nate per riprodurre e attivitĂ  tipiche del cervello umano come la
percezioni di immagini, il riconoscimento di forme, la comprensione
del linguaggio o altro.
Molto utilizzate nell’ambito della classificazione
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Neurone Articiale
Cos’è
UnitĂ  base del funzionamento di una rete neurale
un neurone comunica con altri neuroni attraverso dei
collegamenti (generalmente pesati)
il modo in cui sono connessi i neuroni tra loro è chiamata
architettura
l’architettura più usata è quella a strati
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Attivazione Neurone Articiale
Input Neurone Y
Si consideri un neurone Y che riceve input da n neuroni X. Siano
xi l’uscita associata al neurone Xi , wi il peso relativo a xi e sia αy
la somma pesata dei segnali in ingresso di Y .
Îąy =
n
i=1
wi xi (22)
Uscita
definiamo y l’attivazione o l’uscita del neurone Y
y = f (Îąy ) = f (
n
i=1
wi xi ) (23)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Attivazione Neurone Articiale
Funzione di attivazione
f è chiamata funzione di attivazione e può essere scelta tra
molte funzioni
generalmente si sceglie la funzione sigmoidea
y = f (Îą) =
1
1 + e(−α)
(24)
Perchè?
É derivabile, condizione che sarà necessaria per molti metodi
di addestramento
dĂ  valori compresi da 0 ed 1
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Modello Neurone Articiale
Nella fase di addestramento si cerca di trovare dei valori ai pesi in
modo da far funzionare la rete in modo eciente
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Delta Rule
Aggiornamento pesi
wi = wi + wi (25)
dove wi indica la variazione
wi = ηδxi , conδ = t − y[errore] (26)
Aggiorniamo finché l’errore scende sotto una soglia accettabile
Ek errore sul k-esimo esempio, E è l’errore globale
EK =
1
2
p
j=1
(tj − yj)2
E =
m
k=1
Ek (27)
p è il numero di uscite della rete
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento
Backpropagation
É una tecnica di addestramento molto diffusa
si base su reti feedforward
vi è una fase in cui i segnali viaggiono verso l’uscita
successivamente si calcola l’errore e lo si propaga all’indietro
modicando i pesi delle connessioni
Formula di aggiornamento
wij(n + 1) = Ρδoi + ι wij(n) (28)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Batch/Online
Dato un dataset di training i metodi quasi-Newton possono
operare sia in maniera Batch che Online
Online
i pesi dei neuroni vengono modicati pattern dopo pattern, in
maniera sequenziale. Permette agevolmente di trovare il minimo
locale.
Batch
l’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 Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Addestramento tramite ioBFGS
io BFGS: Improvered Online BFGS
E(w) =
1
Pt p∈T
Ep(w) (29)
con
Ep(w) =
1
2
||dp − op||2
, op = f (w, xp) (30)
Sapendo
wk+1
= wk
+ Îąk
gk
(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 Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
poBFGS: Parametrized Online BFGS
poBFGS
Sfrutta i vantaggi di entrambe le tecniche (Batch ed Online)
Come
Sfrutta in modo combinato entrambi gli approcci
Passaggio graduale
Viene introdotto un coeciente u che viene aggiornato di volta in
volta in modo che il cambiamento da online a batch avvenga il
modo graduale.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
poBFGS: Parametrized Online BFGS
Aggiornamento pesi
Epo(wk
) = (1 − µ)E(wk
) + ÂľEp(wk
) (32)
quando u vale 0 si sta utilizzando l’approccio batch
quando u vale 1 si sta utilizzando l’approccio online
Tale parametro generalmente è inizializzato ad 1 e viene
decrementato gradualmente
Formula di aggiornamento
wk+1
= wk
+ Ρk
Hk
gk
(33)
con Hk che è approssimata in modo iterativo dalla formula BFGS.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi 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 con
il modello probabilistico product form solution, il quale viene
spesso usato per fornire una metrica per vari tipi di sistemi.
La distribuzione di probabilità della rete può essere descritta come
il prodotto delle probabilitĂ  marginali dello stato di ogni nodo.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Random Neural Network
Cos’è una RNN
In questo tipo di reti ogni nodo accumula i segnali provenienti dagli
altri nodi o dall’esterno della rete.
I segnali ricevuti da un nodo i da un nodo esterno sono gestiti
secondo 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 segnale
viene emanato verso l’esterno
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Modello
Errore Globale
E =
K
k=1
Ek (34)
con
Ek =
1
2
n
i=1
ai (qi − yik)2
, ai ≥ 0 (35)
dove
qi =
Îť(i)+
r(i) + λ−(i)
(36)
corrisponde alla probabilitĂ  che il neurone i sia eccitato.
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Output e aggiornamento
Secondo questo modello in una rete con n nodi si avrĂ  che
n
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 positivo
o negativo
Formula di aggiornamento
wk+1(u, v) = wk(u, v) − η
n
i=1
ai (qik − yik)
δqi
δw(u, v)
(38)
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Confronto metodi
É stato anche fatto un confronto tra i risultati dei vari metodi
quasi-Newton
Emanuele Pesce Applicazioni dei metodi quasi-Newton
Ricerca Lineare
Reti Neurali
Metodi quasi-Newton nell’addestramento delle reti neurali
Addestramento con metodi quasi-Newton Online/Batch
Metodi quasi-Newton nelle Reti Neurali Random
Fine
Grazie dell’attenzione
Emanuele Pesce Applicazioni dei metodi quasi-Newton

(Italian) Applicazione dei metodi quasi-Newton per la convergenza delle reti neurali

  • 1.
    Ricerca Lineare Reti Neurali Metodiquasi-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
  • 2.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Metodi basati su ricerca lineare Il problema Produrre 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
  • 3.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton L’idea dietro un metodo di discesa Decrescita Se vogliamo garantire la decrescita dobbiamo avere che f (xk+1) < f (xk) ∀k ≥ 0 (2) Scelta del parametro αk Scelta della direzione pk Esistono molti approcci (metodi del gradiente, metodi di Newton etc.) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 4.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Algoritmo generico di un metodo di discesa Algorithm 1: Metodo di discesa 1 Scegli x0 ∈ Rn; 2 k = 0; 3 while f (xk) = ∅ do 4 calcola la direzione di discesa pk ∈ Rn; 5 calcola la lunghezza del passo αk ∈ Rn; 6 xk+1 = xk + αkpk 7 k = k + 1 8 end Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 5.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Programmazione quadratica Classe di problemi molto importante, la cui formulazione è min f (x) = 1 2 xT 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 questi problemi sono f (x) = Qx − b (4) H(x) = Q (5) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 6.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Programmazione quadratica L’ottimalità per questa classe di problemi si ha quando f (x) = 0 (6) Da cui si ricava che x∗ = Q−1 b (7) Capire se è massimo o minimo interviene l’hessiana. Infatti se H è definita positiva: x∗ è un punto di minimo globale é semi-definita positiva: se è invertibile è un minimo globale, altrimenti non esistono soluzioni non è definita positiva: la funzione non ha punti di minimo Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 7.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Metodo di Newton Data una funzione f si vuole minimizzare una sua approssimazione quadratica. Si consideri hk = αkpk, grazie alla serie di Taylor calcoliamo la sua approssimazione quadratica f (xk + hk) ≈ q(hk) = f (xk) + hT k f (xk) + 1 2 hT k H(xk)hk (8) Da qui ponendo il gradiente di q(hk) pari a 0 q(hk) = f (xk) + H(xk)hk = 0 (9) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 8.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Metodo di Newton Attraverso qualche calcolo ricaviamo la direzione del metodo di Newton hk = −H(xk)−1 f (xk) (10) Aggiornamento E dato che hk = αkpk e che xk+1 = xk + αkpk si ricava che xk+1 = xk − H(xk)−1 f (xk) (11) ovvero la formula di aggiornamento del metodo di Newton. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 9.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Algoritmo metodo di Newton Algorithm 2: Metodo di Newton Puro 1 Scegli x0 ∈ Rn; 2 k = 0; 3 while f (xk) = ∅ do 4 xk+1 = xk − H(xk)−1 f (xk) 5 k = k + 1 6 end Converge velocemente in quanto a numero di iterazioni, ma ogni passo impiega O(n3) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 10.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Metodi quasi-Newton Scopo Ovviare all’eccessivo costo computazionale del metodo di Newton Idea Al posto di calcolare l’hessiana, si calcola una sua approssimazione B definita positiva Si calcola Bk+1 a partire da Bk Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 11.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Condizione quasi-Newton Siano: hk = xk+1 − xk e γk = f (xk+1) − f (xk). Tramite calcoli si ottiene f (xk) + H(xk)hk ≈ f (xk+1) (12) f (xk+1) − f (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
  • 12.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Condizione quasi-Newton Si inizializza B alla matrice identità 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 metodo quasi-Newton Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 13.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi 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 f (xk) = ∅ do 5 pk = −Bk f (xk); /*direzione di discesa*/ 6 αk ∈ Rn; /*lunghezza del passo*/ 7 xk+1 = xk + αkpk 8 ricava Bk+1 da Bk; 9 k = k + 1; 10 end Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 14.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi 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 è un coefficiente di proporzionalità. Attraverso vari calcoli diventa Bk+1 = Bk + (hk − Bkγk)(hk − Bkγk)T (hk − Bkγk)T γk (18) Non si hanno garanzie che Bk rimanga positiva ad ogni iterazione, quindi non si sa se la direzione sia di discesa Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 15.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi 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 + hkhT k hT k γk − BkγkγT k Bk γT k Bkγk (20) Ogni iterazione ha costo O(n2) Le matrici B sono sempre definite positive Converge in n passi se il problema è quadratico Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 16.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Metodi basati su ricerca lineare Metodi di Newton Metodi quasi-Newton Formula di aggiornamento di rango due inversa o BFGS Simile al metodo precedente ma stavolta si va va ad approssimare la matrice hessiana e non la sua inversa arrivando ad avere Bk+1 = Bk + 1 + γkBkγT k hT k γk hkhT k hT k γk − hkγT k Bk + BkγkhT k hT k γk (21) Preserva tutti i vantaggi del metodo di DFP Converge globalmente Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 17.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Reti Neurali Cos’è Una rete neurale artificiale è un modello che cerca di emulare il comportamento di una rete una rete neurale naturale. Scopo Nate per riprodurre e attività tipiche del cervello umano come la percezioni di immagini, il riconoscimento di forme, la comprensione del linguaggio o altro. Molto utilizzate nell’ambito della classificazione Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 18.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Neurone Artificiale Cos’è Unità base del funzionamento di una rete neurale un neurone comunica con altri neuroni attraverso dei collegamenti (generalmente pesati) il modo in cui sono connessi i neuroni tra loro è chiamata architettura l’architettura più usata è quella a strati Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 19.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Attivazione Neurone Artificiale Input Neurone Y Si consideri un neurone Y che riceve input da n neuroni X. Siano xi l’uscita associata al neurone Xi , wi il peso relativo a xi e sia αy la somma pesata dei segnali in ingresso di Y . αy = n i=1 wi xi (22) Uscita definiamo y l’attivazione o l’uscita del neurone Y y = f (αy ) = f ( n i=1 wi xi ) (23) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 20.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Attivazione Neurone Artificiale Funzione di attivazione f è chiamata funzione di attivazione e può essere scelta tra molte funzioni generalmente si sceglie la funzione sigmoidea y = f (α) = 1 1 + e(−α) (24) Perchè? É derivabile, condizione che sarà necessaria per molti metodi di addestramento dà valori compresi da 0 ed 1 Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 21.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Modello Neurone Artificiale Nella fase di addestramento si cerca di trovare dei valori ai pesi in modo da far funzionare la rete in modo efficiente Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 22.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Delta Rule Aggiornamento pesi wi = wi + wi (25) dove wi indica la variazione wi = ηδxi , conδ = t − y[errore] (26) Aggiorniamo finché l’errore scende sotto una soglia accettabile Ek errore sul k-esimo esempio, E è l’errore globale EK = 1 2 p j=1 (tj − yj)2 E = m k=1 Ek (27) p è il numero di uscite della rete Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 23.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento Backpropagation É una tecnica di addestramento molto diffusa si base su reti feedforward vi è una fase in cui i segnali viaggiono verso l’uscita successivamente si calcola l’errore e lo si propaga all’indietro modificando i pesi delle connessioni Formula di aggiornamento wij(n + 1) = ηδoi + α wij(n) (28) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 24.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Batch/Online Dato un dataset di training i metodi quasi-Newton possono operare sia in maniera Batch che Online Online i pesi dei neuroni vengono modificati pattern dopo pattern, in maniera sequenziale. Permette agevolmente di trovare il minimo locale. Batch l’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
  • 25.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Addestramento tramite ioBFGS io BFGS: Improvered Online BFGS E(w) = 1 Pt p∈T Ep(w) (29) con Ep(w) = 1 2 ||dp − op||2 , op = f (w, xp) (30) Sapendo wk+1 = wk + αk gk (31) gk = − δEp(wk ) δwk per l’approccio online gk = −δE(wk ) δwk per l’approccio batch. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 26.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random poBFGS: Parametrized Online BFGS poBFGS Sfrutta i vantaggi di entrambe le tecniche (Batch ed Online) Come Sfrutta in modo combinato entrambi gli approcci Passaggio graduale Viene introdotto un coefficiente u che viene aggiornato di volta in volta in modo che il cambiamento da online a batch avvenga il modo graduale. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 27.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random poBFGS: Parametrized Online BFGS Aggiornamento pesi Epo(wk ) = (1 − µ)E(wk ) + µEp(wk ) (32) quando u vale 0 si sta utilizzando l’approccio batch quando u vale 1 si sta utilizzando l’approccio online Tale parametro generalmente è inizializzato ad 1 e viene decrementato gradualmente Formula di aggiornamento wk+1 = wk + ηk Hk gk (33) con Hk che è approssimata in modo iterativo dalla formula BFGS. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 28.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi 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 con il modello probabilistico product form solution, il quale viene spesso usato per fornire una metrica per vari tipi di sistemi. La distribuzione di probabilità della rete può essere descritta come il prodotto delle probabilità marginali dello stato di ogni nodo. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 29.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Random Neural Network Cos’è una RNN In questo tipo di reti ogni nodo accumula i segnali provenienti dagli altri nodi o dall’esterno della rete. I segnali ricevuti da un nodo i da un nodo esterno sono gestiti secondo 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 segnale viene emanato verso l’esterno Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 30.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Modello Errore Globale E = K k=1 Ek (34) con Ek = 1 2 n i=1 ai (qi − yik)2 , ai ≥ 0 (35) dove qi = λ(i)+ r(i) + λ−(i) (36) corrisponde alla probabilità che il neurone i sia eccitato. Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 31.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Output e aggiornamento Secondo questo modello in una rete con n nodi si avrà che n 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 positivo o negativo Formula di aggiornamento wk+1(u, v) = wk(u, v) − η n i=1 ai (qik − yik) δqi δw(u, v) (38) Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 32.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Confronto metodi É stato anche fatto un confronto tra i risultati dei vari metodi quasi-Newton Emanuele Pesce Applicazioni dei metodi quasi-Newton
  • 33.
    Ricerca Lineare Reti Neurali Metodiquasi-Newton nell’addestramento delle reti neurali Addestramento con metodi quasi-Newton Online/Batch Metodi quasi-Newton nelle Reti Neurali Random Fine Grazie dell’attenzione Emanuele Pesce Applicazioni dei metodi quasi-Newton