Regularization

‍이세현·2024년 12월 1일
0

Overfitting

  • Overfitting: 데이터의 근본적인 관계를 파악하지 않고 noise에 최적화된 높은 복잡도의 모델
    • Training set의 부족, 복잡한 모델 구조로 인해 overfitting이 발생한다.
    • Training data에는 최적화되었지만 일반적인 새로운 데이터가 입력되었을 때 성능을 발휘하지 못한다.

Overfitting Revisited

  • Regularizer는 과적합을 막기 위해 loss function에서 사용하는 방법이다.
    • Parameters가 너무 커지지 않도록 정규화하는 역할을 한다.
  • Data loss: L(W)=1Ni=1NLi(f(xi,W),yi)L(W)=\frac{1}{N}\sum_{i=1}^{N}L_i(f(x_i,W),y_i)
  • Regularization: λR(W)\lambda R(W)
    • λ\lambda는 정규화 강도를 결정하는 hyperparameter이다.
    • Parameters 값이 작으면 모델 그래프의 개형이 선형으로 바뀐다.
      • Overfitting을 피하기 위해서는 parameters는 0에 가까워야 한다.

Regularization

Weight Decay

  1. L1 regularization (Lasso regression): R(W)=ΣkΣlWk,lR(W)=\Sigma_k\Sigma_l|W_k,l|
    • Lreg(θ)=L(θ)+λΣkθkL_{reg}(\theta)=L(\theta)+\lambda\Sigma_k|\theta_k|
    • w\mathbf{w}wjw_j에 대해 미분하면 sign(wj)\text{sign}(w_j), weight가 0이 되는 방향으로 update 된다.
      • weight의 부호 반대 방향으로 λ\lambda만큼 update 된다.
  2. L2 regularization: R(W)=ΣkΣlWk,l2R(W)=\Sigma_k\Sigma_lW^2_{k,l}
    • Lreg(θ)=L(θ)+λΣkθk2L_{reg}(\theta)=L(\theta)+\lambda\Sigma_k\theta_k^2
    • 모델 단순화와 성능 유지
    • Test set에서의 성능이 향상된다.
    • λ\lambda가 크면 θ\theta가 더 작아지고 모델은 더 간단해진다.
    • w2\mathbf{w}^2wjw_j에 대해 미분하면 2wj2w_j, weight가 0이 되는 방향으로 update 된다.
      • wj>0w_j>0이면 왼쪽으로 이동
      • wj<0w_j<0이면 오른쪽으로 이동

Dropout

  • 학습할 때 무작위로 일부 뉴런만 사용하여 weight를 학습하는 것
    • 모델이 복잡할수록 overfitting이 심해지므로 일부 뉴런을 삭제한다.
    • parameter가 줄어드는 것은 아니다.
  • 전체 아키텍처는 동일하지만 무작위로 삭제한 여러 모델을 동시에 사용하는 기법이므로 ensemble learning의 일종이다.
    • 학습할 때마다 선택되는 뉴런이 다르다.
    • 평가할 때에는 모든 뉴런을 사용한다.

Early Stopping

  • Unseen Data인 validation set을 사용하여 성능이 떨어질 때 학습을 멈춘다.
  • Patient nn epoch 이후에 Loss가 상승하면 학습을 종료한다.

Activation Functions

  • Sigmoid: 뉴런 값이 0에서 멀어질수록 기울기가 0에 수렴한다.
  • Tangent: 0 부근에서 기울기가 매우 커서 학습 시 불안정해진다.
  • ReLU: 0 이상일 때 기울기가 1이므로 연쇄법칙 적용 시 gradient를 계산하지 않아도 된다.
  • Leaky ReLU: 0 미만일 때에도 gradient가 있기 때문에 업데이트가 가능하다. 생성형 AI 학습 시 사용된다.
profile
Hi, there 👋

0개의 댓글

관련 채용 정보