한국인들이 만든, NAVER에서 연구를 진행한 CutMix에 대해서 알아보도록 하자.
마침 이번 프로젝트에서 CutMix를 제작하고, 사용해 보기까지 하며 해당 논문에 대해 리뷰를 진행하고자 한다.
Github 코드가 있다는 것도 다 만들고 나서 알았다...
CutMix의 아이디어는 Regional dropout 전략에서부터 파생되었다.
Regional dropout 전략의 경우에는, 모델이 특정 부분에만 집중되게 하지 않도록 입력을 조정하는 방법이다.
(예: 사람 판별에 있어 다리보다는 얼굴만 보는 경우가 있기 때문)
이전에는 Mixup, Cutout 방식이 있었지만, CutMix라는 새로운 방법을 제시한다.
흔히들 자주 본 사진이다. Mixup의 경우에는 특정 퍼센테이지 만큼 두 사진을 그저 동일하게 합성하는 방식이다.
Cutout의 경우, 특정 지역을 잘라내어 다른 부분에 모델이 집중할 수 있도록 한다.
CutMix의 경우에는 서로 다른 label을 섞어, 학습 뿐만아니라 정규화 효과도 동시에 얻을 수 있다.
그럼 위와 같은 Augmentation을 왜 진행하는가?
CNN모델이 이미지의 특정 부분에만 집중하는 것을 방지하기 위한 방법이다.
그동안은 Cutout과 같은 feature removal 방식이 주로 사용되었다.
실제 실험적으로 해당 방법이 generalization과 모델이 특정 부분에만 집중하고 있지 않고 전체를 보도록 만들었다.
단점:
이미지를 잘라내며 보편성과 모델의 성능을 올렸지만, 전체적인 데이터에서 데이터의 공백이 너무 크다는 사실을 발견햇다!
→해당 단점을 극복하기 위해 CutMix방식을 제안했다!
Mixup이 섞인 정도만큼 Label도 섞는 것처럼
CGT label도 이미지가 섞인 만큼 섞여있다.
CutMix의 경우에는 이미지의 "일부분"만 섞이기도 하기 때문에, localization ability도 향상시켜준다.
이전 연구들:
Regional dropout: 무작위 공간을 이미지에서 제거하여, generalization performance를 향상시키기 위함.
Synthesizing training data: training sample을 합성하여 새로운 sample 생성 -> model이 질감보다 shape에 집중하도록 유도.
Mixup: 두개의 샘플을 섞는다. -> 이미지가 모호하다는 문제가 있음. 따라서 Mixup은 Model의 localization에 집중함.
CutMix는 개인적으로 생각할 때, 위 세가지를 적절하게 섞었다고 볼 수 있다.
x는 입력, y는 GT라고 할 때, x^과 y^를 특정 확률만큼 합성하여 만든다.
람다는 uniform분포에서 샘플링 된다.
샘플링을 통해 이미지를 잘라, 합성한다!
What does model learn?
Mixup에 비해, CAM을 한 결과 조금 더 label에 focusing 하는것을 볼 수 있다.
'네이버 부스트캠프 AI Tech' 카테고리의 다른 글
[CLIP] Learning Transferable Visual Models From Natural Language Supervision (1) | 2023.12.26 |
---|---|
12.22 주간 회고록 (2) | 2023.12.22 |
12.15 주간 회고록 (1) | 2023.12.15 |
RGB, GRAY에 관한 고찰 (0) | 2023.12.15 |
CNN Visualization, grad_CAM 관련 끄적끄적 (0) | 2023.12.10 |