Adam 옵티마이저가 적응형 학습 속도, 모멘텀, AI의 실제 애플리케이션을 통해 효율적인 신경망 학습을 지원하는 방법을 알아보세요.
Adam (적응형 모멘트 추정)은 정교하고 널리 사용되는 최적화 알고리즘으로, 훈련 과정에서 신경망의 매개변수를 신경망의 매개변수를 업데이트하도록 설계된 정교하고 널리 사용되는 최적화 알고리즘입니다. 다른 두 가지 유명한 확장 기능의 장점을 결합하여 확장된 확률적 경사 하강(SGD), 특히 적응형 경사 알고리즘(AdaGrad)과 루트 평균 제곱 전파(RMSProp)Adam 결합하여 각 개별 파라미터에 대한 적응형 학습률을 계산합니다. 이 기능을 사용하면 노이즈가 많은 문제에서 희소 경사도를 효율적으로 처리할 수 있으므로 훈련 시 기본으로 선택됩니다. 복잡한 딥러닝(DL) 아키텍처, 복잡한 딥러닝 아키텍처를 훈련하는 데 기본으로 사용됩니다.
Adam 핵심 메커니즘은 그라디언트의 첫 번째와 두 번째 순간을 계산하여 가중치별 학습률을 조정하는 것입니다. 신경망의 각 가중치에 대한 신경망의 각 가중치를 조정하는 것입니다. "첫 번째 모멘트'는 무거운 공이 언덕 아래로 굴러가는 것처럼 언덕을 굴러 내려가는 것과 비슷합니다. "두 번째 모멘트"는 중심이 잡히지 않은 분산을 추적하여 스텝 크기를 효과적으로 확장합니다. 를 효과적으로 조정합니다.
역전파 중에 알고리즘은 다음을 계산합니다. 에 대한 손실 함수의 기울기를 계산합니다. 가중치. 그런 다음 Adam 기울기(모멘텀)와 제곱 기울기(분산)의 지수 이동 평균을 업데이트합니다. 이러한 이동 평균은 현재 기울기의 스케일을 조정하는 데 사용되어 모델이 일관된 기울기로 큰 방향으로 나아가고 일관된 그라데이션으로, 분산이 큰 방향에서는 더 작은 단계로 진행되도록 합니다. 이 프로세스는 원본에 자세히 설명되어 있습니다. Adam 연구 논문에 자세히 설명되어 있습니다.
Adam 언제 사용해야 하는지 이해하려면 다른 일반적인 알고리즘과 비교해야 합니다. 머신 러닝(ML) 프레임워크에서 발견되는 다른 일반적인 알고리즘과 비교해야 합니다.
견고하고 하이퍼파라미터 튜닝에 대한 최소한의 요구 사항으로 인해 Adam 다양한 영향력 있는 영역에서 다양한 분야에서 활용되고 있습니다.
Ultralytics Python API를 사용할 때, 쉽게 선택할 수 있습니다. 객체 감지, 세분화 또는 포즈 추정 모델을 훈련하기 위한 Adam 옵티마이저를 쉽게 선택할 수 있습니다. SGD 기본값이지만 가 기본값이지만, Adam 소규모 데이터 세트 또는 빠른 수렴이 우선시되는 훌륭한 대안입니다.
다음 예는 YOLO11 모델을 훈련하는 방법을 보여줍니다:
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")
이러한 유연성 덕분에 연구자와 엔지니어는 다양한 실험을 통해 최적화 도구 구성을 실험하여 특정 사용자 지정 데이터 세트에 가장 적합한 최적의 설정을 찾을 수 있습니다.

