Avantages d'empiler des LSTM?

Réponses:

7

De Quels sont les avantages d'empiler plusieurs LSTM? (Je ne mettrai à jour que la réponse):

À partir de 1}:

Bien qu'il ne soit pas théoriquement clair quelle est la puissance supplémentaire acquise par l'architecture plus profonde, il a été observé empiriquement que les RNN profonds fonctionnent mieux que les RNN moins profonds pour certaines tâches. En particulier, Sutskever et al (2014) rapportent qu'une architecture profonde à 4 couches était cruciale pour obtenir de bonnes performances de traduction automatique dans un cadre codeur-décodeur. Irsoy et Cardie (2014) signalent également une amélioration des résultats du passage d'un BI-RNN à une couche à une architecture à plusieurs couches. De nombreux autres travaux signalent des résultats utilisant des architectures RNN en couches, mais ne se comparent pas explicitement aux RNN à une couche.


Les références:

Franck Dernoncourt
la source
4

Une situation dans laquelle il est avantageux d'empiler des LSTM est lorsque nous voulons apprendre la représentation hiérarchique de nos données de séries chronologiques. Dans les LSTM empilés, chaque couche LSTM sort une séquence de vecteurs qui sera utilisée comme entrée pour une couche LSTM suivante. Cette hiérarchie de couches cachées permet une représentation plus complexe de nos données chronologiques, capturant des informations à différentes échelles.

Par exemple, les LSTM empilés peuvent être utilisés pour améliorer la précision de la classification des séries temporelles, comme la prédiction d'activité, dans laquelle la fréquence cardiaque, le nombre de pas, le GPS et d'autres signaux peuvent être utilisés pour prédire une activité telle que la marche, la course, le vélo, monter des escaliers ou se reposer. Pour un exemple de classification de séries chronologiques avec des LSTM empilés utilisant des données EEG, consultez le bloc-notes ipython suivant .

Vadim Smolyakov
la source
1

En séquence à modèle de séquence: Le travail du réseau de codeurs consiste à lire la séquence d'entrée dans notre modèle Seq2Seq et à générer un vecteur de contexte de dimension fixe C pour la séquence. Pour ce faire, l'encodeur utilisera une cellule de réseau neuronal récurrente - généralement un LSTM - pour lire les jetons d'entrée un par un. L'état caché final de la cellule deviendra alors C. Cependant, comme il est si difficile de compresser une séquence de longueur arbitraire en un seul vecteur de taille fixe (en particulier pour les tâches difficiles comme la traduction), l'encodeur sera généralement composé de LSTM empilés : une série de "couches" LSTM où les sorties de chaque couche sont la séquence d'entrée vers la couche suivante. L'état caché LSTM de la couche finale sera utilisé comme vecteur de contexte.

Umer Rana
la source