self supervision이라는 개념은 아주 예전부터 있었던 개념이지만 BERT등으로 인해 매우 HOT🔥해진 주제이다
딥러닝은 supervised setting에서 아주 강력하다.
즉, 정답을 알고있는 상태 + 충분한 데이터양 존재 의 상황에서 매우 강력한 성능을 보인다.
그러나 라벨링된 large dataset 구축은 매우 힘들다. → 기본적으로 비싸고, 특정분야 ( medical 등 )의 데이터는 annotation 자체가 매우 힘들다.
labelled data가 별로 없을 때의 문제를 해결하기 위해 나온 방법들이 unsupervised learning, self supervised learning, meta learning, transfer learning, few-shot learning 등이다.
Facebook, youtube, google 등만 검색해봐도 unlabeled images / videos 는 넘치고 넘친다. 그러니 이를 사용해보자 라는 것이 self supervised learning이다. ( SSL이라 칭하겠다 )
unlabeled data에서의 representation learning
즉 input의 특징을 잘 담고있는 representation을 추출하도록 학습이 되는 것이다.
unlabeled data이기에 스스로 어떠한 목적을 지정해서 supervision한다. ( 여러가지 방식이 있다. )
SSL을 사용해 어떠한 task를 위한 모델을 생성할 때에는 보통
두가지 단계로 나누어진다.
unsupervised learning과의 비교
transfer learning과의 비교