Glossário

Adam Optimizer

Aprende como o optimizador Adam potencia o treino eficiente de redes neuronais com taxas de aprendizagem adaptativas, momentum e aplicações do mundo real em IA.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O optimizador Adam é um algoritmo de otimização popular e eficaz utilizado extensivamente na aprendizagem profunda (DL) e na aprendizagem automática (ML). O Adam combina as vantagens de duas outras extensões de descida de gradiente estocástico (SGD): AdaGrad e RMSProp: A sua principal força reside na sua capacidade de calcular taxas de aprendizagem adaptativas para cada parâmetro, tornando-o adequado para problemas com grandes conjuntos de dados, espaços de parâmetros de alta dimensão ou gradientes ruidosos, comuns em campos como a visão computacional (CV) e o processamento de linguagem natural (PNL).

Como funciona o Adam

Adam atualiza os parâmetros do modelo iterativamente durante o treinamento usando informações de gradientes passados. Mantém duas médias móveis para cada parâmetro: uma estimativa do primeiro momento (a média dos gradientes) e uma estimativa do segundo momento (a variância não centrada dos gradientes). Estes momentos ajudam a adaptar a taxa de aprendizagem individualmente para cada parâmetro. Os parâmetros que recebem actualizações de gradiente grandes ou frequentes obtêm taxas de aprendizagem menores, enquanto os que recebem actualizações pequenas ou pouco frequentes obtêm taxas maiores. Esta natureza adaptativa conduz frequentemente a uma convergência mais rápida em comparação com o SGD padrão. O algoritmo também incorpora o momentum usando a média móvel do gradiente, o que ajuda a acelerar o progresso ao longo das direcções relevantes e amortece as oscilações. Para mais pormenores, consulta o artigo original da Adam.

Comparação com outros algoritmos de otimização

Embora o Adam seja uma opção padrão poderosa, é útil compreender a sua relação com outros optimizadores:

  • Descida de Gradiente Estocástico (SGD): O optimizador mais básico. Ao contrário do Adam, o SGD padrão usa uma taxa de aprendizado única e fixa para todos os parâmetros, embora existam variantes como o SGD com momentum. O Adam geralmente converge mais rápido na prática, especialmente no início do treinamento, mas algumas pesquisas sugerem que o SGD pode, às vezes, alcançar uma melhor generalização em determinadas tarefas.
  • AdaGrad: Adapta as taxas de aprendizagem com base na soma dos gradientes passados ao quadrado, mas a taxa de aprendizagem pode tornar-se infinitesimalmente pequena ao longo do tempo, potencialmente interrompendo a aprendizagem.
  • RMSProp: Semelhante ao AdaGrad, mas usa uma média exponencialmente decrescente de gradientes quadrados, evitando que a taxa de aprendizagem diminua muito agressivamente. Adam baseia-se nas ideias do RMSProp.

Aplicações no mundo real

O optimizador Adam é utilizado no treino de uma vasta gama de modelos de IA:

Exemplo 1: Reconhecimento e deteção de imagens

Na visão computacional, o Adam é frequentemente utilizado para treinar Redes Neuronais Convolucionais (CNN). Por exemplo, o treino de modelos para a classificação de imagens em grandes conjuntos de dados como o ImageNet ou o desenvolvimento de sistemas complexos de deteção de objectos beneficia da eficiência do Adam no tratamento de milhões de parâmetros e na obtenção de uma elevada precisão.

Exemplo 2: Processamento de linguagem natural

O Adam é um optimizador padrão para o treino de grandes modelos de linguagem (LLMs), como as variantes BERT e GPT. Ao treinar modelos para tarefas como tradução automática, resumo de texto ou análise de sentimentos, o Adam ajuda a navegar eficientemente no complexo cenário de perdas associado a esses modelos.

Utilização em Ultralytics YOLO

No ecossistema Ultralytics , o Adam e a sua variante AdamW são optimizadores disponíveis para o treino de modelos Ultralytics YOLO . Aproveitar as taxas de aprendizagem adaptativas do Adam pode acelerar a convergência durante o treinamento de modelos de deteção de objetos, segmentação de instâncias ou estimativa de pose. Embora o SGD seja frequentemente o otimizador padrão e recomendado para modelos YOLO devido à generalização final potencialmente melhor, o Adam fornece uma alternativa robusta, particularmente útil em determinados cenários ou durante a experimentação inicial. Podes configurar facilmente o optimizador e outras definições de treino. Ferramentas como o Ultralytics HUB simplificam o processo, permitindo que os utilizadores treinem modelos utilizando vários optimizadores, incluindo o Adam, localmente ou através de treino na nuvem. Para otimizar o desempenho, considera técnicas como o ajuste de hiperparâmetros. Estruturas como PyTorch e TensorFlow fornecem implementações do Adam.

Lê tudo