https://arxiv.org/abs/2209.13430
UniCLIP: Unified Framework for Contrastive Language-Image Pre-training
Pre-training vision-language models with contrastive objectives has shown promising results that are both scalable to large uncurated datasets and transferable to many downstream applications. Some following works have targeted to improve data efficiency b
arxiv.org
Abstract
최근에 CLIP의 data 부족 문제를 해결하기 위해 adding self-supervision terms를 하고 있다.
하지만 inter-domain(image-text) contrastive loss와 intra-domain(image-image) contrastive loss가 individual한 spaces에 존재하는 문제가 있다.
본 논문은 해당 문제를 해결하기 위해 UniCLIP(Unified framework for Contrastive Language-Image Pre-training)을 제안한다.
UniCLIP은 inter-domain pair와 intra-domain pair를 single universal space로 통합한다.
Main Idea
1. augmentation-aware feature embedding
2. MP-NCE loss
3. domain dependent similarity measuere
Introduction
positive/negative 쌍을 supervisions에 많이 가져오는 것은 data-efficient가 가능하게 했다.
하지만 intra-domain pair의 contrastive loss와 inter-domain paris의 contrastive loss가 independently한 분리된 space에 존재하는 문제가 있다.
이는 대조 손실이 negative supervision에 대해 일부 가능한 조합들을 활용하지 못한다는 것을 의미한다.
-> 예를 들어 이미지-텍스트 쌍을 학습할 때 이미지-이미지 pair는 contrastive loss를 계산할 때 포함되지 않음
-> 이미지 간의 비교를 통해 학습할 수 있는 중요한 정보를 놓칠 수 있음
본 논문은 intra-domain 및 inter-domain 쌍의 대조 학습을 동일한 unified embedding space에서 정의하도록 한다.
기존 문제점
1. misalignments를 방치하게 되면 성능이 저하된다.
2. 대조 손실 방식에서 쉬운 예시와 어려운 예시가 서로 방해한다.
- 이미지의 두 가지 증강된 버전(intra-domain pair) > 쉬운 예시
- 이미지와 텍스트(inter-domain pari) > 어려운 예시
3. 도메인 내 썡과 도메인 간 쌍 간의 유사성을 동일하게 처리하는 것이 성능 저하를 유발한다.
따라서 여러 모달리티 간 대조 목표를 단일 임베딩 공간에서 동합하는 UniCLIP을 제안한다.
위에서 언급한 기존 문제점은 UniCLIP의 주요 구성 요소가 된다.
1. Augmentation-aware feature embedding
데이터 증강으로 인해 발생하는 misalignments를 인식할 수 있다.
2. MP-NCE loss
쉬운 예시와 어려운 예시 모두를 stabilize하게 training할 수 있다.
3. domain dependent similarity measure
도메인 내 쌍과 도메인 간 쌍의 유사성 규모 차이를 조정한다.
Methods
UniCLIP은 4개의 주요 구성 요소로 이루어진다.
- 증강 인코더(fA): 데이터에 적용된 증강을 벡터로 변환해 입력으로 사용.
- 이미지 인코더(fI): 증강에 무관한 이미지 표현을 생성.
- 텍스트 인코더(fT): 이미지와 동일한 임베딩 공간에서 텍스트 임베딩을 생성.
- 프로젝션 헤드(gI, gT): 증강 정보 또는 텍스트 데이터를 기반으로 최종 임베딩을 만듦.
이미지 및 텍스트 표현은 통합된 임베딩 공간에서 multi-positive NCE loss로 학습된다.
Augmentation Encoder
증강 명령 A를 네트워크의 입력으로 사용하도록 A가 데이터에 어떻게 적용되었는지에 대한 정보를 포함한다.
이미지 증강하는 방법을 벡터 형태로 변환하여 네트워크의 모델 입력으로 사용한다.
-> 예를 들어, 이미지를 자르고 크기를 조절하는 작업(증강)이 있다고 가정할 때, 그 자른 부분의 위치와 크기를 숫자로 표현해서 모델에 입력에 줌
증강 작업에 대해 어떻게 변형되었는지를 숫자로 표현한다.
Image Encoder & Image Projection Head
모델이 이미지 증강에 의해 발생하는 misalignment를 조정할 수 있도록 학습하기 위해서는 이미지 인코더 또는 프로젝션 헤드가 증강 정보를 입력으로 받아야한다.
하지만 인코더가 증강된 데이터를 학습할 때, 적용된 증강을 알고 있으면 학습의 이점을 온전히 가져갈 수 없다.
-> 수평 뒤집기 증강으로 학습된 인코더가 뒤집힌 이미지와 그 flag를 입력으로 받으면, (뒤집힌 이미지, 뒤집히지 않은 플래그)를 인코딩해야 할 때 문제가 발생
- 증강 정보의 중요성 : 인코더가 이미지 증강에서 학습 할 때, 적용된 증강 방식을 알고 있으면, 해당 정보를 기반으로 학습을 진행한다. 그러나 이 정보가 인코더에 알려지면, 인코더는 특정 증강 방식에만 최적화된 상태가 된다.
- 일반화 능력 손실 : 인코더가 수평 뒤집기 증강으로 학습되었을 때, 만약 (뒤집힌 이미지, 뒤집혔는지 여부의 플래그) 형태로 입력을 받으면, 인코더는 이러한 입력 형태에서만 잘 작동하도록 학습된다. 이후 다른 작업에서는 (뒤집힌 이미지, 뒤집히지 않은 플래그)와 같은 입력을 처리해야 할 수 있지만, 인코더는 이러한 데이터를 학습하지 않았기 때문에 제대로 동작하지 않는다.
따라서 이미지 인코더는 증강에 무관해야 하며, 이미지 프로젝션 헤드는 증강을 인식해야 한다.
인코더는 데이터 증강의 이점을 온전히 누릴 수 있고, 증강으로 인한 도메인 간 불일치를 프로젝션 헤드가 수정할 수 있다.
-> 프로젝션 헤드는 이러한 불일치를 수정하여 이미지 임베딩이 텍스트 임베딩과 일관되게 유지되도록 해야한다.
증강 정보는 프로젝션 헤드에만 제공되고, 인코더는 어떤 증강이 적용되었는지 모르는 채로 증강된 이미지만 받는다.
이미지 인코더 (fI) : 증강된 이미지 $A(x)$를 입력받아 이미지 표현 $h = fI(A(x))$ 생성
이미지 프로젝션 헤드 (gI) : 증강을 인식함. 인코더로부터 출력과 증강 임베딩을 입력 받아 통합 임베딩 공간에서 증강 인식 이미지 임베딩 $z=gI(h,fA(A)) = gI(fI(A(x)), fA(A))$ 생성
구현
- 인코더 : Vision Transformer (ViT)
- 프로젝션 헤드는 3개의 residual block
- [cls] 토큰의 마지막 활성화 값 = 이미지 표현 $h$
Text Encoder & Text Projection Head
텍스트 인코더 (fT) : 원시 텍스트를 byte pair encoding으로 토큰화하여 시작 및 종료 토큰으로 감쌈. 텍스트 표현 $h = fT(x)$ 생성
텍스트 프로젝션 헤드 (gT) : 텍스트 표현을 입력받아 통합 잠재 공간에서 텍스트 임베딩 $z=gT(fT(x))$ 생성. 증강 없이 수행
구현
- 인코더 : Transformer
- 프로젝션 헤드는 선형층
- 시작 토큰의 마지막 활성화 값 = 텍스트 표현 $h$
Contrastive Loss Functions for Multiple Positive Pairs
대조 손실 함수 분류: 대조 손실 함수는 데이터 포인트당 긍정 및 부정 쌍의 수에 따라 분류된다.
- Triplet Loss: 단일 긍정 및 단일 부정 쌍 사용.
- N-Pair Loss, InfoNCE Loss: 단일 긍정 쌍 및 여러 부정 쌍 사용.
- MIL-NCE Loss, SupCon Loss: 여러 긍정 쌍 및 여러 부정 쌍 사용.
MIL-NCE Loss
- 정의: 여러 긍정 쌍의 유사도 점수를 최대화하고 부정 쌍의 유사도 점수를 최소화하는 방식으로 구성됨
- 문제점: 쉬운 긍정 쌍이 너무 큰 유사도 점수를 가지고 있어, 하드 긍정 쌍이 충분한 그래디언트를 받지 못함
SupCon Loss
- 정의: 각 긍정 점수를 부정 쌍과 비교하여 정의
- 문제점: 쉬운 긍정 쌍의 유사도를 감소시키면서 하드 긍정 쌍의 수렴을 방해할 수 있음
Multi-positive NCE Loss
1. 양성 점수의 간섭 문제
기존의 손실 함수에서는 쉽게 얻은 양성 쌍과 강한 양성 쌍 간의 간섭이 발생한다. 이로 인해 강한 양성 쌍이 손실에 미치는 영향이 줄어들 수 있다.
2. Multi-positive NCE Loss
각 양성 쌍이 손실에 독립적으로 기여하도록 설계된다.
-> 모든 양성 샘플이 동일한 비중으로 손실 계산에 기여
$ s_{i,p}$는 긍정 쌍의 유사도 점수이고, $ s_{i,n} $ 부정 쌍의 유사도 점수이다.
3. 기울기 계산
긍성 쌍의 유사도 점수가 충분히 커지도록 업데이트를 유도한다.
-> 쉽게 얻은 양성 샘플도 기울기가 음수로 작동하여 강한 양성 샘플이 충분히 크게 업데이트될 수 있음
- 기울기(gradient)의 역할 : 모델의 파라미터를 업데이트하는 데 사용된다. 손실 함수의 기울기가 음수라는 것은, 양성 쌍의 유사도를 더 높여야 한다는 신호이다.
- 쉽게 얻은 양성 쌍의 음수 기울기 : 양성 쌍은 현재 상태에서도 이미 높은 유사도를 가진다. 따라서 모델이 더 학습할 필요가 없고, InfoNCE 손실은 양성 샘플의 유사도를 줄이는 방향으로 업데이트 된다.
-> 기울기가 음수라는 것은, 쉽게 얻은 양성 샘플은 이미 너무 높은 유사도를 가지고 있기 때문에, 이를 적절히 낮추려는 역할
4. 자명한 쌍 ($z_i, z_i$)의 활용
대조 손실이 여러 양성 쌍을 처리할 수 있기에 손실 정의에서 자명한 쌍 $(z_i, z_i)$을 제외하지 않는다.
$z_i$ 는 자기 자신과 가장 유사하므로, 자명한 쌍은 강한 양성 쌍으로 활용되어야 한다.
$D(i,p)$는 $i$번째 데이터와 $p$ 번째 데이터가 샘플링된 도메인 조합을 나타낸다.
$w_{D(i,P)}$는 도메인 간 및 도메인 내 감독이 손실에 동일하게 기여하도록 하는 도메인별 균형 하이퍼파라미터이다.
-> 원본 이미지-텍스트 쌍에서 3개의 증강된 이미지 뷰와 하나의 대응되는 텍스트를 사용하는 경우,
배치 내에서 총 9N개의 이미지-이미지 양성 쌍,
6N 개의 이미지-텍스트 양성 쌍, 그리고
N개의 텍스트-텍스트 양성 쌍이 생성됨
$w_{D(i,P)}$ 가중치 부여
- 이미지-이미지 쌍 : 1/9
- 이미지-텍스트 쌍 : 1/6
- 텍스트-텍스트 쌍 : 1
Domain-Dependent Similarity Score
기존 유사도 점수 정의 (SimCLR, CLIP 방식)
유사도 계산 방식: 기존의 SimCLR과 CLIP에서는 두 임베딩 벡터 ziz_i 와 zjz_j 간의 코사인 유사도를 사용한다.
온도 매개변수 τ
: 두 벡터 간 유사도가 [-1, 1] 범위 내에 있기 때문에, 이를 확장하여 모델이 더 큰 차이를 반영할 수 있도록 조정한다.
양성/음성 쌍 분류
임계값$b$ 사용: 두 임베딩이 양성인지 음성인지 분류하기 위해, 코사인 유사도가 임계값 $b$ 이상이면 양성으로, 그보다 낮으면 음성으로 분류한다. 이 $b$ 를 오프셋으로 유사도 점수 안에 흡수하여, 다음과 같은 식으로 정의할 수 있다.
온도 τ와 임계값 $b$의 역할
온도 매개변수 τ 는 코사인 유사도가 임계값 $b$보다 클 경우 유사도 점수를 증폭하고, 작을 경우 감소시키는 역할을 한다. 이는 임계값을 이진 분류 문제에서 결정 경계로 다룰 수 있게 한다.
하지만 InfoNCE Loss에서는 이 오프셋 $b$가 손실 함수에서 상쇄되어 실제로는 영향을 미치지 않는다.
도메인 종속 유사도 점수 제안
해당 논문에서는 데이터 쌍이 여러 도메인에서 샘플링될 수 있는 상황을 다룬다.
이를 반영하기 위해, 도메인 간 및 도메인 내 샘플들에 대해 도메인별 온도 매개변수 $tau_{D(i,j)} $ 와 임계값 $b_{D(i,j)} $ 를 도입한다.
이로 인해, 각 도메인 간의 유사도 점수가 다르게 계산되며, 도메인별로 양성 및 음성 쌍을 구분하는 기준을 다르게 설정할 수 있다.
이미지-텍스트 통합 대조 학습의 경우, 세 가지 가능한 도메인 조합이 있으므로 이미지-이미지 쌍, 이미지-텍스트 쌍, 텍스트-텍스트 쌍 각각에 대해 세 가지 다른 온도와 세 가지 오프셋이 존재한다. 음성 쌍의 오프셋은 이제 상쇄되지 않으며, 코사인 유사도 항에 실수 값을 추가할 수 있어 손실 함수의 변화가 없다. 따라서 모델은 상대적인 임계값을 학습할 수 있다.