Em geral, não há diretrizes sobre como determinar o número de camadas ou o número de células de memória em um LSTM.
O número de camadas e células necessárias em um LSTM pode depender de vários aspectos do problema:
A complexidade do conjunto de dados. A quantidade de recursos, número de pontos de dados etc.
O processo de geração de dados. A seguir, exemplo de como o processo de geração de dados pode desempenhar um papel significativo.
Ex - Previsão dos preços do petróleo em comparação com a previsão do PIB de uma economia bem compreendida. O último é muito mais fácil que o primeiro. Assim, a previsão dos preços do petróleo também pode precisar de mais número de células de memória LSTM para prever com a mesma precisão em comparação com o PIB.
- A precisão necessária para o caso de uso. O número de células de memória dependerá muito disso. Se o objetivo é superar o estado da arte - é necessário mais células LSTM em geral. Compare isso com o objetivo de obter previsões razoáveis - o que exigiria um número menor de células LSTM.
Sigo estas etapas ao modelar usando LSTM:
Tente uma única camada oculta com 2 ou 3 células de memória. Veja como ele se comporta em relação a um benchmark. Se for um problema de série temporal, geralmente faço uma previsão a partir de técnicas clássicas de série temporal como referência.
Tente aumentar o número de células da memória. Se o desempenho não estiver aumentando muito, passe para o próximo passo.
Comece a aprofundar a rede, ou seja, adicione outra camada com um pequeno número de células de memória.
A parte, de lado :
Não há limite para a quantidade de trabalho que pode ser dedicada para atingir os mínimos globais da função de perda e ajustar os melhores hiperparâmetros. Portanto, focar no objetivo final da modelagem deve ser a estratégia, em vez de tentar aumentar a precisão o máximo possível.
A maioria dos problemas pode ser resolvida usando 2-3 camadas da rede.