[24’ ECCV] SCLIP: Rethinking Self-Attention for Dense Vision-Language Inference
카테고리: Vision
🔍 Abstract
SCLIP은 CLIP의 Feature만을 이용하여 Semantic Segmentation을 수행하는 Training-free Approach의 일종이다. 이 분야에서는 MaskCLIP 이후로 그렇다 할 논문이 나오지 않고 있었는데, 이러한 세팅을 이어받은 논문이라고 볼 수 있다.
- Problem: CLIP의 학습 과정은 CLIP이 spatial-invariant feature를 학습하도록 유도한다. 그러나, 우리는 Pixel-wise prediction을 위하여 spatial-covariant feature를 얻어야 한다.
- Method: 따라서 저자들은 CSA(Correlative Self-Attention)을 제안한다. Query-Key 곱으로 Attention을 계산하는 대신, Query-Query 또는 Key-Key 곱을 이용하여 Localized Feature를 계산하는 것이다.
- Result: SCLIP은 CLIP, MaskCLIP에 비해 상당한 성능 향상을 보인다. 이는 Localized Feature를 CLIP으로부터 잘 추출하는 CSA의 효과라고 볼 수 있다.
1. Introduction
저자들은 CLIP의 Last Layer Attention Map을 관찰했다. 그 결과, 어디에서 Attention Map을 계산하더라도 유사한 결과를 얻었다. 이는 곧 CLIP이 점점 정보를 통합하면서 spatial-invariant feature를 학습한다는 것을 의미한다. 즉, 이미지 전반에 걸친 Attention을 통해 전체적인 Image의 정보를 통합하는 과정이 Attention을 통해 일어난다.
따라서 저자들은 CLIP에서의 Segmentation이 쉽게 이루어질 수 없는 이유가 Dense Visual Feature를 추출하지 못하는 것이 아니라 Patch Representation의 Spatial Misalignment 때문이라고 보았다. 따라서, 저자들은 spatial-covariant feature를 추출하기 위해 CSA(Correlative Self-Attention)을 제안한다.
2. Method
일반적인 Self-Attention은 다음과 같이 나타낼 수 있다.
즉, Query와 Key의 곱으로 Attention을 계산한다. 이는 Holistic Visual Feature를 추출하는 데에 적합하다. 그러나 spatial-covariant feature를 추출하기 위해서는 Localized Feature를 추출해야 한다. 가장 간단한 방법은 자기 자신에게만 Attention을 주도록 하는 것이다. 즉, $\boldsymbol{Attn}$을 $\boldsymbol{I}_ {(l+1) \times (l+1)}$로 설정한다. 이는 MaskCLIP에서 사용된 방법으로, MaskCLIP은 Last Layer의 Attention을 무시하고 Value Feature로만 Semantic Segmentation을 수행했다. 그러나 이러한 방법은 각 Patch의 정보에만 집중하게 되어 low-level feature에 과도하게 집중하게 되고, 잘못된 Patch가 하나라도 있으면 전체 결과에 영향을 미쳐 noisy prediction을 유발한다.
대신, 저자들은 CSA(Correlative Self-Attention)을 제안한다. 이는 Query-Query 또는 Key-Key 곱으로 Attention을 계산하는 방법이다. 이는 Localized Feature를 추출하는 데에 적합하다. 이는 다음과 같이 나타낼 수 있다.
여기서 $\boldsymbol{W}_r$은 Projection Matrix로, Query 또는 Key Matrix를 사용하여도 되지만 임의의 Matrix를 사용하는 것도 가능하다. 이 식에서 중요한 것은 $\boldsymbol{W}_r$가 단순히 거리 개념을 정의하는 데에만 사용된다는 것이다. 즉, $x_i$와 $x_j$가 가까울수록 높은 값을 가지게 되고, 이 때의 거리를 측정하는 데에만 $\boldsymbol{W}_r$이 사용된다. 이러한 방법은 실제로 Local하게 가까우면서 Semantic하게 유사한 Feature들이 잘 Aggregation되도록 한다.
실제로 저자들은 Query, Key Matrix $\boldsymbol{W}_q, \boldsymbol{W}_k$를 사용한 경우가 가장 효과적이라는 것을 반견했고, 따라서 다음과 같은 $\boldsymbol{Attn}$을 사용했다.
참고로 저자들은 Post-processing은 사용되지 않아야 한다고 주장했다. 순수한 CLIP의 Feature만을 사용하여 Semantic Segmentation을 수행하는 것이 목표이기 때문이다. 이러한 점에서 SCLIP은 Noise를 후처리하거나 Grouping을 수행하는 다른 방법들과는 차별화되는 더 Interpretability에 집중한 방법이라고 볼 수 있다.
3. Experiments
3.1. Main Results
3.2. Ablation Study
Robustness of Projection Matrices. 어떠한 조합으로 Projection Matrix를 사용하여도 성능에는 큰 차이가 없다. 다만, Query Space, Key Space가 더 Semantic을 잘 추출하는 것을 알 수 있다.
Alternative Attention Map. 저자들은 $\boldsymbol{Attn}$을 다양한 방법으로 구성하여 실험했다. 물론 Query-Query, Key-Key 곱으로 Attention을 계산하는 것이 가장 효과적이었지만, Early Stage Attention Map도 충분히 좋은 Local Feature Extractor의 기능을 할 수 있었다.
💡 Summary
해당 논문의 내용을 간단히 요약하면 다음과 같다.
- Spatial-covariant feature를 추출하기 위해 Query-Query, Key-Key 곱으로 Attention을 계산하는 CSA를 제안함
- 이를 통해 Localized, Semantically Similar Feature를 잘 추출하여 Semantic Segmentation을 수행할 수 있음
댓글 남기기