Qual é a razão pela qual o Adam Optimizer é considerado robusto ao valor de seus hiper parâmetros?

24

Eu estava lendo sobre o otimizador de Adam para o Deep Learning e me deparei com a seguinte frase no novo livro Deep Learning de Bengio, Goodfellow e Courville:

Adam é geralmente considerado como sendo bastante robusto para a escolha de hiper parâmetros, embora a taxa de aprendizado às vezes precise ser alterada do padrão sugerido.

se isso é verdade, é importante, porque a pesquisa por hiper parâmetros pode ser realmente importante (pelo menos na minha experiência) no desempenho estatístico de um sistema de aprendizado profundo. Assim, minha pergunta é: por que Adam Robust está com parâmetros tão importantes? Especialmente e ?β 2β1β2

Eu li o artigo de Adam e ele não fornece nenhuma explicação para por que funciona com esses parâmetros ou por que é robusto. Eles justificam isso em outro lugar?

Além disso, ao ler o artigo, parece que o número de hiper parâmetros que eles tentaram foi muito pequeno, para apenas 2 e apenas 3. Como esse pode ser um estudo empírico completo se funcionar apenas com hiper parâmetros 2x3 ?β 2β1β2

Charlie Parker
fonte
1
Envie um email para os autores do livro que fizeram a reivindicação. Pergunte a eles em que a reivindicação se baseia.
Mark L. Stone
1
@ MarkL.Stone ele apenas disse que disse porque o resumo dizia. Dificilmente um argumento convincente. Talvez da próxima vez envie um e-mail aos autores do artigo.
Charlie Parker
7
E assim a autopromoção se torna fato.
Mark L. Stone
@ MarkL.Stone em sua defesa, ele pode ter estado muito ocupado para responder adequadamente e eu apenas entrei em contato com um dos três autores. Talvez eu possa entrar em contato com os outros, mas não tenho certeza se eles responderão, dado que (pelo menos) um é professor. Com o hype no DL, aposto que ele recebe 300 e-mails diariamente.
Charlie Parker
7
Agora que o livro foi lançado, os autores do Adam têm confirmação de quão grande é o algoritmo deles. Lembra-me do terremoto de 89 na área da baía. A estação de rádio de notícias fez um relatório não confirmado sobre o número de mortes no colapso da rodovia - disse que estava buscando confirmação do gabinete do governador. Então eles telefonaram para o governador e perguntaram se ele poderia confirmar o número de mortes. Ele disse que foi o que ouviu. A estação de rádio informou que agora eles tinham confirmação do governador. Acontece que o governador quis dizer que ele ouviu na estação de rádio. Então, confirmação circular.
Mark L. Stone

Respostas:

7

No que diz respeito à evidência em relação à reivindicação, acredito que a única evidência que apóia a reivindicação pode ser encontrada na figura 4 em seu artigo . Eles mostram os resultados finais em um intervalo de valores diferentes para , e .β 2 αβ1β2α

Pessoalmente, não acho o argumento deles convincente, principalmente porque eles não apresentam resultados em uma variedade de problemas. Com isso dito, eu notar que eu tenho ADAM usado para uma variedade de problemas, e minha conclusão pessoal é que os valores padrão de e fazer parecem surpreendentemente confiável, apesar de uma boa dose de mexer com é necessária.β 2 αβ1β2 α

Cliff AB
fonte
5

β1β2

Isso contrasta com a descida estocástica de gradiente de baunilha, onde:

  • as taxas de aprendizado não são por parâmetro, mas existe uma taxa global de aprendizado única, aplicada sem rodeios em todos os parâmetros
    • (a propósito, essa é uma das razões pelas quais os dados geralmente são clareados, normalizados, antes de serem enviados para as redes, para tentar manter o peso ideal por parâmetro semelhante)
  • a taxa de aprendizado fornecida é a taxa exata de aprendizado usada e não se adapta ao longo do tempo

Adam não é o único otimizador com taxas de aprendizado adaptáveis. Como o artigo de Adam afirma, ele é altamente relacionado ao Adagrad e ao Rmsprop, que também são extremamente insensíveis aos hiperparâmetros. Especialmente, o Rmsprop funciona muito bem.

Mas Adam é o melhor em geral. Com muito poucas exceções, Adam fará o que você quiser :)

Existem alguns casos bastante patológicos em que Adam não funcionará, particularmente em algumas distribuições não estacionárias. Nesses casos, o Rmsprop é uma excelente opção de espera. Mas, de um modo geral, para a maioria dos casos não patológicos, Adam trabalha extremamente bem.

Hugh Perkins
fonte
1
β1,β2
Sim, se você quer dizer 'há uma oportunidade aqui para pesquisar mais profundamente o porquê?', Bem ... talvez.
Hugh Perkins
2
essa não é uma "questão mais profunda". Este é um dos pontos mais importantes do artigo, não é? O ponto principal é que ele faz as coisas "por si só", mas existem outros hiperparâmetros que parecem ser magicamente robustos. Esse é o problema que tenho. Parece-me relacionado ao núcleo do artigo, a menos que eu tenha entendido mal o ponto de Adam.
Charlie Parker
"Existem alguns casos bastante patológicos em que Adam não funcionará, principalmente em algumas distribuições não estacionárias". <- alguma referência aqui?
mimoralea
0

Olhando para as fórmulas do ADAM, parece um pouco intrigante que, após um número muito grande de iterações em lote (digamos ~ 400k), a magnitude do gradiente original com base em erro não tenha papel real na etapa executada que parece aspirar a o parâmetro de configuração da taxa de aprendizado no sinal relevante.
Talvez o ADAM controle melhor a adaptação do peso do que o simples SGD durante as primeiras iterações / epocs, mas a atualização parece estar reduzida a algo um pouco ingênuo (?) Alguém pode fornecer alguma intuição sobre por que isso é realmente desejado e / ou tende a funcionar bem?

Danny Rosen
fonte
Na verdade, parece que a magnitude do gradiente baseado em erro em si não desempenha um papel real nem mesmo no início. Pergunta: por que essa normalização está funcionando bem e o que isso implica em relação à intuição da GD que orienta a DL e outros modelos comuns de aprendizagem?
Danny Rosen