[24’ CVPR] VIVL: Towards Better Vision-Inspired Vision-Language Models

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

image

저자들은 일반적인 VLM(Vision-Language Model)에서 두 가지 문제가 있다고 말한다. (1) Vision Encoder의 last layer만 사용하여 low-level feature가 충분히 사용되지 못하고 있다는 것과, (2) Vision-Language Adapter가 굉장히 Shallow한 구조로 되어 있어 Vision Feature가 충분히 Interaction하지 못하고 있다는 것이다. 따라서 각각의 문제를 해결하기 위해 (1) 중간 층으로부터 feature를 추출하여 합치는 FPE(Feature Pyramid Extractor), (2) Deep Interaction을 가능하게 하는 DVCP(Deep Vision-Conditioned Prompt)를 제안한다. 이러한 두 개의 module은 plug-and-play 방식으로 추가할 수 있으며, 이를 통해 기존 VLM의 성능을 개선할 수 있었다.


1. Architecture

image

전체 과정은 다음과 같다. 여기서 많은 부분은 LLaVA와 같은 기존 VLM과 유사하고, 핵심 Contribution은 (1) FPE와 (2) DVCP이다. 각각을 자세히 알아보자.


1.1. FPE(Feature Pyramid Extractor)

image

FPE는 단순히 Vision Encoder의 여러 layer를 concatenation하는 feature ensemble과는 다르다. FPE는 Feature Pyramid 방식을 사용하여 low-level feature부터 high-level feature까지를 종합적으로 고려한 하나의 feature를 생성한다. 즉, 아래와 같은 식을 사용한다. ($l$-th layer와 last layer의 식을 나타낸다.)

image

주의할 점은 first layer부터 last layer까지 모두 attention을 축적하는 것이 아니라, 선택된 일부 layer에 대해서만 cross-attention을 적용한다는 것이다. 위 식에서는 $l$-th layer와 last layer에서만 cross attention이 적용되었으며, 대부분의 실험에서는 $25, 38$-th layer를 선택했다.


1.2. DVCP(Deep Vision-Conditioned Prompt)

image

DVCP는 일종의 Deep Prompt Tuning 혹은 Prefix Tuning의 variant로 생각될 수 있다. 쉽게 생각할 수 있는 방법은 learnable prefix $P_ {i-1}$과 visual feature $X^ v$를 cross-attention으로 결합하는 것이다(Fig 5(d)). (이때 $A_ i$는 attention module을 의미하며, 붉은색은 trainable parameter를 의미한다.)

image

그러나 이러한 방법은 2가지의 문제가 있다. (1) Prefix learning의 고질적인 문제로, layer 수가 늘어남에 따라 learnable parameter가 linear하게 증가한다는 점과 (2) previous layer의 정보를 prefix가 고려하지 못한다는 점이다. 저자들은 이러한 문제를 해결한 두 가지 모듈인 (1) DVCP-Plain, (2) DVCP-Skip을 제안한다.


DVCP-Plain

DVCP는 두 가지 문제를 해결하기 위해 prefix tuning을 prompt tuning으로 바꾸어 input prompt와 attention module만 trainable하게 만들었다(Fig 5(e)). 이는 위에서 제안한 방법에 비해 parameter 수를 96.7%나 줄인 방법이다.

image


DVCP-Skip

DVCP-Skip은 여기서 computation cost를 줄이기 위해 cross-attention module을 $S$ layer마다 한 번씩만 사용하도록 한 것이다.

image


지금까지의 내용을 정리하여, 다른 prompt tuning 혹은 prefix tuning 방법과 DVCP를 비교하면 다음과 같다.

image


2. Experiments

2.1. Main Results

image

저자들이 강조하고자 하는 것은 (1) 기존 모델에 seamless하게 추가할 수 있으며, 성능을 훨씬 끌어올릴 수 있다는 것과 (2) Pre-training 없이도 visual cue가 충분하기에 data-efficient하게 fine-tuning이 가능하다는 것이다.


2.2. FPE Analysis

image

다음으로는 다양한 adapter와 FPE를 비교하여 FPE의 유용성을 증명했다. 저자들은 이로부터 3가지의 결론을 도출했다.

  1. 비슷한 수의 parameter를 사용했을 때, MLP보다 Cross-attention이 visual feature를 더 잘 추출한다.
  2. Parameter의 수가 늘어난다고 해서 성능이 더 좋아지는 것은 아니다. 이는 overfitting issue 때문이다.
  3. FPE는 단순한 cross-attention보다 더 효과적이다.

한편 FPE와 다른 모델들에 대한 ablation study 결과는 다음과 같다.

image

  1. Intermediate layer는 실제로 도움이 된다.
  2. FPE는 단순 feature ensemble보다 효과적이다.
  3. 선택된 두 layer는 서로 너무 가깝거나 멀면 성능이 저하된다. 너무 가까우면 diversity가 떨어지고, 너무 멀면 semantic gap이 커져 성능이 저하된다.
  4. 더 많은 layer를 사용하면 더 성능이 향상될 수 있다.


2.3. DVCP Analysis

한편 DVCP에 대한 ablation study 결과는 다음과 같다.

image

  1. P-Tuning과 같이 previous output을 고려하지 않는 경우에는 오히려 성능이 저하된다.
  2. LLaMA-Adapter-style로 previous output을 고려하는 경우에 비해서도 DVCP의 성능이 더 좋다.
  3. DVCP-Plain보다 DVCP-Skip이 더 좋은 성능을 보이는데, 따라서 skip layer strategy가 효과적임을 알 수 있다.


💡 Summary

이 논문에서는 기존에 존재하는 VLM에서 Vision-Language Interaction이 부족했다는 문제를 (1) FPE와 (2) DVCP를 통해 해결하였다. 즉, Vision Encoder 차원과 Adapter 차원에서 모두 해결한 것으로, 이러한 통찰은 다른 VLM에도 충분히 적용할 수 있을 것으로 보인다.


📃 Reference


Multimodal 카테고리 내 다른 글 보러가기

댓글 남기기