딥러닝 모델의 매개변수 최적화, optimizers, 확률적 경사 하강법 (SGD, stochastic gradient descent), 모멘텀 (momentum), 네스테로프 모멘텀 (NAG, nesterov accelerated gradient), AdaGrad (Adaptive Gradient algorithm), Adam (Adaptive moment estimation), RMSProp (Root mean square prop)
1. 딥러닝 모델의 매개변수 최적화 - 딥러닝 모델에는 학습가능한 가중치 (trainable weight) 및 편향 (trainable bias) 가 존재한다. 전이학습 (transfer learning) 등의 이유로 가중치들의 변화 (업데이트)를 고정시키기도 하지만, 일반적으로 딥러닝 모델 훈련이라 함은 손실함수의 출력값이 작아지도록 이러한 가중치들을 조정하는 것이다. - 손실함수의 값이 작아지도록 만들기 위해서는 방향성이 필요한데, 여기에 기울기 (미분)이 사용된다. - 손실함수에서 기울기를 구하면서 가중치를 업데이트하는 다양한 종류의 알고리즘이 있으며, 확률적 경사 하강법과 같은 초기 버전의 최적화 알고리즘에서 단점을 보완하는 과정에서 다양한 알고리즘이 개발된 것이다. 2. 딥러닝 모델 최적화 알고리즘 2-1. 확률적 경사 하강법 (SGD, stochastic gradient descent) - 확률적 경사 하강법에서는 손실 함수에서 기울기를 구하고, 이 기울기가 작아지는 방향으로 가중치를 업데이트해 나가며, 손실 함수의 출력값이 가장 작은 값이 될때까지 기울기를 구하고 가중치를 업데이트하는 과정을 반복한다. - 경사 하강법은 한번 학습할 때 모든 입력된 데이터에 대해 가중치를 조정한다. 이에 반해, 확률적 경사 하강법에서는 입력된 데이터 중에서 랜덤하게 선택된 일부 데이터에 대해 가중치를 조정하게 된다. 이로부터 최적화 속도가 향상되었지만, 최적점에 수렴할 확률은 그만큼 낮아지게 되었다. - 아래의 그림은 경사하강법과 확률적 경사하강법의 최적점으로의 탐색경로를 나타낸다. 출처 : https://twinw.tistory.com/247 - 가중치를 조정하여 손실 함수의 기울기가 작아지는 방향으로 이동하게 되면, 손실함수의 값이 작아지기는 하지만, 탐색 공간 내에서 전역 극소점 (global minimum)이 아니라 지역 극소점 (local minimum)으로 도달하게 되는 경우가 있으며, 이러한 상황의 발생은 예측하기 어려워 딥러...