논문

Learning Transferable Visual Models From Natural Language Supervision - CLIP

Beige00 2024. 6. 27. 23:13

1. Introduction and Motivating Work

Autoregressive나 masked language modeling과 같은 Task-agnostic objective들은 compute, model capacity 및 데이터에서 여러 단계로 확장되어왔다. 또한 표준화된 입출력 인터페이스로서 "Text to Text"와 같은 개발은 작업에 구애받지 않는 아키텍처가 다운스트림 데이터 세트로 Zeroshot 전송할 수 있게 되며 일일히 데이터 세트에 라벨링을 하거나 전문 출력 헤드를 추가하거나 하는 필요성이 없어졌다.

그러나 Computer Vision 쪽에서는 ImageNet과 같이 Clowd-labeled dataset을 이용해 pre-train을 하는 것이 표준 관행이다. 만약 웹 텍스트로부터 직접 학습하는 Scalable한 pre-train 방법을 CV에 적용하면 어떨까?


 2. Approach

-  Natural Language Supervision

CLIP의 접근 방식의 핵심은 자연어에 포함된 Supervision으로부터 perception을 학습한다는 것이다.

자연어를 통한 학습은 다른 훈련 방법들보다 여러 강점을 지니고 있다.

Image Classification을 위한 표준 Crowd sourced labeling과 비교할 때, Natural Supervision은 고전적인 1-of-N 다수결 라벨링(gold label)이 필요하지 않기 때문에 확장성이 좋다.(번거롭지 않다.)

또한 자연어로 학습하는 것은 단순히 표현을 학습하는 것이 아니라 그 표현을 언어와 연결시켜 유연한 zero-shot 전환을 가능하게 한다.

 

- Creating a Sufficiently Large Dataset

자연어로 학습을 함으로써 인터넷 상에서의 공개적으로 많은 양의 데이터를 사용가능할 수 있게 되었다.

따라서 일반적인 데이터 셋으로는 CLIP의 방대한 양의 데이터 활용 가능성을 제대로 평가하지 못할 것이다.

이를 해결하기 위해, 공개적으로 이용 가능한 소스에서 수집된 4억 개의 (Image, Text) 쌍으로 구성된 새로운 데이터 셋을 만들었다. 이 데이터 셋은 가능한 광범위한 Vision concept을 포함하도록 설계되었으며, 구축 과정에서 500,000개의 쿼리중 하나를 포함하는 텍스트를 가진 (I,T) 쌍을 검색합니다. 결과적으로 생성된 데이터 셋은 쿼리당 최대 20000개의 (I,T) 쌍을 포함하여 클래스 균형을 맞추고, 이 데이터 셋을 WIT(WebImageText)라고 부르기로 했다.

 

- Selecting an Efficient Pre-Training Method

최첨단 CV 시스템은 정말로 막대한 계산 자원을 필요로 하는 경우가 많다.

예를 들면 ResNeXt101-32x48d를 학습 시키는데 19 GPU year가 필요했던 경우이다.

이러한 시스템들이 단지 1000개의 ImageNet Class를 예측하기 위해 필요한 시간이란 것을 고려하면, natural language에서 open set에 대한 visual concept을 학습하는 작업은 거의 불가능해보이기까지 한다.

그러나  Natual language supervision으로 효과적으로 확장하는 방법이 있다. "훈련 효율성"을 기준으로 최종 pre-train

method를 선택하는 것이다.

초기 접근 방식은 VirTex와 유사하게 이미지의 caption을 예측하기 위해 이미지 CNN과 text transformer를 처음부터 함께 훈련시켰다. 그러나 이 방법은 효율적으로 확장을 하는데 문제가 있었다. 실제로 위의 그림을 보면 6300만 개의 파라미터를 가진 트랜스포머 언어 모델이 이미 ResNet-50 이미지 인코더의 2 배 이상 계산력을 사용하며 같은 텍스트의 Bag of Words를 예측하는 간단한 모델보다도 훨씬 성능이 나오지 않는다는 것을 알 수 있었다.

Bag of Words와 transformer의 접근법은 결국 각 이미지와 동반하는 텍스트의 정확한 단어를 예측하고자 하는 것이다. 이는 이미지와 함께 발생하는 다양한 설명, 코멘트 및 관련 텍스트들로 인해 어려운 작업이다.

따라서 최근 이미지의 대조적 표현 학습에 관한 연구에서 대조적 목표가 예측 목표보다 더 나은 표현을 학습할 수 있다는 사실을 이용할 것이다.

텍스트의 정확한 단어가 아닌, 텍스트 전체가 어느 이미지와 짝을 이루는지만 예측하는 잠재적으로 더 쉬운 proxy task를 해결하도록 시스템을 훈련시키는 것이다.

실례로 N개의 (I,T) 쌍의 배치가 있다고 가정하면, CLIP은 해당 배치 내에서 실제로 발생한 N*N의 가능한 쌍중 어떤 것이 실제로 발생했는지를 예측하게 훈련된다. 이를 위해 CLIP은 이미지 인코더와 텍스트 인코더를 공동으로 훈련시켜, 배치 내의 N개의 실제 쌍의 이미지와 텍스트 임베딩의 cosine simlarity를 최대화하고, N^2 - N 개의 잘못된 쌍의 임베딩 유사성을 최소화함으로써 multi modal embedding space를 학습한다. 그리고 이렇게 도출된 cosine similarity score에 대해 Cross entrophy Loss function을 최적화 하는 것이다.

batch를 사용해 N^2의 matrix를 한번에 계산하며 빠른 학습을 가져갈 수 있었다.

위의 사진은 CLIP의 구현과 핵심에 대한 pseudo code이다.

사용할 Pre-trained dataset이 매우 크기 때문에, Overfitting은 큰 문제가 되지 않는다. 또한 이미지 인코더는 사전 훈련된 Weight으로 초기화하지 않고 처음부터 훈련시킨다.

또한 각 인코더의 표현을 multimodal embedding space로 mapping하기 위해 선형 투영을 사용한다.

그리고 사전 훈련 데이터 셋의 많은 (I,T)쌍이 단일 문장만을 포함하므로 샘플링 변환 함수 등을 제거하고, 크기가 조정된 이미지에서 무작위로 정사각형을 삭제하며 데이터 증강을 한 것이 사용한 증강법의 전부이다.

마지막으로 SoftMax에서 logit의 범위를 제어하는 온도 매개변수 t는 log-parameterized된 곱샘 Scalar로써, 훈련 중에 자동 최적화 된다.

 

- Choosing and Scaling a Model

 

이미지 인코더로는 2가지를 고려하였다.

첫 번째는 ResNet-50을 baseline으로 사용한다. 또한 global average pooling layer를 attetion 매커니즘이 적용된 pooling 방식으로 교체한다. 

모델에서 Attention 매커니즘이 적용된 pooling은 transformer style multi head QKV atteition을 단일 레이어로 구현한 것이다. 또한 여기서 Query는 이미지의 global average pooling 표현에 따라 결정된다.

더보기

Transformer multi-head QKV attention 이란 각기 다른 시점에서 입력 데이터를 평가하고, 서로 다른 방식으로 정보를 처리하는 여러 개의 Attention head를 사용한다. 여기서 QKV는 Query, Key, Value의 약자로, Q-K의 유사도를 계산하여 Softmax로 정규화 하고, 해당 정규화 Score와 V를 weighted sum을 하는 것이다.

이는 입력된 데이터가 주변 정보를 어떻게 통합하는 지를 결정한다.

두 번째 아키텍처로는 최근에 도입된 ViT를 실험한다. 

 

텍스트 인코더는 Vaswani et al. (2017)의 트래스 포머에 Radford et al.(2019)의 아키텍처 수정을 적용한 것이다. 기본 크기로는 6300만 개의 파라미터, 12 layer, 5120 wide model에 8개의 Attention head를 사용한다. 또한 텍스트 인코더는 masking된 self-attention을 사용하여 pre-train된 언어 모델로 초기화하거나 언어 모델링을 보조 목적으로 추가할 수도 있다.(텍스트의 BPE representation을 이용하였다고 한다.)

 

또한 ResNet image encoder는 모델의 width, depth 등을 개별로 늘리지 않고, 전체에 추가적인 계산을 할당하는 방법을 사용한다.(동등하게 늘리는 간단한 기준 사용.)

Text encoder의 경우 모델의 width만 ResNet의 width 증가에 비례하여 확장하고 depth는 확장하지 않는다. (CLIP의 성능이 Text encoder의 용량에 덜 민감하기 때문.)

 

결론적으로 학습은 5개의 ResNet, 3개의 ViT를 Image Encoder로, openAI에서 개발한 text encoder를 활용하여 32 epoch를 학습하였고, Optimizer로는 Adam을 사용했다. 이미지 인코더중 가장 큰 ResNet 모델인 RN50x64의 경우 592개의 NVIDIA Tesla V100에서 18일이 걸렸다고 한다.


3. Training

1. Motivation

- Zero-shot Transfer

CV에서 제로샷 학습은 일반적으로 이미지 분류에서 보지 못한 객체 카테고리로 일반화하는 것을 가리킨다.(Unseen data의 처리) 본 연구에서는 보지 못한 "dataset"에 대한 일반화를 목표로 연구를 한다. 

이러한 접근은 unsupervised learning에서 일반적으로 집중되는 표현 학습(데이터의 특성을 포착하는 모델의 능력)이 아닌, 모델이 실제로 다양한 작업을 수행할 수 있는 능력, 즉, 작업 학습 능력에 초점을 맞춘다. 이는 모델이 특정 작업만이 아니라 보다 다양한 환경과 조건에서도 잘 작동할 수 있게 만드는데 중요하다.

더 나아가, 일반적으로 사용되는 많은 CV dataset은 특정 작업의 성능을 측정하기보다는 이미지 분류 같은 일반적인 방법을 개발하고 평가하는데 사용이 되어왔다. (ex : CIFAR-10 dataset의 경우에는 특정 작업을 집중 측정한다기 보다는 이미지에서 다양한 객체를 인식하는 일반적인 능력을 평가한다. 따라서 CIFAR-10이 어떠한 작업을 평가했는지는 명확하지 않다.)

이러한 dataset에서 Zero-shot Transfer는 작업 일반화보다는 CLIP의 분포 이동과 도메인 일반화에 대한 견고성 평가이다.

 

2. Using CLIP For Zero-shot Transfer

CLIP은 Image와 Text Snippet이 data set에서 함께 연결되어 있는지 예측하도록 사전 훈련된다. 제로샷 분류를 수행하기 위해 이 능력을 사용 가능한데, 각 데이터셋의 모든 클래스 이름을 Text 쌍으로 활용하고, CLIP에 따라 가장 높은 (I,T) 쌍을 예측하는 걸로 활용이 가능하다.

쉽게 말하자면, dataSet의 모든 클래스 이름과 Image를 매치해서 가장 유력한 쌍을 찾는 것이다.

먼저 이미지의 특성 임베딩과 가능한 텍스트 집합의 특성 임베딩을 각각 인코더로 계산하고, 이 임베딩들의 Cosine Similarity를 계산한 다음, Temperature param τ로 Scaling하고 softmax를 통해 확률 분포로 변환한다.

이 값을 통해 각 클래스에 대한 모델의 confidence를 확률로 표현한다.

다음의 예측 계층을 가지게 된다.

이렇게 되면, 이미지 인코더는 이미지에 대한 특성 표현을 계산하는 CV Backbone이 되고, 텍스트 인코더는 시각적 개념을 명시하는 텍스트를 기반으로 선형 분류기의 가중치를 생성하는 hyper network가 된다.

더보기

* Hyper Network란?

하나의 신경망이 다른 신경망의 가중치를 생성하는 아이디어를 기반으로 한 신경망 구조.

이를 이용하면 신경망의 매개변수를 동적으로 생성할 수 있게 된다.

CLIP의 pre-train의 모든 단계는 CV dataset를 다루는 것처럼 설계되어있다. 그러나 이 dataset은 실제로는 임의로 생성된 것이며 각 class마다 하나의 예시만 포함하고 총 32,768개의 클래스를 자연어로 설명된 형태로 정의된다.

제로샷 평가를 위해서는, 한 번 계산된 제로샷 분류기를 저장하고(caching) 모든 후속 예측에 대해 재사용한다.

이를 통해 생성 비용을 dataset의 예측 단계에 분산시킬 수 있다.

 

3. Initial Comparison to Visual N-Grams

CLIP 모델이 제로샷 학습 방식으로 좋은 모델이라는 것을 실험을 통해 증명한다. 대량의 라벨이 붙은 데이터가 없어도 이미지 분류 작업에서 높은 정확도를 달성하였다. 즉, CLIP은 라벨링된 훈련데이터 없이도 이미지 분류 작업에서 높은 정확도를 달성할 수 있는 것이다. 이는 CLIP이 유연하고 실용적인 Zero-shot CV Classifier로 가는 중요한 단계임을 시사한다.

또한 다음의 표를 통해 보면, Visual N-Grams에서처럼 pre-train된 ImageNet 가중치에서 초기화하지 않고 처음부터 훈련하여도 뛰어난 학습 능력을 CLIP은 보유하고 있다는 것을 알 수 있고, 이는 Clip 모델이 다양한 dataset에서 강력한 서응을 낼 수 있는 잠재력을 가지고 있음을 보여준다.

더보기

Visual N-Gram의 학습 방법

1. 패턴 및 시퀀스 식별 : 이미지에서 반복적으로 나타나는 패턴을 N-Gram으로 식별.

2. 생성된 N-Gram을 기반으로 특징 벡터 생성.

3. 모델 학습 : 특징 벡터를 사용하여 모델 학습.

 

4. Prompt Engineering And Ensembling

 

대부분의 표준 이미지 분류 dataset은 Natural Language 기반 zero-shot transfer를 가능하게 하는 클래스의 이름이나 설명을 사후적으로 다룬다. 대다수의 dataset은 이미지에 Label Encoding 된 것과 같은 숫자 ID로 라벨을 붙이고, 이 ID를 영어 이름으로 매핑하는 파일을 별도로 포함하고 있다.

그러나 Flowers102와 GTSRB와 같은 일부 dataset은 이러한 매핑을 포함하지 않고 있어서 이러한 데이터에는 제로샷 전이가 불가능하다. 또한 많은 데이터 셋에서 이 라벨들이 다소 무계획적으로 선택되며, 제로샷 전이에 필수적인 작업 설명을 고려하지 않고 있다는 사실도 문제이다.(제로샷 전이는 작업 설명에 의존한다.)

쉽게 말하자면, 제로샷을 성공시키기 위해서는 새로운 클래스 이미지를 주며 설명을 자세히 해줘야하는데, 현실에 존재하는 많은 데이터셋이 단순이 이미지에 숫자 ID를 할당하고, 이를 영어 이름에 매핑하는(ex : '1' => 사람) 정도의 정보를 제공하는데 그친다는 것이다. 이는 Natural Language Supervision을 통한 클래스 인식에 많이 부족한 정보이다.

심지어 매핑 자체가 없어서(설명이 없다.) 제로샷 자체가 불가능한 경우도 있다.

(Few shot의 경우에는 해당 ID에 해당하는 예시를 주어 인식시킬 수 있겠지만, Zero shot은 불가능하다.)

이러한 문제 중 흔한 문제는 "동음이의어"이다. Class의 이름이 CLIP의 text encoder의 유일한 input일 때, 충분한 설명과 맥락이 부족하여 어떤 의미의 단어인지 구분을 할 수 없게 되는 것이다. 또한 떄로는 같은 단어의 여러 뜻이 같은 DATASET에 다른 클래스로 포함이 가능하다.

 

또 다른 문제로는 pre train dataset에서 이미지와 짝을 이룬 텍스트가 단어 하나로만 이루어진 경우가 드물다는 것이다.

보통 텍스트는 어떤 방식으로든 이미지를 설명하는 완전한 문장이다. 이러한 분포 격차를 해소하기 위해, "A photo of a {label}." 이라는 프롬프트 템플릿을 사용하는 것이 가장 좋은 기본 값이라고 한다.

GPT-3에서와 유사하게, 특정 작업에 맞춰 프롬프트 텍스트를 사용자화함으로써 제로샷 성능이 상당히 개선될 수 있다는 점을 관찰할 수 있다. 이를 테면 "A photo of a {label}, a type of {title}" 과 같이 명시하는 것이다. (해당 빈 칸을 맞추게 함.)

프롬프트에 단서를 섞어서 주는 형태인 것 같다.

 

성능을 향상시키는 방법으로 본 연구에서는 여러 zeroshot classifier를 ensembling하는 방법을 채택하였다.

이 Classifier들은 다양한 컨텍스트 프롬프트를 개별적으로 가지고 학습하며, 그 결과들은 임베딩 공간에서 앙상블 된다.

(평균, 최댓값, 가중 평균 등)

더보기

임베딩 공간에서 앙상블 될 때 장점

1. 유연하다. (특징 벡터를 수정해서 앙상블 가능. => 다양한 데이터에서 동작.)

2. 임베딩된 특징 벡터들을 직접 결합하기 때문에 정보의 손실이 없다.

3. 고차원 데이터 처리에 적합하다.

이렇게 임베딩된 단일 특징 벡터를 캐시하여 사용함으로써 예측에서 단일 Classifier를 사용하는 것과 같이 사용한다.

이러한 프롬프트 엔지니어링의 결과로 단일 기본 프롬프트 보다 5%정도의 ImageNet 정확도를 향상시켰다고 한다.

 

5. Analysis of zero-shot CLIP performance

해당 결과를 통해 zero-shot CLIP이 fully supervised linear classifier와 비교 했을 떄 경쟁력이 있다는 것을 알 수 있다.

위 결과에서 크게 CLIP이 성능이 떨어지는 부분이 있다. 구체적으로는 세밀한 분류 작업에서 성능의 편차가 큰데, 예를 들어 'Stanford Cars"와 "Food101"에서 zero-shot CLIP은 ResNet-50을 활용한 로지스틱 회귀보다 20% 이상 좋았으나,  "Flower 102"와 "FGVC Aircraft"에서는 성능이 저조했다. 이러한 성능 차이는 주로 WIT와 ImageNet 간의 각 작작업에 대한 supervision의 차이에서 비롯된 것으로 추정된다.

Zero-shot CLIP이 현저하게 성능이 저하되는 부분을 살펴보면, zero-shot CLIP은 위성 이미지 분류(EuroSAT 및 RESISC45), 림프절 종양 탐지(PatchCamelyon), 합성 장면에서 객체 세기(CLEVRCounts 등과 같은 자율 주행 관련 작업, 가장 가까운 차와의 거리 인식(KITTI Distance)등과 같은 몇몇 전문적이고 복잡하거나 추상적인 작업에서 약한 모습을 보인다. 즉, zero-shot CLIP은 복잡한 작업에서 약한 모습을 보인다. 즉, 모델이 복잡하고 전문적인 작업을 수행할 수 있는 능력의 개선이 필요하다는 것이다.

 

zero-shot 성능을 fully supervise model과 비교하는 것은 CLIP의 학습 능력을 맥락화하는 데 도움이 되지만, zero-shot의 한계점을 고려하면(라벨의 정보 부족) Few shot 방법과의 비교가 더 직접적인 비교가 될 것이다. 위의 그림에서는 zero-shot CLIP이 few shot logistic regression과 어떻게 비교되는지를 시각화하며, zero-shot이 one-shot보다 성능이 떨어질 것이라는 직관적인 예상과는 달리 제로샷 CLIP이 동일한 특성 공간에서 4 shot logistic regression과 성능이 일치하는 것을 확인할 수 있었다. 이는 zero-shot과 few-shot과의 접근법 차이 때문에 발생하는데, CLIP의 zero-shot classifier는 text encoder에서 임베딩된 Visaul concept을 명시하는 Natural language에서 생성된다.

그러나 일반적인 Supervised learning은 예제로부터 개념을 간접적으로 추론해야한다. 컨텍스트가 없는 예제 기반 학습은 특히 one-shot의 경우 데이터와 일치하는 많은 다른 추론이 있을 수 있다는 단점이 있다. 또한 단일 이미지는 또한 많은 다른 시각적 개념을 포함한다.

 

zero-shot과 few-shot과의 성능 차이를 해결하는 방법은 CLIP의 zero-shot classifier를 few-shot classifier의 weight에 대한 prior knowledge로 사용하는 것이다. 생성된 가중치에 대해 L2 패널티를 추가하였지만(overfitting 방지), 하이퍼파라미터 최적화 과정에서 이 정규화 값이 너무 커져서 결과적으로 few-shot classifier가 zero-shot과 다를 바 없어 지는 경우가 많았으므로 앞으로 개선이 필요하다고 한다

 

그렇다면 Zero-shot CLIP의 Data efficiency는 어떨까? zero-shot CLIP이 특정 성능에 도달하기 위해 필요한 데이터의 양을 추정하여, zero-shot 학습이 얼마나 데이터 효율적인지 평가하자. 이는 로지스틱 회귀 모델을 다양한 샷 설정에서 훈련시키고 그 성능을 zero-shot CLIP과 비교함으로 이루어진다.

 

평가 데이터 셋이 충분히 크다고 가정시, 이를 통해 훈련된 linear classifier의 param.이 잘 추정된다면 CLIP의 zero-shot clasifier 역시 linear classifier인 만큼, fully supervised linear classifier의 성능을 상한선으로 잡을 수 있을 것이다.

(Fully supervised linear classifier는 많은 양의 레이블이 붙은 데이터로 훈련되기 때문이다.)

반면 zero-shot classifier는 사전에 정의된 클래스 설명만을 사용하여 새로운 데이터에 대한 예측을 수행하므로 보다 제한된 정보를 바탕으로 학습한다. 따라서 zero-shot learning 이 fully supervised 기술에 근접하거나 동등한 성능을 달성해야된다고 볼 수 있다.

zero-shot 성능과 fully supervised의 성능 사이에는 0.82의 높은 양의 상관관계가 있다.

따라서 CLIP이 기본적인 표현과 작업 학습을 zero-shot transfer와 일관되게 연결하는데 능력이 있다는 것을 시사한다.

또한 zero-shot CLIP이 현재 오직 5개의 dateset에서만 Fully Connected Performance에 근접하는 것을 확인할 수 있다.

(STL10, CIFAR10, Food101...). 이는 CLIP이 underlying representation도 high quality를 유지하는 데이터 셋에 더 효과적일 수 있다는 것을 시사한다.(늘 말했던 것처럼 당연한 결과 인 것 같다. zero-shot인 만큼 Image에 대한 text info가 중요한 거다.)

또한 최근 몇년 동안 실시된 딥러닝 시스템의 경험적 연구가 계산량, data set 크기와 같은 요인에 따라 성능이 예측 가능하다는 것을 문서화하였다고 한다.(규모의 법칙)

GPT 모델군은 훈랸 계산량이 1000배 증가함에 따라 zero-shot 성능에서 일관된 개선을 보여줬습니다. 위의 사진은 CLIP의 Zero-shot 성능도 규모의 법칙을 따르는지 체크한 것이다. 테스트를 위해 36개 다른 data set에서 39번의 평가를 거친 5개의 ResNet CLIP 모델들의 평균 오류율들을 표시하고, 모델 계산량이 44배 증가함에 따라 CLIP에 대해서도 비슷한 log-log linear scaling tendency가 유지되는 것을 발견했다고 한다.

(전반적인 경향은 부드럽지만, 개별 평가의 경우는 훨씬 들쭉날쭉하는 것을 볼 수 있는데, 이는 개별 훈련 실행 간의 높은 변동성이 지속적으로 개선되는 경향을 가릴 수 있기 때문이라고 본다고 한다.)

 

3.2. Representation Learning

지금까지는 CLIP의 학습 능력을 zero-shot transfer를 통해 광범위하게 분석했지만, 보통은 모델의 표현 학습 능력을 연구하는 것이 더 일반적이다. 기중 모델에서 추출한 표현에 linear classifier를 적용하고 다양한 data set에서의 성능을 측정하는 방식으로 평가를 하였다고 한다.

(그 이유는 파인 튜닝은 각 데이터셋에 대해 표현을 조정하는 단계에서 일반적이고 robust한 표현을 학습하는 데 실패한 부분을 보완하고 가려버릴 수 있기 때문이다. 또한 다른 곳에서도 많이 사용된 linear classifier를 통한 평가를 사용하여 많은 다른 모델들과 비교로 하는 것을 목표로 한다.)

위의 그림은 연구결과를 요약한 것이다. reporting bias나 confirmation bias를 최소화하기 위해, Kornblith et al. 's의 12개 data set에 대해 성능을 연구했다고 한다. CLIP-ResNet의 경우는 ImageNet-1K에서 훈련된 다른 모델들보다 우수하지만, 21K에서 훈련된 다른 ResNets에는 미치지 못한다. 이러한 작은 CLIP 모델들은 비슷한 계산 요구 사항을 가진 EfficientNet 계열에도 미치지 못한다. 그러나 CLIP으로 훈련된 모델들은 잘 확장되며(zero-shot transfer) 가장 큰 모델인 ResNet-50x64는 전반적인 점수와 계산 효율성 모두에서 기존 모델들을 앞선다. 

또한 CLIP-ViT는 3배 정도 CLIP-ResNets보다 효율적이어서, 적은 cost 내에서 더 높은 전반적인 성능을 보여줄 수 있었다.

더보기

CLIP 모델들은 무작위의 초기값부터 시작하여 처음부터 끝까지 훈련된 단일 CV 모델에서 더 넓은 범위의 학습이 가능하다고 한다. 이러한 작업들에는 지리 위치 인식, 광학 문자 인식, 얼굴 감정 인식, 행동 인식 등이 포함되며, Kornblith et al.에서는 측정되지 않는다. (ImageNet에 편향되어 측정될 여지가 다분함.)

이보다 더 넓은 평가 스위트에서 CLIP은 평균 점수가 눈에 띄게 개선되었다.

=> 시스템의 "일반적인" 성능을 더 잘 이해하기 위해 평가 스위트에서 많은 다양성과 범위를 포함시킬 필요가 있을 것이다.

3.3 Robustness to Natural Distribution Shift

수많은 다른 딥러닝이 지금까지 소위 '인간을 능가한다!'는 타이틀을 달고 세상에 공개되었다.

그러나 이후의 연구에서 이러한 모델들이 실제로는 여전히 많은 간단한 오류를 범하고 있으며, 그 이유는 테스트 데이터셋 전반에 걸쳐 존재하는 상관관계와 패턴이 임의적이고, 다른 분포에서는 유지되지 않아 성능이 떨어진다는 것이다.

그런데 CLIP을 이 ImageNet에 사용해보면, Natural Supervision에 의해 zero-shot 학습을 하는 접근 방법을 취하므로 딥러닝 시스템의 실패가 특정 데이터셋의 한계 때문인지, 모델의 문제 때문인지 구분할 수 있게 해준다.

(결론은 ImageNet에 과적합된 모델들은 현실 세계에 적용될 때 문제가 발생할 수 있다는 것이다. 그러나 zero-shot 모델은 특정 데이터셋에 대해 사전훈련되지 않고, 자연어 처리를 통해 다양한 데이터에 적응할 수 있어 효과적인 robustness 를 가진다는 것이다.)