Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Adam Optimizer

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

Adam (Adaptive Moment Estimation) é um algoritmo de otimização sofisticado e amplamente utilizado algoritmo de otimização concebido para atualizar os parâmetros de uma rede neural durante o processo de treino. Ao combinar as melhores propriedades de duas outras extensões extensões de (SGD) - especificamente o Algoritmo de Gradiente Adaptativo (AdaGrad) e a Propagação do Quadrado Médio (RMSProp) - o Adam calcula taxas de aprendizagem adaptativas para cada parâmetro individual. adaptativas para cada parâmetro individual. Esta Esta capacidade permite-lhe lidar com gradientes esparsos em problemas ruidosos de forma eficiente, tornando-o uma escolha padrão para o treino de arquitecturas complexas de aprendizagem profunda (DL), incluindo os modelosYOLO11 mais recentes.

Como funciona Adam

O mecanismo central por detrás do Adam envolve o cálculo do primeiro e segundo momentos dos gradientes para adaptar a taxa de aprendizagem para cada peso na rede neural. Podemos pensar no "primeiro momento" como o momentum, que mantém a otimização a mover-se na direção certa, semelhante a uma bola pesada pesada rolando colina abaixo. O "segundo momento" acompanha a variância não centrada, dimensionando efetivamente o tamanho do passo com base na magnitude histórica dos gradientes.

Durante a retropropagação, o algoritmo calcula o gradiente da função de perda em relação aos pesos. Em seguida, Adam actualiza as médias móveis exponenciais do gradiente (momentum) e do gradiente ao quadrado (variância). Estas médias móveis são utilizadas para escalar o gradiente atual, assegurando que o modelo dá passos maiores em direcções com gradientes consistentes e passos mais pequenos em direcções com elevada variância. Este processo é descrito em pormenor no artigo de investigação original da Adam original de Kingma e Ba.

Distinguir Adam de outros optimizadores

Para perceber quando utilizar Adam , é necessário compará-lo com outros algoritmos comuns encontrados em estruturas de estruturas de aprendizagem automática (ML).

  • Descida de Gradiente Estocástico (SGD): SGD actualiza os parâmetros utilizando uma taxa de aprendizagem fixa (ou um calendário de decaimento simples). Embora SGD seja computacionalmente computacionalmente eficiente e muitas vezes generaliza bem, pode ter dificuldades com "pontos de sela" no cenário de perda e e converge mais lentamente do que Adam. Muitas tarefas de visão por computador utilizam SGD para final para obter a máxima precisão.
  • RMSProp: Este optimizador aborda principalmente as taxas de aprendizagem decrescentes observadas no AdaGrad. Adam melhora o RMSProp ao adicionando o termo momentum, que ajuda a amortecer as oscilações e acelera a convergência para o mínimo.
  • AdamW: Uma variante conhecida como Adam com decaimento de peso desacoplado AdamW) é frequentemente preferida para o treino de Transformadores modernos e grandes modelos de visão por computador. Ela separa a regularização do decaimento do peso da atualização do gradiente, resultando frequentemente numa melhor generalização do que o Adam padrão.

Aplicações no Mundo Real

Devido à sua robustez e à necessidade mínima de ajuste de hiperparâmetros, Adam é utilizado em vários domínios de grande impacto.

  1. IA nos cuidados de saúde: Quando modelos de treino para análise de imagens médicas -como a deteção de anomalias em exames de ressonância magnética - os dados podem ser esparsos ou desequilibrados. As taxas de aprendizagem adaptativa da Adam ajudam o modelo a convergir mesmo quando caraterísticas específicas aparecem com pouca freqüência nos dados de treinamento, facilitando a implantação mais rápida de ferramentas de diagnóstico.
  2. Processamento de linguagem natural (NLP): Os modelos de linguagem de grande porte (LLMs), como o GPT-4, dependem muito do Adam (ou AdamW) durante o pré-treinamento. O algoritmo lida eficazmente com o enorme número de parâmetros - muitas vezes na ordem dos biliões - e com a natureza esparsa dos encaixes de palavras, permitindo que estes modelos aprendam padrões linguísticos complexos a partir de vastos conjuntos de dados de texto como a Wikipédia.

Utilização em Ultralytics YOLO

Ao utilizar a APIPython Ultralytics , pode selecionar facilmente o optimizador Adam para treinar modelos de deteção de objectos, segmentação ou estimativa de pose. Embora SGD seja o padrão padrão para muitas configurações YOLO , Adam é uma excelente alternativa para conjuntos de dados menores ou quando a convergência rápida é priorizada.

O exemplo a seguir demonstra como treinar um YOLO11 utilizando o optimizador Adam :

from ultralytics import YOLO

# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")

Esta flexibilidade permite aos investigadores e engenheiros experimentarem configurações do optimizador para encontrar a melhor configuração para os seus conjuntos de dados personalizados específicos.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora