이번주 AlexNet 논문을 읽으면서 weight decay가 언급되었는데
이참에 제대로 개념을 잡고 가는 게 좋을 것 같아서 따로 글을 적는다.
과적합(Overfitting)
과적합이란 모델이 훈련 데이터에만 지나치게 적응하여 시험 데이터에 제대로 반응하지 못하는 현상을 말한다. 그 반대 개념으로는 모델이 훈련 데이터도 제대로 학습하지 못한 상태를 말하는 과소적합(Overfitting)이 있다.
그런데 일반적으로 딥러닝에서 과소적합보다 과적합에 대한 해결방법이 많이 연구되는 것을 볼 수 있다. 왜 그럴까?
그 이유로는 딥러닝 모델은 직접 raw data에서 feature를 만들어 낸다는 점을 꼽을 수 있다.
학습과정에서 모델이 스스로 feature를 가공하고 추출하기 때문에, 처음부터 Architecture를 간단하게 만들면 high level의 feature를 학습할 수 없다.
그래서 일반적으로는 Architecture를 복잡하게 만들어 과적합을 유도하고, 그 뒤 추가적인 방법을 통해 과적합을 줄여나가는 방법이 선호된다.
가중치 규제(Weight Regularization)
경사하강법에서는 Loss Function이 감소하는 방향으로 가중치를 업데이트 한다.
하지만 단순히 loss function이 작아지는 방향으로만 학습을 진행하면 특정 weight 값이 커지면서 과적합을 초래하게 된다.
그래서 loss function에 가중치와 관련된 값을 추가함으로써 loss와 weight를 함께 최소화하여 과적합을 방지한다.
weight regularization은 전체 가중치를 줄여주는 효과도 있지만, 다른 가중치에 비해 큰 가중치를 낮춰주는 역할을 한다. 큰 가중치일 수록 큰 패널티를 가하기 때문이다.
가중치 규제가 추가된 Loss Function은 다음과 같으며 빈칸에 들어가게 된다.
대표적으로 3가지가 있다.
1. L2 Regularization
$\frac{\lambda}{2}\|\mathbf{w}\|^2$
Weight decay라고도 한다.
L2 Regularization을 미분하면 $\lambda|w|$이 되고 이 값이 가중치 업데이트에 반영되어, 자기자신의 크기에 비례하는 속도로 감소한다.
수식적인 해를 구할 수 있다는 장점이 있고, 제곱을 최소화하기 때문에 W값이 완전히 1이 되는 경우가 L1 Regularization보다 적다.
이때 람다는 사용자가 지정할 수 있는 상수로 0에 가까울 수록 정규화의 효과는 사라진다.
2. L1 Regularization
$\lambda|w|$
Sparsity inducing norm이라고도 한다.
각각의 크기를 최소화하여 대부분의 가중치가 0이 되도록 sparse하게 만들기 때문이다.
3.Max norm constraint
$\sum_i w_{j i}^2<c$
각 유닛의 입력층 결합의 가중치에 대해서 그 제곱합의 최댓값을 제약하는 방법
참고자료
'AI > ML DL' 카테고리의 다른 글
가중치가 크면 과적합(overfitting)이 발생하는 이유 (0) | 2023.03.28 |
---|