수학/딥러닝 이론

[딥러닝] 2. 오버피팅 억제법 - 가중치 감소

AI 꿈나무 2020. 10. 3. 20:46
반응형

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다.

 


 

 

[딥러닝] 오버피팅(과적합)이란?

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다. 오버피팅(과적합)  기계학습에서는 오버피팅이 문제가 되는 일이 많습니다.  오버피팅이란 신경망이 훈련 데이터��

deep-learning-study.tistory.com

 이전 포스팅에서 오버피팅에 대해 알아보았습니다. 이번에는 오버피팅을 억제하는 방법에 대해 알아보겠습니다.

 

오버피팅 억제법

1. 가중치 감소 - weight decay

 오버피팅 억제용으로 예로부터 많이 이용해온 방법 중 가중치 감소라는 것이 있습니다.

 이는 학습 과정에서 큰 가중치에 대해서는 그에 상응하는 큰 페널티를 부과하여 오버피팅을 억제하는 방법입니다.

 원래 오버피팅은 가중치 매개변수의 값이 커서 발생하는 경우가 많기 때문입니다.

 

 복습을 해보겠습니다.

 

 신경망 학습의 목적은 손실 함수의 값을 줄이는 것입니다.

 

 이때, 예를 들어 가중치의 제곱 노름 (L2 노름)을 손실 함수에 더합니다.

 

 그러면 가중치가 커지는 것을 억제할 수 있습니다.

 

 가중치를 W라 하면 L2 노름에 따른 가중치 감소는 $\frac{1}{2} \lambda W^2$이 되고, 이 $\frac{1}{2} \lambda W^2$을 손실 함수에 더합니다.

 

 여기에서 $\lambda$는 정규화의 세기를 조절하는 하이퍼 파라미터입니다.

 

 $\lambda$를 크게 설정할수록 큰 가중치에 대한 패널티가 커집니다.

 

 또 $\frac{1}{2} \lambda W^2$의 앞쪽 $\frac{1}{2}$은 $\frac{1}{2} \lambda W^2$의 미분결과인 $\lambda W$를 조정하는 역할의 상수 입니다.

 

 

 가중치 감소는 모든 가중치 각각의 손실 함수에 $\frac{1}{2} \lambda W^2$을 더합니다.

 

 따라서 가중치의 기울기를 구하는 계산에서는 그동안의 오차역전파법에 따른 결과에 정규화 항을 미분한 $\lambda W$를 더합니다.

 

 

 그러면 실험을 해보겠습니다.

 

가중치 감소를 이용한 훈련 데이터(train)와 시험 데이터(test)에 대한 정확도 추이

 

 그림과 같이 훈련 데이터에 대한 정확도와 시험 데이터에 대한 정확도에는 여전히 차이가 있지만, 가중치 감소를 이용하지 않은 데이터와 비교하면 그 차이가 줄었습니다.

 

 다시 말해 오버피팅이 억제됐다는 소리입니다.

 

 그리고 앞서와 달리 훈련 데이터에 대한 정확도가 100%에 도달하지 못한 점도 주목해야 합니다. 

 

반응형