안녕하세요 오늘 논문은 CLIP을 사용하면서 fine-grained 레벨의 객체를 찾는 논문을 찾다가 제목을 보고 읽게 되었습니다. 제목을 해석해보자면 CLIP이 세밀한 레벨에서의 open-world perception에 있어서 주된 병목, 방해물인가? 를 물어보는 논문입니다. 처음 리뷰하고자 했던 논문은 해당 저자의 다음 논문이긴 했는데, 선행 연구를 먼저 진행했어서 이 논문으로 리뷰를 작성하게 되었습니다. 해당 저자의 이후 논문은 The devil is in the fine-grained details: Evaluating open-vocabulary object detectors for fine-grained understanding 으로 2024 CVPR highlight 였습니다. 리뷰 시작하겠습니다.
Abstract
저자는 XR(eXtended Reality)/ 자율주행 / 로보틱스 같은 열린 세계 환경에서는 학습 때 보지 못한 개념에서도 적응을 해야하기 때문에 추론 시 자유로운 텍스트 기반으로 물체를 찾는 OVD 가 중요하다고 먼저 언급합니다. 현재 OVD는 보통 CLIP 같은 멀티모달 백본에 기대고 있고, 일반적인 (coarse grained) 카테고리에는 꽤 잘 맞지만 색/무늬/재질 같은 미세 속성을 구분하는 데에는 약한 특징을 보인다고 합니다. 저자는 이러한 한계의 근본적인 원인을 찾고자 했습니다. 저자는 우선 CLIP의 잠재공간이 미세 속성들을 충분히 분리하지 못한다는 가설을 세웁니다. cosine similarity 하나로 매칭시키면 세부 속성 신호들이 소거될 수 있다는 주장을 하고 이를 실험적으로 개선시켰습니다. 방법을 간단히 말하면 임베딩들을 단순히 MLP 등으로 재투영시켜 fine-grained 레벨의 개념 분리도 높일 수 있음을 보여주었는데, 이후 더 자세히 설명하겠습니다.
Introduction
앞서 말했듯이 저자는 OVD 의 중요성을 먼저 언급하고, OVD가 가지는 문제점이 새 일반화 클래스에 대해서는 잘 탐지하지만, 미세 속성의 구분에는 약하다고 언급하며 그 예시로 light brown dog vs dark brown dog 구분이 흔하게 실패한다고 합니다.

해당 figure는 위에서 말하는 예시로, 색/무늬/재질 같은 fine grained 레벨에서의 detection 성능이 떨어지는 예시사진입니다.
이러한 문제의 원인 가설로 CLIP 의 임베딩이 카테고리 수준의 신호에 편향되고 속성수준의 신호는 약하게 표현될 수 있다는 점, 또는 미세 정보는 임베딩에 존재하지만, 우리가 흔히 쓰는 단순 매칭 함수(내적/코사인)가 그 정보를 끌어내지 못할 수도 있다고 주장합니다.
저자의 연구는 CLIP의 임베딩 공간에 미세 속성 정보가 아예 없는지 혹은 있는데 매칭을 못 뽑는건지에 대한 분석을 하는데, 우선 OVD (예시: owl-vit) 에서 흔히 섞여 있는 box localization 변수를 배제하기 위해 CLIP 자체를 fine grained 벤치마크에서 먼저 평가하고, CLIP 기반의 OVD 로도 같은 이미지에서 평가하여 성능 패턴을 분석했다고 합니다. 일단 결과적으로 둘의 실패 양상이 비슷했고 CLIP 단독의 성능과 CLIP 백본의 OVD 의 성능이 비슷하여 box localization 문제가 아닌 CLIP의 image-text 정렬 문제일 가능성이 높다고 합니다. 저자는 이러한 기본 CLIP 의 image/text encoder 위에 얕은 레이어를 추가하여 fine grained 데이터셋으로 학습하여 성능이 오르는 것을 확인하였고, 이러한 점이 기본 CLIP 임베딩이 매칭 단계에서는 잃어버렸던 미세수준의 정보를 가지고 있다고 주장합니다. 간단하게 정리하자면 OVD가 직면한 fine-grained 레벨에서의 성능 저하가 CLIP 의 문제점이었고, 동결된 CLIP 임베딩 위에서 학습된 경량 아키텍처가 CLIP 잠재공간에서의 미세수준 정보를 끌어낼 수 있으므로 미세수준의 정보는 잠재공간에 존재한다는 점도 입증하였습니다.
Method
저자의 연구는 두가지 핵심 질문을 다룹니다.
이미 introduction에서 다룬 두가지입니다. 다시한번 적어보자면
- CLIP latent space 가 fine-grained level 에서의 OVOD 성능 제한에 문제점인가?
- 만약 맞다면, latent space 자체에서의 정보 부족이 문제인지, 혹은 내적 연산과 같은 matching methods가 부적절한 결과로 이끄는 것인가?

위의 Q1, Q2 를 해결하기위한 저자의 파이프라인입니다. 우선 1번문제를 다시 한번 다루자면, detector 의 문제인지 혹은 CLIP latent space가 문제인건지를 파악하기위해, GT정보를 crop해서 양과 음의 캡션에 각각 기존의 방식인 cosine similarity로 비교합니다. 이때 생각해야할 점은 정답인 “A dark green fabric pillow.” 가 오답인 “A light orange fabric pillow” 와 “A dark green crochet pillow.” 보다 높아야 합니다.
저자는 양의 캡션과 음의 캡션 모두에서 절댓값이 높게 나오는 경향이 있었고, 이를 통해 box detector의 문제이기 이전에 latent space의 정보를 내적하는 방식이 문제가됨을 보입니다. 이후 CLIP을 동결시키고 Model(s)를 내적/sim 에서 triplet loss로 변경하여 (양의점수 – 음의점수 ≥ 마진) 학습시키고 성능이 개선된다면 정보 자체는 latent space에 존재 했지만 코사인 매트릭이 그것을 충분히 꺼내지 못한거라고 주장합니다.
저자의 주장대로 matching method가 문제고 CLIP 의 잠재공간에는 미세 정보가 존재할 수 있다. 라는 가설을 정량적으로 증명하기 위해 2단계의 학습 전략을 세웁니다.
ϕv, ϕt = CLIP 비전/텍스트 인코더 (동결) vi = ϕv(Ii) , ti = ϕt(Ti) , when I = image, T = text S(v,t) = 유사도 함수 (1~6)
[x]+ = max(x,0) , a>0 :힌지 마진
첫번째는 워밍업으로 CLIP 을 coarse 세트로 먼저 학습시킵니다. ( 힌지 기반 트리플렛 로스)

해석하자면 coarse 데이터에서 정답 쌍의 점수가 오답 쌍의 점수보다 마진 a 만큼 크도록 학습시키는 것입니다. 첫항과 두번째항은 양방향으로 학습시켜 정렬을 더 안정적으로 하기 위함입니다. (like InfoNCE)
두번째는 파인튜닝 세트로서 fine-grained 세트로 학습시키는 것입니다.

정답 캡션과 hard negative 캡션을 통해 같은 객체에 대한 속성/재질/색 등의 미세차이를 구분하도록 학습합니다. 1번 수식과 2번수식의 차이점을 보자면 1번은 배치 내의 다른 샘플로 카테고리 중심으로 학습하는 것이고 2번 수식은 같은 이미지 내의 positive & hard negative 를 학습시켜 미세 구분을 중심으로 학습하는 것입니다.
위에서 유사도함수를 1~6라 적었는데, 각각 설명하자면
- S(v,t) = cos(v,t) 로 vanilla cosine similarity 입니다. 빠르고 단순하지만 카테고리의 신호가 강력하게 반영되어 하드 네거티브에게 자주 집니다.
- S(v,t) = cos(Wvv +bv,Wtt+bt) 로 Linear projection layer 로 동결된 CLIP에서 뽑은 후 코사인유사도를 계산합니다. 선형층이 속성에 유효한 축을 weightning하여 선형 분리가 가능하게합니다. 비선형 경계가 필요한 경우가 한계점입니다.
- S(v,t) = cos(v,Wtt +bt) 로 텍스트만 선형 투영시킵니다. 이는 텍스트 쪽 표현 부족이 병목일때를 확인하기 위한 방법으로 이미지 분포는 괜찮다고 보는 관점입니다.
- S(v,t) = cos(Wvv +bv,t) 로 이미지만 선형 투영시킵니다. fine-grained 신호가 이미지 쪽 표현에서 약할때 사용합니다.
- S(v,t) = cos(Wvv +bv,t) 선형 대신 비선형으로 투영시킨 후 cos 비교를 합니다. ( 2layer MLP + GELU) 비선형 경계로 선형으로는 어려운 미세 개념을 학습합니다.
- S(v,t) = σ MHA([CLS,v,t])(0,0) 는 CLS 토큰과 임베딩을 사용하여 작은 트랜스포머처럼 사용하는 것입니다. MHA 는 multi head attention 부분으로 여러 헤드들이 서로 다른 관점에서 이미지와 텍스트를 매칭하려고 attention 분포를 학습하게 됩니다. MLP 나 선형 변환보다 더 풍부하게 학습하지만 파라미터수가 많다는 단점 혹은 과적합 위험성이 존재한다고 합니다.
각각을 Coarse grained는 MS-COCO에서 평가하고 Fine grained는 FG-OVD 데이터셋에서 평가합니다. (원래는 detection용이지만 여기서는 크롭된 객체 이미지를 사용하여 분류로 변환했다고 합니다.)
난이도는 각각 Trivial,easy,medium,hard로 구분했고 각각 간단히 설명하면 Trivial : negative 캡션이 완전히 다른 속성/객체 Easy : 속성 변화가 있지만 시각적으로 뚜렷한 경우 Medium : 속성 차이가 미묘 Hard : 속성 1개만 아주 미세하게 변경 난이도를 색,재질,무늬,투명도에 따라서도 나누었는데 각각 Color, Material, Pattern, Transparency입니다.

여기서 Mean rank는 양의캡션의 평균 순위로 Random guess와의 비교로 성능을 추측할 수 있습니다. 난이도가 어려워질수록 random guess와 비슷해지는 경향성을 보이고, 전 난이도에서 어느정도 미세 구분을 한다는 것을 알 수 있습니다. 또한 CLIP과 Owl-ViT와의 성능이 비슷함을 보여 detector의 문제가 아니라 CLIP 문제임을 뒷받침합니다.

warm-up 과 fine-tuning 학습 사이의 성능 변화를 보여줍니다. Mean Rank는 앞서 말햇듯이 양의 캡션을 몇번째로 골랐는지에 대한 순위이며 fine-tuning이후 큰 성능 개선이 있었음이 보입니다. 우측 COCO Retrieval을 보면 fine grained를 진행하게 되면 coarse grained retrieval에서는 손해를 보는 것을 확인할 수 있습니다. 즉 fine-grained 정보는 이미 latent space에 존재하며 이는 MLP 만으로도 간단하게 추출이 가능하다는 것을 보입니다.
Conclusion
Q1 : OVOD fine-grained 에서의 성능 한계는 localization보다는 CLIP embedding spcae의 matching 한계이다. Q2 : Fine-grained 정보는 이미 latent space에 존재하며 cosine similarity 대신 학습된 matching 함수 사용으로 성능 개선을 이루어낼 수 있다.
이며 저자는 연구 목표인 multi modal 모델들의 open-world 이해 한계점을 분석하고 그 원인이 어디에 있는지를 정량적으로 밝혔고, 향후 연구 방향이 pre-training 관점에서 fine-coarse balance가 잡힌 데이터로 표현 학습을 하는것과, Matching 함수의 대안점에 대한 탐구라고 언급했습니다. 감사합니다.
안녕하세요, 인택님 좋은 리뷰 잘 읽었습니다.
리뷰를 보니 저자들이 fine-grained 정보가 CLIP의 latent space에는 존재한다고 결론을 내린 것으로 이해했습니다.
다만 궁금했던 점이 왜 cosine similarity가 그 정보를 제대로 꺼내오지 못하는지에 대한 이론적인 근거나 설명이 논문에 있었는지가 궁금합니다. 서두에 cosine similarity 하나로 매칭시키면 세부 속성 신호들이 소거될 수 있다는 주장을 했다고는 언급하셨는데 어떤 부분에서 세부 속성 신호들이 소거 되었는지가 와닿지 않아서 질문드립니다.
감사합니다.