t - Dipartimento di Informatica

annuncio pubblicitario
Funzioni di errore in Reti
Neurali
Roberto Tagliaferri
Dipartimento di Matematica ed Informatica
Università di Salerno
84081 Baronissi (Sa)
e-mail [email protected]
Corso di dottorato: Apprendimento automatico e
Pattern Recognition statistico
Funzioni di errore

Introduzione

Errore somma-di-quadrati

Somma-di-quadrati per classificazione

Cross-entropia per due classi

Cross-entropia per più classi
Funzioni di errore:
introduzione
"
Per problemi di regressione, lo scopo è di modellare la
distribuzione delle variabili output condizionate sulle
variabili input (con la funzione di errore somma-diquadrati)
"
Per problemi di classificazione, lo scopo è di modellare
le probabilità a posteriori delle variabili output
condizionate sulle variabili input (con la funzione di errore
somma-di-quadrati che non va altrettanto bene)
"
Scopo del training non è memorizzare i dati di training
ma modellare il generatore dei dati per ottimizzare la
generalizzazione della rete sui nuovi input
"
La descrizione più generale e completa del generatore
h(x) è data in termini della pdf p(x, t) dello spazio
congiunto input-target
Funzioni di errore:
introduzione
"
In questi problemi è conveniente decomporre la pdf
congiunta come
p  x , t = p t∣x  p  x 
dove p(t |x) è la pdf di t dato che x ha preso un particolare
valore e p(x) è la pdf non condizionata di x data da
p  x =∫ p  t , x  d t
"
La maggioranza delle funzioni di errore per reti neurali
multi-strato può essere motivata dal principio di massima
verosimiglianza
"
Per un insieme di dati di training {xn, t n}, la
verosimiglianza può essere scritta come
₤=∏ p  x , t =∏ p  t ∣x
n
n
n
n
n
n
 p  xn
dove abbiamo assunto che ciascun punto (xn, t n) è preso
indipendentemente dalla stessa distribuzione
Funzioni di errore: introduzione
"
Poiché la funzione logaritmo è monotona, invece di
massimizzare la verosimiglianza, si può minimizzare la
funzione
E=−ln ₤=−∑ ln p  t n∣x n −∑ ln p  x n 
n
"
n
E è chiamata funzione di errore e una rete neurale feed-
forward è un sistema per modellare le pdf condizionali
p(t |x)
"
Poiché il secondo termine non dipende dai parametri
della rete, possiamo eliminarlo dalla funzione di errore:
E=−∑ ln p  t ∣x
n
n
"
n

Dall'indipendenza dei dati segue che la funzione è la
somma di termini errore ciascuno dato da un input
"
Differenti pdf  differenti funzioni di errore
"
Per problemi di interpolazione i t n sono quantità
continue
"
Per problemi di classificazione i t n sono label di classe o
probabilità di appartenenza a classi
La funzioni di errore somma-diquadrati
"
Consideriamo di avere c variabili target tk con k = 1, ..., c
e che la distribuzione delle differenti variabili target sia
indipendente: allora possiamo scrivere
c
p  t∣x =∏ p  t k∣x 
k =1
"
Supponiamo che la distribuzione dei target sia gaussiana
"
Supponiamo, inoltre, che la variabile target tk si possa
scrivere come una funzione deterministica di x sommata
ad un errore gaussiano 
t k =h k  x k
"
Supponiamo che gli errori k abbiano una distribuzione
con media 0 e varianza 2 indipendente da x o k
 
2k
1
p  k =
exp −
2 1/ 2
2
2   
2
La funzioni di errore somma-diquadrati
"
Vogliamo modellare la funzione hk (x) con una rete
neurale con output yk (x ; w)
"
Usando le ultime due equazioni otteniamo

1
p t k∣x =
exp −
2 1/ 2
2   
2
{ y k  x ; w −t k }
2
2

dove abbiamo sostituito hk (x) con yk (x ; w)
"
Sostituendo quest'ultima espressione in
c
p  t∣x =∏ p  t k∣x 
k =1
e poi in
E=−∑ ln p  t ∣x
n
n
n

otteniamo
N
c
1
Nc
n
n 2
E=
y

x
;
w
−t
N
c
ln

ln 2 
k}
2 ∑∑{ k
2
2   n=1 k =1
(1)
La funzioni di errore somma-diquadrati
"
Per i nostri scopi di minimizzazione dell'errore, il secondo
ed il terzo termine della parte destra di (1) possono essere
eliminati perché indipendenti da w
"
Inoltre anche 1/2 si può eliminare per lo stesso motivo
"
Otteniamo allora la funzione di errore somma-di quadrati
N
c
N
1
1
n
n 2
n
n 2
E= ∑ ∑ { y k  x ; w −t k } = ∑ ∥ y  x ; w −t ∥
2 n=1 k =1
2 n=1
"
Avendo trovato il valore dei pesi ottimo w* che rende
minimo l'errore, il valore ottimo di  può essere trovato
derivando E rispetto a  in (1) ed uguagliando a 0,
ottenendo
N
c
1
2
n
∗
n 2
=
y k  x ; w −t k }
{
∑
∑
N c n=1 k =1
Conclusione 1
"
Il valore ottimo di 2 è proporzionale al valore residuo
della funzione somma-di-quadrati nel suo minimo
La funzioni di errore somma-diquadrati
Conclusione 2
"
Abbiamo derivato la funzione somma-di-quadrati dal
principio di massima verosimiglianza con l'assunzione di
dati target distribuiti in modo gaussiano
"
Ovviamente l'errore somma-di-quadrati non richiede che i
dati target siano distribuiti in modo gaussiano
"
Se usiamo tale funzione di errore, allora non possiamo
distinguere tra la distribuzione vera e qualunque altra
distribuzione con la stessa media e varianza
La funzioni di errore somma-diquadrati
Conclusione 3
"
Spesso è utile usare funzioni di errore diverse per il
training ed il test
"
Per esempio, in un problema di interpolazione, è possibile
addestrare la rete con una funzione di errore somma-diquadrati del tipo
N
1
n
n 2
E= ∑ ∥ y  x ; w −t ∥
2 n=1
dove N è il numero di pattern nel training set
La funzioni di errore somma-diquadrati
Conclusione 3 (continua)
"
Il test, invece, viene fatto con l'errore "root-mean-square"
(RMS) della forma
N'
E
RMS
=
∑∥y  x
n
∗
; w −t
n=1
N'
∑ ∥t
n=1
n
n 2
∥
2
−t ∥
dove N ' è il numero di pattern nel test set e
N'
t =
"
1
n
'∑t
N n
L'errore RMS ha il vantaggio che non cresce con la taglia
del data set
"
Ha valore 1 se la rete predice i dati di test "in media" e
valore 0 se li predice perfettamente
La funzioni di errore somma-diquadrati
Unità output lineari
"
La funzione di un MLP o di una rete RBF può essere
scritta nella forma
y k  x ; w =g  a k 
M
a k =∑ w kj z j  x ; w

con
j=0
dove g() è la funzione di attivazione delle unità output,
{wkj} è l'insieme dei pesi connessi agli output e w~ tutti gli
altri parametri della rete
"
La derivata dell'errore somma-di-quadrati rispetto ad ak è
N
c
∂E
∂ 1
n
=
y
{
∑
∑
k −t
∂ a k ∂ a k 2 n=1 k =1
"
n 2
k
N
n
n
=
g
'
a
y
−t
} ∑  k{ k k}
n=1
Se scegliamo attivazioni di output lineari, g(a) = a, la
derivata assume un forma semplice del tipo
N
∂E
n
n
=∑ { y k −t k }
∂ a k n=1
La funzioni di errore somma-diquadrati
Unità output lineari (continua)
"
La scelta di funzioni di attivazione lineari delle unità
output, permette, quindi, la minimizzazione rispetto ai pesi
{wkj} (una volta fissati i parametri w~ ) che può essere
risolta come un problema di ottimizzazione lineare in
forma chiusa come è stato già fatto per le reti lineari
La funzioni di errore somma-diquadrati
Interpretazione degli output della rete
"
Otterremo un risultato importante per l'interpretazione
degli output di una rete neurale che ha appreso
minimizzando la funzione di errore somma-di-quadrati
"
Si può dimostrare che gli ouput approssimano la media
condizionale dei dati target
"
Questo risultato ha molte conseguenze importanti per
applicazioni pratiche di reti neurali
"
Capire le sue implicazioni porta ad evitare errori comuni
e ad un uso più effettivo delle tecniche neurali
La funzioni di errore somma-diquadrati
Interpretazione degli output della rete
"
In figura c'è un esempio schematico della proprietà
precedente
Stimare le probabilità a
posteriori

Quando usiamo una rete neurale per classificazione
abbiamo due casi:

la rete neurale rappresenta un discriminante non-lineare

la rete neurale modella le P. a posteriori dell'appartenenza
di classe

In questo secondo approccio, il numero di neuroni output è
uguale al numero di classi e l'attivazione dell'unità k
rappresenta la probabilità P(Ck|x) per la classe k e l'input x
Cross-entropia per due classi

Consideriamo una rete con un solo output y(x) e codifica:
t =1 se x appartiene a C1 e t = 0 se x appartiene a C2

Vogliamo che la y(x) rappresenti la P. a posteriori
y  x =P  C 1∣x 
mentre la P. a posteriori per la classe C2 è data da
P  C 2∣x =1−P  C 1∣x =1− y  x 

Combinando le espressioni precedenti, otteniamo la P. di
osservare uno dei valori target
1−t
p  t∣x = y t  1− y 
che è un caso particolare della distribuzione di Bernoulli

La verosimiglianza di osservare i dati del training set,
assumendo i punti presi indipendentemente da questa
distribuzione è data da
n
n t
n
n 1−t
∏  y   1− y 
n
Cross-entropia per due classi

Come al solito è più conveniente il logaritmo negativo
della verosimiglianza
E=−∑ {t n ln y n  1−t n  ln  1− y n  }
14
n

Questa funzione di errore è la cross-entropia

Differenziando tale funzione rispetto a y n, otteniamo
n
n
∂E
y −t
=
n
n
n
∂y
y  1− y 
il cui minimo assoluto occorre quando y n =t n

∀n
Se consideriamo la funzione logistica
1
g a≡
1exp−a
con derivata
g ' a=g a1−g a
ed una rete neurale a singolo output y = g(a), combinando
le espressioni precedenti, otteniamo
n
∂
E
∂
E
∂
y
n
n ∂E
n
n


 ≡ n= n
=g
'
a
=
y
−t
n
n
∂a ∂ y ∂a
∂y
15
Cross-entropia per due classi

In (15)  n è la quantità di errore retro-propagata per
calcolare le derivate dell'errore rispetto ai pesi della rete

La (15) ha la stessa forma di quella ottenuta con funzione
di errore somma-di-quadrati e attivazione output lineare

Abbiamo visto che la funzione di errore ha il suo minimo
quando y n=t n
∀ n ed assume il valore
E min =−∑ {t n ln t n  1−t n  ln  1−t n  }
n

Per lo schema di codifica 1-di- c, questo errore va a 0

La funzione di errore cross-entropia (14) può essere usata
anche per variabili t n continue nel range (0,1), che
rappresentano probabilità di appartenenza alle classi output

In questo caso la (14) non si azzera e la quantità Emin si
può sottrarre da (14) per ottenere un errore dato da
E =−∑
n
{

1− y 
y
n
n
t ln n  1−t  ln
t
 1−t n 
n
n
}
Cross-entropia per due classi
Conclusioni

Emin è indipendente dagli output della rete, e, poiché in
questo modo non altera la locazione del minimo, non ha
effetti sul training della rete

L'errore modificato ha il minimo uguale a 0
indipendentemente dal particolare training set usato

Come esempio dell'interpretazione degli output come
probabilità, illustriamo un semplice problema con due
classi, una variabile output e con le pdf classi-condizionali
date da una mistura di gaussiane
Cross-entropia per due classi
Esempio:
interpretazione degli output come probabilità:
illustriamo un semplice problema con due classi, una
variabile output e con le pdf classi-condizionali date da una
mistura di gaussiane
Cross-entropia per due classi
Esempio: interpretazione degli output come probabilità:
illustriamo un semplice problema con due classi, una
variabile output e con le pdf classi-condizionali date da una
mistura di gaussiane
Cross-entropia per due classi
Proprietà dell'errore cross-entropia

Se scriviamo l'output della rete per il pattern n come
y n = t n+ n, allora l'errore cross-entropia diventa
E =−∑
n
{  

n
n


t n ln 1 n  1−t n  ln 1−
t
 1−t n 
}
cosicché la funzione di errore dipende dagli errori relativi
degli output della rete

La minimizzazione della funzione di errore cross-entropia
porta ad errori relativi simili sia per valori piccoli che
grandi dei target

Invece l'errore somma-di-quadrati, che dipende dai
quadrati degli errori assoluti, porta ad avere errori assoluti
simili per ciascun pattern e, quindi, errori relativi grandi per
valori di output piccoli

Questo implica che l'errore cross-entropia è migliore per
la stima di probabilità piccole
Cross-entropia per più classi

Consideriamo una rete con c output yk(x) e codifica:
tkn =1 se xn appartiene a Ck e tkn = 0 se xn altrimenti, ovvero
tkn =  kl per xn appartenente a Cl

Il valore della pdf per il pattern xn è data da
c
p  t ∣x =∏  y
n
n
k =1

n
n tk
k

Se prendiamo il logaritmo negativo della verosimiglianza
otteniamo la funzione errore della forma
N
c
E=−∑ ∑ t nk ln y nk
k =1
n

17
Il minimo assoluto di questa funzione si ha quando yk = tkn
per tutti i valori di k e n

La funzione di errore assume nel minimo il valore
N
c
n
k =1
E min =−∑ ∑ t nk ln t nk
che è 0 per uno schema di codifica 1-di-c
Cross-entropia per più classi

La funzione di errore (17) può essere usata anche per
variabili tkn continue nel range (0,1), che rappresentano
probabilità di appartenenza alle classi output
 In questo caso la (17) non si azzera e la quantità Emin si
può sottrarre da (17) per ottenere un errore dato da
N
c
E=−∑ ∑ t nk ln  y nk /t nk 
n
18
k =1
che è non-negativo ed uguale a 0 quando ykn = tkn per tutti i
valori di k e n

Se vogliamo che gli output siano probabilità, scegliamo
una generalizzazione della funzione logistica della forma
yk=

expa k 
∑k ' expa k ' 
19
nota come esponenziale normalizzato o funzione di
attivazione soft-max (Bridle, 1990)
Cross-entropia per più classi

La motivazione più forte per l'uso delle funzioni soft-max
per gli output della rete viene data dal fatto che possiamo
dimostrare che in questo caso le attivazioni dei neuroni
output sono P. a posteriori di appartenenza di classe
Scarica