What is Constrative Learning?
- Constrative learning은 라벨링이 되지 않은 데이서셋에서 스스로 input과 label을 만들어 pretext task를 수행하는 self supervised learning 중 하나이다.
- Constrative learning은 같은 이미지에서 나온 이미지 조각의 represenation은 서로 가까워지도록, 다른 이미지에서 나온 이미지 조각의 representation은 서로 멀어지도록 학습을 진행한다. 그림을 보면 같은 이미지에서 나온 이미지 조각은 positive pairs로, 다른 이미지에서 나온 이미지 조각은 negative pairs로 분류하여 학습하는 것을 관찰할 수 있다.
이 논문에서는 이런 contrastive learning의 성능을 높이기 위한 4가지 부분을 설명한다.
이렇게 하여 다음과 같이 좋은 성능을 내었다고 한다.
첫째로, stochastic data augmentation module은 input 를 2개의 이미지(, )로 augmentation한다. 물론 이 두 이미지 조각은 둘다 에서 나왔으므로 positive pair이다. 논문에서는 random cropping, random color distortion, random Gaussian blur이 3가지 augmentation을 실험했다.
와 위에 있는 은 input의 representation을 뽑아내는 base encoder이고 논문에서는 이 인코더로 resnet을 사용했고, averaget pooling까지 진행해주었다고 한다.
은 constrative loss가 적용되는 단계인데, 이 단계에서는 1개의 hidden layer가 있는 MLP와 relu함수를 사용했다고 한다.
Loss Function
이 논문에서는 data augmentation의 성능을 비교하기 위해서 다음의 방법들을 사용하여 비교를 했다.
(이 부분은 제대로 이해해 했는지는 모르지만) 논문에서는 ImageNet의 데이터를 사용하였고, 문제는 이 데이터셋의 이미지크기가 일정하지 않은 것이었다 이를 해결하기 위해, 일단 이미지를 crop & reseizing을 해주고 난 후, 이를 모델에 넣어주었다. 이때 모델에서는 augmentation을 실행하게 되는데 branch의 한 쪽 부분만 추가적인 augmentation을 해주는 것이다. 이는 모델의 성능을 떨어뜨리지만 목표는 augmention의 종류별 성능을 비교하는 것이니 그럼에도 불구하고 이렇게 실험을 진행하였다고 한다.
2가지의 방법을 결합하여 augmentation을 진행하였고, 그 결과를 비교하여 표로 나타낸 것이 다음 그림이다. 그림에서 볼 수 있듯이 color와 crop의 방법을 적용한 것이 가장 성능이 좋았다.
저 위의 두 방법이 성능이 좋은 이유는 이미지를 crop만 하게 되면 Figure 6.(a)처럼 crop된 사진들의 색 분포가 비슷할 수 있다. 논문에서는 이를 color distortion을 적용해서 이미지 색의 다양성을 늘리고 학습 성능을 올리는 것으로 해석하고 있다. 실제로 Figure 6.(b)를 보면 색의 분포가 다양해진 것을 관찰할 수 있다.
color distortion의 강도에 따른 모델의 성능을 조사해 보았다. 놀랍게도, distortion의 강도가 높아질수록 SimCLR의 성능은 높아졌다. 반면에 supervised learing의 성능은 오히려 떨어지는 것을 확인할 수 있다. 이를 통해 supervised learning에 도움이 되지 않는 augmentation도 self-supervised learning에는 좋은 영향을 끼칠 수 있다는 것을 알 수 있다.
모델의 용량, 파라미터가 많을 수록 성능이 높아진다.
이 부분은 Figure 2에서 projection에 해당하는 g(h)에 대해서 설명하였다. g함수는 projection함수인데 이 projection이 linear할 때와 non-linear할때, 없을 때를 비교하여 Figure 8에 정리하였다. Figure 8에서 보면 알 수 있듯이 non-linear projection을 적용했을 때 가장 성능이 좋은 것을 볼 수 있다.
또한, projection전의 hidden layer에서의 성능이 그 이후 projection을 적용한 layer보다 성능이 좋았는데, 이는 hidden layer가 더 좋은 representation을 포함하는 것을 뜻한다. 논문에서는 g 함수는 transform에 대해서 변함이 없게 학습이 되어야하고, 이로 인해 downstream tas에 유용한 정보가 이 과정에서 삭제된 것으로 추측했다.
이 추측이 맞는지 확인해보기 위해 실험을 진행했고, Table 3에서 보면 이 추측이 맞다고 판단할 수 있다.
Table 4
에서는 NT-Xent loss를 다른 loss function과 비교하였고, Table 5
에서는 normalization과 temperature에 따른 모델의 성능을 정리하였다.Figure 9
에 정리하였다.참조