Search

Self-Supervised Learning and Constrastive Learning 개념

카테고리
DL/ML
Index
ML/DL
Self-supervised Learning
Contrastive Learning
날짜
2024/09/18

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