Abstract
안녕하세요, 강희승입니다. 오늘은 지난주에 리뷰한 SigLIP의 후속 연구로, Google DeepMind에서 발표한 SigLIP2를 리뷰해보려고 합니다. SigLIP의 경우, Memory efficiency, 모델의 확장성, 학습 과정에서 효율성 등의 관점에서 CLIP의 문제를 지적하고 Sigmoid Loss를 제안하였습니다. 후속 연구인 SigLIP2는 CLIP의 task-specific 한계를 문제로 정의하고 해결한 논문입니다.
SigLIP2를 통해, Localization, dense prediction task 뿐 아니라 다양한 task에서 성능 향상을 보였습니다.
Problem & Main Contribution
CLIP은 대규모 web-scale의 Image-Text Pair를 기반으로 Contrastive Learning을 수행하였습니다. 그 결과 놀라운 성능을 보였으며, Zero-Shot prediction에서도 좋은 성능을 보임을 reporting하였습니다. 이후, CLIP을 기반으로 다양한 개선 방안들이 제시되어 왔습니다. 하지만, 이러한 방법들은 기존 CLIP의 contrastive loss에 의존하였으며, 최신 개선 방안들을 하나의 pre-trained 모델에 통합하지 못하였습니다.
이에 저자는 SigLIP2를 통해 다음 다섯 가지 contribution을 보였습니다.
- Strong multilingual vision-language encoders English focused task에서 높은 성능을 보임과 동시에, 다양한 언어에 대한 benchmark에서도 강력한 성능을 보였습니다. 이는 단일 모델으로도 다양한 언어와 문화적 맥락을 반영하였음을 보이는 결과입니다.
- Dense features self-supervised loss와 decoder-based loss를 통합함으로써 더 좋은 dense feature를 모델이 갖도록 하였고, 이는 segmentation, depth estimation, 게다가 localization task까지 잘 수행할 수 있도록 하였습니다.
- Backward Compatibility SigLIP2는 완전히 새로운 architecture를 제안한 것이 아닙니다. SigLIP과 동일한 architecture를 기반으로 설계하여, 단순히 weight와 tokenizer를 교체하는 것만으로도 기존의 usage에서 수정 없이 사용할 수 있습니다.
- Native Aspect ratio and Variable resolution 해당 논문에서 NaFlex variant라는 것을 도입하여, 다양한 resolution과 image aspect ratio를 처리할 수 있도록 하였습니다. 이는 document understanding과같은 비율에 민감한 application에도 안정적인 성능을 보일 수 있도록 하였습니다.
- Strong small models Distillation을 통해 작은 모델에서 최적화를 수행하였고, 작은 모델임에도 높은 성능을 내도록 유도하였습니다.
Method
Architecture

Sigmoid Loss + Decoder
사전학습 단계에서 SigLIP에 LocCa라는 Decoder 구조를 적용하였습니다. Sigmoid loss와 Decoder loss를 동일한 가중치로 결합하여 구성하였고, 이는 CLIP과 다르게 contrastive loss에 의존하지 않습니다. 이는 SigLIP의 Loss는 Contrastive Learning의 의도대로 학습되지만, Loss의 구성은 image, text pair의 이진 분류 문제로 재구성되기 때문입니다.

LocCa의 경우 표준 transformer decoder를 적용하였습니다. 이때, decoder의 형태는 text encoder와 동일하나, cross-attention을 추가한 형태입니다. 이때, 세가지 형식으로 text를 생성하도록 설계하였습니다.
- Cap: 전체 이미지에 대한 caption을 생성하도록 유도합니다.
- ARef: caption과 이에 해당하는 bounding box 좌표를 예측하도록 합니다. (caption + bounding box)
- GCap: Bounding box와 이에 해당하는 caption을 생성하도록 합니다. (bounding box + caption)
각 target에 대해 모두 동시에 학습하며, 동일한 파라미터를 공유하고 세번의 forward pass를 수행한다고 합니다. 이때, 학습을 위한 bounding box label은 OWLv2를 통해 pseudo labeling을 수행하여 사전 데이터를 구축하였습니다.
해당 설계를 통해 image captioning 뿐 아니라, automatic referring expression prediction, grounded captioning을 학습할 수 있도록 하였습니다.
Self-Distillation + Masked Prediction
저자는 feature representation으로 하여금 local semantic한 정보를 강화하고자 self-distillation과 masked prediction을 기반으로 Local-to-Global correspondence learning을 수행하였습니다. 이러한 representation은 segmentation, depth estimation과 같은 dense prediction에 사용됩니다.
Local-to-Global consistency loss
먼저 Local-to-Global consistency loss를 구성하기 위해 SILC의 Loss를 채택하였습니다. Vision Encoder는 Student network로 지정하고, image의 일부(crop)만 학습 때 사용합니다. 이때, Teacher network는 image 전체를 사용하며, student network가 이미지의 일부만으로도 전체 image representation을 나타낼 수 있도록 학습합니다.
teacher의 parameter는 매 iteration 마다 student parameter의 EMA(Exponential Moving Average)로 정해집니다.
Masked Prediction Objective
두번째로, masked prediction objective를 추가합니다. 이때, Local-to-Global consistency와 다르게, student,teacher 모두 이미지 전체를 input으로 사용합니다. 다만, student에서 image 의 50%를 masking을 수행합니다. 이를 통해, student encoder가 masked location에 해당하는 feature를 teacher의 representation으로 matching하도록 학습합니다.
위 두 loss를 통해 vision encoder는 이미지의 global semantic과 local semantic을 더 잘 나타낼 수 있게 됩니다.
Variable aspect and resolution (NaFlex)
NaFlex는 하나의 모델이 다양한 aspect ratio의 이미지를 처리하도록 만드는 방법입니다.
해당 논문에서는 {128,256,576,784,1024} 의 sequence length 중 하나를 mini-batch 마다 uniform하게 선택하도록 하였습니다. 이때, sequence length는 이미지의 가로 세로 pixel resolution 자체가 아닌, patch token의 최대 갯수를 의미합니다. 일반적으로 정사각형 이미지라면 patch size 16을 기준으로 256 token에 대해 256×256의 이미지 크기를 가집니다. 하지만, NaFlex에서는 다양한 aspect ratio를 가지는 image도 처리하기 위해, 직사각형 image에도 patch grid를 생성할 수 있도록 하였습니다. 256 token을 예로, 16:9의 이미지라면, 21×12=252 tokens를 가지도록할 수 있습니다. 이때, 4개의 token이 비는데 이는 padding을 통해 최대 sequence token의 길이를 채웁니다.
Positional Embedding의 경우 patch grid에 맞게 매번 병경해야 합니다. Aspect ratio가 다르기 때문에, position 정보도 그에 따라 달라지기 때문입니다. 이를 위해 기존 positional embedding을 기반으로 bilinear interpolation을 수행하며, anti-aliasing을 통해 interpolation 과정에서의 손실을 줄입니다.
Results
Zero-shot
저자는 SigLIP2를 ImageNet, ObjectNet, ImageNetv2, ImageNet ReaL 등의 일반 zero-shot classification benchmark와 image-text retrieval benchmark를 통해 평가하였습니다.

SigLIP2는 대부분의 benchmark에서 좋은 성능을 보였으며, 기존 CLIP에 비해서도 의미있는 성능 향상을 보였습니다.
단순 ImageNet의 성능만 향상된 것이 아닌, 여러 benchmark에서 의미 있는 성능의 향상이 있었기 때문에, 특정 benchmark에 특화된 것이 아님을 알 수 있습니다. 여기서 ObjectNet에 대한 성능 향상의 폭이 조금 더 높은데, SigLIP에 비해서 local한 정보와 global한 정보를 더 학습했기 때문이라고 유추할 수 있습니다.

또한, multilingual model인 mSigLIP에 대해서도 SigLIP2는 뒤처지지 않는 성능을 보였습니다. 256k Multilingual Gemma tokenizer를 사용하고, 10%의 비영어 학습 데이터를 통해 학습하였기 때문에, Multilingual task에도 안정적으로 성능을 보이는 것이라고 할 수 있습니다.
NaFlex

해당 결과는 다양한 aspect ratio를 고려하여 학습한 NaFlex 버전에 대해 성능을 Reporting 하였습니다. ImageNet이나, COCO의 경우 일반 모델이 거의 우세합니다. 반면, OCR benchmark에서는 NaFlex 모델이 우세한 것을 확인할 수 있습니다. 이를 통해, 자연 이미지 task에서는 일반 모델이 더 적합하고, OCR document task에서는 NaFlex가 image의 aspect ratio를 보존하기 때문에 유리한 것을 확인할 수 있습니다.
As a vision encoder

SigLIP2를 visual backbone으로서도 충분한 가치가 있는지 저자는 실험을 통해 보였습니다. 이를 위해 vision encoder를 freeze한 상태에서 PaliGemma2와 동일한 구조로 구성하였습니다. 해당 설계를 통해 SigLIP2가 이미 학습된 representation 자체가 VLM의 성능에 얼마나 영향을 끼치는지 직접적으로 확인할 수 있습니다. 결과는 대부분의 task에서 SigLIP2가 성능이 우수한 것을 확인할 수 있습니다. 이는 해당 모델의 representation이 VLM에도 잘 transfer 되는 것으로 해석할 수 있습니다. 해당 결과는 SigLIP2가 다양한 task를 위한 representation을 학습하였음을 보여주며, 이 때문에 visual backbone으로 채택되는 것 같습니다.
Dense prediction & Localization

저자는 Dense prediction 평가에서 SigLIP2의 성능이 SigLIP, CLIP 보다 우수한 것을 보였습니다.

추가로, Referring expression comprehension에서도 SigLIP2 가 SigLIP에 비해 큰 폭으로 성능을 능가하는 것을 확인할 수 있습니다. 이때, English only model인 LocCa보다는 소폭 낮은 성능을 보이지만, 거의 근사한 성능을 보이며, 다른 모델들과의 격차가 더 큰 것을 확인할 수 있습니다.
해당 결과들을 통해 SigLIP2의 decoder 기반의 사전학습이 natural language와 image 영역 간의 관계를 vision encoder의 patch level feature에 효과적으로 나타낼 수 있도록 학습하였으며, self-supervised loss들을 기반으로 global, local semantic 정보를 학습하여 segmentation, depth 등과 같은 dense prediction 능력까지 강화한 것으로 해석할 수 있습니다.
Conclusion
SigLIP 2를 통해, zero-shot classification을 비롯한 downstream performance에서 좋은 성능을 보였습니다. 또한, 기존 모델들은 localization, segmentation 등 각 task 특화 방법론을 제시했다면, 통합적인 학습을 통해 단일 SigLIP2 모델로도 다양한 dense prediction까지도 수행할 수 있게 되었습니다.
저자는 여기에 그치지 않고, NaFlex와 Multilingual data를 기반으로 학습을 하여, OCR과 document task 뿐 아니라, 다양한 언어를 기반한 task에도 강건하게 성능을 보였습니다.
마지막으로, SigLIP2를 vision encoder로서 VLM 성능을 평가한 결과 SigLIP2의 성능 향상이 VLM 에도 이어지며, 기존 visual backbone을 충분히 대체할 만한 성능을 보였습니다.
이러한 결과들 덕분에 현재 다양한 task에서 visual backbone으로 SigLIP2를 채택하고 있는 것 같습니다. 또한, CLIP 기반 후속 연구에서도 SigLIP2를 언급하며, 이에 대한 후속 연구도 활발히 진행 중인 것 같습니다.
마무리하며
해당 논문을 기초교육간 읽을 당시, CLIP 논문이 나타나고 난 뒤의 연구 동향을 이해하지 못한 채로 읽었던 것 같습니다. 그 당시, CLIP의 논문을 읽으면서 zero-shot 예측을 잘하는 구나 등 장점이나, 기존 문제를 어떻게 해결했는지 아이디어에만 집중하였던 것 같습니다. SigLIP2를 읽었을 때도, 왜 localization, dense prediction task 등에 왜 집중을 하였고, 그에 대한 구조적 설계를 했는지 이해보다는, 내용 이해에 급급한 reading을 했습니다.
기초 교육을 마치고, VLM에 대해 서베이도 해보다 보니, CLIP의 Global aligning 이 가지는 근본적인 localization 문제 등 다양한 원인들을 기반으로 후속 연구가 진행되었다는 것을 알게되었습니다. 그리고 이 논문을 리뷰 작성을 위해 다시 읽어보니, SigLIP을 발표한 이후 CLIP의 기존의 근본적 한계를 해결하기 위해 자연스럽게 확장된 연구인 것 같다고 느꼈습니다.
적지 않은 논문을 읽은 것 같지만, 아직도 논문을 읽는 법에 대해서는 한참 부족함을 느끼고 있습니다. 저자들이 어떤 의도로 해당 연구를 시작했고, 어떤 관점에서 바라보고 해결했는지 생각하면서 읽음과 동시에, 해당 접근이 타당한지 비판적인 시선에서 논문을 보는 것도 중요한 것 같습니다.
모쪼록, 리뷰를 읽어주셔서 감사합니다.
리뷰 잘 읽었습니다. 저도 다시한번 SigLIP2가 어떻게 학습되었는지 상기시킬 수 있어서 재밌게 읽었던 것 같습니다
1. LocCa decoder는 captioning, ARef, GCap을 학습하기 위해 사용된다고 하셨는데, downstream에서 SigLIP2를 vision encoder로 사용할 때도 decoder가 사용되는지, 아니면 학습 중에만 vision encoder를 더 잘 만들기 위한 auxiliary module로 쓰이는지 궁금합니다
2. NaFlex가 제법 큰 Contribution이라고 생각이 드는데요. 리뷰에서 NaFlex는 OCR이나 document task에는 유리하지만 ImageNet이나 COCO에서는 일반 모델이 더 좋은 경우도 있다고 하셔서.. 혹시 이 trade-off가 왜 발생하는지 논문에서 분석을 다루는지 궁금합니다! 그러니까 aspect ratio 보존이 항상 좋은 것은 아닌 것인지 궁금하네요!
3. SigLIP2가 SigLIP과 동일 architecture라 weight와 tokenizer 교체만으로 사용할 수 있다고 하셨는데, NaFlex variant도 기존 SigLIP 사용 코드와 완전히 호환되는지 궁금합니다. variable resolution/aspect ratio 처리는 추가 전처리가 필요하지 않나 라는 의문이 있어서요!
4. SigLIP2는 localization과 dense prediction에서는 확실히 개선된 것 같은데, attribute binding이나 relation understanding처럼 compositionality가 필요한 benchmark에서도 개선이 있었는지 궁금합니다. 단순히 local feature가 좋아지는 것과 compositional reasoning이 좋아지는 것은 다를 수 있을 것 같아서요. 논문이나 appendix에 관련 실험은 없을지 문득 궁금해지네요!
안녕하세요 주영님. 좋은 질문 감사합니다!
1. SigLIP2의 contribution에서, 기존의 SigLIP와 구조를 완전히 동일하게 하여, weight와 tokenizer만 교체하는 것만으로도 usage에서 바로 쓰일 수 있도로 하였다고 합니다. 즉, 말씀하신 decoder는 auxiliary module로서 학습 시에 사용되었다고 생각하시면 될 것 같습니다.
2. 해당 논문을 처음 읽었을때는 NaFlex가 있구나 정도로 이해하고 넘어갔었던 것 같은데, 다시 읽고 정리하다 보니, NaFlex가 기존 task 뿐 아니라, OCR과 같은 다양한 범주의 task까지 다룰 수 있게 해준 것 같습니다.
여기서 주영님이 궁금해하신 부분을 자세하게 살펴보자면, figure에서 trade-off가 발생하는 지표는 SigLIP2 B/16,32 모델입니다. 오히려 So400m에서는 두 성능 모두 유사하다고 저자는 언급합니다. 이때, SigLIP2 B/16, 32는 teacher encoder를 기반으로 선별한 추가 데이터를 기반으로 추가 distillation 학습을 했다고 합니다. 따라서 저자는 일반 모델이 NaFlex보다 어떠한 구조가 더 좋아서 성능이 높은 것이 아닌, 추가적인 학습에 의한 것이다라고 해석합니다.
3. Fixed-resolution의 경우, 말씀하신대로 가능하나, Naflex의 경우 추가적인 조치가 필요한 것으로 이해하고 있습니다. Naflex는 고정된 aspect-ratio를 가지지 않기 때문에 해당 비율을 유지하면서 patch를 생성해야하는데, 그 과정에서 sequence length에 따라 padding이 필요할 수 있습니다. 내부적으로는 padding이 수행되었다면, padding 패치를 무시하기 위한 attention mask도 필요하고, 또한, positional embedding에 interpolation도 필요합니다. 따라서, 기존의 SigLIP에 그대로 바꿔서 사용하기는 제한이 있다고 볼 수 있습니다. (논문에 언급되진 않았지만, huggingface의 AutoProcessor와 같은 자동 전처리 API를 사용한다면, 기존 형태를 거의 동일하게 사용할 수 있습니다.)
4. 해당 질문에 대해서는 아쉽게도, Appendix에서 조차 다루지 않았습니다. 다만 말씀하신대로, SigLIP2의 local feature의 품질 향상이 compositional reasoning이 좋아질 것이라는 직관을 기존 SigLIP,CLIP 등 모델들과의 비교를 통해 보일 수 있게 된 것 같습니다. 조금 더 서베이를 해야겠지만, 이러한 직관을 다룬 논문이 있다면 공유드리겠습니다!
감사합니다.
안녕하세요 희승님 좋은 리뷰 감사합니다.
1. 리뷰를 보니까 해상도를 높일수록 세밀한 정보를 더 잘 잡는 것 같은데, 이게 정말 높은 해상도가 필요한 건가요? 아니면 낮은 해상도에서도 학습 방법을 잘 바꾸면 비슷한 세부 정보를 얻을 수 있는지 궁금합니다
2. SigLIP 2 자체의 visual feature가 좋아지는 건 이해가 되는데, 이걸 실제 VLM에 붙였을 때 뒤에 있는 LLM이 그 세밀한 정보를 정말 다 활용하는지도 궁금합니다. 중간에 연결하는 부분에서 정보가 사라질 수도 있지 않나요?
감사합니다.
안녕하세요 의철님. 좋은 질문 감사합니다!
1. Dense prediction & Localization section에서 Table을 보시면, 말씀하신대로 해상도가 높을 수록 더 좋은 성능을 보이는 것을 확인할 수 있습니다. 이때, SigLIP 384 res와 SigLIP2 224 res와 비교했을 때, resolution이 50% 더 높은대도 불구하고, SigLIP2 모델이 더 세밀한 정보를 잘 인지하는 것을 확인할 수 있습니다. 해상도가 높다면 세밀한 정보를 더 잘 인지할 수 있으나, SigLIP2에서 Dense, fine한 정보를 잘 인지할 수 있도록 설계한 특정 학습 방법이 주된 이유인 것 같습니다.
2. As a vision encoder의 figure를 보시면, Paligemma2와 동일한 Setting에서 encoder로 SigLIP2 체택하여 성능을 리포팅하였습니다. 이때, 대부분의 task에서 SigLIP2를 사용한 모델이 성능이 더 좋은 것을 확인할 수 있습니다. 이를 통해 저자는 visual backbone으로 충분한 가치가 있다고 판단합니다. 다만, 흔히 아는 MLLM의 구조가 Visual representation을 projection을 거쳐 LLM에 input되기 때문에, 해당 MLLM 구조 자체가 visual representation을 잘 활용하는지에 대한 의문은 근본적인 문제라고 생각됩니다. 따라서 SigLIP2 encoder를 여러 Benchmark에서 성능을 리포팅 했고 기존 encoder들에 비해 성능의 향상을 이루었으나, 해당 결과들이 visual representation을 잘 활용한다고 단언하기는 어려울 것 같다는 생각도 듭니다.
감사합니다.
안녕하세요 희승님, 좋은 리뷰 감사합니다.
LocCa 학습 과정에서 olv2를 통한 pseudo labeling을 활용한다고 설명해주셨는데, pseudo label을 이용하는 과정에서 발생할 수 있는 노이즈를 별도로 처리했는지, 또한 이러한 노이즈가 dense prediction task 성능에 미친 영향이 있을지 궁금합니다
안녕하세요, 재윤님. 좋은 댓글 감사합니다.
논문에서 해당 내용에 대해 자세하게 언급하진 않았습니다. 다만, reference한 LocCa에서 OWL-ViT가 생성한 후보 Box 중에서 confidence score가 0.3 이상인 것만 사용합니다. 해당 논문도 동일하게 노이즈 처리 방식을 적용하지 않았을까 생각됩니다. 이때, noise가 학습에 부정적인 영향을 줄 수 있을 것이라는 생각은 드나, 전체적인 결과에서 LocCa 기반의 학습이 localization, dense prediction 에서 전반적인 성능 향상을 확인할 수 있었기 때문에, 긍정적인 효과를 내었다라고 판단할 수 있을 것 같습니다. 다만, Threshold를 변화시키거나, 다양한 ablation 실험이 없기 때문에, pseudo labeling이 dense prediction에 미친 영향을 직접적으로 확인하지 못했습니다.
감사합니다.