Quais métodos de otimização funcionam melhor para LSTMs?

20

Eu tenho usado o theano para experimentar LSTMs e queria saber quais métodos de otimização (SGD, Adagrad, Adadelta, RMSprop, Adam, etc) funcionam melhor para LSTMs? Existem trabalhos de pesquisa sobre esse assunto?

Além disso, a resposta depende do tipo de aplicativo para o qual estou usando o LSTM? Nesse caso, estou usando LSTMs para classificação de texto (onde o texto é primeiro convertido em vetores de palavras).

Finalmente, as respostas seriam iguais ou diferentes para RNNs? Quaisquer sugestões para trabalhos de pesquisa ou informações pessoais serão muito apreciadas!

Os LSTMs parecem ser bastante poderosos e estou interessado em aprender mais sobre como usá-los da melhor maneira.

cidra de maçã
fonte

Respostas:

7

Ironicamente, os melhores otimizadores para LSTMs são eles próprios LSTMs: https://arxiv.org/abs/1606.04474 Aprendendo a aprender por descida de gradiente por descida de gradiente.

A idéia básica é usar uma rede neural (especificamente aqui uma rede LSTM) para aprender e ensinar os gradientes da rede original. Isso se chama meta-aprendizado.

Esse método, embora proposto por Juergen Schmidhuber em 2000, apenas recentemente demonstrou superar os outros otimizadores no treinamento da RNN. (veja o documento original para obter um bom gráfico)

Anona112
fonte
Você pode expandir dizendo o que o link diz?
Mdewey # 4/16
alterado para o seu prazer. Como a pergunta original era "Quais métodos de otimização funcionam melhor para LSTMs?" not "Como funcionam os melhores métodos de otimização para LSTMs", deixo assim.
Anona112
4

Geralmente, não há evidências claras de qual método de otimização usar em que cenário. Houve alguma análise no comportamento desses métodos em diferentes cenários, mas nada é conclusivo. Se você quiser mergulhar nessas coisas, eu recomendo: http://papers.nips.cc/paper/5486-identifying-and-attacking-the-saddle-point-problem-in-high-dimensional-non-convex- optimization.pdf

Para pelo menos fornecer uma resposta, eu argumentaria que, muitas vezes, a configuração da sua rotina de otimização é mais importante do que a própria rotina.

Além disso, recomendo que você procure nos documentos para ver quais técnicas estão sendo usadas. Alex Graves, por exemplo, se beneficiou do uso do RMSprop durante a maior parte de suas publicações na geração de seqüências.

Sjoerd
fonte