용어집

아담 옵티마이저

아담 옵티마이저가 적응형 학습 속도, 모멘텀, AI의 실제 애플리케이션을 통해 효율적인 신경망 학습을 지원하는 방법을 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

머신 러닝 분야에서 아담 옵티마이저는 학습 중에 신경망의 weights and biases 을 업데이트하는 데 널리 사용되는 최적화 알고리즘입니다. 이 최적화 알고리즘은 다른 두 가지 최적화 알고리즘의 장점을 결합한 것입니다: 적응형 그라디언트 알고리즘(AdaGrad)과 루트 평균 제곱 전파(RMSProp)입니다. Adam은 컴퓨터 비전(CV)자연어 처리(NLP)를 비롯한 다양한 애플리케이션에서 효율성과 효과로 인해 널리 사용되고 있습니다. 특히 대규모 데이터 세트와 고차원 매개변수 공간의 문제에 적합합니다.

아담 옵티마이저의 주요 기능

아담 옵티마이저에는 인기 요인으로 꼽히는 몇 가지 주요 기능이 있습니다:

  • 적응형 학습률: Adam은 다양한 매개변수에 대해 개별 적응형 학습 속도를 계산합니다. 즉, 모델의 각 파라미터는 학습을 통해 조정되는 자체 학습률을 가지므로 보다 세분화된 업데이트가 가능합니다.
  • 모멘텀: Adam은 최적화 프로세스를 가속화하고 곡률이 높거나 노이즈가 있는 영역을 탐색하는 데 도움이 되는 모멘텀 개념을 통합했습니다. 모멘텀을 사용하면 기울기가 약간 변하더라도 최적화 도구가 일관된 방향으로 계속 움직일 수 있습니다.
  • 효율성: Adam은 계산 효율이 높고 메모리 요구 사항이 상대적으로 낮아 대규모 데이터 세트에 대한 대규모 모델 학습에 적합합니다.

아담의 작동 방식

아담 옵티마이저는 그라데이션의 첫 번째 및 두 번째 모멘트를 기반으로 모델 파라미터를 반복적으로 업데이트합니다. 첫 번째 모멘트는 그라디언트의 평균이고 두 번째 모멘트는 그라디언트의 중심이 없는 분산입니다. 이 모멘트를 사용하여 Adam은 학습 중에 각 파라미터에 대한 학습 속도를 조정합니다.

다른 최적화 알고리즘과의 비교

Adam은 강력한 최적화 알고리즘이지만, 다른 인기 있는 최적화 도구와 어떻게 다른지 이해하는 것이 중요합니다:

  • 확률적 경사 하강(SGD): 모든 매개변수에 대해 단일 학습률을 사용하는 SGD와 달리, Adam은 각 매개변수에 대해 개별적으로 학습률을 조정합니다. 이러한 적응성은 종종 더 빠른 수렴과 더 나은 성능으로 이어집니다. 또한, 기존 SGD에는 최적화 프로세스를 가속화하는 데 도움이 되는 모멘텀이 포함되어 있습니다.
  • AdaGrad: AdaGrad도 학습 속도를 조정하지만 학습 속도를 너무 공격적으로 낮추는 경향이 있어 학습 과정이 조기에 중단될 수 있습니다. Adam은 모멘텀을 통합하고 과거 기울기의 기하급수적으로 감소하는 평균을 사용하여 보다 균형 잡힌 접근 방식을 제공함으로써 이 문제를 해결합니다.
  • RMSProp: RMSProp은 제곱 기울기의 이동 평균을 사용하여 AdaGrad의 학습률 감소 문제를 해결합니다. Adam은 복잡한 최적화 환경을 탐색하는 능력을 더욱 향상시키는 모멘텀을 추가하여 RMSProp을 기반으로 구축되었습니다.

실제 애플리케이션

아담 옵티마이저는 다음과 같은 다양한 실제 애플리케이션에서 사용됩니다:

예 1: 이미지 인식

컨볼루션 신경망(CNN)으로 수행되는 이미지 인식 작업에서 Adam은 종종 네트워크를 훈련하는 데 사용됩니다. 예를 들어, ImageNet 데이터 세트에서 이미지를 분류하기 위해 모델을 훈련할 때 Adam은 네트워크의 수백만 개의 파라미터를 효율적으로 최적화하는 데 도움을 줍니다. 이를 통해 이미지 내 물체를 식별하는 속도가 빨라지고 정확도가 향상됩니다.

예 2: 자연어 처리

GPT-4와 같은 대규모 언어 모델(LLM) 훈련과 같은 NLP 작업에서는 일반적으로 Adam이 사용됩니다. 예를 들어, 사람과 유사한 텍스트를 생성하거나 감정 분석을 수행하도록 모델을 훈련할 때 Adam은 예측된 텍스트 출력과 실제 텍스트 출력 간의 차이를 최소화하도록 모델의 파라미터를 조정하는 데 도움을 줍니다. 그 결과 보다 정확하고 일관된 언어 모델이 생성됩니다.

다음에서 사용 Ultralytics YOLO

Ultralytics YOLO 의 맥락에서 아담 옵티마이저는 강력하고 효율적인 객체 감지 모델을 훈련하는 데 중요한 역할을 합니다. Adam의 적응형 학습 속도와 모멘텀을 활용하여 Ultralytics YOLO 모델은 훈련 중에 더 빠른 수렴과 더 높은 정확도를 달성할 수 있습니다. 따라서 Adam은 실시간 객체 감지 작업에 사용되는 복잡한 신경망을 최적화하는 데 이상적인 선택입니다. Ultralytics HUB를 사용한 모델 훈련 및 최적화에 대한 자세한 내용은 Ultralytics HUB 설명서에서 확인할 수 있습니다. 또한 사용 가이드( Ultralytics YOLO )에서 올바른 설정과 하이퍼파라미터로 모델의 성능을 최적화하는 방법을 살펴볼 수 있습니다.

추가 읽기

아담 옵티마이저의 기술적 세부 사항에 대해 더 자세히 알아보고 싶은 분들은 Kingma와 Ba의 연구 논문'아담: 확률적 최적화를 위한 방법'이 훌륭한 출발점이 될 수 있습니다. 또한 TensorFlowPyTorch 문서에서는 다양한 딥 러닝 프레임워크에서 Adam을 사용하는 방법에 대한 포괄적인 설명과 예제를 제공합니다.

모두 보기