Combien de cellules LSTM dois-je utiliser?

12

Existe-t-il des règles générales (ou des règles réelles) concernant la quantité minimale, maximale et "raisonnable" de cellules LSTM que je devrais utiliser? Plus précisément, je me rapporte à BasicLSTMCell de TensorFlow et à la num_unitspropriété.

Veuillez supposer que j'ai un problème de classification défini par:

t - number of time steps
n - length of input vector in each time step
m - length of output vector (number of classes)
i - number of training examples

Est-il vrai, par exemple, que le nombre d'exemples de formation devrait être supérieur à:

4*((n+1)*m + m*m)*c

cest le nombre de cellules? Je me suis basé sur ceci: Comment calculer le nombre de paramètres d'un réseau LSTM? Si je comprends bien, cela devrait donner le nombre total de paramètres, qui devrait être inférieur au nombre d'exemples de formation.

Communauté
la source
1
Je consulterais cet article qui aborde joliment le sujet de la comparaison des modèles séquentiels d'apprentissage en profondeur ainsi que du réglage des hyperparamètres: arxiv.org/pdf/1503.04069.pdf En résumé, ils suggèrent l'évidence, que l'augmentation du nombre de blocs LSTM par caché couche améliore les performances mais a des rendements décroissants et augmente le temps de formation.
CubeBot88

Réponses:

4

Le nombre minimum d'exemples de formation est ce que vous avez là-haut:

4(nm+n2)

Pour plus d'informations, reportez-vous à cet article: Consultez ce lien si vous avez besoin d'aide visuelle: Nombre de paramètres dans un modèle LSTM

Le nombre d'unités dans chaque couche de la pile peut varier. Par exemple, dans translate.py de Tensorflow, il peut être configuré sur 1024, 512 ou pratiquement n'importe quel nombre. La meilleure gamme peut être trouvée via la validation croisée. Mais j'ai vu à la fois 1000 et 500 unités dans chaque couche de la pile. Personnellement, j'ai également testé avec de plus petits nombres.

Ali
la source