Difference between SigLIP의 and CLIP seen in formulas

SigLIP은 구글에서 제안한 비전-언어 모델 학습 방식입니다. 기존 CLIP 학습 방식의 한계를 보완하기 위해 제안되었습니다.

CLIP과 SigLIP의 핵심 차이

기존 CLIP은 Softmax 기반 손실 함수를 사용하며, 배치 안의 모든 이미지-텍스트 쌍을 함께 비교해 확률을 계산합니다. 이 방식은 배치가 커질수록 계산량이 빠르게 증가하며, 각 쌍이 전체 분포의 영향을 받기 때문에 상호 간섭이 생길 수 있습니다. SigLIP은 Sigmoid 기반 손실 함수를 사용하며, 각 이미지-텍스트 쌍을 독립적인 이진 분류 문제로 다룹니다. 즉, 각 쌍에 대해 “맞다” 또는 “아니다”를 직접 판단하도록 학습하며, 이렇게 하면 계산이 단순해지고 큰 배치를 더 안정적으로 사용할 수 있습니다.

CLIP 손실함수

이미지-텍스트 유사도 행렬

\[S_{ij} = \exp(t)\, x_i^\top y_j\]

에서 정답이 대각선에 오게 만든 뒤 대칭 cross-entropy를 씁니다. CLIP 논문은 이를 symmetric cross entropy loss라고 일컫습니다.

이미지→텍스트 방향 loss

\[\mathcal{L}_{\text{i2t}} = -\frac{1}{N}\sum_{i=1}^{N} \log \frac{\exp(S_{ii})}{\sum_{j=1}^{N}\exp(S_{ij})}\]

텍스트→이미지 방향 loss

\[\mathcal{L}_{\text{t2i}} = -\frac{1}{N}\sum_{j=1}^{N} \log \frac{\exp(S_{jj})}{\sum_{i=1}^{N}\exp(S_{ij})}\]

최종 손실

\[\mathcal{L}_{\text{CLIP}} = \frac{1}{2} \left( \mathcal{L}_{\text{i2t}} + \mathcal{L}_{\text{t2i}} \right)\]

SigLIP 손실함수

\[\mathcal{L}_{\text{SigLIP}} = -\frac{1}{|B|} \sum_{i=1}^{|B|} \sum_{j=1}^{|B|} \log \sigma\!\left(z_{ij}(t\,x_i^\top y_j - b)\right)\]

SigLIP은 손실 계산에서 각 image-text pair를 독립적으로 처리하며, matching pair는 positive, 나머지는 negative라고 명시합니다. CLIP처럼 행 전체를 softmax 정규화해서 정답 하나를 내는게 아니라, 각 쌍 자체를 맞다/아니다로 판정하는데 이는 binary logistic loss로 볼 수 있습니다.

수식으로 보는 차이점

CLIP

\[\mathcal{L}_{\text{CLIP}} = \frac{1}{2}\left(-\frac{1}{N}\sum_i \log \frac{\exp(S_{ii})}{\sum_j \exp(S_{ij})} - \frac{1}{N}\sum_j \log \frac{\exp(S_{jj})}{\sum_i \exp(S_{ij})}\right)\]

한 positive의 점수는 동일 배치 내 다른 모든 negative와 경쟁합니다. 그래서 CLIP은 본질적으로 배치 전체의 상대적 순위를 강하게 학습합니다. 배치 크기가 커질수록 negative가 풍부해지는 장점이 있지만, 메모리와 통신 비용도 커집니다.

SigLIP

\[\mathcal{L}_{\text{SigLIP}} = -\frac{1}{|B|} \sum_i\sum_j \log \sigma\!\left(z_{ij}(t\,x_i^\top y_j - b)\right)\]

SigLIP은 그런 전역 softmax 분모가 없고, 대규모 배치에서 구현이 더 메모리 효율적입니다.