라벨이 deep learning인 게시물 표시

딥러닝 모델의 매개변수 최적화, 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)으로 도달하게 되는 경우가 있으며, 이러한 상황의 발생은 예측하기 어려워 딥러...

과대적합방지 방법

1. 과대적합 (over-fitting) 개념 - 모델이 train data set의 패턴에 지나치게 특화되어, 새로운 데이터에 대한 예측에서는 오차가 커지는 현상이다. - 모델의 매개변수가 많은 경우, train data set의 양이 부족한 경우 등의 상황에서 발생한다. 2. 과대적합 발생 원인 - Train data set은 실제 데이터의 부분집합이다. 따라서, tran data set은 실제 데이터의 모든 패턴을 가지고 있지 않을 수 있다. 예를 들어, train data set이 실제 데이터에서 편향된 부분만을 가지고 있을 수 있다. 또한 오류가 포함된 값을 가지고 있을 수도 있다. 이러한 상황은 과대적합의 원인이 된다. - 모델이 과도하게 복잡한 경우, 변수가 지나치게 많은 경우도 과대적합의 원인이 된다. 3. 과대적합 방지 방법 3-1. Data augmentation - Train data set의 절대적 양이 부족한 경우나 편향된 패턴만을 가질 때, 데이터를 적절히 변형하는 처리를 하여, 데이터의 양을 늘리거나, 노이즈를 추가하는 등의 방법을 통해 의도적으로 데이터가 더 다양한 패턴을 가지게 할 수 있다. 3-2. 모델의 복잡도 감소 - 인공신경망의 복잡도는 hidden layer의 개수나 모델의 trainable parameter의 개수 (capacity) 등에 비례하므로, over-fitting이 발생할 때, 이들의 사이즈를 줄여 볼 수 있다. 3-3. 가중치 규제 (weight regularization) 적용 - 개별 가중치 값의 범위를 제한하여 훈련되는 모델이 간단해지도록 유도하는 방법이다. - 가중치 규체하는 항을 손실함수에 포함하여 모델을 훈련한다. - 가중치 규제의 종류에는 아래와 같은 것들이 있다. 1) L1 norm regularization (LASSO) - 손실함수식에 모든 가중치 $$$w$$$들의 절대값의 합계 항을 추가하고, 손실함수가 최소가 되도록 가중치를 조정 (훈련) 한다. - 아래와 같은 식으로 표현할 수 있다....