Ausfall auf welchen LSTM-Schichten?

11

Ist es bei Verwendung einer Mehrschicht LSTMmit Dropout ratsam, Dropout auf alle ausgeblendeten Ebenen sowie auf die Ausgabeebenen für dichte Ebenen zu setzen? In Hintons Artikel (der Dropout vorschlug) legte er Dropout nur auf die dichten Schichten, aber das lag daran, dass die verborgenen inneren Schichten faltungsmäßig waren.

Natürlich kann ich mein spezifisches Modell testen, aber ich habe mich gefragt, ob diesbezüglich ein Konsens besteht.

BigBadMe
quelle
3
Einige gute Diskussionen zum Ausfall in wiederkehrenden Netzwerken in diesem Artikel, wenn Sie interessiert sind: arxiv.org/abs/1512.05287 Gal, Yarin und Zoubin Ghahramani. "Eine theoretisch fundierte Anwendung von Dropout in wiederkehrenden neuronalen Netzen." Fortschritte in neuronalen Informationsverarbeitungssystemen. 2016.
Redhqs
2
Scheint zu bestätigen, was @Media unten gesagt hat
BigBadMe

Antworten:

12

Ich bevorzuge es, aus LSTMeinem bestimmten und klaren Grund keinen Ausfall in Zellen hinzuzufügen . LSTMssind auf lange Sicht gut, aber eine wichtige Sache an ihnen ist, dass sie nicht sehr gut darin sind, mehrere Dinge gleichzeitig auswendig zu lernen. Die Logik des Ausfalls besteht darin, den Neuronen Rauschen hinzuzufügen, um nicht von einem bestimmten Neuron abhängig zu sein. Durch Hinzufügen von Drop-Out für LSTMZellen besteht die Möglichkeit, etwas zu vergessen, das nicht vergessen werden sollte. Folglich CNNsbevorzuge ich es immer, Drop-Out in dichten Schichten nach den LSTMSchichten zu verwenden.

Medien
quelle
1
Ich verstehe, was Sie sagen, und es ist sinnvoll, aber warum bietet die Implementierung von LSTM-Zellen in Keras oder Tensorflow die Möglichkeit, einen Ausfall (und einen wiederkehrenden Ausfall) anzugeben, wenn dies tatsächlich untergräbt, wie ein LSTM sein soll Funktion?
BigBadMe
3
In CNNses völlig akzeptabel nicht zu verwenden , um sie in conv Schichten aufgrund der geringen Anzahl von Gewichten in Faltungsschichten ist. In LSTMsauf der anderen Seite, ist die Anzahl der Gewichte nicht klein. Wie ich in Aufgaben erwähnt habe, dass es zahlreiche Dinge gibt, die auswendig gelernt werden müssen, versuche ich, keine Aussetzer zu verwenden, aber es Fälle wie die Zeitform der Verben, dass Sie nicht viele Abhängigkeiten haben, ich denke, es ist nicht sehr schlecht. Übrigens war es meine Erfahrung. Möglicherweise gibt es andere Antworten für verschiedene Anwendungsdomänen.
Medien
1
Große Erklärung durch beide Antworten! (+ 1)
Aditya
5

Es gibt keinen Konsens, der für alle Modelltypen bewiesen werden kann.

Wenn Sie sich Dropout als eine Form der Regularisierung vorstellen, wie viel (und wo) angewendet werden soll, hängt dies inhärent von der Art und Größe des Datasets sowie von der Komplexität Ihres erstellten Modells (wie groß es ist) ab.

n1k31t4
quelle