1. 서론
CLIP 모델은 이미지 캡션과 그에 해당하는 텍스트 쌍을 활용하여 이미지와 텍스트 간의 일치된 표현 공간을 생성합니다. 그러나 이런 모델은 주로 짧은 텍스트에 최적화되어 있어 긴 텍스트의 정보를 포착하는데 한계가 있습니다. 예를 들어, OpenAI의 CLIP 모델은 긴 텍스트 검색 작업에서 성능이 저하됩니다. (Table 1 참조)
본 논문에서는 이미지-캡션 쌍과 텍스트 쌍을 대규모로 대조적 학습을 통해 동시에 최적화하는 새로운 접근 방식을 제시하고, 이를 통해 텍스트-이미지 및 텍스트-텍스트 작업 모두에서 모델의 성능을 향상시키는 방법을 설명합니다.
2. 관련 연구
이전 연구들은 텍스트 임베딩을 위한 대조적 학습 방법을 확립하였고, 여러 연구에서 텍스트 기반 정보 검색, 의미적 텍스트 유사성, 텍스트 클러스터링 및 재순위 지정을 위한 모델을 개발하였습니다. 특히, Reimers & Gurevych (2019)는 텍스트 유사성 훈련을 위한 이중 인코더 아키텍처를 제안했습니다. 또한, Ni et al. (2022)은 이중 인코더 구조의 효율적인 확장성을 입증했으며, 최근 연구에서는 하드 네거티브를 포함하는 다단계 훈련 방법이 개발되었습니다.
3. 모델 구조
본 논문에서 사용된 모델 구조는 원래 CLIP의 이중 인코더 구조를 기반으로 합니다. 텍스트 인코더는 긴 텍스트를 지원하기 위해 AliBi를 통합한 JinaBERT 구조를 사용하고, 이미지 인코더로는 EVA02 구조를 사용하여 초기화합니다. 이런 구조는 마스크 언어 모델링 목표를 사용하여 사전 훈련되며, 대조적 학습을 사용하여 이미 훈련된 텍스트 임베딩 모델에서 시작하는 것보다 우수한 최종 성능을 보여줍니다.
4. 훈련
본 논문의 훈련 접근 방식은 멀티 태스크, 삼단계 훈련 접근 방식을 설명합니다. 이 접근 방식은 모델이 텍스트-이미지 일치 및 텍스트-텍스트 일치 두 가지 작업에서 성능을 최적화하도록 합니다. 이를 위해 대규모 및 약간 감독된 텍스트-이미지 및 텍스트-텍스트 쌍 데이터셋에서 훈련을 시작하고, 이후 단계에서는 합성된 긴 이미지 캡션을 사용하여 훈련을 계속합니다. 마지막 단계에서는 하드 네거티브를 사용하여 텍스트 인코더의 성능을 더욱 향상시키면서 텍스트-이미지 정렬을 유지합니다.
4.1 데이터 준비
텍스트-텍스트 쌍 데이터셋 (\(\mathcal{C}^{\text{text}}_{\text{pairs}}\)): 40개의 텍스트 쌍 데이터셋을 포함하여, 다양한 의미적 관계를 가진 텍스트 데이터로 구성됩니다.
텍스트-이미지 쌍 데이터셋 (\(\mathcal{C}^{\text{img(s)}}_{\text{pairs}}\) 및 \(\mathcal{C}^{\text{img(l)}}_{\text{pairs}}\)): 초기 단계에서는 LAION-400M
데이터셋을 사용하여 400M개의 이미지-텍스트 쌍을 훈련합니다. 이후 단계에서는 AI 생성 캡션을 포함한 ShareGPT4V
데이터셋을 사용하여 실제 데이터와 유사한 환경에서의 모델 성능을 평가합니다.
트리플렛 텍스트 데이터셋 (\(\mathcal{C}^{\text{text}}_{\text{triplets}}\)): MSMarco
, Natural Questions
, HotpotQA
및 NLI
데이터셋에서 추출한 하드 네거티브를 포함한 트리플렛을 포함하여 텍스트 인코더의 성능을 최적화합니다.
4.2 손실 함수
모든 훈련 단계에서 InfoNCE 손실 함수를 사용하여 모델을 최적화합니다. 이 손실 함수는 쿼리 ($q$)와 대상 ($p$) 간의 코사인 유사도를 계산하여, 배치 내 다른 대상과의 유사도에 비례하여 정규화된 손실 값을 생성합니다.
텍스트 쌍에 대한 손실 함수
손실 함수 \(\mathcal{L}_{\text{nce}}\)와 \(\mathcal{L}_{\text{nce}+}\)는 텍스트 및 이미지 인코더를 최적화하는 데 중요한 역할을 하며, 모델이 학습 과정에서 정확한 정보를 추출하고 잘못된 정보를 구별할 수 있도록 조정합니다.
1. $\mathcal{L}_{\text{nce}}^{\rightarrow}$
이 손실 함수는 주어진 쿼리 \(q\)와 긍정적인 예시 \(p\) 사이의 유사도를 측정하고, 배치 내의 다른 모든 예시 \(p_i\)와의 유사도와 비교하여 정규화합니다. 이는 모델이 주어진 쿼리에 대한 가장 관련성 높은 문서를 식별하도록 합니다. 수식은 다음과 같이 표현됩니다.
\[\mathcal{L}_{\text{nce}}^{\rightarrow}(\mathcal{B}) := \mathbb{E}_{(q, p) \sim \mathcal{B}} \left[-\ln \frac{e^{\cos(q, p) / \tau}}{\sum_{i=1}^{k} e^{\cos(q, p_i) / \tau}}\right]\]2. $\mathcal{L}_{\text{nce}}^{\leftarrow}$
이 항은 위의 $\mathcal{L}_{\text{nce}}^{\rightarrow}$와 유사하지만, 긍정적인 예시 \(p\)를 쿼리로 사용하고 원래의 쿼리 \(q\)를 대상으로 취급하여 계산합니다. 이는 양방향 학습을 가능하게 하여, 모델이 더 강건하게 관련 정보를 인코딩할 수 있도록 합니다.
\[\mathcal{L}_{\text{nce}}^{\leftarrow}(\mathcal{B}) := \mathbb{E}_{(q, p) \sim \mathcal{B}} \left[-\ln \frac{e^{\cos(p, q) / \tau}}{\sum_{i=1}^{k} e^{\cos(p, q_i) / \tau}}\right]\]3. $\mathcal{L}_{\text{nce}+}$
이 확장된 손실 함수는 특히 하드 네거티브를 포함하는 텍스트 트리플렛을 훈련할 때 사용됩니다. 이 함수는 추가적인 네거티브 \(n_{j,i}\)를 포함하여 모델이 긍정적인 예시와 부정적인 예시 사이를 더욱 효과적으로 구분할 수 있도록 도와줍니다.
\[\mathcal{L}_{\text{nce}+}(\mathcal{B}) := \mathbb{E}_{r \sim \mathcal{B}} \left[-\ln \frac{e^{\cos(q, p) / \tau}}{\sum_{i=1}^{k} \left(e^{\cos(q, p_i) / \tau} + \sum_{j=1}^{7} e^{\cos(q, n_{j,i}) / \tau}\right)}\right] + \mathbb{E}_{r \sim \mathcal{B}} \left[-\ln \frac{e^{\cos(p, q) / \tau}}{\sum_{i=1}^{k} e^{\cos(p, q_i) / \tau}}\right]\]위와 같은 손실 함수들을 통해 모델은 텍스트와 이미지 데이터 모두에서 유사도 기반 학습을 최적화합니다.
4.3 훈련 단계
각 훈련 단계에서는 다음의 손실 함수 조합을 사용하여 텍스트 및 이미지 인코더를 적용합니다.
이런 접근 방식은 각 단계에서 텍스트와 이미지의 정렬을 최적화하며, 모델이 텍스트-이미지 일치와 텍스트-텍스트 일치 작업 모두에서 우수한 성능을 발휘할 수 있도록 합니다.
5. 평가
모델의 성능은 텍스트 전용, 이미지 전용 및 크로스-모달 작업에서 평가되었습니다. jina-clip-v1 모델은 모든 벤치마크에서 높은 성능을 보여줍니다. 특히, Massive Text Embedding Benchmark (MTEB)에서 텍스트 인코더의 성능을 평가할 때 CLIP과 비슷한 모델들과 비교하여 약 15%의 전반적인 성능 향상과 정보 검색 작업에서 22%의 향상을 보였습니다.