728x90
📍목차
1. 옵티마이저란?
2. 옵티마이저의 종류
1. 옵티마이저(Optimizer)란?
손실함수를 사용해서 구한 오차를 이용하여 미분을 하여 기울기를 구하고 이를 통해 어떻게 파라미터를 업데이트 할지 결정하는 방법이다.
방법에는 아래 사진과 같이 여러 종류가 있다.
2. 옵티마이저의 종류
1. SGD ( Stochastic Gradient Descent; 확률적 경사하강법 )
- 미니배치 단위로 가중치와 편향이 업데이트
- 배치로 학습하는 이유는 full-batch로 epoch마다 weight를 수정하지 않고 빠르게 mini-batch로 weight를 수정하면서 학습하기 위해
2. Momentum
- 관성의 방향을 고려해 진동과 폭을 줄이는 효과
- SGD의 느린 학습 속도와 협곡과 안장점을 만났을 때 학습이 안되는 문제, 거친 표면에서 진동하는 문제를 해결한 알고리즘
- 이동하는 방향으로 나아가는 '관성'을 주는 것
- 오버 슈팅이 되는 단점이 있음
3. NAG(Nesterov Accelerated Gradient; 네스테로프)
- 진행하던 속도에 관성을 준다는 점은 SGD 모멘텀과 같지만 오버 슈팅을 막기 위해 현재 속도로 한 걸음 미리 가보고 오버 슈팅이 된 만큼 다시 내리막길로 내려감
- 현재의 속도 벡터와 현재 속도로 한 걸음 미리 가 본 위치의 그레디언트 벡터를 더해서 다음 위치를 정한다
4. AdaGrad(Adaptive Gradient)
- 손실 함수의 곡면의 변화에 따라 적응적으로 학습률을 정하는 알고리즘
- 손실 함수의 경사가 가파를 때 큰 폭으로 이동하면 최적화 경로를 벗어나거나 최소 지점을 지나칠 수 있으므로 작은 폭으로 이동하는 것이 좋고, 경사가 완만하면 큰 폭으로 빠르게 이동하는 것이 좋은 것을 적용
- 치명적인 문제로는 만일 경사가 매우 가파른 위치에서 학습을 시작한다면, 초반부터 적응적 학습률이 급격히 감소하기 시작해서 조기에 학습이 중단될 수 있음
5. RMSProp
- 최근 경로의 곡면 변화량에 다라 학습률을 적응적으로 결정하는 알고리즘
- AdaGrad가 조기에 학습이 중단되는 문제를 해결하기 위해 곡면 변화량을 개선된 방식으로 측정함
- 곡면 변화량을 전체 경로가 아닌 최근 경로의 변화량을 측정하면 곡면 변화량이 누적되어 계속 증가하는 현상을 없앨 수 있음
6.Adam
- SGD 모멘텀과 RMSProp 이 결합된 형태
- 진행하던 속도에 관성을 주고 최근 경로의 곡면의 변화량에 따라 적응적 학습률을 갖는 알고리즘
- 학습 초기 경로가 편항되는 RMSProp의 문제를 제거함
옵티마이저 종류 별 움직임
출처 및 참고
- https://wikidocs.net/152765
- https://daje0601.tistory.com/195
- https://heeya-stupidbutstudying.tistory.com/entry/ML-%EC%8B%A0%EA%B2%BD%EB%A7%9D%EC%97%90%EC%84%9C%EC%9D%98-Optimizer-%EC%97%AD%ED%95%A0%EA%B3%BC-%EC%A2%85%EB%A5%98
'DL\ML > 기본개념' 카테고리의 다른 글
[DL/기본개념] 역전파(Backpropagation) 알고리즘과 경사 하강법(Gradient descent) (2) | 2024.02.18 |
---|---|
[DL/기본개념] 손실함수(Loss Function) 개념 및 종류 (0) | 2024.02.06 |
[DL/기본개념] 활성화 함수(Activation Function) 개념 및 종류 (0) | 2024.02.05 |
[DL/기본개념] 퍼셉트론(Perceptron) 개념 (0) | 2024.02.05 |