cross entropy는 negative samples의 relative hardness를 반영하기 때문 (hard negs에 더 높은 pseudo prob이 부여되므로)
cross entropy 전에 L2 정규화를 하지 않으면, contrastive acc은 높아졌으나, represenation의 품질은 더 낮아짐
non-linear > linear >> no projection layer 순의 효과
supervised setting과 비교하며 실험한 것 (지금에 와선 너무 당연한 말...이지만)
larger batch에 영향을 많이 받음 (point-wise update가 아닌 list-wise이므로)
오래 학습할수록 더 높은 성능
color distortion이 supervised에선 좋지 않았으나, unsupervised에선 효과적이었음
모델 사이즈가 커질수록(깊고, 넓게) supervised와 unsupervised의 차이가 줄어들었고, 전체적인 퍼포먼스 증가
레이어를 깊게 쌓는 실험을 한 본 논문과 달리 SimCLR v2에선 넓게 쌓아서 실험함
Evaluation
1) linear evaluation
encoder는 freeze, 그 위에 linear classifier를 붙여서 평가
ResNet-50(4x) w/ SimCLR이 supervised RestNet-50과 유사한 성능
2) semi-supervised (1% 혹은 10%의 데이터로 학습)
unsupervised w/ SimCLR 후 1% or 10%의 데이터로 전체 encoder를 fine-tuning 역시 기존 supervised baseline보다 높은 성능
3) transfer learning (linear classifier를 붙인 후 hparams tuning)
12개 분류 태스크로 평가 (Food, CIFAR10, Birdsnap, Cars, Aircraft, DTD, Pets, Caltech-101, Flowers 등)
SimCLR이 우수하거나 거의 동일하다
그 외
data transformation을 예측하는 태스크에서 ${h_k}$를 이용하는 것이 $g({h_k})$를 이용하는 것보다 우세했음
$g$는 데이터 변형에 invariant하게 학습되기 때문에, $g$를 거치면서 data representation을 위한 정보가 손실되기 때문으로 추정
근거: classification task와 irrelevant하고 data representation에는 relevant한 태스크(e.g. Color vs grayscale, Rotation, Org vs corrupted, Org vs Sobel filtered)로 실험한 결과 ${h_k}$를 이용할 때가 $g({h_k})$를 이용할 때보다 더 높았음
Problem statement
Baseline
Data details
Approach
사용한 구조:
경험론적 결론:
Evaluation
1) linear evaluation
2) semi-supervised (1% 혹은 10%의 데이터로 학습)
3) transfer learning (linear classifier를 붙인 후 hparams tuning)
그 외
Limitations