En utilisant un multicouche LSTM
avec dropout, est-il conseillé de mettre le dropout sur tous les calques cachés ainsi que sur les calques Denses en sortie? Dans l'article de Hinton (qui proposait Dropout), il ne plaçait Dropout que sur les couches Denses, mais c'était parce que les couches internes cachées étaient convolutives.
Évidemment, je peux tester mon modèle spécifique, mais je me demandais s'il y avait un consensus à ce sujet?
neural-network
lstm
rnn
dropout
stacked-lstm
BigBadMe
la source
la source
Réponses:
Je préfère ne pas ajouter d'abandon dans les
LSTM
cellules pour une raison précise et claire.LSTMs
sont bons pour le long terme mais une chose importante à leur sujet est qu'ils ne sont pas très bons pour mémoriser plusieurs choses simultanément. La logique du décrochage consiste à ajouter du bruit aux neurones afin de ne pas dépendre d'un neurone spécifique. En ajoutant des abandons pour lesLSTM
cellules, il y a une chance d'oublier quelque chose qui ne doit pas être oublié. Par conséquent, commeCNNs
je préfère toujours utiliser le décrochage en couches denses après lesLSTM
couches.la source
CNNs
est tout à fait acceptable de ne pas les utiliser dans les couches conv en raison du petit nombre de poids dans les couches convolutionnelles. EnLSTMs
revanche, le nombre de poids n'est pas petit. Comme je l'ai mentionné dans les tâches, il y a beaucoup de choses à mémoriser, j'essaie de ne pas utiliser le décrochage, mais comme le temps des verbes, vous n'avez pas beaucoup de dépendances, je suppose que ce n'est pas très mauvais. Au fait, c'était mon expérience. Il peut y avoir d'autres réponses pour différents domaines d'application.Il n'y a pas de consensus qui puisse être prouvé pour tous les types de modèles.
Le fait de considérer le décrochage comme une forme de régularisation, la quantité de celui-ci à appliquer (et où), dépendra intrinsèquement du type et de la taille de l'ensemble de données, ainsi que de la complexité de votre modèle construit (sa taille).
la source