Backbone 모델
representation(feature)
task
모델이 해결하려는 실제 문제
pretext task
사전 학습용 인위적인 문제
Contrastive Learning(대조 학습)
학습 데이터의 쌍(pair) 사이의 관계를 학습해서 feature space 상의 구조를 정렬하는 방식
입력 데이터 쌍 (x₁, x₂)을 만들어서
같은 클래스를 나타내는 쌍이면 → 가까워지게
다른 클래스를 나타내는 쌍이면 → 멀어지게
Representation을 학습한다는 것은 쉽게 말해, 인간의 간섭 없이 모델이 스스로 task에 적합한 feature들을 알아낸다는 것
학습과정에서 data augmentation과의 차이를 학습하고 embedding layer를 깊게 쌓음으로써 유사도를 비교하는 공간인 feature space를 더 개선하여 image representation 학습 성능을 크게 향상 시키는 데에 기여
중요한 사항
embedding
원본 데이터를 수치화된 의미 공간으로 매핑하는 과정
Contrastive loss
비슷한 쌍은 가깝게, 다른 쌍은 멀게” 학습하기 위한 손실 함수
SimCLR에서는 NT-Xent (Normalized Temperature-scaled Cross Entropy) Loss를 사용

SimCLR contrastive learning의 전체 framework를 나타내는 그림
T : Data augmentation 종류 (RandomResizeCrop, Random Color distortion, Gaussian Blur)
t,t′ : Random sampling된 Data augmentation 기법
xi,xj : Augmentation된 이미지
f(⋅) : Base Encoder (ResNet-50)
hi,hj : ResNet-50 output에서 Global Average Pooling(GAP) 된 vector
g(⋅) : non-linear representation을 적용하는 Projection head (Two-layer MLP)
zi,zj : Projection head 통과 후 생성된 vector
Contrastive loss function : zi,zj간의 NT-Xent Loss
Training
Dataset
Evaluation
Layer, classifier?
Layer
classifier

간단한 몇 개로 구성된 Data Augmentation 기법 선택이 매우 중요했다고 함

Random cropping, Random color distortion, Gaussian blur 만을 사용하였을 때 가장 성능이 좋음

색상 왜곡 강도를 높일수록 정확도가 증가 + Gaussian blur를 추가했을때 가장 높은 성능을 보였음 -> Contrastive learning에서는 강한 색상 변형이 매우 중요

Non-linear projection head > linear projection head > None

Loss Function 중 NT-Xent (Normalized Temperature-scaled Cross Entropy)의 성능이 가장 높았음

Batch Size를 매우 키우는 것이 더 좋은 성능을 보이고 있다. 이는 batch size를 매우 늘릴 경우 그 안에서 충분한 양의 negative sample을 뽑을 수 있기 때문이라고 추론해 볼 수 있다.

여러 Self-Supervised model과의 Linear evaluation 결과를 비교하였을 때, Architecture 별로 ResNet-50을 사용한 결과와 더 깊은 구조를 사용했을 때의 결과 모두 SimCLR에서 가장 뛰어난 성능을 보인다.
Self-supervised 외에 transfer learning, semi-supervsied learning에 대한 실험에서도 우수한 성능을 보이고 있다.

Semi-supervised learning에 대한 실험 결과

Transfer learning에 대한 실험 결과
Handcrafted pretext tasks
Contrastive visual representation learning
Self-supervised Learning Simple framework로 Self-supervised learning, Semi-supervised learning, Transfer learning의 성능을 크게 개선하였다.
Supervised learning과는 다른 augmentation과 non-linear projection head를 제안하였다.
Representation을 학습하는 것으로 Supervised learning 수준의 성능을 달성하였다.
기존의 Pretext task를 활용하지 않고 Memory Bank 또한 필요로 하지 않는다.