Quanto è significativa la connessione tra MLE ed entropia incrociata nell'apprendimento profondo?


12

Capisco che, dato un insieme di osservazioni indipendenti lo stimatore della massima verosimiglianza (o, equivalentemente, il MAP con precedente piano / uniforme) che identifica i parametri \ mathbf {θ} che producono la distribuzione del modello p_ {modello} \ sinistra (\, \ cdot \,; \ mathbf {θ} \ destra) che corrisponderà meglio a tali osservazioniO = { O ( 1 ) , . . . , o ( m ) }mO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

o, più convenientemente

θML(O)=argminθi=1mlogpmodel(o(i);θ)

e vedere il ruolo che θML può svolgere nel definire una funzione di perdita per reti neurali profonde multi-classe, in cui θ corrisponde ai parametri addestrabili della rete (ad esempio, θ={W,b}) e le osservazioni sono le coppie di attivazioni di input x e le corrispondenti etichette di classe corrette y[1,k] , o(i) = { x(i),y(i) }, prendendo

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Quello che non capisco è come ciò si riferisce alla cosiddetta "entropia incrociata" dell'output corretto (vettoriale), e alle corrispondenti attivazioni di output della rete, che viene utilizzato nella pratica quando si misura l'errore / perdita durante l'allenamento . Esistono diversi problemi correlati:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Attivazioni "come probabilità"

Uno dei passaggi per stabilire la relazione tra MLE ed entropia incrociata è utilizzare le attivazioni di output "come se" fossero probabilità. Ma non mi è chiaro che lo siano, o almeno che lo siano .all

Nel calcolare l'errore di allenamento - in particolare, nel chiamarlo "perdita di entropia incrociata" - si presume che (dopo aver normalizzato le attivazioni per sommare a 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

o

logpmodel(o(i);θ)=logay(i)(x(i);θ)

in modo che possiamo scrivere

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

e quindi

θML(O)=argminθi=1mH(o(i);θ)

Ma mentre questo certamente rende una probabilità (nella misura in cui qualcosa è), esso non pone restrizioni alle altre attivazioni.ay(i)(x(i);θML)

È possibile davvero essere definito PMF in quel caso? C'è qualcosa che rende in realtà non le probabilità (e semplicemente "mi piace") )? a y ( i ) ( x ( i ) ; θ M L )ay(i)(x(i);θML)ay(i)(x(i);θML)


Limitazione alla categorizzazione

Il passaggio cruciale sopra indicato nell'equare l'MLE con l'entropia incrociata si basa interamente sulla struttura "one-hot" di che caratterizza un problema di apprendimento multi-classe (a etichetta singola). Qualsiasi altra struttura per renderebbe impossibile passare da a .y ( i ) (1) (3)y(i)y(i)(1)(3)

L'equazione di MLE e minimizzazione dell'entropia incrociata è limitata ai casi in cui i sono "one-hot"? y(i)


Diverse probabilità di formazione e previsione

Durante la previsione, è quasi sempre così

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

il che si traduce in corrette probabilità di previsione che sono diverse dalle probabilità apprese durante l'allenamento, a meno che non sia affidabile il caso

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

È mai così affidabile? È probabilmente almeno approssimativamente vero? O c'è qualche altro argomento che giustifica questa equazione del valore dell'attivazione appresa nella posizione dell'etichetta con la probabilità che lì si verifichi il massimo valore delle attivazioni apprese?


Entropia e teoria dell'informazione

Anche supponendo che i problemi di cui sopra sono affrontati e le attivazioni sono PMF validi (o possono significato essere trattati come tali), in modo che il ruolo giocato da entropia croce nel calcolo è priva di problemi, non è chiaro a perché è utile o significativo parlare dell'entropia di , poiché l'entropia di Shanon si applica a una specifica tipo di codifica , che non è quella utilizzata per addestrare la rete. a( x ( i ) ; θ M L )θMLa(x(i);θML)

Quale ruolo svolge l'entropia teorica dell'informazione nell'interpretazione della funzione di costo, anziché fornire semplicemente uno strumento (sotto forma di entropia incrociata) per elaborarne uno (che corrisponde all'MLE)?

Risposte:


5

Le reti neurali non danno necessariamente probabilità come output, ma possono essere progettate per farlo. Per essere interpretato come probabilità, un insieme di valori deve essere non negativo e sommare a uno. La progettazione di una rete per generare le probabilità equivale in genere alla scelta di un livello di output che impone questi vincoli. Ad esempio, in un problema di classificazione con le classi , una scelta comune è un livello di output softmax con unità. La funzione softmax impone che le uscite non siano negative e si sommino a una. La unità di output dà la probabilità che la classe sia . Per problemi di classificazione binaria, un'altra scelta popolare è quella di utilizzare una singola unità di output con logisticak j jkkjjfunzione di attivazione. L'output della funzione logistica è compreso tra zero e uno e dà la probabilità che la classe sia 1. La probabilità che la classe sia 0 è implicitamente uno meno questo valore. Se la rete non contiene livelli nascosti, questi due esempi equivalgono rispettivamente alla regressione logistica multinomiale e alla regressione logistica .

L'entropia crociata misura la differenza tra due distribuzioni di probabilità e . Quando entropia incrociata viene utilizzata come una funzione di perdita per classificatori discriminanti, e sono distribuzioni più etichette di classe, dato l'ingresso (cioè un particolare punto di dati). è la distribuzione "vera" e è la distribuzione prevista dal modello. Nei tipici problemi di classificazione, ogni input nel set di dati è associato a un'etichetta intera che rappresenta la vera classe. In questo caso, usiamo la distribuzione empirica perp q p q p q p qH(p,q)pqpqpqp. Questo assegna semplicemente la probabilità 1 alla vera classe di un punto dati e la probabilità 0 a tutte le altre classi. è la distribuzione delle probabilità di classe previste dalla rete (ad es. come descritto sopra).q

Supponiamo che i dati siano iid, sia la distribuzione empirica e sia la distribuzione prevista (per l' esimo punto dati). Quindi, minimizzare la perdita di entropia crociata (cioè mediata su punti dati) equivale a massimizzare la probabilità dei dati. La prova è relativamente semplice. L'idea di base è mostrare che la perdita di entropia crociata è proporzionale a una somma delle probabilità previste del log negativo dei punti dati. Ciò si risolve perfettamente a causa della forma della distribuzione empirica.q i i H ( p i , q i )piqiiH(pi,qi)

La perdita di entropia incrociata può anche essere applicata più in generale. Ad esempio, nei problemi di "classificazione graduale", ci vengono fornite distribuzioni su etichette di classe piuttosto che su etichette di classe rigida (quindi non utilizziamo la distribuzione empirica). Descrivo come usare la perdita di entropia incrociata in quel caso qui .

Per affrontare alcuni altri dettagli nella tua domanda:

Diverse probabilità di formazione e previsione

Sembra che tu stia trovando l'unità di output con la massima attivazione e confrontandola con l'etichetta della classe. Questo non viene fatto per l'allenamento usando la perdita di entropia incrociata. Invece, le probabilità emesse dal modello vengono confrontate con le probabilità "vere" (generalmente considerata la distribuzione empirica).

L'entropia di Shanon si applica a un tipo specifico di codifica, che non è quello utilizzato per addestrare la rete.

L'entropia crociata può essere interpretata come il numero di bit per messaggio necessario (in media) per codificare eventi estratti dalla vera distribuzione , se si utilizza un codice ottimale per la distribuzione . L'entropia incrociata prende un valore minimo di (l'entropia di Shannon di ) quando . Migliore è la corrispondenza tra ep q H ( p ) p q = p q pH(p,q)pqH(p)pq=pqp, minore è la lunghezza del messaggio. Addestrare un modello per minimizzare l'entropia crociata può essere visto come addestrarlo per approssimare meglio la vera distribuzione. In problemi di apprendimento supervisionato come abbiamo discusso, il modello fornisce una distribuzione di probabilità su possibili risultati, dato l'input. La ricerca esplicita di codici ottimali per la distribuzione non fa parte del processo.


"Questo non viene fatto per l'allenamento usando la perdita di entropia incrociata." Questo è esattamente ciò che fanno le API come TensorFlow softmax_cross_entropy_with_logits: calcolano e quindi che definisce una rete "progettata per" produrre probabilità (almeno nella posizione dell'etichetta). No? θ M L ( O )argminθi=1mH(o(i);θ)θML(O)
orome,

Sì, l'entropia incrociata è ridotta al minimo e la probabilità è massimizzata (almeno localmente). In quella frase, mi riferivo alle equazioni nella sezione "diverse probabilità di addestramento e previsione". Guardandolo di nuovo, non mi è chiaro esattamente cosa intendi con quelle equazioni, quindi dirò solo questo: se stai usando un layer di output in cui ogni unità fornisce una probabilità di classe (ad esempio softmax). Le probabilità del modello sono le stesse durante l'allenamento e la previsione. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160

Comprendo che vengono utilizzati gli stessi valori , ovvero i dotti vengono utilizzati nella previsione, ma vengono utilizzati in diversi modi. La probabilità che il modello impari per è davvero , ma la probabilità che sarà prevista dal modello addestrato in risposta allo stesso input, è . Questi non sono gli stessi a meno che (2) non sia vero. p m o d e l ( y ( i ) | x ( i ) ; θ M L ) a y ( i ) ( x ( i ) ; θ M L ) y ( i ) x ( i ) P ( arg max j [ 1 , k ]apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome,

E (prima domanda) lo capisco perché a causa del ruolo, definito in eq. (1), interpretato da nel massimizzare , il valori sono probabilità (non perché di softmax, che assicura solo che aggiungeranno a 1). Ma ciò non pone vincoli sull'altro ; (tranne che si sommano a ). Quindi non vedo come come buca può essere considerato un PMF. p m o d e l ( O ; θ ) a y ( i ) ( x ( i ) ; θ M L ) a j j y ( i ) 1- a y ( i ) a ( x ( i ) ;ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
orome,

Un altro modo di chiarire la prima domanda è che solo partecipa mai al processo ML, e quindi solo loro possono essere considerati probabilità. E mentre un'adeguata funzione di attivazione (ad esempio softmax) assicura che la somma delle attivazioni rimanenti sia una probabilità, le relazioni tra le due non hanno alcun significato. ay(i)
orome,

3

Risponderò da una prospettiva leggermente più generale, riguardo alla natura di come, quando e perché possiamo considerare gli output di NN come distribuzioni di probabilità.

Nel senso che il softmax impone che gli output si sommino a 1 e siano anche non negativi, l'output della rete è una distribuzione di probabilità discreta sulle classi, o almeno può essere interpretato come tale. Quindi è perfettamente ragionevole parlare di entropia incrociata e massima verosimiglianza.

Tuttavia, ciò che penso tu stia vedendo (ed è corretto), è che le "probabilità" di output potrebbero non avere nulla a che fare con l'effettiva probabilità di correttezza . Questo è un problema ben noto in ML, chiamato calibrazione . Ad esempio, se il tuo classificatore di cani e gatti dice , allora ti aspetteresti che se prendessi una serie di esempi tutti di che aveva , quindi circa il 30% degli ingressi sarebbe classificato erroneamente (dato che era sicuro solo il 70%).f θ ( x i , C ) = P ( x i = C | θ ) = 0.7 S = { x j } P ( x j = C | θ ) = 0.7fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Tuttavia, si scopre che i moderni metodi di allenamento non lo applicano affatto! Vedi Guo et al., Sulla calibrazione delle moderne reti neurali per vedere alcune discussioni su questo.

In altre parole, la "probabilità" dell'output dal softmax potrebbe non avere nulla a che fare con l'effettiva confidenza del modello. E questa non è una sorpresa: vogliamo semplicemente massimizzare la nostra precisione e ogni esempio di input ha una probabilità di 1 di essere la sua classe target. C'è poco incentivare il modello per ottenere questo risultato. Se non è necessario stimare l'incertezza, allora perché dovrebbe? L'entropia incrociata non risolve questo problema; anzi, gli stai dicendo di andare a una funzione delta ogni volta!

Molti recenti lavori sulle reti neurali bayesiane si sforzano di correggere questo problema. Tali modelli impiegano una distribuzione su parametri dati i dati , che possono essere integrati per ottenere una distribuzione di probabilità effettiva . Ciò aiuta a garantire utili misurazioni dell'incertezza e una migliore calibrazione. Tuttavia, è più problematico dal punto di vista computazionale.P ( y i | x i , X ) = P ( y i | θ , x i ) P ( θ | X )P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

Spero di non aver frainteso la tua domanda!


Un bel lavoro correlato: arxiv.org/abs/1711.01297
user3658307

0

Le reti neurali feed-forward si avvicinano alle probabilità della vera classe se addestrate correttamente.

Nel 1991, Richard & Lippmann dimostrarono che le reti neurali feed-forward si avvicinano alle probabilità di classe posteriori, quando addestrate con {0,1} modelli target di indicatori di classe [ Richard MD, & Lippmann RP (1991). I classificatori di reti neurali stimano le probabilità bayesiane a posteriori. Calcolo neurale, 3, 461-483 .]. Nella loro linea di prova, usano reti neurali feed-forward a strato nascosto.

Nell'annotazione matematica di Duda & Hart [ Duda RO & Hart PE (1973) Classificazione dei modelli e analisi delle scene, Wiley ], definire le distribuzioni delle caratteristiche fornite come vettore di input alla rete neurale feed-forward come , dove ad esempio il vettore di dati è uguale a , per un'attività di classificazione con 4 variabili funzione. L'indice indica le possibili classi, .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

Il classificatore di rete neurale feed-forward apprende le probabilità posteriori, , quando addestrato dalla discesa del gradiente. Ad esempio, il modello di output desiderato deve essere , per un problema di classificazione a due classi. La rete neurale feed-forward ha un nodo di output per classe. Il vettore indica che il vettore caratteristica osservato appartiene alla 2a classe. o =(0,1)(0,1)P^(ωix)o=(0,1)(0,1)


Non è questa la domanda.
orome,

0

La verosimiglianza non è direttamente collegata all'entropia nel contesto della tua domanda. La somiglianza è superficiale: entrambi hanno le somme di logaritmi di quantità simili alla probabilità.

Il logaritmo nella verosimiglianza logaritmica (MLE) viene eseguito esclusivamente per motivi di calcolo numerico. Il prodotto delle probabilità può essere un numero molto piccolo, soprattutto se il campione è grande. Quindi la gamma di probabilità va da 1 a un valore apparentemente piccolo di un prodotto. Quando si ottiene il registro, il prodotto diventa una somma e la funzione di registro comprime l'intervallo di valori in un dominio più piccolo e più gestibile. Il logaritmo è una funzione monotona, quindi il massimo (min) della verosimiglianza produrrà la stessa risposta della verosimiglianza stessa. Quindi, la presenza del log nell'espressione MLE non è importante in senso matematico, ed è semplicemente una questione di convenienza.

La presenza di una funzione logaritmica nell'entropia è più sostanziale e ha le sue radici nella meccanica statistica, un ramo della fisica. È collegato alla distribuzione di Boltzmann , che viene utilizzata nella teoria dei gas. Ad esempio, è possibile derivare la pressione dell'aria in funzione dell'altitudine.


Puoi evidenziare quale parte della domanda affronta?
orome,

Come ho detto nel PO, è chiaro che l'uso del registro nel secondo modo di esprimere MLE è semplice praticità (i tuoi primi due paragrafi). E il tuo ultimo paragrafo sembra solo dire che la presenza del log nell'espressione dell'entropia è significativa - nel contesto dell'entropia (in particolare la fisica). Ma ciò che manca (e questa è la domanda) è una giustificazione per collegare queste due distinte (e vere) osservazioni. Non vedo uno, diverso dall'equazione dopo (3) che sia un modo utile per esprimere la seconda equazione per MLE. Forse è quello che stai dicendo?
orome,

@orome, puoi fare NN per calcolare l'entropia, ovviamente, ma non è così che la funzione di entropia incrociata viene effettivamente utilizzata nella maggior parte dei casi. Puoi pensarlo come un altro tipo di funzione di costo, è tutto qui. Sembra avere proprietà desiderate ed è piacevolmente simmetrico.
Aksakal,

Sì, quindi chiamarlo entropia o suggerire che sono significativi le distruzioni (per le quali "l'entropia" fornisce informazioni) è fuorviante . ay(i)(x(i);θML)
orome,

@oppure, non sarei ossessionato dal nome. È come se la funzione "perdita della cerniera" avesse poco a che fare con le cerniere. Chiamano questa "perdita di entropia" perché la sua forma funzionale è esattamente come un'equazione di entropia dell'informazione.
Aksakal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.