머신러닝 및 딥러닝/자연어처리

Contrastive Learning

viamemine 2023. 7. 26. 16:15
728x90
반응형

 

📍 Contrastive Learning의 목적

embedding space에서 유사한 positive pair는 거리가 가깝게, 

그리고 유사하지 않은 negative pair는 거리가 멀게 학습하는 것이다.

 

유사한지, 유사하지 않은지에 대한 기준이 되는 현재 data point를 anchor(query)라고 한다. 

anchor와 유사한 sample을 positive point라고 하고, 

anchor와 유사하지 않은 sample을 negative point이라고 한다.

 

- anchor: 현재 기준이 되는 데이터 샘플

- positive sample: 기준이 되는 데이터 샘플과 같은 class를 가지는 상관관계가 높은 샘플

- negative sample: 기준이 되는 데이터 샘플과 다른 class를 가지는 상관관계가 낮은 샘플

 

 

📍Contrastive Learning의 장점

Contrastive하게 학습된 feature들은 supervised learning을 통해 학습한 feature보다 

훨씬 uniform하고 aligned 되었다는 것을 실험적으로 증명되었다.

 

같은 class인 sample들이 가까운 위치에 있어야 하는 alignment와  

각각의 instance가 고유의 특성을 유지하기 위해 uniformity를 

InfoNCE 등의 loss를 통해 충족되었다. 

 

 

📍 Contrastive Learning의 주의사항

Contrastive Learning에서는 positive sample과 negative sample을 어떻게 선정하는지에 따라 성능이 달라질 수 있다.

 

 

📍Contrastive Learning Loss

 

💥 InfoNCE

- NCE에서의 noise를 multiple로 확장한 loss로 볼 수 있다.

 

Contrastive Learning의 근본으로 볼 수 있는 CPC(Contrastive Predictive Coding) 논문에서 이름을 붙인 loss로,
target data를 관계가 없는 noise sample과 구분하기 위해 categorical cross-entropy loss를 사용한다. 

 

Cross-entropy로 결국 정리가 되지만,
내부적으로 positive sample의 context vector와  input vector의 mutual information를 크게 가져가는 효과가 있다.

 

즉, InfoNCE는 view들 간의 mutual information의 lower bound이므로
이를 maximize한다는 것은 view들 사이의 mutual information을 maximize하는 것이다. 

 

 

📖 mutual information(상호정보량): 

하나의 확률변수가 다른 하나의 확률변수에 대해 제공하는 정보의 양을 의미한다.

 

어떤 random variable X, Y의 확률 분포가 주어진다면 KL divergence를 활용하여 
두 확률분포가 얼마나 비슷한지 관찰하기도 하고, correlation coefficient를 구하기도 한다. 

 

즉, mutual information은 하나의 random variable이 다른 random variable에 얼마나 dependent한지를 나타내는 지표이다.

728x90