Che cosa significa "grado di libertà" nelle reti neurali?


17

Nel libro di Bishop "Classificazione dei modelli e apprendimento automatico", descrive una tecnica per la regolarizzazione nel contesto delle reti neurali. Tuttavia, non capisco un paragrafo che descriva che durante il processo di formazione, il numero di gradi di libertà aumenta insieme alla complessità del modello. La citazione pertinente è la seguente:

Un'alternativa alla regolarizzazione come mezzo per controllare l'effettiva complessità di una rete è la procedura di arresto anticipato. L'addestramento di modelli di rete non lineari corrisponde a una riduzione iterativa della funzione di errore definita rispetto a un insieme di dati di addestramento. Per molti degli algoritmi di ottimizzazione utilizzati per l'addestramento in rete, come i gradienti coniugati, l'errore è una funzione non crescente dell'indice di iterazione. Tuttavia, l'errore misurato rispetto ai dati indipendenti, generalmente chiamato un set di convalida, all'inizio mostra spesso una diminuzione, seguita da un aumento quando la rete inizia a sovrapporsi. La formazione può quindi essere interrotta nel punto del più piccolo errore rispetto al set di dati di validazione, come indicato nella Figura 5.12, al fine di ottenere una rete con buone prestazioni di generalizzazione.Il comportamento della rete in questo caso è talvolta spiegato qualitativamente in termini dell'effettivo numero di gradi di libertà nella rete, in cui questo numero inizia piccolo e poi cresce durante il processo di formazione, corrispondente a un costante aumento dell'effettivo complessità del modello.

Dice anche che il numero di parametri aumenta durante il corso di allenamento. Supponevo che per "parametri" si riferisse al numero di pesi controllati dalle unità nascoste della rete. Forse mi sbaglio perché ai pesi viene impedito di aumentare di grandezza dal processo di regolarizzazione ma non cambiano di numero. Potrebbe riferirsi al processo di ricerca di un buon numero di unità nascoste?

Qual è il grado di libertà in una rete neurale? Quali parametri aumentano durante l'allenamento?


1
Nomenclatura. Un parametro è un singolo peso. Il numero di parametri in aumento indica che il numero di "neuroni" o "connessioni tra neuroni" sta aumentando. Ciò significa che la topologia non è costante.
EngrStudent - Ripristina Monica il

Grazie! Ma allora perché l'allenamento aumenta il numero di pesi?
Robert Smith,

Esistono infatti algoritmi di allenamento che manipolano la struttura di una rete neurale durante l'allenamento (Cascade Correlation, NEAT, ...). Di solito aumentano costantemente il numero di pesi. Ma non credo che Bishop lo menzioni nel suo libro.
alfa,

@alfa Interessante. Non ho ancora letto l'intero libro, quindi non so se menziona questo tipo di algoritmi. Non penso che si riferisca a loro in questa sezione del libro, però.
Robert Smith,

Risposte:


12

Sospetto che questo significhi Bishop:

Se si pensa a una rete neurale come una funzione che mappa gli input su un'uscita, quando si inizializza per la prima volta una rete neurale con piccoli pesi casuali, la rete neurale assomiglia molto a una funzione lineare. La funzione di attivazione sigmoide è quasi lineare intorno allo zero (basta fare un'espansione di Taylor) e piccoli pesi in entrata garantiranno che il domaine effettivo di ogni unità nascosta sia solo un piccolo intervallo attorno allo zero, quindi l'intera rete neurale, indipendentemente da quanti i livelli che hai, assomigliano molto a una funzione lineare. Quindi puoi descrivere euristicamente la rete neurale come se avesse un piccolo numero di gradi di libertà (uguale alla dimensione dell'input). Mentre si allena la rete neurale, i pesi possono diventare arbitrariamente grandi e la rete neurale può approssimare meglio le funzioni arbitrarie non lineari. Mentre la formazione avanza,


La ringrazio per la risposta. Ho aggiunto la parte pertinente del libro come una citazione, in modo da poter vedere il contesto. Tuttavia, non sono sicuro che confermi il tuo suggerimento.
Robert Smith,

Sì, questo conferma ciò che pensavo intendesse Bishop.
Marc Shivers,

Leggendo un paio di volte la tua risposta, penso che man mano che l'allenamento avanza e il modello inizia a sovrautilizzare, il numero di funzioni che il modello può approssimare è effettivamente ridotto perché si avvicinerà molto bene ai dati di allenamento ma le sue previsioni hanno vinto ' essere buono in quanto non può generalizzare per adattarsi ad altri punti o set di dati simili.
Robert Smith,

4

La frase "talvolta spiegata qualitativamente" suggerisce che sta semplicemente facendo un'analogia con la semplice regressione lineare. Ogni volta che aggiungiamo un termine a un modello di regressione lineare, aggiungiamo un grado di libertà al modello e sottraggiamo un grado di libertà da quelli associati al termine di errore. Se mettiamo abbastanza termini indipendenti in un modello, possiamo "prevedere" perfettamente la storia da un insieme di numeri casuali, ma non saremo totalmente in grado di prevedere il futuro.


3

La questione dei gradi di libertà su complicati modelli di apprendimento statistico è stata discussa nell'anno 1998 JASA . Fondamentalmente, l'idea è di vedere in che misura l'output di un modello complicato, come la rete neurale, risponde a un cambiamento di unità negli input. Per i modelli lineari, la relazione è indiscutibilmente uno a uno, quindi i gradi di libertà per un modello di complessità p (numero di regressori) è p. Per i modelli più complicati (considerati alberi di regressione), la possibilità di aggiungere un nodo aggiuntivo fornisce molta più flessibilità, poiché il modello CART cercherà una buona variabile da dividere e un buon punto di divisione. Questo è molto più di ciò che può fare l'aggiunta di un regressore a un modello lineare, e avete scoperto che gli alberi di regressione consumano circa 3,5-4 dfs per nodo. Le reti neurali possono trovarsi nel mezzo, ma i gradi di libertà sono sicuramente molto più grandi del numero di unità e possono essere più grandi del numero di pesi.

Penso che qualcosa di simile sia stato fornito da HTF Sec. 7.6 , sebbene sorprendentemente non si riferiscano a Ye (1998). Si riferiscono a Bishop come un caso speciale, però.


1
Grazie. Sembra giusto ma per quanto riguarda la relazione con l'allenamento di una rete neurale? Ho trovato in "Gli elementi dell'apprendimento statistico" a pagina 96 ( docs.google.com/… ) un'espressione relativa ai gradi di libertà e covarianza, e posso capire perché una maggiore formazione ridurrebbe la funzione di errore e di conseguenza aumenterebbe la covarianza e gradi di libertà. Tuttavia, non capisco perché questa equazione (3.60 nel libro) valga.
Robert Smith,

A proposito, sembra anche un po 'diverso dalla definizione di gradi (generalizzati) di libertà discussi nel documento di Ye.
Robert Smith,

1
Immagino che tu possa pensare a quella covarianza come a una versione approssimativa del derivato ... o potrebbe essere il contrario: il derivato, definito come il limite in quanto la dimensione del passaggio va a zero, può essere pensato come il plim di quella covarianza mentre la varianza del disturbo va a zero. L'equazione (3.60) non deve essere mantenuta, è una definizione , quindi non c'è nulla da trattenere. Ciò che vale è l'equivalenza con la definizione standard di dfs per i modelli lineari che citano brevemente nella pagina successiva, e che è semplicemente l'algebra lineare dei modelli lineari. Anche voi (1998) ne dobbiamo parlare.
StasK

3

Dice "l'effettiva complessità della rete". In realtà si riferisce alla dimensione dei pesi della rete. Questo può essere compreso in termini del principio della lunghezza minima della descrizione . Ma prima di entrare in questo, l'intuizione è che più grandi sono i pesi, più diversi tipi di funzioni possono adattarsi la tua rete, e quindi maggiori sono i gradi di libertà (e la complessità effettiva).

In quel capitolo parla della regolarizzazione, che è una tecnica per ridurre efficacemente il rischio di overfitting, chiedendo che i pesi siano il più piccoli possibile. In generale,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

Più in generale, la stima MAP è equivalente alla seguente,

wMAP=argminwlog2P(D|w)log2(w)

Il lato destro dell'espressione può essere interpretato come il numero di bit necessari per descrivere il tuo classificatore. Il primo termine rappresenta il numero di bit necessari per codificare gli errori della rete sui dati di addestramento. Il secondo rappresenta il numero di bit necessari per codificare i pesi.

La stima MAP equivale quindi alla scelta della rappresentazione più compatta possibile. In altre parole, cerchi l'insieme di pesi che rappresentano i dati di allenamento il più fedelmente possibile che possono essere espressi con il minor numero di bit.

Si noti che questa è un'altra forma del problema di polarizzazione / varianza: maggiore è il peso, più basso è il primo termine, perché la rete può adattarsi meglio ai dati di allenamento (overfitting). Ma allo stesso tempo maggiore è la complessità dei pesi. Più piccoli sono i pesi, minore è la complessità della rete, ma maggiore è il termine di errore (bias). Maggiore è il numero di bit necessari per codificare gli errori della rete.

Spero che questo ti dia un'idea abbastanza chiara di ciò a cui si riferisce.

PS aggiungendo un argomento più lungo alla discussione in corso Forse ti fraintendo. Fammi provare a spiegarmi un'ultima volta.

Il precedente sui pesi significa rappresentare il presupposto che facciamo sulla funzione che si desidera adattare. Maggiore è il precedente (ovvero i pesi), più ampio è il gaussiano, ovvero più configurazioni possibili si considera adatte alla rete.

Consideriamo il caso della regressione (come nel documento a cui ho fatto riferimento). Un errore di generalizzazione basso significa che la rete è in grado di mappare campioni invisibili molto vicini ai valori effettivi. Se stai adattando una linea retta, è sufficiente un polinomio del primo ordine (bassa complessità). Ora, potresti anche adattare i dati con un polinomio di ordine superiore (lascia che i coefficienti di ordine superiore siano diversi da zero). La complessità della rete è maggiore perché si consentono oscillazioni, per una curva più complessa. Tuttavia, se i coefficienti corrispondenti a termini di ordine superiore sono abbastanza bassi, la rete può approssimare molto bene la retta, risultando in una buona generalizzazione.

Quindi il punto centrale di MDL è di ridurre al minimo i tuoi pesi, purché l'errore di generalizzazione possa essere ridotto al minimo.

Infine, citandoti: "Trovo ancora problematico l'argomento secondo cui quando il modello inizia a sovrautilizzare, le sue capacità di modellare altre funzioni aumenteranno. Penso che sia piuttosto il contrario perché un modello che si veste di più, non può generalizzare per essere applicato a nuovi informazione.". Sì, può modellare ALTRE, funzioni più complesse, ma non riuscirà a modellare correttamente la funzione. Nella figura 5.12 del libro, l'errore diminuisce per primo, all'aumentare della dimensione del peso (riduzione della distorsione). Fino a un certo punto quando inizia ad aumentare di nuovo (diminuzione della generalizzazione, sovralimentazione).


1
Grazie. Questo è simile all'idea di Marc, tuttavia, trovo ancora problematico l'argomento secondo cui quando il modello inizia a sovrautilizzare, le sue capacità di modellare altre funzioni aumenteranno. Penso che sia esattamente l'opposto perché un modello che si sovrappone, non può generalizzare per essere applicato a nuove informazioni.
Robert Smith,

1
Robert, credo che sia un fraintendimento di ciò che significa errore di generalizzazione rispetto alla complessità della rete, ovvero la capacità di modellare funzioni più complesse. Esistono numerosi articoli che descrivono i diversi termini, come cbcl.mit.edu/projects/cbcl/publications/ps/… .
jpmuc,

Non penso che ci sia confusione quando si usa il termine "complessità" perché se si ha un sacco di pesi con valori folli, questo rende il modello molto complesso e lo si può capire immediatamente dalla trama risultante. D'altra parte, essere in grado di gestire una vasta gamma di funzioni richiede un modello in grado di generalizzare bene dai dati che possono essere ottenuti evitando un eccesso di adattamento.
Robert Smith,
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.