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.

rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.