우리를 상당히 헷갈리게 만드는 Semi-supervised learning, Unsupervised learning, Self-supervised learning, Weakly-supervised Learning, Supervised Learning의 정의를 완벽하게 이해하고, Self-supervised learning에 대한 아주 간략한 소개까지 보고 지나가도록 하자.
Human-annotated label : 인간이 만든 label. 당연히 인간이 달아야 하지 않겠나 생각할 수 있지만 하단의 self-supervised learning의 경우에 꼭 그렇지는 않다는 것을 확인하자.
Unsupervised Learning : 어떠한 Human-annotated label도 사용하지 않고 학습하는 방법이다.
Semi-supervised Learning : label이 지정된 소량의 data와 label이 지정되지 않은 대량의 data를 함께 사용하는 학습 방법이다.
Supervised Learning : Human-annotated label을 사용하여 네트워크를 훈련시키는 학습 방법 (세밀한 단위의 label)
Weakly-supervised Learning : 대략적인 label 또는 부정확한 label을 사용하여 학습하는 방법. 이때 학습 label을 획득하는데 드는 cost는 일반적으로 Supervised Learning보다 훨씬 저렴함 (
생각해보면 당연하다)
Self-supervised Learning : (Computer Vision task의 경우) ConvNets 자신이 자동으로 생성한 label로 자신을 훈련시킴. Unsupervised Learning의 subset 개념이다.
보통 transfer learning 할때 secondary task에 사용할 충분한 annotated된 data가 있으면 문제없다. 근데 그렇지 않을 경우에는 free-label data로 학습하는 이 Self-supervised learning을 수행하여 pretrained model을 실제 task에 transfer 시켜서 학습하겠다는 의도이다. (자세한 사항들은 reference의 survey 논문 참고)
Pretext Task : 네트워크가 풀 pre-designed된 tasks를 뜻한다.
(고양이 사진 45도 돌려놓고 원래대로 해놓기)
Downstream Task : Self-supervised learning으로 pre-trained된 model을 가지고 퍼포먼스를 측정하기 위해 수행하는 task. 보통은 classification 문제이지만 아닌 경우도 있다.
Pseudo label : Pretext Task를 수행하면서 자동으로 생성된 label.