[Regularization] Important Concepts

hyunsooo·2022년 10월 4일
0

Regularization은 근본적으로 학습을 방해하게 된다. 학습을 방해함으로 테스트 데이터에도 잘 작동하도록 유도하는 방법론이다.

Regularization

  • Early stopping

  • Parameter norm penalty

  • Data augmentation

  • Noise robustness

  • Label smoothing

  • Dropout

  • Batch normalization

Early Stopping

  • Training에 활용하지 않은 데이터 셋으로 성능을 평가해보고 그 loss가 커지는 시점에 멈추는 방법

Parameter Norm Penalty

cost=loss(D;W)+α2W22cost = loss(\mathcal{D};W) + \frac{\alpha}{2}||W||_2^2
  • 파라미터가 너무 커지지 않게 하는 방법

  • α2W22\frac{\alpha}{2}||W||_2^2를 Parameter Norm Penalty, weight decay라고 부른다.

Data Augmentation

  • 내가 가지고 있는 데이터를 다양한 방법을 통해 증강시키는 법

  • 예를 들어 강아지 사진을 증강시키려고 할때 라벨이 바뀌지 않는 선에서의 회전, 노이즈 등을 추가하는 방법이다. 단 라벨이 바뀔 정도로 이루어지면 안된다.

Noise Robustness

  • Data Augmentation과의 차이점은 입력값 뿐만 아니라 weight에도 noise를 적용하는 점이다.

Label Smoothing

  • Data Augmentation과의 차이점은 두 개의 데이터와 라벨을 섞어서 사용한다.

  • 예를들어 강아지사진과 고양이사진을 반반 섞고, 라벨을 Dog 0.5, Cat 0.5를 줄 수 있다. (Mixup)

  • Cutout은 이미지 한장에서 일정 영역을 제거하는 방법이다.

  • CutMix는 Mixup과 비슷하지만 blending하게 섞는게 아니라 특정 영역은 강아지, 특정 영역은 고양이를 추가하는 방법이다.

Dropout

  • 학습시 weight 일부분을 0의 값으로 바꿔주는 방법이다.

  • 각각의 neuron들이 좀 더 robust할 수 있다로 해석한다.

Batch Normalization

  • 내가 적용하고자 하는 Layer의 통계량을 정규화 시키는 방법

  • Internal Covariate를 줄이는 효과가 있다.

profile
지식 공유

0개의 댓글