자기지도학습, Self-Supervised Learning
머신러닝이 풀 수 있는 대표적인 문제인 지도학습 (Supervised Learning)은 높은 정확도와 성능을 보이고 있지만 해당 문제는 많은 데이터와 각 샘플에 대한 라벨링이 필요하여 많은 시간과 비용을 요구한다.
이러한 문제를 해결하기 위해 여러가지 방법론이 제안되고 있다:
- Transfer Learning / Domain Adaption: 유사한 Task에서 학습된 모델의 Weight를 가져와서 Target Task에 적용
- Semi-Supervised Learning: 가지고 있는 데이터셋 중에 일부만 라벨링하여 학습
- Weakly-Supervised Learning: 주로 Segmentation에서 기존의 Label (segmentation mask)보다 적은 비용으로
얻은 Label (class, point, scribble, bounding box 등)을 이용해 학습
- Unsupervised Learning: 아예 Label을 사용하지 않고 학습
이 중 Self-Supervised Learning은 Unsupervised Learning에 속하는 연구 주제로, Label이 존재하지 않는 데이터만을 사용하며 Image 뿐만 아니라 Text, Speech, Video 등 다양한 분야에 적용가능하다. (Text에 적용시킨 모델 중 BERT와 GPT가 있다.)
Self-Supervised Learning의 단계는 다음으로 구성될 수 있다:
- Unlabeled 데이터에 대해 사용자가 새로운 문제 (Pretext task)를 정의하고 정답을 정해준다.
- 모델이 해당 Pretext task를 학습하게 하여 데이터 자체에 대한 이해를 높인다.
- 이렇게 학습된 모델을 기반으로 Downstream Task로 Transfer Learning을 적용시킨다.
관련 연구 및 Pretext Task 종류
- Discriminative unsupervised feature learning with exemplar convolutional neural networks (NIPS 2014) - Exemplar
- Unsupervised Visual Representation Learning by Context Prediction (ICCV 2015) - Context Prediction / Relative Patch Location
- Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles (ECCV 2016) - Jigsaw Puzzle
- Autoencoder-Based Approaches
- Denoising Autoencoder
- Image Colorization
- Context Autoencoder
- Split-Brain Autoencoder
- Representation Learning by Learning to Count (ICCV 2017) - Count
- Multi-task Self-Supervised Visual Learning (ICCV 2017) - Multi-task Learning
- Unsupervised representation learning by predicting image rotations (ICLR 2018) - Rotation