Gradient Descent
1차 미분 계수를 활용해 파라미터를 최적화한다.
문제점
- 적절한 Learning rate를 설정하는 것이 어렵다.
- global minimum이 아닌, local minimum로 수렴할 수 있다.
Momentum
이전 gradient에 대한 정보를 활용하여 파라미터 값을 업데이트한다.
문제점
- momentum으로 인해 loss function의 minimum 값에 수렴하지 못하고, 발산하는 문제가 발생한다.
Nesterov Accelerated Gradient
- momentum과 비슷한 방식이지만, gradient 대신 Lookahead gradient를 활용한다.
- Lookahead gradient는 현재 시점의 gradient가 아닌, 다음 예상 위치의 gradient이다.
- Lookahead gradient를 사용해서 minimum에 빠르게 수렴할 수 있다.
Adagrad
G_t: t번째 time step까지 gradient의 제곱의 누적합
for numerical stability: 분모가 0이 되는 것을 방지하기 위한 아주 작은 값
파라미터마다 서로 다른 Learning rate를 적용하는 방식으로, 지금까지 값이 많이 변화한 파라미터는 학습률을 작게 적용하고, 값이 적게 변화한 파라미터는 학습률을 크게 적용한다.
문제점
- 학습이 진행될수록, Learning rate이 0으로 수렴하여, 학습의 진행 속도가 현저히 느려진다.
Adadelta
G_t를 단순히 gradient의 제곱의 누적합으로 계산하던 Adagrad와 달리, 지수 이동 평균(EMA)로 계산함으로써, G_t가 무한히 커지는 것을 제한했다.
문제점
- Adadelta에는 Learning rate가 존재하지 않기 때문에 학습에 관여하기 어렵다.
RMSprop
Adadelta와 G_t를 gradient의 제곱의 누적합이 아닌, 지수 이동 평균으로 계산한다는 공통점이 있지만, 하이퍼 파라미터인 step size를 두어 학습률을 조절하면서 효율적인 학습을 진행할 수 있다.
Adam
- 가장 일반적으로 사용하는 최적화 기법이다.
- adaptive Learning rate과 momentum을 효율적으로 결합한 방식이다.
'AI > Deep Learning' 카테고리의 다른 글
[Deep Learning] LSTM을 직접 구현해보자! (0) | 2023.03.29 |
---|---|
[Deep Learning] RNN의 구조 (2) | 2023.03.24 |
[Deep Learning] modern CNN의 특징 (0) | 2023.03.24 |
[Deep Learning] Regularization (0) | 2023.03.21 |
[Deep Learning] 모델 최적화를 위한 중요한 개념들 (0) | 2023.03.21 |