1. Self-Supervised Learning(자기지도 학습)
Self-Supervised Learning 이란
라벨링 되지 않은 데이터셋으로부터 좋은 representation을 얻기 위해 input data 내에서 타겟으로 쓰일만한 것을 정하는 self-task를 정의하고 학습하는 방식.
이렇게 레이블 되지 않은 입력데이터 내에서 정답값을 정하는 task를 pretext task 라고 정의하고, pretext task를 학습한 모델은 downstream task에 전이하여 사용할 수 있다.
→ self-supervised learning의 목적이 downstream task를 잘 푸는 것이기 때문이다.
Methods of Self-Supervised Learning
Self-supervised learning의 주요 방법으로는 Self-Prediction과 Contrastive Learning이 존재한다.
Self-Prediction
•
하나의 data sample에서 데이터의 일부 파트를 통해서 다른 파트를 예측하는 pretext task를 생성하는 방법
•
최근에는 일부를 random하게 마스킹하고, 이를 prediction하는 방식이 많이 쓰임
•
다음 4가지 방법으로 구분됨
1.
Autoregressive Generation
•
Autoregressive 모델은 이전의 behavior를 통해 미래의 behavior를 예측
◦
sequential한 방향성이 있는 데이터라면 regression으로 모델링 됨
◦
Vision 분야에서는 PixelCNN, NLP분야에서는 GPT, XLNet
2.
Masked generation
•
데이터의 일부를 마스킹해서 마스킹되지않은 부분을 통해 missing 영역을 예측하도록 하는 방법
•
NLP에서는 BERT, Vision에서는 Denoising Autoencoder, Masked AutoEncoder, simMIM 등이 존재
3.
Innated relationship prediction
4.
Hybrid self-prediction
•
Autoregressive Generation, Masked Generation, Innated relationship prediction
Contrastive Learning
•
배치 내의 data sample들 사이의 관계를 예측하는 pretext task