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
∣∣X∣∣1=i=1∑n∣xi∣
L2 Norm
∣∣X∣∣2=i=1∑nxi2
L1 Regularization
L1 Regularization은 기존 Cost Function에 가중치의 절대값의 합을 더하는 형태.
L1 Regularization을 적용한 Cost Function의 식은 아래와 같다 (L : Loss Function).
C=L(w)+λn1i=1∑n∣w∣=L(w)+nλw∑∣w∣
위 식에서 w 는 가중치를 나타내며, λ 는 regularization을 위한 하이퍼 파라미터이다.
정의된 cost function을 w 에 대해 편미분 하여 가중치를 업데이트하는 식은 아래와 같다.