Perché la regolarizzazione non risolve la fame di reti neurali profonde?


37

Un problema che ho visto spesso sollevato nel contesto delle reti neurali in generale, e delle reti neurali profonde in particolare, è che sono "affamati di dati", ovvero che non funzionano bene se non disponiamo di un set di dati di grandi dimensioni con cui addestrare la rete.

La mia comprensione è che ciò è dovuto al fatto che le reti NNet, in particolare le reti profonde, hanno un ampio numero di gradi di libertà. Quindi, come modello, una NNet ha un numero molto elevato di parametri e se il numero di parametri del modello è elevato rispetto al numero di punti dei dati di allenamento, vi è una maggiore tendenza all'adattamento.

Ma perché questo problema non viene risolto dalla regolarizzazione? Per quanto ne so, le reti NNets possono usare la regolarizzazione L1 e L2 e hanno anche i loro metodi di regolarizzazione come il dropout che può ridurre il numero di parametri nella rete.

Possiamo scegliere i nostri metodi di regolarizzazione in modo tale da far rispettare la parsimonia e limitare le dimensioni della rete?


Per chiarire il mio pensiero: supponiamo che stiamo usando un Deep NNet di grandi dimensioni per provare a modellare i nostri dati, ma il set di dati è piccolo e potrebbe effettivamente essere modellato da un modello lineare. Allora perché i pesi della rete non convergono in modo tale che un neurone simuli la regressione lineare e tutti gli altri convergano in zeri? Perché la regolarizzazione non aiuta in questo?


7
"Allora perché i pesi della rete non convergono in modo tale che un neurone simuli la regressione lineare e tutti gli altri convergano in zeri? Perché la regolarizzazione non aiuta in questo?" In realtà penso che questo renderebbe un documento davvero interessante: costruire quella rete e il problema e quindi valutare cosa succede.
Sycorax dice di reintegrare Monica

Bene, hai il problema di diminuire i gradienti in seguito in strati più profondi delle reti anche quando ti regolarizzi. Questo è il motivo per cui le persone usano la normalizzazione batch per fare efficacemente ciò che descrivi. Altri approcci già spiegano questo (come LSTM) e ci sono cose che possono aiutare a gestire la fame come l'abbandono.
Benjamin Gruenbaum,


come @cliffab risponde di seguito, la regolarizzazione non è ciò di cui hai bisogno per migliorare le prestazioni. per dirla semplicemente, un gruppo di immagini di gatti ruotate non è la stessa di una singola immagine di gatto con regolarizzazione.
seanv507,

1
Non mi sorprende affatto. Con il tipo di serie storiche di cui mi occupo al lavoro, devo ancora trovare un metodo che superi i vecchi metodi delle serie storiche skool, ma continuo a provare :)
Aksakal

Risposte:


43

Il modo semplice per spiegarlo è che la regolarizzazione aiuta a non adattarsi al rumore, non fa molto in termini di determinazione della forma del segnale. Se pensi all'apprendimento profondo come un gigantesco approssimatore di funzioni gloriose, ti rendi conto che ha bisogno di molti dati per definire la forma del segnale complesso.

Se non ci fosse rumore, la crescente complessità di NN produrrebbe una migliore approssimazione. Non ci sarebbe alcuna penalità per le dimensioni della NN, più grande sarebbe stata migliore in ogni caso. Considera un'approssimazione di Taylor, più termini è sempre meglio per la funzione non polinomiale (ignorando i problemi di precisione numerica).

Questo si interrompe in presenza di un rumore, perché si inizia a adattarsi al rumore. Quindi, ecco che arriva la regolarizzazione per aiutare: può ridurre l'adattamento al rumore, permettendoci così di costruire NN più grandi per adattarsi a problemi non lineari.

La seguente discussione non è essenziale per la mia risposta, ma ho aggiunto in parte per rispondere ad alcuni commenti e motivare il corpo principale della risposta sopra. Fondamentalmente, il resto della mia risposta è come i fuochi francesi che vengono con un pasto di hamburger, puoi saltare.

(Ir) Caso rilevante: regressione polinomiale

Diamo un'occhiata a un esempio giocattolo di una regressione polinomiale. È anche un buon approssimatore per molte funzioni. Vedremo la funzione nella regione x ( - 3 , 3 ) . Come puoi vedere dalla serie Taylor di seguito, l'espansione del 7 ° ordine è già abbastanza adatta, quindi possiamo aspettarci che un polinomio di 7+ ordini dovrebbe essere anche molto adatto:sin(x)X(-3,3)

inserisci qui la descrizione dell'immagine

Successivamente, adatteremo i polinomi con un ordine progressivamente superiore a un piccolo set di dati molto rumoroso con 7 osservazioni:

inserisci qui la descrizione dell'immagine

Possiamo osservare ciò che ci è stato detto sui polinomi da molte persone consapevoli: sono instabili e iniziano a oscillare selvaggiamente con l'aumento dell'ordine dei polinomi.

Tuttavia, il problema non sono i polinomi stessi. Il problema è il rumore. Quando adattiamo i polinomi ai dati rumorosi, parte dell'adattamento è al rumore, non al segnale. Ecco gli stessi polinomi esatti adatti allo stesso set di dati ma con il rumore completamente rimosso. Gli accoppiamenti sono fantastici!

peccato(X)

inserisci qui la descrizione dell'immagine

Si noti inoltre che i polinomi di ordine superiore non si adattano così come l'ordine 6, poiché non vi sono abbastanza osservazioni per definirli. Quindi, diamo un'occhiata a cosa succede con 100 osservazioni. In un grafico sotto puoi vedere come un set di dati più grande ci ha permesso di adattare polinomi di ordine superiore, ottenendo così un adattamento migliore!

inserisci qui la descrizione dell'immagine

Fantastico, ma il problema è che di solito trattiamo dati rumorosi. Guarda cosa succede se si adatta lo stesso a 100 osservazioni di dati molto rumorosi, vedere la tabella seguente. Torniamo al punto di partenza: i polinomi di ordine superiore producono orribili accoppiamenti oscillanti. Quindi, aumentare il set di dati non è stato di grande aiuto nell'aumentare la complessità del modello per spiegare meglio i dati. Questo è, ancora una volta, perché il modello complesso si adatta meglio non solo alla forma del segnale, ma anche alla forma del rumore.

inserisci qui la descrizione dell'immagine

Infine, proviamo un po 'di regolarizzazione zoppa su questo problema. La tabella seguente mostra la regolarizzazione (con penalità diverse) applicata all'ordine 9 regressione polinomiale. Confronta questo per ordinare (potenza) 9 adattamento polinomiale sopra: ad un livello adeguato di regolarizzazione è possibile adattare polinomi di ordine superiore a dati rumorosi.

inserisci qui la descrizione dell'immagine

Nel caso non fosse chiaro: non sto suggerendo di usare la regressione polinomiale in questo modo. I polinomi sono buoni per adattamenti locali, quindi un polinomio saggio può essere una buona scelta. Adattare l'intero dominio con loro è spesso una cattiva idea, perché sono sensibili al rumore, infatti, come dovrebbe essere evidente dalle trame sopra. Se il rumore è numerico o proveniente da qualche altra fonte non è così importante in questo contesto. il rumore è rumore e i polinomi reagiranno con passione.


8
E quando il tuo set di dati è piccolo, è molto difficile distinguere tra rumore e non rumore.
Alex R.,

3
in realtà la regolarizzazione consente di avere un NN più grande senza
sovralimentazione

6
@Alex - perché dovrebbe essere predefinito un modello più semplice? C'è una variabilità inspiegabile che può ancora essere adattata aumentando la complessità! E ... l'obiettivo è ridurre il più possibile la variabilità inspiegabile ... se non lo fosse, la NN passerebbe automaticamente al modello più semplice possibile, vale a dire "0". Ma, come ha scritto Aksakal, poiché la NN riduce sempre di più quella variabilità inspiegabile dei dati, si adatta anche una variabilità inspiegabile , vale a dire un eccesso di adattamento - da qui la necessità di regolarizzazione.
jbowman,

2
Un'altra cosa: supponiamo che il processo sottostante che stai modellando sia rumoroso, come il comportamento di voto umano o qualche risultato sulla salute che è fondamentalmente difficile da prevedere. Dì anche che i tuoi dati sono pieni di errori di misura di ogni tipo e forse anche di alcuni errori di selezione. In un ambiente così rumoroso da segnalare un ambiente, preferirei non solo un modello più semplice con regolarizzazione. Potrei anche preferire meno dati in modo da non finire per misurare un mucchio di rumore in modo molto preciso nonostante tutto lo sforzo di regolarizzazione che ho fatto.
Brash Equilibrium,

2
@BrashEquilibrium - un punto eccellente. Stiamo effettuando alcune previsioni su larga scala utilizzando macchine per il potenziamento del gradiente in prossimità di 150 funzioni, molte delle quali hanno livelli di rumore elevati (ma migliorano ancora la qualità delle previsioni) e abbiamo scoperto che dare al GBM il 20% dei dati da addestrare sui risultati in previsioni migliori rispetto a darlo al 50% o più, anche con tutti gli altri meccanismi di regolarizzazione applicati.
jbowman,

7

A questo punto, non è ben compreso quando e perché alcuni metodi di regolarizzazione riescono e falliscono. In realtà, non si comprende affatto perché il deep learning funzioni in primo luogo.

Considerando il fatto che una rete neurale sufficientemente profonda può memorizzare perfettamente la maggior parte dei dati di allenamento ben educati, esistono soluzioni notevolmente più sbagliate di quelle giuste per qualsiasi rete profonda specifica. La regolarizzazione, in linea di massima, è un tentativo di limitare l'espressività dei modelli per queste soluzioni "sbagliate" - dove "errato" è definito dall'euristica che riteniamo importante per un determinato dominio . Ma spesso è difficile definire l'euristica in modo tale da non perdere l'espressività "giusta" con essa. Un ottimo esempio di ciò sono le penalità L2.

Pochissimi metodi che sarebbero considerati una forma di regolarizzazione sono generalmente applicabili a tutte le aree di applicazione della ML. La visione, la PNL e i problemi di predizione strutturati hanno tutti il ​​loro ricettario di tecniche di regolarizzazione che hanno dimostrato di essere efficaci sperimentalmente per quei domini particolari. Ma anche all'interno di quei domini, queste tecniche sono efficaci solo in determinate circostanze. Ad esempio, la normalizzazione batch su reti residue profonde sembra rendere ridondante il dropout, nonostante sia stato dimostrato che entrambi migliorano in modo indipendente la generalizzazione.

In una nota a parte, penso che il termine regolarizzazione sia così ampio che rende difficile capire qualcosa al riguardo. Considerando il fatto che le convoluzioni limitano esponenzialmente lo spazio dei parametri rispetto ai pixel, è possibile considerare la rete neurale convoluzionale una forma di regolarizzazione sulla rete neurale vaniglia.


Non sono sicuro di essere d'accordo con il tuo primo paragrafo.
Ander Biguri

3
Difficile parlarne in 500 personaggi, ma i migliori ricercatori del mondo sostengono che il successo di SGD non è ben compreso. Ad esempio, prendi Ilya S. di OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin

Completamente d'accordo - probabilmente il motivo per cui è più facile ragionare con approssimazioni polinomiali piuttosto che con reti reali ...
P-Gn

3

Una classe di teoremi che mostrano perché questo problema è fondamentale sono i teoremi del pranzo libero . Per ogni problema con campioni limitati in cui una certa regolarizzazione aiuta, c'è un altro problema in cui quella stessa regolarizzazione peggiorerà le cose. Come sottolinea Austin, generalmente scopriamo che la regolarizzazione L1 / L2 è utile per molti problemi del mondo reale, ma questa è solo un'osservazione e, a causa dei teoremi della NFL, non possono esserci garanzie generali.


3

Direi che ad alto livello, il pregiudizio induttivo dei DNN (reti neurali profonde) è potente ma leggermente troppo lento o non abbastanza supponente. Con ciò intendo dire che i DNN acquisiscono molte statistiche di superficie su ciò che sta accadendo, ma non riescono ad arrivare alla struttura di alto livello causale / compositiva più profonda. (Potresti vedere le convoluzioni come specifiche di pregiudizio induttivo per un povero).

Inoltre, si ritiene nella comunità dell'apprendimento automatico che il modo migliore per generalizzare (facendo buone inferenze / previsioni con pochi dati) sia trovare il programma più breve che abbia dato origine ai dati. Ma l'induzione / sintesi del programma è difficile e non abbiamo un buon modo per farlo in modo efficiente. Quindi, invece, facciamo affidamento su un'approssimazione ravvicinata che è la ricerca di circuiti e sappiamo come farlo con la backpropagation. Qui , Ilya Sutskever offre una panoramica di quell'idea.


Per illustrare la differenza nel potere di generalizzazione dei modelli rappresentati come programmi reali rispetto ai modelli di apprendimento profondo, mostrerò quello in questo documento: la simulazione come motore di comprensione della scena fisica .

inserisci qui la descrizione dell'immagine

(A) Il modello IPE [motore di fisica intuitiva] accetta input (ad es. Percezione, linguaggio, memoria, immagini, ecc.) Che istanziano una distribuzione su scene (1), quindi simula gli effetti della fisica sulla distribuzione (2), e quindi aggrega i risultati per l'output ad altre facoltà sensomotorie e cognitive (3)

inserisci qui la descrizione dell'immagine

(B) Scad. 1 (cadrà?) Stimoli della torre. La torre con il bordo rosso è in realtà delicatamente bilanciata, e le altre due hanno la stessa altezza, ma quella con bordi blu è giudicata molto meno probabile che cada dal modello e dalle persone.

(C) Modello probabilistico di IPE (asse x) rispetto alle medie di giudizio umano (asse y) in Exp. 1. Vedi Fig. S3 per le correlazioni per altri valori di σ e ϕ. Ogni punto rappresenta una torre (con SEM), e i tre cerchi colorati corrispondono alle tre torri in B.

(D) Verità di base (non problematica) rispetto a giudizi umani (Esp. 1). Poiché non rappresenta incertezza, non può catturare i giudizi delle persone per un certo numero di nostri stimoli, come la torre bordata di rosso in B. (Nota che questi casi possono essere rari nelle scene naturali, dove le configurazioni tendono ad essere più chiaramente stabili o instabile e ci si aspetterebbe che l'IPE sia correlato meglio con la verità di base di quanto non faccia sui nostri stimoli.)

Il mio punto qui è che l'adattamento in C è davvero buono, perché il modello cattura i giusti pregiudizi su come gli umani esprimono giudizi fisici. Ciò è in gran parte perché modella la fisica reale (ricorda che è un vero motore fisico) e può gestire l'incertezza.

Ora la domanda ovvia è: puoi farlo con l'apprendimento profondo? Questo è ciò che Lerer et al hanno fatto in questo lavoro: Imparare l'intuizione fisica delle torri a blocchi con l'esempio

Il loro modello: inserisci qui la descrizione dell'immagine

Il loro modello in realtà è abbastanza buono nel compito da svolgere (prevedere il numero di blocchi che cadono e persino la loro direzione di caduta)

inserisci qui la descrizione dell'immagine

Ma presenta due importanti inconvenienti:

  • Ha bisogno di un'enorme quantità di dati per allenarsi correttamente
  • Si generalizza solo in modo superficiale: è possibile trasferire ad immagini dall'aspetto più realistico, aggiungere o rimuovere 1 o 2 blocchi. Ma qualsiasi cosa oltre a ciò, e le prestazioni diminuiscono in modo catastrofico: aggiungi 3 o 4 blocchi, modifica l'attività di previsione ...

C'è stato uno studio comparativo condotto dal laboratorio di Tenenbaum su questi due approcci: una valutazione comparativa della simulazione probabilistica approssimativa e reti neurali profonde come resoconti della comprensione della scena fisica umana .

Citando la sezione di discussione:

Le prestazioni delle CNN diminuiscono in quanto vi sono meno dati di addestramento. Sebbene AlexNet (non preinstallato) funzioni meglio con 200.000 immagini di allenamento, soffre anche di più della mancanza di dati, mentre AlexNet preinstallato è in grado di imparare meglio da una piccola quantità di immagini di allenamento. Per il nostro compito, entrambi i modelli richiedono circa 1.000 immagini perché le loro prestazioni siano paragonabili al modello IPE e agli umani.

Le CNN hanno anche una limitata capacità di generalizzazione anche attraverso piccole variazioni di scena, come la modifica del numero di blocchi. Al contrario, i modelli IPE generalizzano e catturano naturalmente i modi in cui l'accuratezza del giudizio umano diminuisce con il numero di blocchi in una pila.

Nel loro insieme, questi risultati indicano qualcosa di fondamentale sulla cognizione umana che le reti neurali (o almeno le CNN) non stanno attualmente catturando: l'esistenza di un modello mentale dei processi causali del mondo. I modelli mentali causali possono essere simulati per prevedere cosa accadrà in situazioni qualitativamente nuove e non richiedono dati di addestramento vasti e diversificati per generalizzare ampiamente, ma sono intrinsecamente soggetti a determinati tipi di errori (ad es. Propagazione dell'incertezza dovuta a stato e rumore dinamico) proprio in virtù del funzionamento tramite simulazione.

Torniamo al punto che voglio sottolineare: mentre le reti neurali sono modelli potenti, sembrano non avere la capacità di rappresentare una struttura causale, compositiva e complessa. E lo compensano richiedendo molti dati di allenamento.

E torniamo alla tua domanda: mi sarei azzardato al fatto che l'ampio pregiudizio induttivo e il fatto che le reti neurali non modellino la causalità / la composizionalità è il motivo per cui hanno bisogno di così tanti dati di addestramento. La regolarizzazione non è un'ottima soluzione a causa del modo in cui si generalizzano. Una soluzione migliore sarebbe quella di cambiare la loro propensione, come viene attualmente provato da Hinton con capsule per modellare la geometria intera / parte o reti di interazione per modellare le relazioni.


2

Prima di tutto ci sono molti metodi di regolarizzazione sia in uso che nella ricerca attiva per l'apprendimento profondo. Quindi la tua premessa non è del tutto certa.

Per quanto riguarda i metodi in uso, la riduzione del peso è un'implementazione diretta di una penalità L2 sui pesi tramite discesa gradiente. Prendi il gradiente della norma quadrata dei tuoi pesi e aggiungi un piccolo passo in questa direzione ad ogni iterazione. L'abbandono è anche considerato una forma di regolarizzazione, che impone una sorta di struttura media. Ciò sembrerebbe implicare qualcosa come una penalità L2 su un insieme di reti con parametri condivisi.

Si potrebbe presumibilmente aumentare il livello di queste o altre tecniche per indirizzare piccoli campioni. Ma si noti che la regolarizzazione implica l'imposizione di conoscenze precedenti. La penalità L2 sui pesi implica, ad esempio, un priore gaussiano per i pesi. L'aumento della quantità di regolarizzazione afferma essenzialmente che la tua conoscenza precedente è sempre più certa e orienta il tuo risultato verso quella precedente. Quindi puoi farlo e si adatta troppo meno, ma l'output distorto potrebbe fare schifo. Ovviamente la soluzione è una migliore conoscenza preliminare. Per il riconoscimento delle immagini questo significherebbe priori molto più strutturati per quanto riguarda le statistiche del tuo problema. Il problema con questa direzione è che stai imponendo molte competenze di dominio ed evitare di dover imporre competenze umane è stato uno dei motivi per cui hai utilizzato il deep learning.


+1 per menzione di parzialità. Perché non spiegare tutta questa cosa in termini di parzialità e varianza? "Overfitting" non ha una definizione matematica precisa e implica una dicotomia inesistente ("overfit" / "non-overfit").
Josh,

2

Per chiarire il mio pensiero: supponiamo che stiamo usando un Deep NNet di grandi dimensioni per provare a modellare i nostri dati, ma il set di dati è piccolo e potrebbe effettivamente essere modellato da un modello lineare. Allora perché i pesi della rete non convergono in modo tale che un neurone simuli la regressione lineare e tutti gli altri convergano in zeri? Perché la regolarizzazione non aiuta in questo?

Le reti neurali possono essere allenate in questo modo. Se si utilizza la regolarizzazione L1 corretta, gran parte dei pesi può essere azzerata e questo farà sì che le reti neurali si comportino come concatenazione di 1 o più neuroni di regressione lineare e molti altri neroni zero. Quindi sì - le regolarizzazioni L1 / L2 o simili possono essere utilizzate per limitare le dimensioni o il potere rappresentativo della rete neurale.

In realtà la dimensione del modello stesso è una sorta di regolarizzazione: se si ingrandisce il modello, significa che si inietta una conoscenza precedente del problema, ovvero i problemi sono molto complessi, quindi richiede un modello con un alto potere rappresentativo. Se si riduce il modello, significa che si inietta la consapevolezza che il problema è semplice, quindi il modello non ha bisogno di molta capacità.

Ciò significa che la regolarizzazione L2 non renderà le reti "rare" come descritto, poiché la regolarizzazione L2 inietta una conoscenza precedente che il contributo di ciascun neurone (peso) dovrebbe essere piccolo ma diverso da zero. Quindi la rete userebbe ciascuno dei neuroni piuttosto che usare solo un piccolo insieme di neuroni.


1

La regolarizzazione è un metodo per includere informazioni preliminari in un modello. Ciò sembrerà semplice dal punto di vista bayesiano, ma è facile da vedere anche fuori dal punto di vista. Ad esempio, ilL2pena + standardizzazione delle covariate nella regressione della cresta sta essenzialmente utilizzando le informazioni precedenti che non crediamo che la stima dovrebbe essere interamente dominata da un piccolo numero di predittori. Allo stesso modo, ilL1la penalità può essere vista come "scommettere sulla scarsità della soluzione" (nota a margine: questo non ha senso dal tradizionale punto di vista bayesiano ma questa è un'altra storia ...).

Un punto chiave qui è che la regolarizzazione non è sempre utile. Piuttosto, regolarizzare verso ciò che probabilmente dovrebbe essere vero è molto utile, ma regolarizzare nella direzione sbagliata è chiaramente negativo.

Ora, quando si tratta di reti neurali profonde, l'interpretazione di questi modelli rende la regolarizzazione un po 'più difficile. Ad esempio, se stiamo cercando di identificare i gatti, in anticipo sappiamo che le "orecchie a punta" sono una caratteristica importante. Se stessimo usando una regressione logistica simile con unL2penalità e avevamo una variabile indicatore "orecchie appuntite" nel nostro set di dati, potremmo semplicemente ridurre la penalità sulla variabile orecchie appuntite (o meglio ancora, penalizzare verso un valore positivo anziché 0) e quindi il nostro modello avrebbe bisogno di meno dati per un'accurata predizioni.

Ma ora supponiamo che i nostri dati siano immagini di gatti alimentati in reti neuronali profonde. Se "le orecchie a punta" sono, in effetti, molto utili per identificare i gatti, forse vorremmo ridurre la penalità per dare questo potere predittivo. Ma non abbiamo idea di dove sarà rappresentato nella rete! Possiamo ancora introdurre sanzioni in modo che alcune piccole parti del sistema non dominino l'intera rete, ma al di fuori di ciò, è difficile introdurre la regolarizzazione in modo significativo.

In sintesi, è estremamente difficile incorporare le informazioni precedenti in un sistema che non capiamo.

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.