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.

O Adam (Adaptive Moment Estimation) é um algoritmo de otimização popular e poderoso utilizado na aprendizagem automática (ML) e na aprendizagem profunda (DL). Foi concebido para encontrar de forma eficiente os valores ideais para os parâmetros de um modelo (os seus pesos e enviesamentos), actualizando-os iterativamente com base nos dados de treino. O Adam é altamente considerado pela sua rápida velocidade de convergência e eficácia numa vasta gama de problemas, o que o torna uma escolha padrão comum para muitos profissionais quando treinam modelos personalizados. O seu desenvolvimento foi um passo significativo para tornar mais prático o treino de modelos grandes e complexos.

Como funciona o Adam

A principal inovação da Adam é a sua capacidade de adaptar a taxa de aprendizagem para cada parâmetro individual. Em vez de utilizar uma taxa de aprendizagem única e fixa para todos os pesos da rede, a Adam calcula uma taxa de aprendizagem individual que se ajusta à medida que o treino avança. Ele consegue isso combinando as vantagens de dois outros métodos de otimização: RMSProp e Momentum. O Adam controla dois componentes principais: o primeiro momento (a média dos gradientes, semelhante ao momentum) e o segundo momento (a variância não centrada dos gradientes). Esta combinação permite-lhe fazer actualizações mais informadas, dando passos maiores para parâmetros com gradientes consistentes e passos mais pequenos para aqueles com gradientes ruidosos ou esparsos. O método é descrito em pormenor no artigo de investigação original da Adam, da autoria de Kingma e Ba.

Adam Vs. Outros Optimizadores

É útil comparar o Adam com outros optimizadores comuns para compreender os seus pontos fortes.

  • Adam vs. Descida de Gradiente Estocástico (SGD): Embora o SGD seja um algoritmo de otimização fundamental, utiliza uma taxa de aprendizagem constante que se aplica a todas as actualizações de parâmetros. Isso pode fazer com que ele seja lento para convergir ou fique preso em "vales" subótimos da função de perda. O Adam, com as suas taxas de aprendizagem adaptativas, navega frequentemente no cenário de perdas de forma mais eficiente e converge muito mais rapidamente. No entanto, algumas pesquisas sugerem que os modelos treinados com SGD podem generalizar um pouco melhor e evitar o sobreajuste de forma mais eficaz em determinados cenários. A escolha geralmente requer testes empíricos, conforme explicado nos guias sobre dicas de treinamento de modelos.
  • AdamW: Uma variante popular e eficaz é o AdamW (Adam com Decaimento de Peso Desacoplado). Modifica a forma como o decaimento do peso - uma técnica de regularização - é aplicado, separando-o do passo de atualização do gradiente. Isto conduz frequentemente a um melhor desempenho do modelo e a uma melhor generalização. As implementações estão disponíveis nos principais frameworks, como PyTorch e TensorFlow.

Aplicações no mundo real

A eficiência e a robustez da Adam tornam-na adequada para uma vasta gama de aplicações.

  1. Treinar modelos linguísticos de grande dimensão (LLMs): O Adam e as suas variantes são cruciais para o treino de modelos de grande dimensão no Processamento de Linguagem Natural (PLN). Para modelos como o GPT-4 ou os do Hugging Face, a eficiência do Adam torna viável o processamento de enormes conjuntos de dados de texto de fontes como a Wikipédia e a aprendizagem de padrões linguísticos complexos. A sua capacidade de navegar em cenários de perda complexos é essencial para o sucesso.
  2. Classificação de imagens e deteção de objectos: Na visão computacional (CV), o Adam é amplamente utilizado para treinar redes neurais convolucionais profundas (CNNs) em grandes conjuntos de dados de imagens como ImageNet ou COCO. Ajuda os modelos de classificação de imagens e deteção de objectos a convergir rapidamente, o que acelera o desenvolvimento e os ciclos de afinação de hiperparâmetros.

Utilização em Ultralytics YOLO

No ecossistema Ultralytics, o Adam e a sua variante AdamW são optimizadores disponíveis para o treino dos modelos Ultralytics YOLO. 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 o YOLOv10. Embora o SGD seja frequentemente o optimizador predefinido e recomendado para alguns modelos YOLO devido a uma generalização final potencialmente melhor, o Adam fornece uma alternativa robusta, particularmente útil durante a experimentação inicial. É possível 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 PyTorch e TensorFlow fornecem implementações padrão do Adam, que são utilizadas na estrutura do Ultralytics.

Junte-se à comunidade Ultralytics

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

Aderir agora
Ligação copiada para a área de transferência