https://arxiv.org/abs/2312.17742
CVPR 2024
Abstract
- SynCLR은 실제 데이터 없이 합성 이미지와 합성 캡션만을 사용하여 시각적 표현을 학습
- LLMs를 사용하여 대규모의 이미지 캡션 데이터셋을 합성한 후, 각 합성 캡션에 해당하는 여러 이미지를 생성하기 위해 시중에 나와 있는 텍스트에서 이미지로의 모델을 사용
- 이러한 합성 이미지에 대해 대조 학습을 통해 시각적 표현 학습을 수행하며, 동일한 캡션을 공유하는 이미지를 Positive 쌍으로 취급
- 그 결과로 얻은 표현은 다양한 Downstream task에 잘 전이되며, CLIP 및 DINOv2와 같은 일반적인 용도의 시각적 표현 방법과 비교하여 이미지 분류 작업에서 나은 결과를 얻음
- 더 나아가, Semantic segmentation과 같은 Dense prediction 작업에서, SynCLR은 이전의 SSL 방법들을 큰 폭으로 능가하여, 예를 들어 ViT-B/16에 대해 ADE20k에서 MAE와 iBOT보다 6.2 및 4.3 mIoU를 향상시킴
1. Introduction
- 표현 학습은 원시 데이터로부터 정보를 추출
- Curated 데이터의 품질, 양 및 다양성은 모델이 학습할 수 있는 표현의 품질을 결정
- 현재 최고 성능의 시각적 표현 학습 방법들은 대규모 실제 데이터셋에 의존
- 그러나 실제 데이터를 수집하는 것에는 자체적인 딜레마가 있음
- 이 논문에서는 생성 모델에서 샘플링된 합성 데이터가 시각적 표현을 학습시킬 수 있는지를 조사
- 이를 "paradigm learning from models" 으로 부르고, 이는 데이터로부터 직접 학습하는 것과 대조됨
- 모델은 대규모 훈련 세트를 구축하기 위한 데이터 소스로서 여러 장점을 가지고 있음: 잠재 변수, 조건 변수 및 하이퍼파라미터를 통해, 데이터를 선별하기 위한 새로운 "제어" 기능을 제공
- 이 논문에서 제안한 방법은 이러한 "제어"를 활용

- 실제 데이터를 학습하지 않고 모델로부터 학습하는 것이 최고 성능의 표현과 동등한 표현을 얻을 수 있다는 것을 보여줌
- 예를 들어, 위 그림에서와 같이, 논문의 방법으로 학습한 표현은 ImageNet에서 OpenAI의 CLIP와 동일한 수준의 전이 능력을 가지고 있음

- 이 접근 방식은 생성 모델을 활용하여 시각적 클래스의 세분성을 재정의
- 위 그림에서 보여진 것처럼, 두 개의 프롬프트를 사용하여 생성된 네 개의 이미지를 고려한 예시:
"골든 리트리버가 선글라스와 해변 모자를 쓴 채 자전거를 타고 있다"
"커트한 골든 리트리버가 스시로 만든 집에 앉아 있다"
- 전통적인 자기 지도 방법인 SimCLR은 각 이미지를 서로 다른 클래스로 처리할 것임
- 다른 이미지에 대한 임베딩은 공유된 의미를 고려하지 않고 떨어져 나감
- 반면에, 지도 학습 방법 (예: SupCE)은 모든 이미지를 단일 클래스로 간주할 것임 (예: "골든 리트리버")
- 이는 이미지의 의미에 대한 세부 사항을 무시함
- 즉, 한 쌍의 이미지에서 개가 자전거를 타고 있고 다른 쌍의 이미지에서는 스시 집 안에 앉아 있는 것과 같은 차이를 무시함
- 대신에, 이 논문의 방법인 SynCLR은 캡션을 클래스로 취급
- 즉, 각 캡션이 시각적 클래스를 설명함
- 이를 통해 "자전거를 타는" 및 "스시 집에 앉는" 개념에 따라 이미지를 그룹화할 수 있음
- 또한 "골든 리트리버"와 같은 보다 덜 세분화된 클래스 레이블로 그룹화하는 것 외에도 가능함
- 이러한 세분성은 실제 데이터에서 채굴하기 어려운 수준임
3. Approach
- 이 논문에서는 실제 이미지나 텍스트 데이터가 없는 상황에서 시각 인코더를 학습하는 문제를 연구
- 이 접근 방식은 세 가지 주요 자원을 활용하는 데에 중점을 둠
1) 언어 생성 모델 (g1)
2) 텍스트에서 이미지로의 생성 모델 (g2)
3) 시각적 개념의 정제된 목록 (C)
- 탐색은 아래의 세 단계로 이루어 짐
(1) g1을 사용하여 이미지 설명의 포괄적인 집합인 T를 합성. 이는 C 안에 있는 시각적 개념의 범위를 포함.
(2) T 내의 각 캡션에 대해 g2를 사용하여 여러 이미지를 생성하고, 이는 X라는 광범위한 합성 이미지 데이터셋으로 이어짐.
(3) X에서 훈련하여 시각적 표현 인코더 f를 얻음. 빠른 추론 속도 때문에 g1으로 Llama-27B를, 그리고 g2로 Stable Diffusion 1.5를 사용. 앞으로 더 나은 g1과 g2가 이 접근 방식의 효과를 더 향상시킬 것으로 기대
3.1. Synthesizing captions
- LLMs의 문맥 학습 능력을 활용하여 이러한 대규모 캡션 모음을 생성하기 위한 확장 가능한 접근 방식을 제안
- ImageNet21k와 Places-365와 같은 기존 데이터셋에서 개념 목록 C를 수집하여 시작
- 각 개념 c∈C에 대해 효과적으로 캡션을 생성하기 위해 세 가지 간단한 템플릿을 고려
- c → 캡션: 가장 직접적이고 간단한 방법으로, 개념 c에 대한 문장을 생성하기 위해 Llama-2 모델에서 샘플링
- c, bg → 캡션: 시각적 개념 c와 배경 또는 설정 bg를 결합. 단순한 방법은 c와 bg를 모두 무작위로 선택. 그러나 이 방법은 종종 현실 세계에서 이상한 조합을 생성. (예를 들어, 축구장에 파란 고래가 있는 경우)
- c, rel → 캡션: 시각적 개념 c가 주어진 경우, 위치 관계 단어 rel과 짝을 이룸. 예를 들어, c가 고양이를 나타내고 rel이 "앞에"를 의미한다면, 우리는 LLM에게 "쇼파 앞에서 생선을 즐기는 귀여운 노란 고양이"와 같은 캡션을 생성하도록 유도
- 아래의 예시를 참고


3.2. Synthesizing Images
- 각 텍스트 캡션마다, 서로 다른 무작위 노이즈를 사용하여 역확산(reverse diffusion) 프로세스를 시작함으로써 다양한 이미지를 생성
- 분류기 없는 가이던스(CFG) 스케일은 이 프로세스에서 중요한 요소
- 높은 CFG 스케일은 샘플의 품질과 텍스트와 이미지 간의 정렬을 향상시키는 반면, 낮은 스케일은 더 다양한 샘플을 생성하고 주어진 텍스트를 기반으로 이미지의 원래 조건부 분포에 더 잘 부합
- StableRep에서 사용된 접근 방식을 따라, 특히 2.5로 설정된 낮은 CFG 스케일을 선택하고 각 캡션에 대해 4개의 이미지를 생성
- 이러한 이미지의 예는 Figure 4에서 확인할 수 있음

3.3. Representation Learning
StableRep
- 이 논문에서는 StableRep 기반 표현 학습 방법 사용
- StableRep은 참조 이미지와 일련의 후보 이미지 집합 {b1,b2,...,bK} 간의 교차 엔트로피 손실을 최소화
- 여기서 contrastive assignment distribution은 모델이 a 및 각 bt가 동일한 캡션에서 생성될 가능성을 설명하고, 실제 일치하는 contrastive assignment distribution은 a와 b 간의 실제 일치임 (a가 여러 b에 일치할 수 있음)
qi=∑j=1Kexp(a⋅bj/τ)exp(a⋅bi/τ)
pi=∑j=1K1match(a,bj)1match(a,bi)
- τ ∈ R⁺ 는 스칼라 온도이며, 모든 b는 ℓ2 정규화되었고, 지시 함수 "match" 는 두 샘플이 동일한 캡션에서 왔는지 여부를 나타냄
- a에 대한 contrastive loss는 다음과 같음:
L(a)=H(p,q)=−∑i=1Kpilogqi
iBOT
- iBOT는 마스킹된 이미지 모델링 objective로, 지역화된 패치가 마스킹되고 모델은 해당 마스킹된 패치의 토큰화된 표현을 예측
- 이는 이미지 수준에서 DINO objective를 패치 수준으로 적용
- Softmax 중심화 방법을 반복적인 Sinkhorn-Knopp(SK) 알고리즘으로 교체
- 예측 대상을 구축하기 위해 SK를 3번 반복하여 실행
ExponentialMovingAverage(EMA)
- 지수 이동 평균(EMA)은 MoCo에 의해 처음으로 자기 지도 학습에 도입
- EMA를 사용하여 샘플을 인코딩하여 iBOT 손실의 대상을 생성
- EMA 모듈이 최종 성능을 향상시키는 데에만 도움이 되는 것뿐만 아니라 학습 안정성을 향상시키는 것으로 발견
Multi-crops
- 컴퓨팅 효율성을 향상시키는 방법으로 도입되었으며, 본 논문에서도 채택
- 이러한 로컬 크롭들에 대해서는 대조 손실만을 사용하고 iBOT 손실을 생략
- 로컬 크롭들은 Student 네트워크에 의해서만 인코딩되고 EMA 모델에 의해 인코딩된 동일한 캡션의 글로벌 크롭들과 일치됨
- 이러한 글로벌 크롭의 재사용은 계산을 절약
- 각 이미지 x에 대해, 로컬 크롭 xl과 함께 단일 글로벌 크롭 x를 생성하며, 최종 손실은 다음과 같이 표현될 수 있음:
L(xg)+n1∑i=1nL(xil)+LiBOT(xg)
4. Experiment

- 결과는 테이블 2에 요약되어 있으며, 단일 방법에 의해 선호되는 편견을 피하기 위해 StableRep와 SynCLR을 모두 학습
- 실제 캡션 데이터 세트 cc12m과 비교하면, IN과 Places 클래스 이름을 단순히 연결하는 것은 ImageNet의 선형 정확도를 향상시키지만 미세한 분류 성능을 감소시킴
- 흥미롭게도, Llama에게 IN과 Places 클래스를 캡션으로 결합하도록 단순히 요청하면 가장 나쁜 성능을 보임
- 장소에서 무작위 배경을 GPT에서 생성된 배경으로 대체하는 것이 정확도를 향상시킴
-> 이것은 실제 캡션 분포를 따르는 캡션을 합성하는 중요성을 보여줌
-> 이것들은 텍스트에서 이미지로의 모델을 훈련하는 데 사용된 실제 캡션을 학습하기 위해 사용
- 마지막으로, SynCLR의 완전한 구성은 ImageNet 및 미세한 분류에서 최고의 정확도를 달성
- 이 논문에서의 합성 방법의 또 다른 장점은 확장 가능성
-> 몇 억 개의 캡션까지 확장할 수 있으며, 중복이 거의 없음
-> 반면에 IN 클래스를 Places 클래스와 연결하면 최대 365,000개의 고유한 캡션이 있을 뿐임

ImageNet linear evaluation
- 공정한 비교를 위해 모든 모델에서 마지막 블록의 cls 토큰이 표현으로 사용(DINOv2의 경우 여러 레이어를 연결한 결과).
- Table 6에 나와 있듯이, SynCLR은 ViT-B에서 80.7%를 달성하고, ViT-L에서 83.0%를 달성
- 이는 CLIP와 유사하지만, 여전히 DINOv2보다 각각 3.2%와 2.7% 뒤쳐지며, 이는 DINOv2에서의 추가 증류로 인한 부분임
- SynCLR이 이미지넷 1k에 직접 사전 훈련된 다른 자기 지도 학습 방법을 이미 능가했음을 보여줌 (예: DINO는 ViT-B/16에서 78.2%를 달성하고 iBOT는 ViT-L/16에서 81.0%를 달성)
Fine-grained classification
- Table 6에서 평가한 9개의 미세 분류 데이터셋에서 SynCLR은 DINOv2와 매우 유사한 평균 정확도를 달성
- 예를 들어, ViT-B의 경우 89.0% 대 89.0%, ViT-L의 경우 90.1% 대 90.4%
- SynCLR과 DINOv2는 이러한 데이터셋의 분포를 포함하도록 사전 훈련 데이터를 정제했으며(하지만 서로 다른 방식과 부분에서), 유사한 성능을 얻음
- 흥미롭게도, SynCLR은 항공기와 자동차에서 다른 모델을 능가하는데, 이는 이러한 클래스에 더 자주 샘플링을 선호하기 때문일 것임
- 이는 어떤 downstream 작업을 해결해야 하는지를 알 때 합성 데이터에 대한 장점이 될 수 있음
- 또한, SynCLR은 ViT-B에서 CLIP 및 StableRep을 각각 3.3%와 5.6% 능가
Scaling behavior

- 다양한 크기의 랜덤 하위 집합(1M, 3M, 10M, 40M, 그리고 포괄적인 150M(캡션의 수로 측정))을 사용하여 ViT-B 및 ViT-L 모델을 학습
- 이러한 모델들은 줄어든 스케줄(300,000 단계)에서 학습되며 배치 크기는 2048
- 선형 프로빙 결과는 Figure 6 및 7에 표기
- 이러한 결과는 ViT-B 모델이 10M 규모에서 견고한 성능을 제공하며, 이 지점 이상에서는 성능 향상이 감소함을 보여줌
- 반면에, ViT-L 모델은 데이터에 대한 더 큰 수요를 나타내며(즉, 3M 규모에서 ViT-B의 성능을 뒤쳐지는 경우가 있음), 데이터와 함께 더 잘 확장됨
5. Discussions and Conclusion
Why learn from generative models?
- 하나의 설득력 있는 이유는 생성 모델이 동시에 수백 개의 데이터셋처럼 작용할 수 있다는 것
- 전통적으로 연구자들은 차, 꽃, 고양이, 개 등과 같은 다른 이미지 카테고리에 대한 데이터셋을 따로 수집해야 했음
- DINO v2는 이러한 다양한 데이터셋을 정제하고 통합함으로써 견고한 표현을 달성
- 이러한 과정은 클러스터링 및 검색과 같은 복잡성을 도입
- 반면에, Stable Diffusion 또는 Imagen과 같은 고급 텍스트 대 이미지 생성 모델은 다양한 데이터셋을 생성할 수 있는 능력을 갖추고 있고, 이러한 모델은 텍스트 입력을 통해 생성 프로세스를 제어하고 무한한 수의 샘플을 생성하는 유연성을 제공
- 결과적으로, 생성 모델은 효율적이고 효과적인 수단으로 학습 데이터를 정제하는 데 편리한 방법을 제공
What can be further improved?
- 향상된 캡션 세트는 다양한 방법을 통해 달성할 수 있음
- 예를 들어, 인과관계 예제 집합을 보강하고, 다른 개념 간의 샘플링 비율을 최적화하며, 더 고급화된 LLMs를 활용할 수 있음
Summary
- 요약하자면, 본 논문은 시각적 표현 학습에 대한 새로운 패러다임인 생성 모델로부터의 학습을 연구
- SynCLR은 어떠한 실제 데이터도 사용하지 않고, 일반적인 시각적 표현 학습자들이 달성한 것과 비교할 수 있는 시각적 표현을 학습