- [ICCV 2015] Unsupervised Visual Representation Learning by Context Prediction 핵심 리뷰
- [CVPR 2016] Inpainting SSL : Context Encoders: Feature Learning by Inpainting 핵심 리뷰
- [ECCV 2016] Zigsaw Puzzle SSL : Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles 핵심 리뷰
- [ICLR 2018] UNSUPERVISED REPRESENTATION LEARNING BY PREDICTING IMAGE ROTATIONS (RotNet) 핵심 리뷰
- [CVPR 2018] Unsupervised Feature Learning via Non-Parametric Instance Discrimination (NPID) 핵심 리뷰
- [ECCV 2018] Deep Clustering for Unsupervised Learning of Visual Features (DeepCluster) 핵심 리뷰
- [PMLR 2020] A Simple Framework for Contrastive Learning of Visual Representations (SimCLR) 핵심 리뷰
- [CVPR 2020] Momentum Contrast for Unsupervised Visual Representation Learning (MoCo) 핵심 리뷰
- [NIPS 2020] Supervised Contrastive Learning 핵심 리뷰
- [NIPS 2020] Bootstrap Your Own Latent A New Approach to Self-Supervised Learning (BYOL) 핵심 리뷰
- [ICLR 2021] PROTOTYPICAL CONTRASTIVE LEARNING OF UNSUPERVISED REPRESENTATIONS (PCL) 핵심 리뷰
내용 요약
Rotation Prediction을 사용한 Self Supervised Learning 방법론을 제안합니다. 다양한 데이터셋에 대해 Transfer Learning 성능을 다양한 모델과 비교함으로써 우수함을 증명합니다.
1. 들어가며
이번 글에서는 2018년 ICLR에 발표된 UNSUPERVISED REPRESENTATION LEARNING BY PREDICTING IMAGE ROTATIONS 논문을 리뷰합니다. 이 논문은 RotNet이라고 불리며, 이번 글에서도 RotNet 이라고 지칭하겠습니다.
2. 제안 방법
저자들은 새로운 Self Supervised Learning 방법론을 제안합니다. 바로 제안하는 방법을 살펴보겠습니다.
2-1. Architecture
먼저 모델 Architecture를 살펴보겠습니다. 저자들의 핵심 아이디어는 간단합니다. 이미지의 회전량을 맞추는 모델을 학습 하는거에요. 예를 들어 입력 이미지가 90도 회전했는지, 180도 회전했는지 맞추는 모델을 만드는거죠.
회전량을 맞추는게 무슨 의미가 있을까요? 우리가 직접 이미지의 회전량을 맞춘다고 상상해보죠. 이미지의 회전량을 맞추려면 이미지를 전체적으로 이해해야 하겠죠? 즉 전체적인 문맥을 이해해야 합니다. 이를 의도하는거죠. 딥러닝 모델이 이미지의 회전량을 맞추도록 학습하는 과정에서 이미지의 전체적인 문맥을 학습할 것이라고 생각한겁니다.
위의 아이디어를 구현한 Architecture는 이렇습니다.
먼저 입력 이미지 X에 대해 90도, 180도, 270도, 360도 총 4가지의 회전 Transform을 해줍니다. 그리고 동일한 CNN을 통해 Feature를 추출한 뒤 4가지 회전 종류 중 무엇을 수행했는지 맞추는 구조입니다.
3. 실험 결과
다음은 제안한 방법론의 실험 결과를 살펴보겠습니다.
3-1. CIFAR10
먼저 CIFAR10 데이터셋으로 수행한 실험을 보겠습니다.
3-1-1. Classification Transfer Learning 성능
위에서 제안한 Rotation Prediction 방식으로 ImageNet Pretrain을 한 뒤 Fine Tuning을 통한 Image Classification Transfer Learning 성능입니다.
전체적으로 Convolution Layer가 몇 개 포함되어 있는 모델인지를 막론하고 두 번째 Convolution Layer에서 가장 높은 성능이 나온 걸 볼 수 있습니다. 이에 대해 저자들은 높은 Layer일수록 Rotation을 예측하는데 특화된 Feature를 배웠기 때문일 것이라고 해석합니다.
3-1-2. 회전 개수에 따른 Classification Transfer Learning 성능
다음은 이미지를 회전시키는 경우의 수를 변경시켰을 때의 Image Classification Transfer Learning 성능입니다.
회전 경우의 수가 4개일 때 가장 높은 성능을 보이고 있습니다. 이에 대해 저자들은 회전이 2가지면 너무 적은 정보를 학습하게 되고, 더 많아지면 구분도 불명확해질 뿐만 아니라 Artifacts들이 생기기 때문이라고 해석합니다.
3-1-3. Classification Transfer Learning 성능 비교
다음은 다른 방법들과의 비교입니다.
첫 번째로 주목해야 할 점은 기존 다른 Self Supervised Learning 방법들중 가장 성능이 좋다는 것입니다.
두 번째로 더 중요한 포인트는 Supervised Learning 방식과 성능 차이가 매우 작다는 것입니다. Context Prediction 방식, Inpainting 방식, Zigsaw Puzzle 방식 등 기존 다른 Self Supervised Learning 방식들은 참신한 아이디어였지만 결과적으로 Supervised Learning 방식보다 성능이 많이 떨어졌는데요. RotNet 부터는 Supervised Learning 성능에 거의 근접하는 모습을 볼 수 있습니다.
3-1-4. Rotation Prediction과 Image Classification과의 상관관계
다음은 Rotation Prediction을 학습하는 게 Image Classification 성능에 어떤 영향을 주는지에 대한 실험입니다.
그림a를 보겠습니다. Rotation Prediction을 학습할수록 Image Classification 성능이 좋아지는 모습입니다. 따라서 Rotation Prediction Task가 더 좋은 Feature를 추출하는데 유용함을 알 수 있습니다.
그림b를 보겠습니다. Semi Supervised Setting에서는 오히려 Supervised Learning 방식보다 성능이 좋은 모습을 볼 수 있습니다. 이를 통해 Rotation Transform 학습의 유용함을 알 수 있고, 추가적인 Label 학습만 있다면 Supervised Learning 보다 더 효과적임을 알 수 있습니다.
3-2. ImageNet Image Classification Transfer Learning
다음은 ImageNet 데이터셋에 대한 Image Classification Transfer Learning 실험결과입니다.
마찬가지로 다른 Self Supervised Learning 방식보다 성능이 좋고 Supervised Learning 방식보다 성능이 낮은 모습을 볼 수 있습니다.
3-3. PASCAL VOC Transfer Learning
다음은 PASCAL VOC데이터셋에 대한 Classification, Detection, Segmentation Transfer Learning 성능입니다.
마찬가지로 다른 Self Supervised Learning 방식보다 성능이 좋고 Supervised Learning 방식보다 성능이 낮은 모습을 볼 수 있습니다.