https://arxiv.org/abs/2112.12750
SLIP: Self-supervision meets Language-Image Pre-training
Recent work has shown that self-supervised pre-training leads to improvements over supervised learning on challenging visual recognition tasks. CLIP, an exciting new approach to learning with language supervision, demonstrates promising performance on a wi
arxiv.org
Introduction
최근 딥러닝의 발전은 표현을 사전 학습하는 방식에서 비롯된다.
CV 분야에서는 지도 학습과 비지도 학습의 일종인 자가 지도 학습이 대표적인 학습 방법으로 자리 잡고 있다.
현재까지 sota 모델은 massive data에 기반한 지도 학습에 의존하고 있으며, 자가 지도 학습은 최근에 대조 학습이 발전하면서 대규모 데이터셋에서 성능 향상을 보여주기 시작했다.
반면, 여전히 ImageNet에 크게 의존하고 있으며 YFCC100M과 같은 대규모 미정제 데이터셋은 활용을 할 수 없다.
정제되지 않은 Dataset에는 label이 없어 지도 학습에 사용할 수 없기 때문이다.
CLIP은 이미지와 텍스트 캡션만을 사용하여 레이블이 필요 없는 새로운 학습 방법을 제안하였고, 대규모 데이터셋에서도 좋은 성능을 보였다. SLIP은 CLIP의 언어 감독과 자가 지도 학습을 겹합하여 더 나은 성능을 목표로 하는 프레임워크이다.
SLIP Framework

SLIP은 카테고리 label 없이 시각적 표현을 학습하기 위해 언어 감독과 이미지 자가 지도 학습을 결헙한 프레임워크이다.
사전 학습 중에 입력 이미지의 개별 뷰가 언어 감독 및 이미지 자가 지도 학습 브랜치에 대해 구성되며, 이후 공유 인코더에 전달된다. 학습이 진행되면서 이미지 인코더는 시각적 입력을 유의미하게 표현하도록 학습한다.
Contrastive Language-Image Pre-training
대조 학습이 강력한 시각적 표현을 학습할 수 있음을 보여준 연구가 있다. CLIP은 이미지와 텍스트를 별도의 모달리티별 모델로 임베딩하고 이를 공유 임베딩 공간으로 투영, 정규화한다. 이후 InfoNCE 손실을 사용하여 최종 임베딩을 기반으로 손실을 계산한다. 대조 학습은 이미지 classification을 재학습하지 않고도 zero-shot transfer를 가능하게 한다.
Image Self-Supervision
동일한 이미지의 다양한 뷰나 증강을 유사하게 표현하도록 모델을 훈련시키는 View-based 자가 지도 학습은 강한 결과를 보였다. 대표적인 방법으로는 SimCLR이 있고 SLIP의 자가 지도 학습 목표로 사용한다.
https://harim061.tistory.com/9
A Simple Framework for Contrastive Learning of Visual Representations
https://arxiv.org/pdf/2002.05709https://amitness.com/posts/simclr The Illustrated SimCLR FrameworkA visual guide to the SimCLR framework for contrastive learning of visual representations.amitness.com 해당 논문은 SimCLR이라는 시각적 표현을
harim061.tistory.com
Our Method
SLIP에서 각 순전파 단계에서 모든 이미지는 동일한 인코더를 통해 저리된다. CLIP과 SSL 목표는 관련 임볘딩 계산되며, 단일 스칼라 손실로 합산된다.
SLIP은 두 가지 목표를 동시에 사용하여 이미지를 학습한다.
SLIP-SimCLR 방법
- CLIP의 목표 : 이미지와 캡션(텍스트)을 대조적으로 학습하는 방법. 즉, 관련 있는 이미지와 캡션이 가까워지도록 임베딩을 조정하는 방식
- SimCLR의 목표 : 같은 이미지의 서로 다른 뷰(증강된 버전)가 비슷한 방식으로 표현되도록 학습하는 자가 지도 학습 방법이다.
동작 방식
- 학습할 때 각 이미지가 CLIP과 SimCLR 모두에 사용
- 즉, 하나의 인코더(이미지를 벡터로 변환하는 모델)를 사용해 두 가지 목표를 모두 처리
두 가지 목표에서 나온 손실 값을 합쳐서 하나의 '스칼라 손실'로 만든다. 이 손실 값을 기반으로 모델을 업데이트한다.
이때, SimCLR에서 나온 손실 값은 따로 조정하지 않고 그대로 사용한다. SimCLR의 손실 값 비율을 1.0으로 설정한 것이 잘 작동했다고 논문에 설명되어 있다.

Improved Training Procedure
CLIP은 4억 개의 이미지-텍스트 쌍으로 구성된 데이터셋으로 학습하는 데 초점을 뒀지만, 데이터 증강과 같은 방법을 통해 작은 데이터셋에서 더 좋은 성능을 발휘하도록 개선했다.
Data Augmentation
학습 중에는 각 이미지에 대해 유효한 캡션을 무작위로 샘플링한다. CLIP 분기에서는 이미지를 50%에서 100% 크기로 무작위로 조정하고 잘라내는 글로벌 크롭핑(global cropping)을 적용한다. 자가 지도 학습 분기에서는 MoCo v3에서 사용하는 증강 기법으로 두 가지 뷰를 샘플링한다.
Architecture
Vision Transformer (ViT) 논문에서 소개된 ViT-B/16, ViT-L/16 아키텍처를 사용하고, FLOPs와 파라미터 수에서 ResNet-50과 비슷한 ViT-S/16 아키텍처도 사용한다. 텍스트 인코더는 CLIP에서 사용된 3800만 개의 파라미터를 가진 작은 텍스트 Transformer 모델을 사용하며, 4만 9천 개의 토큰을 가진 바이트-페어 인코딩(byte-pair encoding)과 최대 77개의 컨텍스트 길이를 지원한다.
