Overfitting
- Overfitting: 데이터의 근본적인 관계를 파악하지 않고 noise에 최적화된 높은 복잡도의 모델
- Training set의 부족, 복잡한 모델 구조로 인해 overfitting이 발생한다.
- Training data에는 최적화되었지만 일반적인 새로운 데이터가 입력되었을 때 성능을 발휘하지 못한다.
Overfitting Revisited
- Regularizer는 과적합을 막기 위해 loss function에서 사용하는 방법이다.
- Parameters가 너무 커지지 않도록 정규화하는 역할을 한다.
- Data loss: L(W)=N1∑i=1NLi(f(xi,W),yi)
- Regularization: λR(W)
- λ는 정규화 강도를 결정하는 hyperparameter이다.
- Parameters 값이 작으면 모델 그래프의 개형이 선형으로 바뀐다.
- Overfitting을 피하기 위해서는 parameters는 0에 가까워야 한다.
Regularization
Weight Decay
- L1 regularization (Lasso regression): R(W)=ΣkΣl∣Wk,l∣
- Lreg(θ)=L(θ)+λΣk∣θk∣
- w을 wj에 대해 미분하면 sign(wj), weight가 0이 되는 방향으로 update 된다.
- weight의 부호 반대 방향으로 λ만큼 update 된다.
- L2 regularization: R(W)=ΣkΣlWk,l2
- Lreg(θ)=L(θ)+λΣkθk2
- 모델 단순화와 성능 유지
- Test set에서의 성능이 향상된다.
- λ가 크면 θ가 더 작아지고 모델은 더 간단해진다.
- w2을 wj에 대해 미분하면 2wj, weight가 0이 되는 방향으로 update 된다.
- wj>0이면 왼쪽으로 이동
- wj<0이면 오른쪽으로 이동
Dropout
- 학습할 때 무작위로 일부 뉴런만 사용하여 weight를 학습하는 것
- 모델이 복잡할수록 overfitting이 심해지므로 일부 뉴런을 삭제한다.
- parameter가 줄어드는 것은 아니다.
- 전체 아키텍처는 동일하지만 무작위로 삭제한 여러 모델을 동시에 사용하는 기법이므로 ensemble learning의 일종이다.
- 학습할 때마다 선택되는 뉴런이 다르다.
- 평가할 때에는 모든 뉴런을 사용한다.
Early Stopping
- Unseen Data인 validation set을 사용하여 성능이 떨어질 때 학습을 멈춘다.
- Patient n epoch 이후에 Loss가 상승하면 학습을 종료한다.
Activation Functions
- Sigmoid: 뉴런 값이 0에서 멀어질수록 기울기가 0에 수렴한다.
- Tangent: 0 부근에서 기울기가 매우 커서 학습 시 불안정해진다.
- ReLU: 0 이상일 때 기울기가 1이므로 연쇄법칙 적용 시 gradient를 계산하지 않아도 된다.
- Leaky ReLU: 0 미만일 때에도 gradient가 있기 때문에 업데이트가 가능하다. 생성형 AI 학습 시 사용된다.