[ 제 네이버 블로그 글을 티스토리로 이전한 글입니다. 해당 글은 제 네이버 블로그에 2018.05.17에 작성되었었습니다 ]
kdnuggets에서 재미있는 글을 보았다.
Data augmentation에 관한 글이였는데, 논리적으로 설명을 해두어서 data augmentation에 대한 이해가 조금 더 생긴것 같다.
Data augmentation을 사용하는 이유는 가지고 있는 training dataset은 현실에서 보게 되는 test dataset과 괴리감이 있기에, 임의의 잡음이나 translation을 training dataset에 가해서 test dataset과의 괴리를 줄이는데 목적이 있다고 생각한다.
참고 post 글에서는 data augmentation을 기계학습에 적용할 때, 2가지 옵션이 있다고 한다.
옵션 1) data augmentation을 모델 학습 전에 미리 수행함.
=> data size가 작을 경우 추천.
옵션 2) data augmentation을 mini-batch 마다 수행함.
=> data size가 클 경우 추천.
나는 보통 옵션 1을 따라서 많이 해왔다.
영상에서 주로 적용되는 방법의 예로써는... 6개를 들어놓았다.
1) 영상 좌우 또는 위 아래 반전. (flip); test set에서 반대 방향의 차를 볼 수도 있음.
2) 영상 회전 (rotation); test set에 회전된 객체가 있을 가능성이 있을 때, 적용하면 될 듯.
3) 영상 줌인, 줌 아웃 조절 (scale); 영상이 촬영될 때, 사물이 가까이서 촬영될 수도 있고 멀리서 촬영될 수도 있다. 이러한 경우를 보상해주기위해 사용가능할 듯.
4) 영상 일부 자르기 (crop); test set에 영상의 일부만 찍혀있는 경우를 보상 가능함.
5) 영상 위치 변환 (translation); test set에 영상의 일부만 찍혀있는 경우를 보상 가능함.
6) 가우시안 잡음; 영상의 high frequency 성분 억제에 좋다고 함. (post 참조)
test set의 특성을 고려하여 특정 data augmentation 적용을 고려해야된다.
해당 post에서는 GAN을 이용한 data augmentation 방법에 대해서도 설명을 해두었다.
GAN을 이용한 image 변환 결과물들을 보니, GAN 기반의 방법들이 이전의 영상 처리 방법들에 비해서 훨씬 강력해보였다. (참고 post 참조)
GAN 기반의 data augmentation하는 방법에 대하여 조금 더 고민을 해봐야할 것 같다.
참고)
https://www.kdnuggets.com/2018/05/data-augmentation-deep-learning-limited-data.html
non-Gaussian distribution (0) | 2021.08.09 |
---|---|
Brain-inspired machine learning... Computational machine learning (0) | 2021.08.06 |
Imbalanced 데이터 다루기 (0) | 2021.08.03 |
학습 데이터와 테스트 데이터의 차이가 있을 때 (gap between train dataset and test dataset) (0) | 2021.08.02 |
Batch normalization 관련 (0) | 2021.08.02 |
댓글 영역