Скільки клітин LSTM я повинен використовувати?


12

Чи є якісь правила (чи фактичні правила), що стосуються мінімальної, максимальної та "розумної" кількості комірок LSTM, які я повинен використовувати? Зокрема, я стосуюсь BasicLSTMCell від TensorFlow та num_unitsвласності.

Будь ласка, припустіть, що у мене проблема класифікації, визначена:

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

Чи правда, наприклад, що кількість прикладів навчання повинна бути більшою, ніж:

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

де cкількість клітинок? Я ґрунтувався на цьому: Як обчислити кількість параметрів мережі LSTM? Як я розумію, це повинно дати загальну кількість параметрів, яка повинна бути меншою, ніж кількість навчальних прикладів.

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
Я б ознайомився з цією статтею, яка чудово стосується теми порівняння послідовних моделей глибокого навчання, а також налаштування гіперпараметрів: arxiv.org/pdf/1503.04069.pdf Підсумовуючи, вони говорять про очевидне, що збільшення кількості блоків LSTM на приховане шар покращує продуктивність, але зменшує віддачу та збільшує час тренувань.
CubeBot88

Відповіді:


4

Мінімальна кількість прикладів тренувань - це те, що у вас є:

4(nm+n2)

Для отримання додаткової інформації зверніться до цієї статті: Перейдіть за цим посиланням, якщо вам потрібна візуальна допомога: Кількість параметрів у моделі LSTM

Кількість одиниць у кожному шарі стека може змінюватися. Наприклад, у translate.py від Tensorflow він може бути налаштований на 1024, 512 або практично будь-яке число. Найкращий діапазон можна знайти за допомогою перехресної перевірки. Але я бачив і 1000, і 500 кількість одиниць у кожному шарі стеку. Я особисто тестував і менші числа.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.