Dropout su quali livelli di LSTM?


11

Utilizzando un multi-layer LSTMcon dropout, è consigliabile inserire il dropout su tutti i layer nascosti e sui layer Dense di output? Nel documento di Hinton (che proponeva il Dropout) metteva il Dropout solo sui livelli Dense, ma ciò era dovuto al fatto che gli strati interni nascosti erano convoluzionali.

Ovviamente, posso testare il mio modello specifico, ma mi chiedevo se ci fosse consenso su questo?


3
qualche buona discussione sull'abbandono delle reti ricorrenti in questo documento se sei interessato: arxiv.org/abs/1512.05287 Gal, Yarin e Zoubin Ghahramani. "Un'applicazione teoricamente fondata del dropout nelle reti neurali ricorrenti." Progressi nei sistemi di elaborazione delle informazioni neurali. 2016.
redhq

2
Sembra confermare ciò che @Media ha detto di seguito
BigBadMe,

Risposte:


12

Preferisco non aggiungere il drop out nelle LSTMcelle per un motivo specifico e chiaro. LSTMssono utili a lungo termine, ma una cosa importante è che non sono in grado di memorizzare più cose contemporaneamente. La logica del drop out è quella di aggiungere rumore ai neuroni per non dipendere da alcun neurone specifico. Aggiungendo il drop out per le LSTMcelle, c'è la possibilità di dimenticare qualcosa che non dovrebbe essere dimenticato. Di conseguenza, come CNNspreferisco sempre usare il drop out in strati densi dopo gli LSTMstrati.


1
Capisco quello che stai dicendo, e ha senso, ma poi, perché l'implementazione delle celle LSTM in Keras o Tensorflow fornisce la possibilità di specificare il dropout (e il dropout ricorrente) se, in effetti, minerà il modo in cui un LSTM dovrebbe funzione?
BigBadMe,

3
In CNNsesso è del tutto accettabile non usarli in strati conv a causa del piccolo numero di pesi in strati convoluzionali. D' LSTMsaltra parte, il numero di pesi non è piccolo. Come ho già detto nelle attività, ci sono molte cose che devono essere memorizzate, provo a non usare il dropout, ma casi come il tempo dei verbi che non hai molte dipendenze, immagino che non sia molto male. A proposito, è stata la mia esperienza. Potrebbero esserci altre risposte per diversi domini di applicazione.
Media,

1
Grande spiegazione con entrambe le risposte! (+ 1)
Aditya,

5

Non esiste un consenso che può essere dimostrato su tutti i tipi di modello.

Pensare al dropout come a una forma di regolarizzazione, quanto da applicare (e dove), dipenderà intrinsecamente dal tipo e dalle dimensioni del set di dati, nonché dalla complessità del modello creato (quanto è grande).

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.