Updated:

Early Stopping

Untitled

  • 적절한 epoch을 설정하는 것은 중요하다.
    • 너무 많은 epoch → overfitting
    • 너무 적은 epoch → underfitting
  • 해결법? 이전 epoch과 비교해 오차가 증가했다면 학습을 중단하자!

Parameter Norm Penalty

\[tot. cost = loss(D;W) + \alpha \frac{1}{2}\|W\|^2_2\]
  • 기존의 loss에다가 penalty term을 추가해서 weight값이 필요 이상으로 커지는 것을 방지한다.
  • $\frac{1}{2}|W|^2_2$ : $L_2$ parameter norm penalty (weight decay)

Data Augmentation

  • 데이터가 많을수록 generalization이 잘 된다.
  • 하지만 대부분의 상황에선 오히려 데이터가 부족한 경우가 더 많다.
    • 이를 해결하기 위한 방법으로 data augmentation을 사용한다.
  • rescale, reflection, crop, rotation, translation 등이 있다.

Noise Robustness

Untitled

  • noise에 강건(robust)해지기 위해 input data에 random noise를 넣는 것

Label Smoothing

  • Hard label (1 or 0) → Soft label(0~1 사이의 값)

Mix-up

Untitled

  • 두 데이터를 overlap시켜 섞는 것.

    CutMix

Untitled

  • 한 데이터의 일부분을 다른 데이터에서 붙여서 섞는 것.

Dropout

  • random하게 선택한 일부 뉴런이 동작하지 않게 하는 것

Batch Normalization

Internal Covariate Shift

  • layer를 통과할 때 마다 Covariate Shift가 일어나는 현상
  • Covariate Shift : 이전 layer의 파라미터 변화로 현재 레이어의 입력 분포가 바뀌는 현상

Batch Normalization

  • 학습 시 parameter 조정과 동시에 평균과 분산도 조정한다.

    \[\mu_B = \frac{1}{m}\sum_{i=1}^m x_i \\ \, \\ \sigma_B^2 = \frac{1}{m}\sum_{i=1}^m(x_i-\mu_B)^2 \\ \, \\ \hat{x}_i = \frac{x_i-\mu_B}{\sqrt{\sigma_B^2 + \epsilon}}\]