Reti neurali vs tutto il resto


15

Non ho trovato una risposta soddisfacente a questo da Google .

Naturalmente se i dati che ho sono dell'ordine di milioni, l'apprendimento profondo è la strada.

E ho letto che quando non ho i big data allora forse è meglio usare altri metodi nell'apprendimento automatico. Il motivo indicato è eccessivo. Apprendimento automatico: vale a dire guardare dati, estrazioni di funzionalità, creare nuove funzionalità da ciò che viene raccolto ecc. Cose come la rimozione di variabili fortemente correlate ecc. L'intero apprendimento automatico a 9 metri.

E mi chiedevo: perché le reti neurali con uno strato nascosto non sono una panacea per i problemi di apprendimento automatico? Sono stimatori universali, l'over-fitting può essere gestito con dropout, regolarizzazione l2, regolarizzazione l1, normalizzazione batch. La velocità di allenamento non è generalmente un problema se abbiamo solo 50.000 esempi di allenamento. Sono migliori al momento del test rispetto, diciamo, alle foreste casuali.

Quindi perché: pulire i dati, imputare i valori mancanti come si farebbe di solito, centrare i dati, standardizzare i dati, gettarli in un insieme di reti neurali con un livello nascosto e applicare la regolarizzazione fino a quando non si vede alcun adattamento eccessivo e quindi allenarsi fino alla fine. Nessun problema con l'esplosione del gradiente o la scomparsa del gradiente poiché è solo una rete a 2 livelli. Se sono necessari strati profondi, ciò significa che devono essere apprese caratteristiche gerarchiche e quindi anche altri algoritmi di apprendimento automatico non vanno bene. Ad esempio SVM è una rete neurale con solo perdita di cerniera.

Un esempio in cui alcuni altri algoritmi di machine learning supererebbero una rete neurale a 2 strati (forse 3?) Attentamente regolarizzata sarebbero apprezzati. Puoi darmi il collegamento al problema e vorrei formare la migliore rete neurale che posso e possiamo vedere se le reti neurali a 2 o 3 strati non sono all'altezza di qualsiasi altro algoritmo di apprendimento automatico di riferimento.


14
Le reti neurali SONO un algoritmo di apprendimento automatico ...
Matthew Drury,

6
Vi sono certamente alcuni settori in cui il deep learning è il re, come il riconoscimento delle immagini, ma nella maggior parte delle altre aree tendono ad essere dominati dall'aumento del gradiente, come risulta chiaramente dall'esame dei risultati delle competizioni Kaggle.
Jake Westfall,

1
@MatthewDrury - Davvero! ci scusiamo per la pessima terminologia. Spero che il messaggio sia stato trasmesso però. cambiando comunque la domanda, per essere più robusto. Grazie per aver sottolineato
MiloMinderbinder,

1
Per quanto riguarda la profondità della rete, dai un'occhiata a: stats.stackexchange.com/questions/182734
jld

Risposte:


31

Ogni algoritmo di apprendimento automatico ha un diverso orientamento induttivo, quindi non è sempre appropriato utilizzare reti neurali. Una tendenza lineare sarà sempre appresa meglio dalla semplice regressione lineare piuttosto che da un insieme di reti non lineari.

Se dai un'occhiata ai vincitori del passato competizioni di Kaggle , ad eccezione di qualsiasi sfida con i dati di immagini / video, scoprirai rapidamente che le reti neurali non sono la soluzione a tutto. Alcune soluzioni precedenti qui.

applica la regolarizzazione fino a quando non vedi alcun eccesso di adattamento e poi allenali fino alla fine

Non vi è alcuna garanzia che sia possibile applicare una regolarizzazione sufficiente per evitare un overfitting senza distruggere completamente la capacità della rete di apprendere qualsiasi cosa. Nella vita reale, è raramente possibile eliminare il divario di prova del treno, ed è per questo che i documenti riportano ancora le prestazioni del treno e del test.

sono stimatori universali

Questo è vero solo nel limite di avere un numero illimitato di unità, il che non è realistico.

puoi darmi il collegamento al problema e vorrei addestrare la migliore rete neurale che posso e possiamo vedere se le reti neurali a 2 o 3 strati non sono all'altezza di qualsiasi altro algoritmo di apprendimento automatico di riferimento

Un esempio di problema che mi aspetto che una rete neurale non sarebbe mai in grado di risolvere: dato un numero intero, classificalo come primo o non primo.

Credo che questo possa essere risolto perfettamente con un semplice algoritmo che scorre su tutti i programmi validi in lunghezza crescente e trova il programma più breve che identifica correttamente i numeri primi. In effetti, questa stringa regex di 13 caratteri può corrispondere ai numeri primi, che non sarebbero intrattabili dal punto di vista computazionale per la ricerca.


La regolarizzazione può prendere un modello da uno che si sovrappone a uno che ha il suo potere rappresentativo fortemente ostacolato dalla regolarizzazione? Non ci sarà sempre quel punto debole in mezzo?

Sì, c'è un punto debole, ma di solito è molto prima di smettere di montare troppo. Vedi questa figura:

http://gluon.mxnet.io/_images/regularization-overfitting.png

Se capovolgi l'asse orizzontale e lo rietichetti come "quantità di regolarizzazione", è abbastanza accurato: se esegui la regolarizzazione fino a quando non si verifica alcun eccesso, il tuo errore sarà enorme. Il "punto debole" si verifica quando c'è un po 'di overfitting, ma non troppo.

Come è un "semplice algoritmo che scorre su tutti i programmi validi in lunghezza crescente e trova il programma più breve che identifica correttamente i numeri primi". un algoritmo che impara?

θH(θ)θ


quindi se ti capisco correttamente stai argomentando che se i dati non sono sostanziali la rete profonda non colpirà mai l'accuratezza della validazione della migliore rete superficiale dati i migliori iperparametri per entrambi?

Sì. Ecco una figura brutta ma, si spera, efficace per illustrare il mio punto. https://i.imgur.com/nM3aI2l.png

ma non ha senso. una rete profonda può semplicemente imparare una mappatura 1-1 sopra il fondale basso

La domanda non è "può", ma "lo farà", e se stai addestrando la backpropagation, probabilmente la risposta non lo è.

Abbiamo discusso del fatto che le reti più grandi funzioneranno sempre meglio delle reti più piccole

Senza ulteriori qualifiche, tale affermazione è semplicemente sbagliata.


Grazie per la risposta! La regolarizzazione può prendere un modello da uno che si sovrappone a uno che ha il suo potere rappresentativo fortemente ostacolato dalla regolarizzazione? Non ci sarà sempre quel punto debole in mezzo?
MiloMinderbinder

Per quanto riguarda il tuo problema con i giocattoli. Come è un "semplice algoritmo che scorre su tutti i programmi validi in lunghezza crescente e trova il programma più breve che identifica correttamente i numeri primi". un algoritmo che impara?
MiloMinderbinder

Nota: cs231n: "Abbiamo discusso del fatto che le reti più grandi funzioneranno sempre meglio delle reti più piccole, ma la loro capacità di modello più elevata deve essere affrontata in modo appropriato con una regolarizzazione più forte (come un maggiore decadimento del peso), o potrebbero adattarsi eccessivamente. Vedremo più forme di regolarizzazione (specialmente dropout) nelle sezioni successive. " cs231n.github.io/neural-networks-1
MiloMinderbinder

@ user46478 ho risposto alle tue domande sopra modificando la risposta
shimao

"Non vi è alcuna garanzia che sia possibile applicare una regolarizzazione sufficiente per evitare un overfitting senza distruggere completamente la capacità della rete di apprendere qualsiasi cosa." - Mi dispiace ma non capisco ancora questa affermazione. Prendo i dati di addestramento, {train, val} divisi, creo la rete più ampia consentita dalla mia macchina, aumento la probabilità di interruzione fino a quando non vedo minimizzato l'errore di convalida tra gli errori di convalida che sto riscontrando in varie probabilità di interruzione. Questo processo può portare a un modello inutile da un modello troppo aderente senza passare per un modello valido?
MiloMinderbinder

11

Vorrei aggiungere che non esiste una panacea per l'apprendimento automatico:

Dal teorema del pranzo libero :

Se un algoritmo funziona bene su una determinata classe di problemi, paga necessariamente per quello con prestazioni degradate sull'insieme di tutti i problemi rimanenti


Questo è molto deprimente (ma non preoccuparti, non discuterò delle conseguenze) 1. Leggendo questo capisco che si tratta di algoritmi con la stessa distribuzione sulle funzioni che possono imparare (il che significherebbe anche lo stesso co-dominio). Quindi le reti neurali possono essere compatite solo con gli stimatori universali. 2. Questo non parla della velocità con cui viene cercato lo spazio delle funzioni. Possiamo dire che una rete neurale con 2 strati nascosti è necessariamente equivalente o superiore a una rete neurale con uno strato nascosto su ogni problema? penso che il presupposto della continuità debba fare molto qui
MiloMinderbinder

con un adeguato iperparametro che sintonizza una rete neurale a strati nascosti salta attraverso funzioni che hanno simili sottodomini più velocemente di una singola rete neurale a strati nascosti. i tuoi input?
MiloMinderbinder

1
"Possiamo dire che una rete neurale con 2 strati nascosti è necessariamente equivalente o superiore a una rete neurale con uno strato nascosto su ogni problema". No, sfortunatamente no. Come contro esempio, immagina una regressione logistica (un nn con zero livelli nascosti) contro una rete neurale a 1 strato con il numero di unità nascoste pari al numero di punti dati per un set di dati completamente separabile. Non ci sono informazioni sul limite di decisione che lr non è in grado di acquisire e l'elevata complessità nn rischia di
sovrautilizzare

3
Concordo con l'affermazione qui, ma volevo aggiungere l'avvertenza standard alla NFL, anch'essa presa dalla pagina di Wikipedia: "nota che la NFL si applica solo se la funzione target viene scelta da una distribuzione uniforme di tutte le possibili funzioni".
mkt - Ripristina Monica

1
@ user46478 Sono d'accordo con la pertinenza del teorema della NFL in risposta alla tua domanda "perché le reti neurali con un livello nascosto non sono una panacea ai problemi di apprendimento automatico?"
mkt - Ripristina Monica
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.