Optimizer
Gradient Descent (경사 하강법)
ㄴ 함수의 기울기(즉, gradient)를 이용해 x의 값을 어디로 옮겼을 때 함수가 최소값을 찾는지 알아보는 방법
= > 문제점
ㄴ 극소값(local minimum)에 도달할 수 있다는 것이 증명되었으나 전체 최소값(global minimum) 으로 갈 수 있다는 보장은 없음
ㄴ 훈련이 느림
** 참고
https://angeloyeo.github.io/2020/08/16/gradient_descent.html
Momentum
ㄴ Gradient Descent 의 문제를 해결하기 위해 보편적으로 사용됨
ㄴ 관성(momentum)을 적용하여 변수가 가던 방향으로 계속 갈 수 있도록 속도(velocity)를 추가한 것
ㄴ global minima에 이르기 전에 기울기가 0이 되는 local minima에 빠지는 것을 방지함
ㄴ gradient의 방향에 초점을 둠
AdaGrad
ㄴ Momentum은 gradient의 방향에 초점을 두었다면, AdaGrad는 step size에 초점을 둠
ㄴ 이미 학습이 많이 된 변수는 학습을 느리게, 학습이 아직 덜 된 드물게 등장한 변수라면 학습을 더 빨리 훈련함
= > 문제점
ㄴ 학습이 오래 진행이 될 경우 step size가 너무 작아져서 거의 움직이지 않는 상태가 됨
RMSProp
ㄴ Root Mean Square Propatation
ㄴ Adagrad의 계산식에 지수 가중 이동 평균(Exponentially weighted average)를 사용하여 최신 기울기들이 더 크게 반영되도록 함
Adam
ㄴ Adaptive Moment Estimation
ㄴ RMSProp과 Momentum 방식을 융합
ㄴ Momentum과 유사하게 지금까지 계산한 기울기의 지수 평균을 저장하며, RMSProp과 유사하게 기울기의 제곱값의 지수 평균을 저장
ㄴ RMSprop보다 더 넓은 범위의 학습률을 사용할 수 있으며, gradient의 scale이 변할 때에도 학습률을 잘 조절할 수 있음
ㄴ 매우 효과적인 최적화 알고리즘 중 하나임
'네이버클라우드 > AI' 카테고리의 다른 글
AI 3일차 (2023-05-10) 인공지능 기초 - Save model, Save weight, Model Check Point (0) | 2023.05.10 |
---|---|
AI 3일차 (2023-05-10) 인공지능 기초 - Validation split, 과적합(Overfitting)과 Early Stopping (0) | 2023.05.10 |
AI 2일차 (2023-05-09) 인공지능 기초 - 데이터 셋 (0) | 2023.05.09 |
AI 2일차 (2023-05-09) 인공지능 기초 - 회귀분석과 분류분석 (0) | 2023.05.09 |
AI 2일차 (2023-05-09) 인공지능 기초 - 인공지능 기초개념과 훈련 테스트 데이터 셋 (0) | 2023.05.09 |