O treinamento de um modelo de aprendizado profundo (deep learning) pode levar horas ou dias devido ao cálculo da função de perda (loss function).
Neste caso, estamos considerando aprendizado profundo com algoritmos de backpropagation (retropropagação) que utilizam a “descida do gradiente”.
Na construção do modelo um dos pontos chaves e principais é a escolha do algoritmo de otimização para minimizar a função de perda. Ou seja um algoritmo que reduz a função de erro do modelo.
No entanto, é crucial a velocidade de execução deste algoritmo, pois não desejamos ficar esperando dias para avaliarmos os resultados de um treinamento. A construção de um modelo é bastante empírica com alterações de hiperparâmetros e avaliações de seus resultados no treinamento.
Adam é um algoritmo de otimização de taxa de aprendizagem adaptativa que foi projetado especificamente para treinar redes neurais profundas.
O artigo de apresentação do Adam, publicado pela primeira vez em 2014 em uma conferência de grande prestígio para profissionais de aprendizagem profunda — ICLR 2015, mostrava enormes ganhos de desempenho em termos de velocidade de treinamento.
Adam é um método de taxa de aprendizagem adaptativa, o que significa que calcula taxas de aprendizagem individuais para diferentes parâmetros. Ele pode ser visto como uma combinação de RMSprop e Stochastic Gradient Descent com momentum.
No entanto, depois de um tempo, as pessoas começaram a observar que, apesar do tempo de treinamento superior, Adam em algumas áreas não converge para uma solução ideal para algumas tarefas. Em alguns casos os melhores resultados ainda são apenas alcançados aplicando SGD (Stochastic Gradient Descent) com momentum.
Muitas pesquisas foram feitas para abordar os problemas do popular Adam.
Juntang Zhuang e seus colegas em Yale, University of Illinois at Urbana-Champaign e University of Central Florida, propuseram AdaBelief , uma variação mais eficiente do popular otimizador Adam
O AdaBelief ajusta o tamanho do passo dependendo da diferença entre o gradiente atual e a média dos gradientes anteriores.
Como Adam, AdaBelief se move ao longo de uma função passo a passo e calcula uma média móvel exponencial do gradiente, atribuindo pesos exponencialmente menores aos gradientes anteriores. Também como Adam, em cada etapa, um gradiente médio mais íngreme geralmente exige um tamanho de etapa maior.
Ao contrário de Adam, AdaBelief trata a média ponderada como uma previsão do gradiente na próxima etapa. Se a diferença entre a previsão e o gradiente real for pequena, a inclinação da função provavelmente não mudará muito e a AdaBelief dará um passo relativamente maior. Por outro lado, se a diferença for grande, a paisagem está mudando e AdaBelief diminui o tamanho do passo.
Os autores fornecem vídeos no YouTube mostrando que, em experimentos em funções com mínimos conhecidos, AdaBelief foi mais rápido do que Adam e SGD com momentum, como mostrado abaixo:
Compararam o AdaBelief com SGD, Adam e outros otimizadores adaptativos em tarefas como classificação de imagens, geração de imagens e modelagem de linguagem.
O AdaBelief pode ser uma boa alternativa para Adam. Essa otimização mais rápida significa treinamento mais rápido. Isso significa também mais tempo para experimentar modelos com diferentes hiperparâmetros.
- Diederik P. Kingma and Jimmy Lei Ba. Adam : A method for stochastic optimization. 2014. arXiv:1412.6980v9
- The Batch – deeplearning.ai. Issue 91: Propagandists Lie About AI, Language Models Grok Images, Machines Triage Covid Cases, World Models Shrink.
- Juntang Zhuang, Tommy Tang, Yifan Ding, Sekhar Tatikonda, Nicha Dvornek, Xenophon Papademetris, James S. Duncan, “AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients”
- Kaustubh Mhaisekar, AdaBelief Optimizer: fast as Adam, generalizes as well as SGD
- Vitaly Bushaev, Adam — latest trends in deep learning optimization.