본문 바로가기

논문리뷰

[논문 리뷰] Supervised Contrastive Learning(SupCon)

Supervised Contrastive Learning(SupCon)

논문 링크 : https://arxiv.org/abs/2004.11362


Method:

 

1. 표현 학습 프레임워크(Representation Learning Framework)

 

SupCon 프레임워크의 주요 요소는 다음과 같다.

 

(1) 데이터 증강 모듈(Data Augmentation module)($Aug(\cdot)$)

각 입력 샘플 $x$에 대해, 2개의 무작위 증강, $\tilde{x} = Aug(x)$를 생성한다.

 

(2) 인코더 네트워크(Encoder Network)($Enc(\cdot)$)

$x$를 표현 벡터 $r = Enc(x) \in \mathbb{R}^{D_E}$ 로 매핑한다.

2개의 증강된 샘플은 동일한 인코더에 별도로 입력되어, 표현 벡터 쌍을 생성한다.

$r$은 $\mathbb{R}^{D_E}$의 단위 초구체(unit hypersphere)로 정규화된다. ($D_E = 2048$)

 

단위 초구체(unit hypersphere)는 모든 벡터의 길이가 1인 고차원 공간의 구체로 2차원에서는 원(circle), 3차원에서는 구(sphere), 고차원에서는 초구체(hypersphere)라고 부른다.

따라서, 2048 차원의 표현벡터를 길이가 1인 벡터로 정규화하여 단위 초구체의 표면에 위치하게 만든다.

이렇게 함으로써 벡터 간의 거리를 비교할 때 크기의 차이로 인한 영향을 줄이고, 각 벡터 간의 상대적 방향에만 집중할 수 있도록 해준다. 이로써 모델이 보다 일관된 특징 표현을 학습하는데 도움을 준다.

 

(3) 투영 네트워크(Projection Network)($Proj(\cdot)$)

$r$을 벡터 $z = Proj(r) \in \mathbb{R}^{D_P}$ 로 매핑한다.

$Proj(\cdot)$는 2048 크기의 단일 hidden layer를 가지고 $D_P = 128$차원의 벡터를 출력하는 MLP로 사용하거나 $D_P = 128$차원을 바로 출력하는 단일 single layer를 사용한다.

 

투영 네트워크의 출력을 다시 단위 초구체로 정규화한다.

대조 학습이 끝나면 $Proj(\cdot)$를 버리고 인코더 네트워크 $Enc(\cdot)$만 사용한다.

 

2. 대조 손실 함수(Contrastive Loss Functions)

 

무작위 샘플/라벨 쌍을 $\{x_k , y_k \}_{k=1 \cdots N}$

학습에 사용되는 배치는 $2N$개의 쌍 $\{\tilde{x}_l , \tilde{y}_l \}_{l=1 \cdots 2N}$ 으로 구성되며,

$\tilde{x}_{2k}$와 $\tilde{x}_{2k-1}$은 $x_k$ ($k=1 \cdots N$)의 2개의 무작위 증강(뷰)이고,

$\tilde{y}_{2k-1} = \tilde{y}_{2k} = y_k$ 이다.

 

논문에서는 $N$개의 샘플 집합을 배치라고 부르고 $2N$개의 증강된 샘플 집합을 멀티뷰 배치라고 한다.

 

앵커(Anchor): 기준이 되는 샘플, 앵커를 기준으로 다른 샘플들과 비교

양성(Positive): 앵커와 같은 클래스 샘플

음성(Negative): 앵커와 다른 클래스 샘플

 

2.1 자기 지도 대조 손실(Self-Supervised Contrastive Loss)

 

멀티뷰 배치 내에서, 증강 샘플의 인덱스를 $i \in I \equiv \{ 1 \cdots 2N \}$ 로 하고,

동일한 원본 샘플에서 생성된 다른 증강 샘플의 인덱스를 $j(i)$로 한다.

자가 지도 대조 학습에서의 손실은 다음과 같다.

 

$z_l = Proj(Enc(\tilde{x}_l )) \in \mathcal{R}^{D_P}$ 이고,

$\cdot$ 은 내적(inner or dot product),

$\tau \in \mathcal{R}^{+}$는 스칼라 온도 파라미터다. (논문에서는 0.1을 사용)

$A(i) \equiv I \setminus \{ i \}$이고(앵커를 제외한 모든 샘플을 의미)($\setminus$는 집합끼리의 빼기 연산)

인덱스 $i$는 앵커, $j(i)$는 양성, 나머지 $2(N-1)$개의 인덱스 ($\{ k \in A(i) \setminus \{ j(i) \} $ )는 음성이다.

 

각 앵커 $i$에 대해 1개의 양성 쌍과 $2N-2$개의 음성 쌍이 존재하고, 분모에는 총 $2N-1$개의 항(양성+음성)이 포함되어 있다.

 

2.2 지도 대조 손실(Supervised Contrastive Losses)

 

자가 지도 대조 학습에서는 각 앵커에 대해 하나의 양성 쌍만 존재한다.

 

하지만 지도 학습에서는 같은 클래스에 속하는 여러 샘플이 존재할 수 있다.

따라서, 양성 샘플이 여러 개일 수 있는 경우(즉, 임의의 개수로 일반화하는 경우)를 다루기 위해서는 다양한 함수적 접근 방식을 고려해야 한다.

 

식 (2)와 식(3)은 양성 샘플이 여러 개일 경우, 라벨 정보를 통합하여 대조 손실을 계산하는 가장 간단한 두 가지 방법이다. 자가 지도 학습에서 사용하는 식 (1)의 대조 손실을 확장하여, 지도 학습에서도 사용할 수 있도록 하는 방식이다.

 

$P(i) \equiv \{ p \in A(i) : \tilde{y}_p = \tilde{y}_i \}$ 는 $i$ 와 구별되는 멀티뷰 배치 내의 모든 양성의 인덱스 집합이고,

$|P(i)|$ 는 그 집합의 크기다.

식 (2) $\mathcal{L}^{sup}_{out}$ 에서는 양성에 대한 합산이 log 바깥에 위치하고,

식 (3) $\mathcal{L}^{sup}_{in}$에서는 합산이 log 안에 위치한다.

 

두 손실 모두 다음과 같 은 특성을 가지고 있다.

 

1. 임의의 양성 개수에 대한 일반화(Generalization to an arbitrary number of positives)

식 (2)와 (3)은 식 (1)과 달리, 멀티뷰 배치에서 모든 양성(즉, 증강된 샘플뿐만 아니라 동일한 라벨을 가진 나머지 샘플들)들이 분자에 기여하도록 한다.

 

2. 음성 샘플의 증가로 인한 대조력 증가(Contrastive power increases with more negatives)

식 (2)와 (3)은 식 (1)의 대조 손실 분모에서 음성 샘플에 대한 합산을 유지한다.

이는 노이즈 대조 추정(noise contrastive estimation)과 N-pair 손실에서 영감을 받았으며,

음성 샘플의 수가 많아질수록 신호와 노이즈(음성)를 구별하는 능력이 향상된다.

많은 연구에서 음성 샘플의 수가 증가할수록 성능이 향상된다는 결과를 보여주고 있다.

 

3. 암시적인 어려운 양성/음성 마이닝 수행 능력(Intrinsic ability to perform hard positive/negative mining)

어려운 양성/음성은 앵커와 같은/다른 클래스에 속하지만, 임베딩 공간에서 멀리/가까이 있는 샘플들을 의미한다.

 

식 (1)의 손실은 그래디언트를 통해 모델을 학습시키는데,

이때 어려운 양성/음성에 대한 그래디언트 기여가 크고, 쉬운 양성/음성에 대한 기여가 작다.

(어려운 양성/음성에 대한 그래디언트 기여가 큰 이유는, 모델이 학습하는 데 있어 이러한 샘플들이 더 큰 도움이 되기 때문)

(다시 말해, 이들에 대해 손실을 줄이는 것이 인코더의 성능을 크게 향상시킬 수 있음)

(반면, 쉬운 양성/음성에 대한 그래디언트 기여는 음)

(다시 말해, 이미 잘 학습된 샘플들에 대해 추가 학습이 큰 도움이 되지 않기 때문)

 

어려운 양성 샘플의 경우, 배치에 포함된 음성 샘플의 수가 증가할수록 이러한 그래디언트 효과가 점진적으로 증가한다.

이러한 구조는 명시적으로 어려운 양성/음성 샘플을 찾아내지 않고도, 암시적으로 모델이 이를 학습하도록 만든다.

 

이러한 특성이 식 (2)와 (3)에서도 유지되며, 명시적인 어려운 샘플 마이닝의 필요성을 줄여준다.

(triplet loss가 필요 없어지며, 복잡한 작업을 단순화시켜줌)

 

그렇다면 두 손실 중 어떤게 더 좋을까?

log함수는 오목 함수이기 때문에 젠슨의 부등식(Jensen's Inequality)에 의해 $\mathcal{L}^{sup}_{in} \le \mathcal{L}^{sup}_{out}$ 이 된다.

따라서, $\mathcal{L}^{sup}_{out}$이 $\mathcal{L}^{sup}_{in}$을 상한으로 가지므로, 더 좋은 손실 함수일 것으로 예상할 수 있다.

결과로도 훨씬 더 높은 성능을 달성했다.

 

이는 $\mathcal{L}^{sup}_{in}$의 그래디언트 구조가 $\mathcal{L}^{sup}_{out}$보다 학습에 덜 최적화되어 있기 때문이라고 한다.

 

따라서, 논문에서는 $\mathcal{L}^{sup}_{out}$을 사용했다고 한다.

2.3 삼중항 손실 및 N-쌍 손실과의 연관성(Connection to Triplet Loss and N-pairs Loss)

 

지도 대조 학습은 지도 학습을 위해 널리 사용되는 손실 함수 중 하나인 삼중항 손실(triplet loss)과 밀접한 관련이 있다.

삼중항 손실이 하나의 양성과 하나의 음성을 사용할 때 대조 손실의 특수한 경우라고 한다.

또한, 더 많은 음성을 사용할 경우, SupCon 손실이 N-쌍 손실(N-pairs loss)과 동등해진다고 한다.


Experiments:

SupCon 손실()을 CIFAR-10과 CIFAR-100, ImageNet 등에서 분류 정확도를 측정하여 평가했다. 또한, ImageNet 모델을 일반적인 이미지 손상에 대한 강건성에서도 평가하고, 하이퍼파라미터와 데이터 축소에 따른 성능 변화를 조사했다.

 

인코더 네트워크($Enc(\cdot)$)로는 ResNet-50, ResNet-101, ResNet-200으로 실험했고,

최종 풀링 레이어의 정규화된 활성화 값($D_E = 2048$)을 표현 벡터로 사용했다.

 

$Aug(\cdot)$ 데이터 증강 모듈은 4가지 AutoAugment, RandAugment, SimAugment, Stacked RandAugment을 실험했다.

1. 분류 정확도(Classification Accuracy)

 

2. 이미지 손상과 감소된 훈련 데이터에 대한 강건성(Robustness to Image Corruptions and Reduced Training Data)


mCE(mean Corruption Error)는 다양한 이미지 손상에 대해 모델의 성능 저하를 측정하는 지표로 여러 종류의 손상(노이즈, 블러, 압축 등)과 각 손상의 다양한 강도에 대해 모델의 분류 오류율을 측정하고, 이를 평균화하여 계산한다.

 

rel. mCE(relative mean Corruption Error)는 각 모델의 기본 성능 차이를 고려하여 mCE를 보정한 지표로 서로 다른 기본 정확도를 가진 모델들 간의 비교를 공정하게 하기 위해 사용한다. 기본 데이터셋에서의 모델 성능과 손상된 데이터셋에서의 성능 저하를 비교하여 계산한다.

 

mCE 값이 낮을수록 모델이 이미지 손상에 강건하다는 의미고, rel. mCE가 낮을수록 다른 모델들에 비해 손상에 대한 강건성이 높은 모델이라는 의미로 둘다 낮을 수록 좋다.

 

3. 하이퍼파라미터 안정성(Hyperparameter Stability)

 

(a): Top-1 정확도와 증강, 옵티마이저, 학습률 변화에 따른 변화를 나타내는 표준 상자 그림

(b): 배치 크기에 따른 Top-1 정확도

배치 크기가 커질수록 두 손실 모두 성능이 향상되지만, 지도 대조 손실은 작은 배치 크기로 훈련할 때도 더 높은 Top-1 정확도를 유지한다.

(c): SupCon의 사전 학습 에포크 수에 따른 Top-1 정확도

(d): SupCon의 사전 학습 단계 동안의 온도에 따른 Top-1 정확도

 

4. 전이학습(Transfer Learning)

 

전이학습에서는 교차 엔트로피나 자기 지도 대조 손실과 동등한 성능을 보였다.

전이성능은 아키텍처가 더 중요하다고 한다.