Reti Neurali - Università degli Studi di Roma "Tor Vergata"

annuncio pubblicitario
Reti Neurali
Veronica Piccialli∗
Roma 10 gennaio 2010
∗ Università degli Studi di Roma Tor Vergata
1 / 49
Reti neurali
Introduzione
• Reti neurali
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Rete neurale: processore distribuito ispirato al funzionamento del sistema
nervoso negli organismi evoluti, costituito dalla interconnessione di unità
computazionali elementari (neuroni)
Caratteristica fondamentale: la conoscenza è acquisita dall’ambiente tramite un
processo di apprendimento e viene immagazzinata nei parametri della rete che
sono i pesi associati alle connessioni.
Metodi on-line
Reti RBF
Addestramento RBF
2 / 49
Perceptron
Introduzione
Perceptron
• Perceptron
• Addestramento I
• Addestramento II
• Limiti del perceptron
Il Perceptron esegue una trasformazione non lineare degli ingressi x e fornisce
un’uscita scalare (nella versione di Mc Cullock e Pitts 43)
y(x) = sgn(wT x − θ)
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Scegliendo i pesi in modo appropriato è in grado di realizzare le funzioni and, or,
not.
Nel ’62 Rosenblatt lo reinterpreta come classificatore lineare: la funzione
discriminante è la funzione lineare wT x − θ
Addestramento RBF
3 / 49
Addestramento I
Introduzione
Sia dato un training set
Perceptron
• Perceptron
• Addestramento I
• Addestramento II
• Limiti del perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
T = {(xp , y p ) : x ∈ Rn , y p ∈ {−1, 1}, p = 1, . . . , P },
diviso in due insiemi
A = {xp : y p = 1} B = {xp : y p = −1}
Addestrare il perceptron vuol dire individuare i pesi w e la soglia θ tali che:
wT xp − θ > 0 ∀xp ∈ A
wT xp − θ < 0 ∀xp ∈ B
p
Si introduce un ingresso fittizio x0 = −1, p = 1, . . . , P e si ridefinisce
w = (θ w), il sistema diventa
wT xp > 0 ∀xp ∈ A
wT xp < 0 ∀xp ∈ B
4 / 49
Addestramento II
Introduzione
Perceptron
• Perceptron
• Addestramento I
• Addestramento II
• Limiti del perceptron
Reti multistrato
Dati (xp , y p ) ∈ T , p = 1, . . . , P
Iniz w(0) = 0, k = 0, nclass = 0
While nclass < P
Creazione di una rete
multistrato
For p = 1, . . . , P ,
Richiami di
ottimizzazione non
vincolata
If sgn(wT xp ) = y p then
nclass = nclass + 1
Metodi on-line
Reti RBF
else
Addestramento RBF
w(k + 1) = w(k) + y p xp
k =k+1
End if
End for
If nclass < P , nclass = 0
End do
5 / 49
Limiti del perceptron
Introduzione
Perceptron
• Perceptron
• Addestramento I
• Addestramento II
• Limiti del perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Se i due insiemi A e B sono linearmente separabili, l’algoritmo converge.
Si potrebbe addestrare risolvendo il sistema di disequazioni con metodi ai punti
interni.
Oppure sostituendo la funzione sgn con una qualunque funzione ρ monotona
crescente tale che:
lim ρ(t) = −1,
t→−∞
lim ρ(t) = 1
t→∞
e minimizzare poi la funzione di errore quadratico sul training:
Reti RBF
Addestramento RBF
P
1X p
E(w) =
(y − ρ(wT xp ))2
2 p=1
Non è in grado di rappresentare funzioni anche semplici come lo XOR (OR
esclusivo o somma modulo 2, restituisce 1 se e solo se uno solo dei due operandi
1, mentre restituisce 0 in tutti gli altri casi).
Si può solo garantire errore nullo sul training set, non ci sono garanzie sulla
capacità di generalizzazione.
6 / 49
Definizione
Introduzione
Sono architetture costituite da più strati di neuroni connessi in cascata:
Perceptron
Reti multistrato
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
consentono di approssimare qualunque funzione continua su un insieme
compatto (sotto opportune ipotesi sulle funzioni di attivazione);
risolvono problemi di classificazione anche di insieme non linearmente
separabili;
l’addestramento è più complesso.
Metodi on-line
Reti RBF
Addestramento RBF
7 / 49
Struttura
Introduzione
L’architettura si definisce tramite:
Perceptron
Reti multistrato
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
⊳ insieme di n nodi in ingresso associati agli n ingressi della rete
⊳ un insieme di neuroni formali organizzati in L ≥ 2 strati di cui:
- L − 1 strati nascosti: le uscite fanno da ingresso ad altri neuroni
della rete
- uno strato di uscita costituito da K ≥ 1 neuroni le cui uscite sono le
uscite della rete
Metodi on-line
Reti RBF
Addestramento RBF
⊳ Un insieme di archi orientati e pesati che costituiscono le connessioni
interneurali e quelle con i nodi di ingresso.
⊳ NON esistono connessioni tra neuroni dello stesso strato nè archi
all’indietro
8 / 49
Esempio
L = 3 strati
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
x1
2 ingressi
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
y(x)
x2
strato uscita K = 1
Metodi on-line
Reti RBF
Addestramento RBF
2 strati nascosti
Dati due neuroni i dello strato l − 1 e j dello strato l si ha
i
l
wji
j
9 / 49
Funzioni di attivazione
Introduzione
Perceptron
Reti multistrato
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
(l)
Ogni neurone j ha una funzione di attivazione gj : R ⇒ R che prende in
ingresso la combinazione pesata degli ingressi aj , mentre wj0 è la soglia.
Per il primo strato si ha:
(1)
aj
k=1
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Addestramento RBF
(1)
wjk xk − wj0 zj1 = gj (aj ),
Per lo strato l generico si ha:
Metodi on-line
Reti RBF
=
n
X
(l)
aj =
l−1
N
X
k=1
(l)
(l)
l−1
l−1 l−1
zjl = gj (aj ),
zk − wj0
wjk
dove N l è il numero di neuroni dello strato nascosto l.
Tipici esempi di funzioni di attivazione (che sono di solito differenziabili e
sigmoidali) sono:
1
1 − e−t
g(t) =
, c > 0 g(t) =
1 + e−ct
1 + e−t
10 / 49
Rete a due strati
Introduzione
Consideriamo la rete a 2 strati con uno strato nascosto e uscita lineare:
Perceptron
Reti multistrato
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
w11
x1
w21
w31
g
+
v1
θ1
-1
w12
x2 w22
w32
Addestramento RBF
g
+
v2
+
y(x)
θ2
-1
g
+
v3
θ3
-1
y(x) =
3
X
k=1
vk
2
X
j=1
g (wkj xj − θj )
11 / 49
Proprietà
Introduzione
Perceptron
Reti multistrato
• Definizione
• Struttura
• Esempio
• Funzioni di attivazione
• Rete a due strati
• Proprietà
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Una rete multistrato a 2 strati con uno strato nascosto e uscita lineare è un
approssimatore universale: approssima qualunque funzione continua su un
insieme compatto (sotto l’ipotesi che g sia continua e non sia un polinomio)
Approssimare una funzione f (x) su un insieme compatto Ω vuol dire che, per un
qualunque ǫ > 0,
max |f (x) − y(x)| < ǫ
x∈Ω
Le reti multistrato possono essere usate sia per problemi di regressione che per
problemi di classificazione.
Metodi on-line
Reti RBF
Addestramento RBF
12 / 49
Struttura e addestramento
Introduzione
Determinare una rete multistrato con n ingressi e K uscite implica due passi:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
1. Scegliere l’architettura della rete: numero di strati, numero di neuroni per
ogni strato
2. addestrare la rete: scegliere w e θ per ogni strato.
Addestrare la rete vuol dire risolvere il problema:
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
min E(w) =
w∈ℜm
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
P
X
Ep (w)
p=1
dove Ep (w) è il termine di errore relativo al campione p del training set, che
misura la distanza tra l’uscita desiderata y p e l’uscita prodotta dalla rete, ad es.:
Addestramento RBF
Ep =
1
ky(xp , w) − y p k2
2
Supponiamo Ep ∈ C 1
13 / 49
Scelta dell’architettura
Introduzione
Perceptron
Scopo dell’addestramento non è interpolare i dati del training set, ma ottenere
una buona capacità di generalizzazione.
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Uno dei problemi più difficili è quello di stabilire la complessità del modello, e di
conseguenza il numero di parametri liberi, sulla base dei dati disponibili per
l’addestramento.
Per le reti multistrato esistono delle stime teoriche del numero di campioni del
training set necessari per garantire una buona capacità di generalizzazione. Ma
sono spesso inadeguate, si usano quindi tecniche euristiche per scegliere la
struttura della rete e dimensionare il training set.
Esistono due strategie fondamentali:
1. Stabilizzazione strutturale
Reti RBF
Addestramento RBF
2. Tecnica di regolarizzazione
14 / 49
Stabilizzazione strutturale
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
Richiami di
ottimizzazione non
vincolata
1. Si dividono i dati in 3 insiemi:
training set
validation set
test set
2. Si sceglie il numero di unità facendo crescere/diminuire il numero di
neuroni
3. Per ogni numero di neuroni, si addestra la rete corrispondente usando
sempre il training set.
Metodi on-line
Reti RBF
Addestramento RBF
4. Si valuta l’architettura scelta tramite il validation set (cross validation) e si
sceglie quella che dà l’errore più basso.
5. La migliore architettura viene valutata tramite il test set.
15 / 49
Tecnica di Regolarizzazione
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
1. Si dividono i dati in 3 insiemi:
training set
validation set
test set
2. Si aggiunge alla funzione di errore un termine di penalità nella norma di w
(equivale a fare ipotesi di regolarità sulle funzioni realizzate dalla rete):
E(w) =
P
X
Ep (w) + γkwk2
p=1
Addestramento RBF
3. Per diversi valori di γ , si addestra la rete usando sempre il training set.
4. Si sceglie il valore migliore di γ tramite cross validation.
5. La rete risultante viene valutata tramite il test set.
16 / 49
Early stopping
Introduzione
Un’alternativa alla regolarizzazione è l’early stopping:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
1. Si interrompe prematuramente la minimizzazione della funzione di errore.
2. Si valuta la rete sul validation set.
strutturale
• Tecnica di
Regolarizzazione
3. All’inizio l’errore sul validation set diminuisce al migliorare dell’errore sul
training.
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
4. Se si ha il fenomeno dell’overfitting, l’errore sul validation set sale. A
questo punto si interrompe il processo.
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
17 / 49
Addestramento
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
Richiami di
ottimizzazione non
vincolata
Addestrare una rete multistrato richiede in ogni caso di risolvere (più volte) il
problema di ottimizzazione non vincolata (con o senza termine di
regolarizzazione):
min E(w)
(1)
w∈R
Un algoritmo efficiente è quindi uno strumento essenziale, e deve tenere conto
delle difficoltà intrinseche del problema (1):
1. forti non linearità di E(w)
2. dimensioni di w elevate e numero di campioni P molto grande
3. possibile mal condizionamento dell’hessiana di E(w)
Metodi on-line
Reti RBF
4. presenza di minimi locali non globali
Addestramento RBF
5. insiemi di livello non compatti (salvo caso in cui si ha il termine di
regolarizzazione)
18 / 49
Classi di algoritmi
Introduzione
Esistono due classi di algoritmi di addestramento:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
1. metodi batch: ad ogni passo i pesi vengono aggiornati utilizzando tutti i
campioni del training set (metodi di ottimizzazione non vincolata)
2. metodi on-line: ad ogni passo i pesi vengono aggiornati tenendo conto di
un solo campione del training set (corrispondono ai metodi incrementali,
che utilizzano cioè solo un’informazione parziale sulla funzione obiettivo e
le sue derivate).
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
19 / 49
Metodi batch
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
• Struttura e
addestramento
• Scelta dell’architettura
• Stabilizzazione
strutturale
• Tecnica di
Regolarizzazione
• Early stopping
• Addestramento
• Classi di algoritmi
• Metodi batch
⊳ Sono riconducibili a tecniche di ottimizzazione non vincolata, garantiscono
convergenza a punti stazionari (buona riduzione dell’errore rispetto alla
stima iniziale)
⊳ Tipicamente utilizzano soltanto le derivate prime (o troppo dispendiosi)
⊳ Sono utilizzabili solo fuori linea, e si deve avere a disposizione l’intero training
set
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
20 / 49
Generalità
Introduzione
Il generico algoritmo di minimizzazione non vincolato si basa sull’iterazione:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
wk+1 = wk + ηk dk
I diversi algoritmi sono caratterizzati dalla scelta della direzione e dalla scelta del
passo (linesearch)
La direzione dk è una direzione di discesa (∇E(wk )T dk < 0)
I
La scelta del passo ηk lungo la direzione dk serve a garantire sufficiente
spostamento e sufficiente riduzione della funzione obiettivo
• BFGS
• L-BFGS
• L-BFGS II
(Quasi) tutti i metodi richiedono il calcolo di ∇w E(w)
I
• Scelta della direzione
Metodi on-line
Esistono delle formule efficienti per il calcolo di ∇w E(w) backpropagation
Reti RBF
Addestramento RBF
21 / 49
Armijo
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
S0 Dati δ ∈ (0, 1), γ ∈ (0, 1/2), si sceglie ∆k , si pone η = ∆k , j = 0
S1 Se
E(wk + ηdk ) ≤ E(wk ) + ηγ∇E(wk )T dk
si pone ηk = η e stop.
S2 η = δη , j = j + 1 e si torna al passo S1
I
• Scelta della direzione
I
• BFGS
• L-BFGS
• L-BFGS II
Metodi on-line
Reti RBF
Addestramento RBF
Si deve avere dk di discesa e
∆k ≥
1
σ
kdk k
T
∇E(wk ) dk
kdk k
dove σ : R+ → R+ è una funzione di forzamento (σ : [0, ∞) ⇒ [0, ∞)
si dice di forzamento se per qualunque successione {tk } ⊂ [0, ∞) tale
che limk→∞ σ(tk ) = 0 si ha lim→∞ tk = 0).
22 / 49
Goldstein e Wolfe
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
Goldstein Il passo deve soddisfare, dati 0 < γ1 < γ2 < 1/2
E(wk + ηdk ) ≤ E(wk ) + ηγ1 ∇E(wk )T dk
E(wk + ηdk ) ≥ E(wk ) + ηγ2 ∇E(wk )T dk
Wolfe Il passo deve soddisfare, dati 0 < γ1 < γ2 < 1/2
I
• Scelta della direzione
I
• BFGS
• L-BFGS
• L-BFGS II
Metodi on-line
E(wk + ηdk ) ≤ E(wk ) + ηγ1 ∇E(wk )T dk
∇E(wk + ηdk )T dk ≥ γ2 ∇E(wk )T dk
Serve a garantire una riduzione della pendenza sufficiente.
Reti RBF
Addestramento RBF
23 / 49
Scelta della direzione I
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
1. Backpropagation: dk = −∇w E(w) (metodo del gradiente): di solito
combinato con line search di tipo Armijo. Converge globalmente, ma
lentamente. Si è cercato di velocizzarlo con euristiche quali (momentum
updating rule corrispondente all’heavy ball method):
wk+1 = wk − η∇E(wk ) + β(wk − wk−1 )
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
I
• Scelta della direzione
I
• BFGS
• L-BFGS
• L-BFGS II
2. Direzioni coniugate:
dk =
Metodi on-line
Reti RBF
Addestramento RBF
−∇E(wk )
−∇E(wk ) + β k dk−1
se k = 0
se k ≥ 1
con diverse possibilità per βk :
k
βFR
k∇E(wk )k2
=
k∇E(wk−1 )k2
k
βPR
∇E(wk )T (∇E(wk ) − ∇E(wk−1 ))
=
k∇E(wk−1 )k2
24 / 49
Scelta della direzione I
Introduzione
Perceptron
3. Newton (non praticabile per addestramento):
Reti multistrato
2
dk = − ∇ E(wk )
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
I
dk = −Hk ∇Ewk
I
Metodi on-line
Reti RBF
Addestramento RBF
∇E(wk )
4. Quasi Newton (approssimazione metodo di Newton senza calcolare
l’hessiano).
• Scelta della direzione
• BFGS
• L-BFGS
• L-BFGS II
−1
con Hk approssimazione dell’inversa della matrice hessiana.
(i) BFGS
(ii) L-BFGS
25 / 49
BFGS
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
wk+1 = wk − ηk H k ∇E(wk ), con ηk che soddisfa le condizioni di Wolfe e
H k soddisfa
Hk y k = s k ,
y k = ∇E(wk+1 ) − ∇E(wk+1 ),
sk = wk+1 − wk
La matrice H k è aggiornata usando la coppia (y k , sk ) secondo la formula
H k+1 = (V k )T H k V k + ρk sk (sk )T ,
I
• Scelta della direzione
I
• BFGS
• L-BFGS
• L-BFGS II
Metodi on-line
con
ρk =
1
k
k k k T
,
V
=
I
−
ρ
y (s )
k
T
k
(y ) s
Reti RBF
Addestramento RBF
La matrice H k è in generale densa, può quindi diventare inutilizzabile a grandi
dimensioni.
26 / 49
L-BFGS
Introduzione
Rientra tra i metodi quasi Newton a memoria limitata, ovvero
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
1. Una versione modificata di H k è memorizzata implicitamente utilizzando
un numero fissato (e piccolo) m di coppie {y i , si }
2. Si può calcolare in modo efficiente il prodotto H k ∇E(wk ):
Sia q k = ∇E(wk )
I
For i = k − 1, . . . , k − m
• BFGS
• L-BFGS
• L-BFGS II
End for
I
• Scelta della direzione
Metodi on-line
Reti RBF
Addestramento RBF
poni αi = ρi (si )T q i+1 ,
q i = q i+1 − αi y i
Poni r k−m−1 = H0k q k−m
For i = k − m, . . . , k − 1
poni β i = ρi (y i )T r i−1 ,
r i = r i−1 + si (αi − β i )
End for
H k ∇E(wk ) = r k−1
27 / 49
L-BFGS II
Introduzione
L’algoritmo complessivo è
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
• Generalità
• Armijo
• Goldstein e Wolfe
• Scelta della direzione
I
• Scelta della direzione
I
• BFGS
• L-BFGS
• L-BFGS II
Metodi on-line
Reti RBF
For k = 0, . . .
1. Scegli H0k
2. calcola dk = −H k ∇E(wk ) (secondo la slide precedente)
3. Poni wk+1 = wk + ηk dk dove ηk soddisfa le condizioni di Wolfe
4. Se k > m elimina la coppia {sk−m , y k−m } dalla memoria
5. Calcola e memorizza sk e y k
L’algoritmo L-BFGS è uno dei più efficienti per la soluzione di problemi a larga
scala come quelli di addestramento di una rete multistrato
Addestramento RBF
28 / 49
Metodi on-line
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
• Metodi on-line
• Backpropagation
on-line
• Backpropagation
on-line
• Metodi globali
⊳ Il vettore w viene aggiornato iterativamente in corrispondenza a ogni singolo
termine Ep (w) della funzione di errore senza formare la funzione
complessiva E(w).
⊳ Per problemi di apprendimento in tempo reale sono l’unica opzione possibile
(on-line learning).
⊳ La convergenza può essere caratterizzata solo in termini probabilistici.
⊳ Presentano alcuni vantaggi anche nell’addestramento fuori linea:
Reti RBF
Addestramento RBF
1. a grande distanza dalla soluzione può non essere conveniente
calcolare tutta la funzione e le sue derivate: conviene ridurre
rapidamente un singolo termine di errore
2. se il training set e il numero di campioni sono molto elevati il calcolo
di E e ∇E può essere troppo dispendioso
3. il training set potrebbe essere ridondante
4. la componente di randomicità di un algoritmo on-line può permettere
di evitare minimi locali
29 / 49
Backpropagation on-line
Introduzione
Il primo esempio di metodo on-line è l’addestramento del perceptron
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Per le reti multistrato il metodo più noto è la versione on-line della
backpropagation, ed è descritto da un’iterazione del tipo
wk+1 = wk − ηk ∇Ep(k) (wk )
Metodi on-line
• Metodi on-line
• Backpropagation
on-line
• Backpropagation
on-line
• Metodi globali
Reti RBF
Addestramento RBF
Per ottenere la convergenza, tutti i termini Ep devono essere considerati
ciclicamente, ovvero p(k) = k(modP ) + 1, e il passo ηk deve essere scelto in
modo da soddisfare:
∞
X
k=0
ηk = ∞,
∞
X
(ηk )2 < ∞
k=0
Un esempio di scelta di ηk è ηk = c/k con c > 0.
Esiste anche la versione on-line della momentum updating rule (con proprietà di
convergenza analoghe):
wk+1 = wk − ηk ∇Ep(k) (wk ) + β(wk − wk−1 )
30 / 49
Backpropagation on-line
Introduzione
Perceptron
La principale limitazione è la lentezza (dovuta alla scelta del passo che deve
tendere a zero con una legge prefissata)
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
• Metodi on-line
• Backpropagation
on-line
• Backpropagation
on-line
• Metodi globali
Nell’addestramento fuori-linea un compromesso è l’uso di tecniche ibride
on-line-batch chiamate bold driver methods: la backpropagation on-line è usata
per uno o più cicli di iterazioni e il passo è ricalcolato ciclicamente usando la
funzione di errore complessiva (esistono risultati di convergenza). Queste
tecniche però richiedono il calcolo di E e ∇E .
Un altro tipo di compromesso si ottiene passando gradualmente dalla
backpropagation on-line a quella batch, per accelerare la convergenza.
Reti RBF
Addestramento RBF
31 / 49
Metodi globali
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
• Metodi on-line
• Backpropagation
on-line
• Backpropagation
on-line
• Metodi globali
Reti RBF
Addestramento RBF
La presenza di minimi locali non globali della funzione di errore è stata provata
per alcuni specifici problemi test e rappresenta una delle difficoltà dei problemi di
addestramento
NB: non esistono minimi locali non globali nel caso di problemi di classificazione
di insiemi linearmente separabili.
Spesso la difficoltà maggiore è la presenza di plateau.
In realtà quello che si vuole è un errore ragionevolmente basso sul training set
che garantisca una buona capacità di generalizzazione.
Per questo i metodi globali (troppo onerosi a grandi dimensioni) non sono molto
usati. A volte si utilizza una prima fase stocastica per eliminare dei minimi non
interessanti e poi si usano metodi locali.
32 / 49
Funzioni di base radiali
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
Problema di interpolazione: dati P punti {xp ∈ Rn , p = 1, . . . , P } e un
corrispondente insieme di numeri reali {y p ∈ R, p = 1, . . . , P } determinare
una funzione y : Rn ⇒ R in una classe di funzioni assegnate tale che
y(xp ) = y p ,
p = 1, . . . , P
Una particolare tecnica di interpolazione consiste nella scelta di y della forma:
y(x) =
P
X
p=1
wp φ (kx − xp k)
dove φ : R+ ⇒ R+ è una funzione continua, chiamata funzione di base
radiale. I coefficienti wp sono detti pesi e i i punti di interpolazione centri.
Addestramento RBF
33 / 49
Funzioni di base radiali
Introduzione
Esempi di funzioni di base radiali sono:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
Addestramento RBF
1. φ(r) = r lineare
2
2. φ(r) = e−r gaussiana
2
3. φ(r) = r + σ
2
4. φ(r) = r + σ
2 −1/2
2 1/2
multiquadrica inversa
multiquadrica diretta
dove r ≥ 0 e σ è una costante positiva.
Scelta la funzione φ, usando l’espressione di y(x) si ottiene la condizione di
interpolazione:
Φw = y
dove y = (y 1 , . . . , y P )T , Φ (matrice di interpolazione) è la matrice P × P il
cui generico elemento è
Φij = φ kxi − xj k
34 / 49
Interpolazione II
Introduzione
Perceptron
Sotto opportune ipotesi sui punti di interpolazione (che devono essere tutti
distinti), si dimostra che la matrice Φ è non singolare.
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
In questo caso si dimostra l’invertibilità della matrice Φ per tutte le scelte di φ
riportate, e per la gaussiana e per la multiquadrica inversa si dimostra che le
corrispondenti matrici di interpolazione sono definite positive.
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
Addestramento RBF
35 / 49
Reti RBF regolarizzate
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
Addestramento RBF
Le tecniche di regolarizzazione sono studiate nell’ambito dei problemi di
approssimazione con insieme di campioni disponibili finito.
Supponiamo di voler approssimare una funzione f : Rn ⇒ R, e sia dato il
training set
T = {(xp , y p ), p = 1, . . . , P, y p = f (xp )}
Esistono infinite funzioni che lo risolvono e ci possono essere errori di misura nel
training set.
Le tecniche di regolarizzazione determinano la funzione approssimante
minimizzando un funzionale costituito da due termini: il primo misura la distanza
da T , il secondo penalizza la violazione delle condizioni di regolarità
sull’approssimante (sfrutta le informazioni note):
P
1X p
1
p 2
E(y) = E1 (y) + E2 (y) =
[y − y(x )] + λkPyk2
2 p=1
2
dove λ è il parametro di regolarizzazione e P è un operatore differenziale che
contiene le informazioni che si hanno sulla funzione da approssimare.
36 / 49
RBF regolarizzate
Introduzione
Perceptron
Sotto opportune ipotesi su P , si dimostra che la y(x) che minimizza E(y) è
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
y(x) =
P
X
p=1
wp φ(kx − xp k)
con φ funzione di base radiale e w è soluzione del sistema lineare:
(Φ + λI)w = y
Questa funzione y può essere interpretata come l’uscita di una rete feedforward
in cui la funzione di attivazione dei neuroni dello strato nascosto è la funzione φ.
Addestramento RBF
37 / 49
RBF regolarizzate
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
1. hanno un solo strato nascosto
2. i neuroni dello strato nascosto hanno come funzione di attivazione una
funzione di base radiale e l’argomento della funzione è data dalla distanza
tra il vettore di ingresso e il centro dell’unità
3. il numero di neuroni dello strato nascosto è pari al numero di elementi del
training set P
4. lo strato di uscita ha un unico neurone che effettua una combinazione
lineare delle uscite dei neuroni dello strato nascosto.
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
Addestramento RBF
Per ogni funzione continua f definita su un sottoinsieme compatto S di Rn esiste
PP
p
una rete RBF regolarizzata ovvero una funzione y(x) =
w
φ(kx
−
x
k)
p
p=1
tale che per ogni x ∈ S e per ogni ǫ > 0 risulta
|f (x) − y(x)| < ǫ
38 / 49
RBF generalizzate
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
La corrispondenza uno a uno tra elementi del training set e i termini della
funzione y(x) è troppo onerosa perchè determinare w richiede la soluzione di un
sistema P × P che potrebbe essere proibitivo.
Per questo motivo sono state introdotte le reti RBF generalizzate in cui il numero
N dei neuroni dello strato nascosto è di molto minore di P e i centri ci non
coincidono necessariamente con i vettori xp del training set. La funzione
approssimante diventa quindi:
y(x) =
N
X
i=1
wi φ(kx − ci k)
Devono essere determinati sia w che i centri, quindi il legame ingresso-uscita
dipende in modo nonlineare dai parametri come nelle reti multistrato
Addestramento RBF
Le RBF generalizzate includono le RBF regolarizzate, quindi sono approssimatori
universali
39 / 49
Esempio
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
x1
φ(x − c1 )
w1
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
• Funzioni di base
radiali
• Funzioni di base
radiali
x2
φ(x − c2 )
w2
+
y(x)
• Interpolazione II
• Reti RBF
regolarizzate
• RBF regolarizzate
• RBF regolarizzate
• RBF generalizzate
• Esempio
φ(x − c3 )
w3
Addestramento RBF
40 / 49
Addestramento
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Addestrare una rete RBF generalizzata vuol dire individuare il vettore w ∈ RN e
il vettore c ∈ RnN sulla base del training set
Sono possibili due diverse strategie di addestramento:
1. scelta non supervisionata dei centri e supervisionata dei pesi
2. scelta supervisionata sia dei centri che dei pesi
Reti RBF
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
• Proprietà
41 / 49
Scelta non supervisionata dei centri
Introduzione
Perceptron
Si fissano prima i centri o scegliendoli casualmente tra i vettori di ingresso del
training set oppure con tecniche di clustering
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Si scelgono poi i pesi w minimizzando la funzione di errore
E(w) =
P
X
1
2 p=1
N
X
i=1
wi φ(kxp − ci k) − yp
!2
ρ
+ kwk2 ,
2
ρ1 > 0
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
• Proprietà
Ponendo y = (y 1 , . . . , y P )T e definendo la matrice Φpi = φ(kxp − ci k), la
minimizzazione di E(w) si riduce al problema ai minimi quadrati lineari:
2
Φ(c)
y .
w−
min E(w) = √
ρI
0 w
Si possono usare metodi diretti (x = (AAT )−1 AT b) se N non è troppo elevato
se no metodi iterativi (gradiente coniugato).
Svantaggio: non si tiene conto delle uscite y p nella scelta dei centri.
42 / 49
Scelta supervisionata
Introduzione
Si risolve direttamente il problema non vincolato:
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
min E(w, c) =
w,c
P
X
1
2 p=1
N
X
i=1
wi φ(kxp − ci k) − yp
!2
+
ρ1
ρ2
kwk2 + kck2 ,
2
2
con ρ1 , ρ2 > 0.
Con questa seconda tecnica si ottengono capacità di generalizzazione migliori,
rispetto alla scelta non supervisionata dei centri.
Le dimensioni del problema sono notevolmente più elevate: si utilizzano tecniche
di decomposizione.
• Proprietà
43 / 49
Tecniche di decomposizione
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Si partizionano le variabili in blocchi e si minimizza rispetto al singolo blocco di
variabili: se si sta risolvendo il problema minx f (x) si partiziona il vettore x in
N B blocchi x1 , . . . , xN B e si definisce
k+1
k+1
k
k
,
y
,
x
,
.
.
.
,
x
=
arg
min
f
(x
.
.
.
,
x
xk+1
i
i+1
NB)
1
i−1
i
y
Metodi on-line
Addestramento RBF
In generale, non converge, esiste un controesempio in 3 variabili per il metodo
delle coordinate con ricerca di linea esatta.
• Addestramento
• Scelta non
Converge in uno dei seguenti casi:
Reti RBF
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
• Proprietà
1. Il vettore delle variabili è decomposto in N B = 2 blocchi
2. la funzione obiettivo f è pseudo-convessa (∀x, y ∈ Rn , x 6= y si ha che
∇f (x)T (y − x) ≥ 0 implica f (y) ≥ f (x)) e insiemi di livello sono
compatti
3. la funzione obiettivo f è strettamente convessa rispetto a N B − 2 blocchi.
In alternativa esistono metodi di discesa a blocchi in cui non è richiesta la
minimizzazione globale rispetto a ogni blocco di variabili.
44 / 49
Decomposizione per RBF
Introduzione
Un primo schema di decomposizione si ottiene decomponendo il problema
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
P
X
1
min E(w, c) =
w,c
2 p=1
N
X
i=1
p
wi φ(kx − ci k) − yp
!2
ρ2
ρ1
2
+ kwk + kck2 ,
2
2
rispetto a due blocchi: pesi e centri. (nota: gli insiemi di livello sono compatti)
Si iterano due fasi:
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
1. wk+1 risolve il problema dei minimi quadrati lineari in corrispondenza di ck
2. ck+1 viene individuato tramite algoritmo di discesa con ricerca
unidimensionale (Armijo) lungo l’antigradiente
SI dimostra la convergenza a punti stazionari e che i pesi di uscita corrispondono
a un minimo globale nello spazio di w per la data scelta di c.
• Proprietà
45 / 49
Decomposizione in 2 blocchi
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Dati. c0 ∈ RnN , w0 ∈ RN , k = 0.
While ∇E(wk , ck ) 6= 0
Richiami di
ottimizzazione non
vincolata
Passo 1 Minimizzazione rispetto ai pesi:
calcola wk+1 = arg minw E(w, ck ) risolvendo il problema ai minimi
quadrati in w.
Metodi on-line
Reti RBF
Addestramento RBF
Passo 2 Minimizzazione rispetto ai centri:
• Addestramento
• Scelta non
(a) calcola dk = −∇c E(wk+1 , ck )
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
(b) calcola ηk con una ricerca unidimensionale opportuna (Armijo)
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
• Proprietà
(c) scegli ck+1 tale che E(wk+1 , ck+1 ) ≤ E(wk+1 , ck + ηk dk )
Passo 3 k = k + 1
End
La sequenza {(wk , ck )} generata ha punti di accumulazione, {E(wk , ck )}
converge e ogni punto di accumulazione di {(wk , ck )} è un punto stazionario.
46 / 49
Decomposizione in N + 1 blocchi
Introduzione
Perceptron
Per problemi di dimensioni molto elevate, la minimizzazione approssimata
rispetto a c può essere troppo costosa.
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
Si decompone ulteriormente il passo 2 in una successione di minimizzazioni
sequenziali rispetto ai singoli centri
Le variabili vengono partizionate in N B = N + 1 blocchi costituiti dal vettore dei
pesi w e dai vettori dei centri ci , i = 1, . . . , N .
Come nell’algoritmo precedente i pesi vengono aggiornati risolvendo il problema
dei minimi quadrati lineare, mentre per i centri si possono usare metodi di discesa
per minimizzare rispetto ai centri.
Per garantire la convergenza la linesearch deve soddisfare ipotesi più forti, in
particolare va bene Armijo combinata con una limitazione superiore del passo.
• Proprietà
47 / 49
Decomposizione in N + 1 blocchi
Dati. c0 ∈ RnN , w0 ∈ RN , τi > 0,k = 0, ξik > 0 tali che ξik → 0 per i = 1, . . . , N .
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
While ∇E(wk , ck ) 6= 0
Passo 1 Minimizzazione rispetto ai pesi:
calcola wk+1 = arg minw E(w, ck ) risolvendo il problema ai minimi quadrati in w .
Passo 2 Minimizzazione rispetto ai centri:
For i = 1, . . . , N
k+1
Addestramento RBF
If k∇ci E(wk+1 , ck k ≤ ξik then poni ci
else
• Addestramento
• Scelta non
(a) calcola dk
i = −∇ci E(wk+1 , c1
supervisionata dei centri
(b) calcola ηik con una ricerca unidimensionale opportuna (Armijo con limitazione
superiore sul passo)
Reti RBF
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
k+1
k+1
(c) scegli c̃k
i tale che E(wk+1 , c1
= cki
k
k
, . . . , ck+1
i−1 , ci , . . . , cN )
k
k
, . . . , ck+1
i−1 ), c̃i , . . . , cN ) ≤
k
k
k k
, . . . , ck+1
E(wk+1 , ck+1
1
i−1 , ci + ηi di , . . . , cN )
If
k
k
, . . . , ck+1
E(wk+1 , ck+1
1
i−1 ), c̃i , . . . , cN ) ≤
k
k 2
k
k
, . . . , ck+1
E(wk+1 , ck+1
1
i−1 , ci , . . . , cN ) − τi kc̃i − ci k then poni
ck+1
= c̃ki
i
• Proprietà
else
k+1
poni ci
= cki + ηik dki
Passo 3 k = k + 1
48 / 49
Proprietà
Introduzione
Perceptron
Reti multistrato
Creazione di una rete
multistrato
Richiami di
ottimizzazione non
vincolata
Metodi on-line
Reti RBF
Addestramento RBF
• Addestramento
• Scelta non
supervisionata dei centri
• Scelta supervisionata
• Tecniche di
decomposizione
• Decomposizione per
RBF
• Decomposizione in 2
blocchi
• Decomposizione in
N + 1 blocchi
• Decomposizione in
N + 1 blocchi
• Proprietà
⊳ Non si possono più effettuare le minimizzazioni parziali con qualunque
algoritmo di discesa, poichè i punti tentativo c̃ki possono non essere
accettati se producono spostamenti troppo grandi dal punto cki .
⊳ Il test al passo 2 fa si che la minimizzazione parziale rispetto al centro ci è
evitata quando il corrispondente gradiente parziale è piccolo, risparmiando
in termini di tempo
⊳ Il calcolo della funzione di errore in corrispondenza di un nuovo centro ci
può essere fatto in modo molto efficiente, memorizzando le uscite della
rete corrispondenti a cki . Infatti
, . . . , cki , . . . , ckN )
, . . . , ci , . . . , ckN ) = y(xp ; wk+1 , ck+1
y(xp ; wk+1 , ck+1
1
1
−wik φ(kxp − cki k) + wik φ(kxp − ci k)
⊳ si hanno proprietà di convergenza analoghe a quelle dell’algoritmo a due
blocchi
49 / 49
Scarica