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 Adam (Adaptive Moment Estimation) é um algoritmo de otimização amplamente adotado, utilizado extensivamente na aprendizagem profunda (DL) e na aprendizagem automática (ML). Foi concebido para atualizar eficientemente os pesos da rede durante o processo de formação, adaptando a taxa de aprendizagem para cada parâmetro individualmente. Introduzido no artigo"Adam: A Method for Stochastic Optimization" por Diederik P. Kingma e Jimmy Ba, o Adam combina as vantagens de duas outras técnicas de otimização populares: AdaGrad (Adaptive Gradient Algorithm) e RMSprop(Root Mean Square Propagation). Esta combinação torna-o particularmente eficaz para treinar grandes redes neurais com numerosos parâmetros e conjuntos de dados complexos.

Como funciona o Adam

O Adam calcula taxas de aprendizagem adaptativas para cada parâmetro com base em estimativas do primeiro e segundo momentos dos gradientes. Essencialmente, mantém o registo de uma média exponencialmente decrescente de gradientes passados (semelhante ao momento) e uma média exponencialmente decrescente de gradientes passados ao quadrado (semelhante ao AdaGrad/RMSprop).

  • Momentum: Ajuda a acelerar a descida do gradiente na direção relevante e amortece as oscilações, conduzindo a uma convergência mais rápida.
  • Taxas de aprendizagem adaptativas: Ajusta a taxa de aprendizagem para cada peso com base na frequência e no tamanho das atualizações históricas. Os parâmetros que recebem atualizações grandes ou freqüentes recebem taxas de aprendizado menores, enquanto aqueles com atualizações pequenas ou infreqüentes recebem taxas maiores. Isto é particularmente útil para problemas com gradientes esparsos ou dados ruidosos.
  • Correção do viés: O Adam inclui um mecanismo para contrariar a tendência inicial para zero nas estimativas de momento, especialmente durante as fases iniciais do treino, quando as médias de decaimento ainda estão a ser inicializadas.

Em comparação com algoritmos mais simples, como o Stochastic Gradient Descent (SGD), que utiliza uma taxa de aprendizagem única e fixa (ou uma que decai de acordo com um cronograma), a adaptação por parâmetro do Adam permite frequentemente um progresso mais rápido na procura de uma boa solução, especialmente com cenários de perda complexos.

Vantagens de Adam

Adam é popular por várias razões:

  • Eficiência computacional: Requer relativamente pouca memória e é computacionalmente eficiente.
  • Bom desempenho por defeito: Os hiperparâmetros predefinidos funcionam muitas vezes bem numa vasta gama de problemas, reduzindo a necessidade de uma afinação extensiva dos hiperparâmetros.
  • Adequação a problemas de grande dimensão: Tem um bom desempenho em problemas com grandes conjuntos de dados e espaços de parâmetros de elevada dimensão, comuns na visão computacional (CV) e no processamento de linguagem natural (PNL).
  • Lida com objectivos não estacionários: É adequado para problemas em que a função objetivo muda ao longo do tempo.
  • Eficaz com gradientes esparsos: As taxas de aprendizagem adaptativas tornam-no adequado para cenários em que os gradientes são esparsos.

Exemplos do mundo real

O Adam é um optimizador de referência para muitos modelos de última geração:

Exemplo 1: Visão por computador

Na visão computacional, o Adam é frequentemente utilizado para treinar Redes Neuronais Convolucionais (CNN) profundas para tarefas como a classificação de imagens, a deteção de objectos e a segmentação de imagens. Por exemplo, treinando um Ultralytics YOLO da Ultralytics para detetar objectos em imagens(como as do conjunto de dados COCO) ou realizar a segmentação de instâncias pode tirar partido do Adam para uma convergência eficiente durante a fase de formação. Também é aplicado na análise de imagens médicas para tarefas como a deteção de tumores.

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. Quando treina modelos para tarefas como tradução automática, sumarização de texto ou análise de sentimentos, o Adam ajuda a navegar eficientemente no complexo cenário de funções de perda associado a esses modelos grandes(baseados em transformadores).

Utilização em Ultralytics YOLO

No ecossistema Ultralytics , o Adam e a sua variante AdamW (Adam com decaimento de peso desacoplado) são optimizadores disponíveis para o treino de modelosYOLO Ultralytics . A utilização das taxas de aprendizagem adaptativas do Adam pode acelerar a convergência durante o treino de modelos de deteção de objectos, segmentação de instâncias ou estimativa de pose, como o YOLO11 ou YOLOv10. Embora o SGD seja frequentemente o otimizador padrão e recomendado para alguns modelos YOLO devido à generalização final potencialmente melhor(evitando o ajuste excessivo), o Adam fornece uma alternativa robusta, particularmente útil em determinados cenários ou durante a experimentação inicial e a avaliação do modelo. Podes configurar facilmente o optimizador e outras definições de treino. Ferramentas como o Ultralytics HUB simplificam o processo, permitindo aos utilizadores treinar modelos utilizando vários optimizadores, incluindo o Adam, quer localmente quer através de treino na nuvem. Estruturas como o PyTorch e TensorFlow fornecem implementações padrão do Adam, que são utilizadas na estrutura do Ultralytics . Para obter mais melhorias de desempenho, considera técnicas como a destilação de conhecimentos ou a exploração de diferentes arquitecturas de modelos.

Lê tudo