Recentemente, li um artigo de Yann Dauphin et al. Identificando e atacando o problema do ponto de sela na otimização não convexa de alta dimensão , onde eles introduzem um interessante algoritmo de descida chamado Saddle-Free Newton , que parece ser exatamente adaptado para otimização de rede neural e não deve sofrer por ficar preso em pontos de sela como métodos de primeira ordem como o SGD de baunilha.
O artigo remonta a 2014, então não é nada novo, no entanto, eu não o vi sendo usado "na natureza". Por que esse método não está sendo usado? A computação hessiana é proibitiva demais para problemas / redes do tamanho real? Existe alguma implementação de código aberto desse algoritmo, possivelmente para ser usada em algumas das principais estruturas de aprendizado profundo?
Atualização de fevereiro de 2019: existe uma implementação disponível agora: https://github.com/dave-fernandes/SaddleFreeOptimizer )
fonte
Respostas:
Melhor otimização não significa necessariamente um modelo melhor. No final, nos preocupamos com o quão generalizado o modelo é, e não necessariamente com a qualidade do desempenho no conjunto de treinamento. As técnicas de otimização mais sofisticadas geralmente têm melhor desempenho e convergem mais rapidamente no conjunto de treinamento, mas nem sempre generalizam, assim como os algoritmos básicos. Por exemplo, este artigo mostra que o SGD pode generalizar melhor que o otimizador do ADAM. Esse também pode ser o caso de alguns algoritmos de otimização de segunda ordem.
[Edit] Removido o primeiro ponto, pois não se aplica aqui. Obrigado a bayerj por apontar isso.
fonte