딥러닝에서 옵티마이저 (Optimizer)는 모델의 학습 과정에서 손실 함수(Loss Function) 값을 최소화하기 위해
가중치(weights)를 업데이트 하는 알고리즘을 의미합니다.
효과적인 옵티마이저의 선택은 모델의 수렴 속도와 최종 성능에 큰 영향을 미칩니다.
주요 옵티마이저 종류
SGD (Stocastic Gradient Descent)
전체 데이터셋이 아닌 무작위로 선택된 일부 데이터(미니배치)를 사용하여 가중치를 업데이트 합니다.
계산 효율성이 높지만 학습 과정에서 진동이 발생할 수 있습니다.
Momentum
이전 기울기 정보에 관성을 부여하여 현재 기울기에 더해줌으로써
수렴속도를 높이고, Local Minimum에 빠지는 것을 방지합니다.
NAG (Nesterov Accelerated Gradient)
Momentum의 개선된 버전으로, 현재 위치가 아닌 예측된 미래 위치에서의 기울기를 계산하여
더 빠르고 안정적인 수렴을 유도합니다.
Adagrad
각 파라미터마다 적응적인 학습률을 적용하여 Sparse Feature 에 대한 학습을 촉진합니다.
그러나 학습률이 점차 감소하여 학습률이 멈출수 있는 단점이 있습니다.
RMSprop
Adagrad의 단점을 보완하여, 기울기의 제곱에 대한 지수 이동 평균을 사용하여 학습률을 조절합니다.
이는 학습률이 너무 작아지는것을 방지합니다.
Adam (Adaptive Moment Estimation)
Momentum과 RMSprop의 장점을 결합한 알고리즘으로,
1차 및 2차 모멘트를 모두 활용하여 학습률을 조절합니다. 대부분의 딥러닝 모델에서 널리 사용됩니다.
AdaBelief
최근에는 Adam의 변형 알고리즘인 AdaBelief가 주목받고 있습니다.
AdaBelief는 Adam의 2차 모멘트 추정 방식을 수정하여,
기울기 변화의 신뢰도를 평가하고 이에 따라 학습률을 조절합니다.
이를 통해 빠른 수렴과 일반화 성능 향상을 동시에 달성할 수 있습니다.
'Data Science > Algorithm' 카테고리의 다른 글
DIN (Deep Interest Network) (0) | 2024.11.27 |
---|---|
BERT - Bidirectional Encoder Representation from Transformers (0) | 2024.11.24 |
RoBERTa - A Robustly Optimized BERT Pretraining Approach (1) | 2024.11.23 |
LoRA (Low-Rank Adaptation) (0) | 2024.11.22 |
Sentence Transformer (0) | 2024.11.21 |
댓글