Quantas células LSTM devo usar?


12

Existem regras práticas (ou regras reais) referentes à quantidade mínima, máxima e "razoável" de células LSTM que devo usar? Especificamente, estou relacionado ao BasicLSTMCell da TensorFlow e à num_unitspropriedade.

Suponha que eu tenha um problema de classificação definido por:

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

É verdade, por exemplo, que o número de exemplos de treinamento deve ser maior que:

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

onde cestá o número de células? Baseei- me no seguinte: Como calcular o número de parâmetros de uma rede LSTM? Pelo que entendi, isso deve fornecer o número total de parâmetros, que deve ser menor que o número de exemplos de treinamento.

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 

11
Eu daria uma olhada neste artigo que aborda bem o tópico de comparar modelos seqüenciais de aprendizado profundo e ajuste de hiperparâmetros: arxiv.org/pdf/1503.04069.pdf Em resumo, eles sugerem o óbvio, que aumenta o número de blocos LSTM por oculto A camada melhora o desempenho, mas apresenta retornos decrescentes e aumenta o tempo de treinamento.
CubeBot88

Respostas:


4

O número mínimo de exemplos de treinamento é o que você tem lá em cima:

4(nm+n2)

Para obter mais informações, consulte este artigo: Consulte este link se precisar de ajuda visual: Número de parâmetros em um modelo LSTM

O número de unidades em cada camada da pilha pode variar. Por exemplo, no translate.py do Tensorflow, ele pode ser configurado para 1024, 512 ou praticamente qualquer número. A melhor faixa pode ser encontrada através da validação cruzada. Mas eu vi o número de 1000 e 500 de unidades em cada camada da pilha. Eu pessoalmente testei com números menores também.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.