Perché il deep learning è pubblicizzato nonostante la cattiva dimensione del VC?


87

La formula dimensionale Vapnik – Chervonenkis (VC) per le reti neurali varia da a , con nel peggiore dei casi, dove è il numero di bordi e è il numero di nodi. Il numero di campioni di addestramento necessari per avere una forte garanzia di generalizzazione è lineare con la dimensione VC.O(E)O(E2)O(E2V2)EV

Ciò significa che per una rete con miliardi di fronti, come nel caso di modelli di apprendimento profondo di successo, il set di dati di addestramento richiede nel migliore dei casi miliardi di campioni di addestramento, a quadrilioni nel caso peggiore. I più grandi set di addestramento attualmente contengono circa cento miliardi di campioni. Poiché non vi sono sufficienti dati di formazione, è improbabile che i modelli di apprendimento profondo si stiano generalizzando. Invece, stanno adattando troppo i dati di addestramento. Ciò significa che i modelli non funzioneranno bene su dati diversi dai dati di addestramento, che è una proprietà indesiderata per l'apprendimento automatico.

Data l'incapacità del deep learning di generalizzare, secondo l'analisi dimensionale VC, perché i risultati del deep learning sono così pubblicizzati? Avere semplicemente un'alta precisione su alcuni set di dati non significa molto in sé. C'è qualcosa di speciale nelle architetture di deep learning che riduce significativamente la dimensione VC?

Se non ritieni che l'analisi della dimensione VC sia pertinente, fornisci prove / spiegazioni che l'apprendimento profondo si sta generalizzando e non si adatta in modo adeguato. Cioè ha un buon richiamo E precisione, o solo un buon richiamo? Il richiamo al 100% è banale da raggiungere, così come la precisione al 100%. Avvicinarsi al 100% è molto difficile.

Come esempio contrario, ecco le prove che l'apprendimento profondo è troppo adeguato. Un modello overfit è facile da ingannare poiché ha incorporato il rumore deterministico / stocastico. Vedere la seguente immagine per un esempio di overfitting.

Esempio di underfitting, fitting e overfitting.

Inoltre, vedi le risposte classificate più basse a questa domanda per capire i problemi con un modello di overfit nonostante la buona precisione sui dati dei test.

Alcuni hanno risposto che la regolarizzazione risolve il problema di una grande dimensione VC. Vedi questa domanda per ulteriori discussioni.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
DW

7
Non penso che le domande sul perché qualcosa di "pubblicizzato" siano buone. La risposta è "perché le persone". Le persone si interessano alle cose a causa della pletora di ragioni, incluso il marketing.
luk32,

L'apprendimento profondo funziona in pratica. Potrebbe essere troppo adatto. Potrebbe essere completamente ingiustificato. Potrebbe essere imparare i segreti dell'universo da una divinità eldritch. Ma l'hype proviene da professionisti che improvvisamente sono in grado di scrivere 30 righe sul codice e insegnare a una telecamera a scansionare le firme e abbinarle a quelle memorizzate per convalidare le transazioni bancarie. O taggare le persone sconosciute nelle fotografie. Ecc. Forse hai sentito la frase "non è un insulto se è vero"? Beh, non è hype se funziona. Ci sono molti problemi su cui non funziona e un eccessivo clamore popolare. Ma funziona in un'applicazione di vita reale.
Stella Biderman,

La facilità di @StellaBiderman di attrezzare le tecniche di apprendimento automatico standard è buona e tutto. Ma l'interesse sembra avere più a che fare con la presunta capacità di apprendimento dei DNN che forse rivaleggia con l'abilità umana, che sembra essere sovrastimata a causa dell'analisi VC del modello. Una dimensione VC così elevata implica che i modelli non si generalizzeranno e stanno invece memorizzando i set di dati, rendendoli molto fragili. Tutti i documenti di esempio dell'avversario sembrano dimostrare questo punto.
yters

@gerrit Non sono sicuro che la modifica sia stata molto utile. Scommetto che più persone sanno cos'è la dimensione VC che sanno cosa rappresenta.
David Richerby,

Risposte:


75

"Se la mappa e il terreno non sono d'accordo, fidati del terreno."

Non si capisce davvero perché il deep learning funzioni così come funziona, ma certamente i vecchi concetti della teoria dell'apprendimento come le dimensioni del VC sembrano non essere molto utili.

La questione è oggetto di accesi dibattiti, vedi ad esempio:

Per quanto riguarda il problema degli esempi contraddittori , il problema è stato scoperto in:

  • C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich, Approfondendo le convoluzioni .

È ulteriormente sviluppato in:

C'è molto lavoro di follow-on.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
DW

Quando dici "C'è molto lavoro di follow-on" ti riferisci all'ultimo documento del 2014? I primi due articoli che menzioni sono abbastanza recenti. Potresti aggiornare con i documenti a cui ti riferisci ?.
VF1

2
+1 forte per "Se la mappa e il terreno non sono d'accordo, fidati del terreno". I modelli funzionano estremamente bene in pratica, indipendentemente dal fatto che la matematica affermi che dovrebbero. Da un punto di vista scientifico, questo accade sempre e se qualcosa rende i problemi più interessanti. Nessuno ha letto il lavoro di Razborov e Rudich su Natural Proofs ed è andato "bene, suppongo che P vs NP non sia una domanda interessante dopo tutto". Sono andati a capire che potrebbe essere possibile usare la geometria algebrica per fare la teoria della complessità. Dal punto di vista della scienza, i problemi che trascendono la nostra comprensione sono migliori , non peggiori.
Stella Biderman,

65

"Data l'incapacità del Deep Learning di generalizzare, secondo l'analisi dimensionale VC [...]"

No, non è quello che dice l'analisi dimensionale VC. L'analisi dimensionale VC fornisce alcune condizioni sufficienti in cui è garantita la generalizzazione. Ma il contrario non è necessariamente così. Anche se non si soddisfano tali condizioni, il metodo ML potrebbe comunque generalizzare.

Detto in altro modo: l'apprendimento profondo funziona meglio di quanto l'analisi dimensionale VC ti porterebbe ad aspettarti (meglio delle "previsioni" dell'analisi VC). Questo è un difetto dell'analisi dimensionale VC, non un difetto del deep learning. Ciò non implica che l'apprendimento profondo sia imperfetto. Piuttosto, significa che non sappiamo perché il deep learning funzioni e l'analisi VC non è in grado di fornire informazioni utili.

Una dimensione VC elevata non implica che l'apprendimento profondo possa essere ingannato. L'elevata dimensione del VC non garantisce nulla sul fatto che possa essere ingannato in situazioni pratiche. La dimensione VC fornisce un limite unidirezionale, nel caso peggiore: se si soddisfano queste condizioni, allora accadono cose buone, ma se non si soddisfano queste condizioni, non sappiamo cosa accadrà (forse le cose buone accadranno comunque, se la natura si comporta meglio del caso peggiore; l'analisi del VC non promette che le cose buone non possano / non accadranno).

Potrebbe essere che la dimensione VC dello spazio modello sia grande (include modelli molto complessi possibili), ma la natura è spiegata da modelli semplici e l'algoritmo ML apprende il modello semplice presente in natura (ad esempio, a causa della regolarizzazione) - - in questo caso, la dimensione VC sarebbe elevata ma il modello si generalizzerebbe (per il particolare modello presente in natura).

Detto questo ... ci sono prove crescenti che l'apprendimento profondo può essere ingannato da esempi contraddittori. Ma fai attenzione alla tua catena di ragionamenti. Le conclusioni che stai tracciando non seguono le premesse con cui hai iniziato.


6
Una dimensione VC elevata implica una sua generalizzazione più difficile (in un certo senso, almeno quando si tratta di distribuzioni arbitrarie). L' errore inferiore di generalizzazione indica esattamente che per un numero di campioni piccolo rispetto alla dimensione VC, esiste una distribuzione tale che rispetto ad esso qualsiasi algoritmo si verificherà un errore di generalizzazione elevato (con alta probabilità). Ω(dn)
Ariel,

5
-1 per "L'elevata dimensione VC non garantisce affatto nulla". Ciò non è vero: un'elevata dimensione VC implica limiti di complessità campione inferiori per l'apprendimento PAC. Una buona risposta dovrebbe riguardare le distribuzioni nel caso peggiore o "vita reale".
Sasho Nikolov,

1
@SashoNikolov, buon punto - grazie! Modificato.
DW

Questo post era in revisione di bassa qualità. Dato il contenuto, la lunghezza, i voti e la qualità, questo è ridicolo, indicandolo qui, ma potrebbe aver bisogno di meta, perché qualcosa è davvero sbagliato.
Evil

23

Le persone del settore non tengono conto della dimensione VC, degli hooligan ...

Su una nota più seria, sebbene il modello PAC sia un modo elegante di pensare all'apprendimento (almeno secondo me), ed è abbastanza complesso da dare origine a concetti e domande interessanti (come la dimensione VC e la sua connessione con la complessità del campione) , ha ben poco a che fare con le situazioni della vita reale.

Ricorda che nel modello PAC devi gestire distribuzioni arbitrarie, ciò significa che il tuo algoritmo dovrebbe gestire distribuzioni contraddittorie. Quando si tenta di apprendere alcuni fenomeni nel mondo reale, nessuno ti sta dando "dati contraddittori" per incasinare i risultati, quindi richiedere una classe di concetti per l'apprendimento PAC potrebbe essere troppo forte. A volte è possibile associare l'errore di generalizzazione indipendentemente dalla dimensione VC, per una specifica classe di distribuzioni. Questo è il caso dei limiti di margine, che sono formulati indipendentemente dalla dimensione VC. Possono promettere un basso errore di generalizzazione se è possibile garantire un elevato margine empirico (che ovviamente non può accadere per tutte le distribuzioni, ad esempio prendere due punti vicini sul piano con tag opposti e focalizzare la distribuzione su di essi).

Quindi, mettendo da parte il modello PAC e la dimensione VC, penso che l'hype derivi dal fatto che sembrano funzionare e che riescono in compiti che prima non erano possibili (uno degli ultimi risultati che viene in mente è AlphaGo). So molto poco delle reti neurali, quindi spero che qualcuno con più esperienza possa entrare, ma per quanto ne sappia non ci sono ancora buone garanzie (sicuramente non come nel modello PAC). Forse con le giuste ipotesi si potrebbe giustificare formalmente il successo delle reti neurali (suppongo che ci siano lavori intorno al trattamento formale delle reti neurali e del "deep learning", quindi spero che le persone con più conoscenze sull'argomento possano collegare alcuni documenti) .


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
DW

15

Data l'incapacità del Deep Learning di generalizzare,

Non so da dove lo porti. Empiricamente, la generalizzazione è vista come il punteggio (es. Accuratezza) su dati invisibili.

La risposta all'utilizzo delle CNN è semplice: le CNN funzionano molto meglio di ogni altra cosa . Vedi ImageNet 2012 per esempio:

  • CNN: 15,315% (questo è stato un primo esempio. Le CNN ora sono molto meglio. Con circa il 4% di errore top-5)
  • Miglior non-CNN: 26,172% di errore Top-5 ( fonte : fino alle mie tecniche di conoscenza che non utilizzano CNN non sono scesi al di sotto del 25% di errore top-5)

Crea un classificatore che è meglio e le persone passeranno a quello.

AGGIORNAMENTO: assegnerò una risposta a chiunque fornisca prove pubblicate che l'apprendimento automatico in generale viene facilmente ingannato, come questa prova per Deep Learning.

Questo non è il caso. È possibile creare un classificatore che è estremamente semplice su un set di dati semplice. Non sarà possibile ingannarlo (non importa nemmeno cosa significhi "facile"), ma non è neppure interessante.


3
Un errore basso non implica la generalizzazione. È una condizione necessaria, ma non sufficiente.
yters

3
@yters Definire quindi la generalizzazione.
Martin Thoma,

5
@yters, questo commento mi fa pensare che non hai letto molto sull'apprendimento automatico. Martin ha detto che la precisione dei dati invisibili . Stai parlando dell'accuratezza dei dati di allenamento. Fondamentalmente hai ragione su cosa sia la generalizzazione, ma per favore renditi conto che anche tutti gli altri qui lo capiscono .
Ken Williams,

1
@yters Sono abbastanza sicuro che Ken (e molte persone su questo sito, incluso me stesso) lo sappiano. Se il tuo set di test, tuttavia, non rappresenta il tuo set di dati, non puoi fare alcuna dichiarazione sulla generalizzazione. Mentre vale la pena tenerlo a mente, non vedo come questo ti aiuti in alcun modo per questa domanda. Devi solo supporre / accertarti che il tuo set di test rappresenti i tuoi dati al momento della produzione. In effetti, è davvero facile dimostrare che è possibile rendere arbitrario qualsiasi classificatore se i campioni di addestramento non rappresentano la distribuzione.
Martin Thoma,

2
Questo è ovvio. Non puoi aspettarti che un modello si generalizzi bene se è addestrato a convalidare i dati sbagliati. Hai bisogno di dati migliori, non di un modello migliore.
Emre,

9

La risposta di una sola parola è "regolarizzazione". La formula ingenua della dimensione VC non si applica in questo caso perché la regolarizzazione richiede che i pesi non siano generali. Solo una piccola (infinitesima?) Combinazione di peso ha una perdita accettabile dopo la regolarizzazione. Di conseguenza, la vera dimensione è inferiore di molti ordini di grandezza, quindi la generalizzazione può avvenire con i set di addestramento che abbiamo. I risultati della vita reale confermano che il sovradimensionamento generalmente non sta avvenendo.


2
Ho visto la ripetuta affermazione che i risultati della vita reale mostrano generalizzazioni di apprendimento profondo. Quali sono esattamente i risultati che mostrano generalizzazione? Tutto quello che ho visto finora è che DL raggiunge bassi tassi di errore su determinati set di dati, il che non significa di per sé che DL si generalizzi.
yters

3
mostra buoni risultati ("buono" = migliore di altri metodi ML) su dati sui quali non è stato addestrato . non sono sicuro di come altrimenti vuoi misurare praticamente la generalizzazione.
Leopoli

3

Affrontiamo il documento: la comprensione del deep learning richiede un ripensamento della generalizzazione. nel

Ripensare la generalizzazione richiede rivisitare vecchie idee: approcci di meccanica statistica e comportamenti di apprendimento complessi Charles H. Martin e Michael W. Mahoney

Vedi: https://arxiv.org/pdf/1710.09553.pdf

Fondamentalmente, sosteniamo che i limiti del VC sono troppo ampi perché l'approccio fondamentale e come il limite statistico che viene preso non è realistico.

Un approccio migliore risiede nella Meccanica statistica, che considera una classe di funzioni dipendenti dai dati, prende il limite termodinamico (non solo il limite di grandi numeri)

Inoltre, segnaliamo anche come le naturali discontinuità nel profondo bisogno portano a una transizione di fase nella curva di apprendimento, che crediamo sia osservata nel documento di Google (sopra)

Per quanto riguarda i limiti, vedere la sezione 4.2 del nostro documento

"Chiaramente, se fissiamo la dimensione del campione m e lasciamo [la dimensione della classe della funzione] N → ∞, [o viceversa, correggiamo N, lasciamo m → ∞] non dovremmo aspettarci un risultato non banale, poiché [ N] sta diventando più grande ma la dimensione del campione è fissa. Pertanto, [in Statistical Mechanics] si considera in genere il caso che m, N → ∞ tale che α = m / N sia una costante fissa. "

Cioè, molto raramente aggiungeremmo più dati (m) a una rete profonda. Aumentiamo sempre anche le dimensioni della rete (N), perché sappiamo che possiamo acquisire caratteristiche / informazioni più dettagliate dai dati. Invece facciamo in pratica ciò per cui sosteniamo nel documento: prendiamo il limite di grandi dimensioni, con il rapporto m / N fisso (al contrario di dire fissando me aumentando N).

Questi risultati sono ben noti nella Meccanica statistica dell'apprendimento. L'analisi è più complicata, ma i risultati portano a una struttura molto più ricca che spiega molti fenomeni nell'apprendimento profondo.

Inoltre, e in particolare, è noto che molti limiti delle statistiche diventano banali o non si applicano alle distribuzioni di probabilità non uniformi o quando le variabili assumono valori discreti. Con le reti neurali, il comportamento non banale sorge a causa di discontinuità (nelle funzioni di attivazione), che portano a transizioni di fase (che sorgono nel limite termodinamico).

Il documento che abbiamo scritto cerca di spiegare le idee salienti a un pubblico di informatica.

Lo stesso Vapnik si rese conto che la sua teoria non era realmente applicabile alle reti neurali ... nel lontano 1994

"L'estensione della [dimensione VC] alle reti multistrato deve affrontare [molte] difficoltà ... gli algoritmi di apprendimento esistenti non possono essere visti come minimizzare il rischio empirico sull'intero insieme di funzioni implementabili dalla rete ... [perché] è probabilmente ... la ricerca sarà limitata a un sottoinsieme di [queste] funzioni ... La capacità di questo set può essere molto inferiore alla capacità dell'intero set ... [e] può variare con il numero di osservazioni. Ciò potrebbe richiedere una teoria che consideri la nozione di capacità non costante con un sottoinsieme "attivo" di funzioni "
Vapnik, Levin e LeCun 1994

http://yann.lecun.com/exdb/publis/pdf/vapnik-levin-lecun-94.pdf

Sebbene non sia facile da trattare con la teoria del VC, questo non è un problema per stat mech..e ciò che descrivono assomiglia molto alla teoria del paesaggio energetico del ripiegamento delle proteine. (che sarà l'argomento di un futuro articolo)


Sembra interessante, ma non sono sicuro di seguire il tuo argomento. Puoi approfondire la prima frase, cioè su come l'approccio fondamentale / limite statistico non è realistico, in un modo autonomo che non richiede comprensione della meccanica statistica? Quali ipotesi fanno i limiti di VC e perché non sono realistici? Forse puoi modificare la tua risposta per includere tali informazioni?
DW

Ho aggiunto un riferimento al lavoro originale di Vapnik e LeCun (1994) che discute il problema.
Charles Martin,

E aggiunto alcuni chiarimenti.
Charles Martin,

1

Nessuno sembra aver sottolineato nelle risposte precedenti che la formula della dimensione VC citata è solo per una rete neurale a 1 strato. La mia ipotesi è che la dimensione VC cresca effettivamente esponenzialmente all'aumentare del numero di strati L. Il mio ragionamento si basa sul considerare reti neurali profonde in cui la funzione di attivazione è sostituita da reti polinomiali. Quindi il grado dei polinomi composti cresce esponenzialmente all'aumentare degli strati.

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.