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.
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.
Para perceber quando utilizar Adam , é necessário compará-lo com outros algoritmos comuns encontrados em estruturas de estruturas de aprendizagem automática (ML).
Devido à sua robustez e à necessidade mínima de ajuste de hiperparâmetros, Adam é utilizado em vários domínios de grande impacto.
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.