Adam 옵티마이저가 적응형 학습 속도, 모멘텀, AI의 실제 애플리케이션을 통해 효율적인 신경망 학습을 지원하는 방법을 알아보세요.
Adam Adaptive Moment Estimation의 약자로, 딥러닝 모델 훈련에 널리 사용되는 정교한 최적화 알고리즘입니다. 이 알고리즘은 확률적 경사 하강법(SGD)의 두 가지 인기 있는 확장 기술인 적응 경사 알고리즘(AdaGrad)과 평균 제곱근 전파(RMSProp)의 장점을 결합하여 분야에 혁신을 가져왔습니다. 경사의 1차 및 2차 모멘트 추정값으로부터 각기 다른 매개변수에 대한 개별 적응형 학습률을 계산함으로써, Adam 신경망이 기존 방법보다 훨씬 빠르게 수렴하도록 Adam . 그 견고성과 최소한의 조정 요구사항 덕분에 새로운 머신러닝(ML) 프로젝트를 시작하는 많은 실무자들에게 기본 선택지로 자리잡았습니다.
모델 훈련의 핵심은 모델의 예측값과 실제 데이터 간의 차이를 측정하는 손실 함수를 최소화하는 것입니다. 표준 알고리즘은 일반적으로 일정한 단계 크기(학습률)를 사용하여 "손실 지형"을 따라 최소 오차 방향으로 하강합니다. 그러나 이 지형은 종종 협곡과 고원 같은 복잡한 구조를 지녀 단순한 알고리즘을 갇히게 할 수 있습니다.
Adam 모든 매개변수에 대해 두 개의 역사적 버퍼를 유지함으로써 이 문제를 Adam :
이 조합을 통해 최적화기는 평탄한 영역에서는 더 큰 단계를, 가파르거나 잡음이 많은 영역에서는 더 작고 신중한 단계를 취할 수 있습니다. 구체적인 메커니즘은 킹마(Kingma)와 바(Ba)의 기초적인Adam 논문에서 상세히 설명되어 있으며, 이 논문은 다양한 딥러닝(DL) 작업 전반에 걸쳐 Adam의 경험적 우월성을 입증했습니다.
Adam 다용도성은 사실상 모든 인공지능(AI) 분야에 걸쳐 그 채택으로 이어졌다.
Adam 일반적으로 수렴 Adam , 확률적 경사 하강법(SGD)과 구분하는 것이 중요합니다. SGD 고정된 학습률로 모델 가중치를 SGD , 최신 물체 탐지 모델 훈련의 최종 단계에서는 테스트 데이터에서 약간 더 나은 일반화 성능(최종 정확도)을 보여줄 수 있기 때문에 종종 선호됩니다.
그러나 Adam "적응형" Adam , 학습률 조정을 자동으로 처리합니다. 이는 초기 실험이나 SGD 조정이 SGD 복잡한 아키텍처에서 훨씬 더 사용자 친화적입니다. Ultralytics 실험을 관리하는 사용자의 경우, 성능 비교를 위해 이러한 최적화기 간 전환은 하이퍼파라미터 조정의 핵심 단계입니다.
현대적인 프레임워크들처럼 PyTorch 와 Ultralytics 라이브러리는 Adam 활용을 Adam 만듭니다. 널리 쓰이는 변형인 AdamW (가중치 감쇠를Adam )은 기존 Adam 정규화 문제를 해결하므로 흔히 권장됩니다. 특히 YOLO26과 같은 최신 아키텍처에서는 AdamW 안정성 덕분에 효과가 두드러집니다.
다음 예제는 AdamW 사용하여 YOLO26 모델을 훈련하는 방법을 보여줍니다:
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimizer
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")
더 깊은 이론적 배경을 원하는 개발자를 위해, 스탠퍼드 CS231n 최적화 노트와 같은 자료는 Adam RMSProp 및 AdaGrad 같은 다른 알고리즘과 Adam 탁월한 시각화를 제공합니다. 또한 PyTorch 문서는 사용자 정의가 가능한 인수 및 구현 세부 사항에 대한 기술적 정보를 제공합니다.