Summary

사실 best approach는 당연히 data를 더 collecting하는 것. 그러나, 현실적으로 어려우니,
그 대안으로 original train set에 적당한 transformation을 가해 train set으로 사용하는 접근.

Goal : “fake” data를 기존에 존재하는 데이터로부터 생성. → train-set으로 활용.
Note! : new data는 반드시 semantic 을 그대로 가져가야 한다.

  • DNN must be invariant to a wide variety of input variatiions
  • Often large intra-class variation in terms of pose, appearance, lightening, etc.
    • 같은 고양이더라도, 여러 포즈가 있을 수도 있고,

Tips! : translation 같은 simple한 transform도 generalization performance를 꽤 올려준다.

Typical Examples


Image Crop


Affine Transform


Gaussian Blur


Gaussian Noise


Cutout


Contrast


Clouds


Random Combination


Tips for modeling


Tip

  • 2개의 NN 비교 시, 동일한 augmentation을 사용하도록.
  • Data Augmentation 역시 network design의 일부로 취급함.
  • “It is important to specify the right distribution(often done empirically).”
  • ensemable idea 적용해서,
    • training time에는 random crop/scales + train 한 번
    • inference time에는 avg predictions for a fixed set of crops of the test image.
  • AutoAugment 는 Reinforcement Learning방법을 사용하여 strategy를 알아서 찾게 한다.