Self-supervised learning
: 라벨이 없는 대용량 데이터를 학습시키는 방법
-
Pretext 작업
: 라벨이 없는 데이터에 라벨을 붙여주는 작업을 미리 하는 방식이지만 전처리 방식이 필요하다는 점에서 불편하다.
-
Instance discrimination: 두 개의 다른 이미지를 비교해 구분하는 방식, individual instance에만 집중되어있기 때문에 다른 instance들간의 공통점은 발견하기 어렵다.
-
Contrastive learning(대조 학습)
: 대용량 데이터를 학습하기 위해 생겨난 방식이다.
이 방식은 두 개의 이미지들을 negative, positive로 판별해야 하기 때문에 대용량 이미지를 학습하려면 memory bank방식을 사용했다. 또한 instance들을 mini-batch로 학습시키는 방식도 있다.
하지만 컴퓨터 자원을 많이 필요로 한다는 점에서 실제로 모델을 돌려보는데 한계가 있다.
-
Contrastive learning방식에는 SimCLR(2020), MoCo(2020) 모델 등이 있다. v1, v2이상도 나와있으니 더 찾아보면 좋을 것 같다.
- Cluster discrimination
: Clustering 이후에 Classification task를 하면 대용량 데이터를 학습하는데 효과적이다. Clustering은 비슷한 데이터들은 더 가깝게 하고, 반대는 멀리 보내 군집화시키는 방법이다. Clustering을 사용하면 데이터의 의미론적 구조를 학습할 수 있다.
Cluster discrimination의 문제점은 모든 이미지의 representation을 만들기 위해 대용량 이미지를 매번 처리해야 한다는 것이다. 계산이 많아져 컴퓨터 자원이 많이 필요하다.
Clustering방식을 사용한 모델은 DeepClustering(2018), SwAV(2020)모델이 있다. DeepClustering V2는 숫자들을 바꿔 발전시킨 코드가 있으니 깃헙을 따로 찾아봐도 좋을 것 같다.(논문은 따로 없음)
- SwAV는 대용량 이미지를 매번 불러와야 하는 DeepClustering의 문제를 보완하기 위해 online 방식을 제안한다. 이를 통해 컴퓨터 자원은 전보다 덜 필요해졌지만 clustering의 방식에 문제점이 있다고 본다. 그 이후에 나온 ODC(Online DeepCLustering), CoKe(online Constrained K-means) 논문도 있다.
그 이후에 VIT모델을 사용한 DINO(2021)이 있다.