모델 학습에 사용되는 옵티마이저에 대해 알아보자
기울기를 기반으로 최적의 값을 발견하는 것이 애네가 하는 일이다.
Gradient Descent (GD)
- 데이터 전체를 사용해 기울기를 계산하고 최적화 방향을 결정한다
- 모든 데이터 샘플에 대해 계산하므로 연산 비용이 크고 느리다
- 수렴 속도가 느릴 수 있지만 최적화 경로가 안정적이다
Stochastic Gradient Descent (SGD)
- 한 번의 업데이트에 전체 데이터를 사용하는 대신 무작위 샘플(배치)을 사용.
- 연산량이 감소해 속도가 향상되지만, 경로가 흔들릴 수 있음.
여기서부터 스탭의 사이즈와 스탭방향에 따라 옵티마이저가 구분이 됩니다.
스텝 방향으로 최적화
Momentum
- 이전 스텝의 관성을 추가로 고려하여 더 빠르게 최적점을 찾는다
- 관성 계수를 추가하여 속도와 같이 계산이 됩니다.
Nesterov Accelerated Gradient (NAG)
- Momentum의 단점을 보완하기 위해 관성 방향을 미리 예측한 지점에서 기울기를 계산합니다.
스텝 사이즈으로 최적화
Adagrad
- 이전 기울기의 제곱합을 고려해 학습률을 적응적으로 조정함
- 잘 학습되지 않은 방향에서 큰 스텝을, 자주 학습된 방향에서는 작은 스텝을 선택한다
- 단점: 학습률이 지나치게 감소할 수 있다.
RMSProp
- Adagrad의 단점을 보완하기 위해 기울기의 제곱합에 지수 이동 평균을 적용했다
- 학습률이 지나치게 감소하는 문제를 해결한다
Adam
두가지 방향으로 최적화하는 기술을 하나로 통일을 하여
지금에서 보편적으로 사용되고 있는 Adam이 만들어졌습니다.
아담은 서로 다른 신경망에서도 잘 작동한다는 것이 증명이 되어 일반적으로 많이 사용되고 있고
기울기 지수 평균, 기울기, 기울기 제곱값이 활용되어 step 변화량을 조절합니다.
또한 초기 값이 0으로 편향되어 잘못된 학습을 진행하는 문제 (RMSProp)의 문제를 해결하게 되어
더 좋은 성과를 얻어 낼 수 있습니다.
최적화 알고리즘 간 비교표
GD | 전체 데이터 사용 | 안정적 최적화 | 연산량 많음 |
SGD | 일부 데이터 사용 | 빠른 계산 | 최적화 경로 불안정 |
Momentum | 관성 추가 | 빠른 수렴 | 관성 방향 오차 발생 가능 |
NAG | 관성 방향 예측 | 정확도 향상 | 계산 복잡성 증가 |
Adagrad | 적응적 학습률 | 희소 데이터 학습에 유리 | 학습률 과도 감소 가능 |
RMSProp | 지수 이동 평균 적용 | 안정적 학습률 유지 | 적절한 파라미터 설정 필요 |
Adam | Momentum + RMSProp 결합 | 빠르고 효율적, 보편적으로 우수한 성능 | 하이퍼파라미터 민감성 있음 |
'AI' 카테고리의 다른 글
BERT 언어 모델 (1) | 2025.02.05 |
---|---|
jupyter notebook 커널 죽는 문제 (0) | 2025.01.27 |
Q-learning (1) | 2024.12.04 |
[GPT] 모델의 구조 (1) | 2024.11.30 |
[프로젝트] 실시간 얼굴 감정 서비스 (0) | 2024.05.21 |