논문 리뷰/MultiModal

[논문리뷰] A Simple Framework for Contrastive Learning of Visual Representations

리미61 2024. 9. 30. 18:30

https://arxiv.org/pdf/2002.05709

https://amitness.com/posts/simclr

 

The Illustrated SimCLR Framework

A visual guide to the SimCLR framework for contrastive learning of visual representations.

amitness.com

 

해당 논문은 SimCLR이라는 시각적 표현을 위한 대조 학습 프레임워크를 제안한다.

1. 데이터 증강 : 다양한 데이터 증강 조합이 효과적인 대조 예측 작업을 정의하는 데 중요한 역할을 하며, 비지도 학습에서는 더 강력한 증강이 유리합니다.

2. 비선형 변환 도입 : 표현과 대조 손실 사이에 학습 가능한 비선형 변환을 추가하면 학습된 표현의 품질이 크게 향상됩니다.

3. 임베딩 정규화 및 온도 매개변수 : 대조적 교차 엔트로피 손실에서 정규화된 임베딩과 적절한 온도 매개변수가 필요합니다.

4. 대규모 배치 및 긴 학습 시간 : 대조 학습은 지도 학습보다 더 큰 배치 크기와 긴 학습 시간에서 이점을 얻으며, 깊고 넓은 네트워크에서 성능이 향상됩니다.

 

Method

 

1. 확률적 data 증강 모듈 : 같은 데이터의 두 가지 뷰를 생성한다. 랜덤 크롭, 색상 왜곡, 가우시안 블러로 증강한다. $x -> x̃_i / x̃_j$

2. 인코더 : Resnet을 사용해 $R^d$ 차원으로 매핑한다. $f( ·)$

3. 소형 신경망 프로젝션 헤드 : 해당 단계에서 contrastive loss 적용하는 것이 더 효과적이다. $ g(·)$

4. 대조 손실 : 코사인 유사도를 기반으로 긍정 쌍은 유사하게, 부정 쌍은 다르게 학습한다. 온도 매개변수와 정규화된 임베딩을 사용한다. 

 

미니배치에서 N개의 예제를 무작위로 샘플링하고, 해당 미니배치에서 파생된 증강 예제 쌍들로 대조 예측 작업을 2N개 정의한다.

부정 예제는 명시적으로 샘플링하지 않는다. 긍정 쌍이 주어지면 나머지 2(N-1) 개의 증강된 예제들은 부정 예제로 간주된다.

 

미니배치에서 N개의 데이터가 2개의 증강된 예제로 변환하면 총 2N개의 데이터 포인트가 있다.

예를 들어 $x̃_i$라는 증강된 예제에 대해 긍정 쌍은 $x̃_j$가 된다. 즉, 나와 증강된 1개의 데이터를 제외한 나머지들은 부정 예제가 된다.

ex) N=4 / 증강 후  = 2*4 = 8 

$x̃_i$라는 증강된 예제에 대해 나머지 7개 중 하나는 긍정 쌍$(x̃_j)$, 나머지 6개는 부정 예제이다.

2(N-1) = 2(4-1) = 6

$ 1[k≠i] $는 k가 i와 같지 않을 때 1로 평가되는 지시함수이며, $τ$는 온도 매개변수이다. 

최종 손실은 미니배치 내 모든 긍정 쌍 $(i,j)$ 및 $(j,i)$에 의해 계산된다.

 

Training with Large Batch Size

SimCLR는 대규모 배치 크기로 학습할 때 SGD 방식에서는 불안정할 수 있기에 LARS 옵티마이저를 사용해 문제를 해결한다. 

표준 ResNet에서는 BN을 사용한다. 데이터 병렬성을 활용한 분산 학습에서 BN의 평균과 분산은 보통 장치별로 지역적 집계된다.

대조 학습에서는 긍정 쌍이 같은 장치에서 계산되므로, 모델이 지역적인 정보 누출을 이용해 예측 정확도를 높일 수 있지만, 표현을 개선하지는 않는다. 

-> 한 배치에서 긍정 샘플을 학습한 후, 다음 배치에서 다른 긍정 샘플과 함께 부정 샘플을 학습하게 된다.

긍정 쌍이 동일한 이미지에서 파생된 증강된 버전이므로, 같은 장치에서 배치 정규화가 수행될 때 동일한 이미지로부터 얻은 정보가 반영된다. 모델이 지역적으로 "같은 이미지에서 얻은 정보"를 이용하게 되는데, 긍정 쌍을 더 쉽게 구별하게 된다. 따라서 모델이 서로 다른 이미지의 특징을 일반화하는 대신, 같은 이미지를 학습하는 데 집중할 수 있어서 정보 누출이 발생한다. 

 

따라서 전역적인 배치 정규화를 적용해 모든 장치에서 데이터를 공유하며 학습을 진행한다.

 

Data Augmentation for Contrastive Representation Learning

기존 연구들은 네트워크 구졸르 변경하면서 대조 학습을 진행했지만, 본 연구에서는 이미지의 일부분을 crop하여 크기를 조정하는 방식으로 복잡성을 해결한다. 

데이터 증강의 효과를 연구하기 위해 crop, resize 를 항상 적용한 후 다른 증강 기법을 개별적으로 또는 쌍을 적용해 성능을 분석한다.

단일 변환으로는 좋은 표현을 학습하는 데 충분하지 않았다. 증강을 조합하면 대조 예측 작업이 어려워지지만, 표현의 품질은 크게 향상된다. random cropping과 random color distortion이 가장 두드러졌다. 

random cropping만으로는 이미지가 비슷한 색상 분포를 갖는 경우가 많아 신경망이 이 정보를 이용해 shortcut 학습을 방지할 수 있다.

-> 크롭과 색상 왜곡을 함께 사용해야 신경망이 일반화 가능한 특징을 학습할 수 있다. 

Nonlinear projection head improvves the representation quality

비선형 프로젝션을 사용하는 경우, 선형 프로젝션보다 3% 좋은 성능을 보인다.

비선형 변환 $ g(·)$를 활용함으로써 h에서 더 많은 정보가 형성되고 유지될 수 있다.

$z=g(h)$는 데이터 변환에 대해 불변하도록 훈련되므로 g는 객체의 색상이나 방향과 같은 다운스트림 작업에 유용할 수 있는 정보를 제거할 수 있다.

-> 정보 손실 : 모델이 대조 손실을 사용할 때, 입력 데이터의 다양한 변환(회전, 크기 조절 등)에 대해 불변성을 가지도록 훈련된다. 즉, 같은 객체의 변형된 이미지가 주어져도 모델은 동일한 것으로 인식해야 한다. 이 과정에서 이미지에 포함된 특정 정보(색상, 방향 등)가 손실될 수 있다. 

-> $z=g(h)$에서 $g$는 비선형 투사 함수, $h$는 투사 이전의 표현이다. 이 비선형 함수를 통해 $h$의 정보를 변형하여 $z$를 생성하는데, 이 과정에서 데이터 변환에 대해 불변하도록 학습하게 된다. 하지만 이로 인해서 정보가 제거될 수 있다. 즉, $g(h)$를 통해 변환된 후의 표현인 z는 원래의 정보가 줄어들 수 있습니다.

-> 비선형 변환을 통해 $h$에서는 더 많은 정보가 보존되고, 이 정보는 다운스트림 작업에 더 유용할 수 있다. 다시 말해, 비선형 투사 헤드를 사용하면서 더 많은 정보를 $h$에서 유지하고 활용한다.

 

Loss Functions and Batch Size

l2 정규화(코사인 유사도)와 온도는 서로 다른 예제를 효과적으로 가중치화하며, 적절한 온도는 모델이 어려운 부정 예제로부터 학습하도록 돕는다. 

대조 학습에서는 큰 배치 크기가 더 많은 부정 사례를 제공하여 수렴을 촉진하며, 훈련이 길어질수록 부정적인 사례를 많이 제공한다. 

즉, 대조 학습은 큰 배 크기와 긴 훈련에서 더 많은 이점을 얻게 된다. 

 

Conclusion

SimCLR은 복잡한 아키텍처를 사용하지 않고도 대조 학습을 수행할 수 있는 간단한 프레임워크를 제공한다. 효과적인 데이터 증강 기법과 비선형 projection을 사용해 모델의 일반화 능력을 향상하며 긍정 쌍과 부정 쌍 간의 관계를 정량화하기 위해 Normalized Temperature-scaled Cross Entropy Loss 손실 함수를 사용한다.