Weight Decay 개요

  • Weight Decay는 신경망 가중치에 적용되는 일반화(regularization) 테크닉으로, 학습하는 동안 가중치의 크기를 감소시켜 모델이 학습하는 동안 가중치의 크기가 과도하게 커지는 것을 억제하도록 하여, 가중치가 학습 데이터에 지나치게 의존하지 않도록 페널티를 주어 오버피팅(overfitting)을 막아주고, gradient exploding을 완화하는 효과가 있다.
  • Weight Decay는 가중치 업데이트 규칙(Optimizer)에 직접 적용하거나 손실 함수(Loss function)에 감소 항을 추가하여 적용할 수 있다 (주로 Weight Decay는 Optimizer에 적용되는 것을 말하며, L1/L2 Regularization은 손실 함수에 적용하는 것을 말함).
  • Weight Decay는 일반적으로 L2 Regulaization과 같은 효과를 내지만, Weight Decay를 Adam과 같은 적응형 Optimizer에 적용했을 때는 다르게 동작할 수 있다.

L1 / L2 Regularization

L1 / L2 Norm

  • Norm 벡터의 크기(magnitude)를 측정하는 방법으로 L1 Norm(Manhattan)과 L2 Norm(Euclidean)이 대표적이다.

L1 Norm

L2 Norm

L1 Regularization

  • L1 Regularization은 기존 Cost Function에 가중치의 절대값의 합을 더하는 형태.
  • L1 Regularization을 적용한 Cost Function의 식은 아래와 같다 ( : Loss Function).
  • 위 식에서 는 가중치를 나타내며, 는 regularization을 위한 하이퍼 파라미터이다.
  • 정의된 cost function을 에 대해 편미분 하여 가중치를 업데이트하는 식은 아래와 같다.
  • L1 regularization을 적용한 Cost function을 편미분하면, wieght의 크기에 상관없이 부호에 따라 일정한 상수값을 빼거나 더해주게 된다.
  • 따라서, 특정 weight 들을 0으로 만들 수 있어 원하는 weight만 남길 수 있는 feature selection 역할을 할 수 있다.

L2 Regularization

  • L2 Regularization은 기존 Cost Function에 가중치 제곱의 합을 더하는 형태로, wieght의 크기에 따라 weight 값이 크면 더 빠르게 감소시킨다.
  • L2 Regularization을 적용한 Cost Function의 식은 아래와 같다 ( : Loss Function).
  • 정의된 cost function을 에 대해 편미분 하여 가중치를 업데이트하는 식은 아래와 같다.
  • 위 식을 보면 L2 regularization을 적용한 Cost function의 편미분 결과, 가중치의 크기에 따라 가중치 값을 감소시킬 수 있으며, 값에 따라 패널티의 정도를 조절할 수 있다.
  • 가중치가 전반적으로 작아져서 학습 효과가 L1 더 좋게 나타남.

참고