본문 바로가기
AI/Multimodal

Multimodal Prompting with Missing Modalities for Visual Recognition

by 구운밤이다 2023. 10. 31.
728x90
반응형

요즘 ChatGPT 처럼 multimodal input (vision, language) 을 받아 여러 task에 적용될 수 있는 연구이다. 특히 train, test 시 모든 모달리티가 존재하리라는 보장이 없는데 이때 성능을 유지하면서 학습할 파라미터 수를 1% 로 줄인 논문이다. CVPR 2023에 개제된 논문.

Abstract

  • 이 논문은멀티모달 학습에 대한 시각 인식 기술에 대해 다루고 있으며, 실제 상황에서의 누락된 모달리티 문제와 계산 리소스 제약에 대한 해결책을 제안합니다.
  • 프롬프트 학습 프레임워크를 사용하여 모델의 성능을 향상시키고 모델 재학습의 필요성을 줄일 수 있다는 실험 결과를 제시합니다.

1. Introduction

  • 멀티모달 트랜스포머는 다중 모달 정보를 모델링하고 조정하는데 사용되며, 다양한 응용 잠재력을 가지고 있습니다.

  • 이 백본 모델은 장르 분류, 멀티모달 감성 분석, 크로스모달 검색 등의 다양한 작업에서 사전 학습된 모델로 사용될 수 있습니다.

  • 하지만 멀티모달 트랜스포머가 실제 시나리오에 적용되기 위해서는 아직 해결해야 할 과제가 있습니다.
    1) 첫째, 멀티모달 트랜스포머를 효율적으로 적용하는 방법은 무엇인지 or 리소스를 소비하지 않고 어떻게 효율적으로 조정할 수 있을까?
    2) 누락된 모달리티 (missing modality)가 있는 경우 불완전한 훈련 데이터나 테스트에서 우리는 누락된 모달리티와 같은 문제를 마주하게 됩니다. 이러한 상황에서 견고성을 보장하는 방법은 무엇일까요? 저자들은 이러한 문제들을 해결하여 멀티모달 트랜스포머의 실용성을 높일 수 있을 것이라 예상한다.

  • 대부분의 멀티모달 트랜스포머 기반 방법은 데이터 완전성에 대한 일반적인 가정을 하지만, 이는 실제로는 적용되지 않을 수 있다는 문제가 있다.

    • 개인정보 보호, 디바이스 또는 보안 제약으로 인해 데이터가 불완전한 경우 성능이 저하.
    • 대규모 데이터 세트에 대해 사전 학습된 트랜스포머는 다양한 다운스트림 작업을 처리하기 위해 백본으로 사용되고 fine tuned 된다. 그러나 트랜스포머의 모델 크기가 커지면 fine tuning 에 많은 비용이 발생하고, 실무자는 제한된 계산 리소스로 인해 실현 불가능한 작업이다. 또한 상대적으로 작은 규모의 대상 데이터 세트에서 트랜스포머를 fine tune 하면 일반화 가능성과 안정성이 제한되어 새로운 데이터로 추가 학습하거나 다른 작업에 재사용하는 데 방해가 될 수 있다.
  • 이 연구는 멀티모달 트랜스포머를 사용하여 텍스트와 이미지가 누락된 데이터에서의 변환 작업에 대해 연구합니다. 이전 연구에서는 특정 모달이 누락된 데이터만을 고려하였지만, 이 연구에서는 실제 시나리오에서의 다양한 누락 모달리티를 고려합니다. 이를 위해 fine tuning 이 필요하지 않은 프롬프트 학습 기법을 제안합니다. 기존의 프롬프트 학습은 일부 파라미터만 학습하여 전체 모델의 성능을 유사하게 높일 수 있으며, 이 연구에서는 누락된 양식에 대한 다양한 상황을 고려하여 학습 가능한 프롬프트를 사용합니다. 이를 통해 전체 트랜스포머 모델의 성능을 최적화할 수 있으며, 계산 비용도 줄일 수 있습니다. 이 연구와 이전 연구의 차이점은 그림 1에서 설명되어 있습니다.

  • general modality 불완전 시나리오를 해결하기 위한 멀티모달 트랜스포머의 프롬프트 설계를 더 탐구하기 위해, missing-aware 프롬프트를 pretrained 멀티모달 트랜스포머에 통합하는 두 가지 설계 고려
    1) input-level
    2) attention-level prompt learning

  • 이 논문에서 연구한 missing-modality 사례에서는 프롬프트를 트랜스포머에 부착하는 위치가 중요

  • 프롬프트의 길이와 위치에 미치는 영향
    1) 프롬프트 레이어의 수가 증가할수록 성능 향상 but 중요한 요소는 아님
    2) input 과 가까운 레이어에 프롬프트를 부착하면 성능 향상
    3) 프롬프트의 길이는 주의 수준 프롬프트의 경우 모델 성능에 약간의 영향을 주지만 특정 데이터 세트에서는 입력 수준 프롬프트에 더 영향을 줄 수 있습니다. 또한, 다양한 사례에서 학습 가능한 파라미터를 전체 모델에 비해 1% 미만으로 줄이면서 누락 양식 문제를 완화하기 위해 프롬프트 프레임워크를 채택하는 것이 효과적임을 검증하는 광범위한 결과를 보여줍니다.

  • contribution

    • 훈련 또는 테스트 단계에서 각 데이터 샘플마다 누락된 모달리티가 다르게 발생할 수 있는 멀티모달 학습에 대한 일반적인 시나리오를 소개합니다.
    • missing modality 상황을 해결하기 위해 missing aware 프롬프트를 사용 & 사전 학습된 모델을 finetune 하는 데 1% 미만의 매개변수만 필요하므로 무거운 트랜스포머를 finetune 하지 않아도 됨
    • 또한 사전 학습된 트랜스포머의 서로 다른 위치에 프롬프트를 부착하는 두 가지 디자인, 즉 입력 수준 프롬프트와 주의 수준 프롬프트를 연구했는데, 일반적으로 input level 프롬프트가 더 나은 선택이지만 attention level 프롬프트는 특정 데이터 세트 설정에 덜 민감할 수 있습니다.

3. Proposed Method

3.1. Overall Framework

  • 일반적인 상황에서 모달리티가 누락된 멀티모달 학습에 초점을 맞춥니다. 우리는 다음과 같은 경우를 가정합니다.
  • 여러 가지 누락된 모달리티가 있는 경우(예: 하나의 양식이 누락되거나 모달리티 또는 더 많은 모달리티 누락, 더 많은 모달리티를 표현하기 위해 현실적인 멀티모달 학습 시나리오를 나타냅니다.
  • 훈련 중 누락된 모달리티는 테스트에서 누락된 사례와 다를 수 있다. 또한, 사전 훈련된 트랜스포머가 커지고 제한된 연산 리소스로는 훈련할 수 없게 되면 제한된 계산 리소스로는 훈련할 수 없기 때문에, ft (fine tune) 없이도 방법을 개발하는 것이 중요합니다.
  • Problem Definition. M = 2 인 모달리티를 $m_1, m_2$ 로 설정. 멀티모달 데이터셋이 주어지면 $D = {D^c , D^{m_1} , D^{m_2} }$ modality-complete subset을 $D^c = {x^{m_1}_i, x^{m_2}_i, y_i }$ 로 정의하고, 하나씩 누락된 모달리티가 존재할 경우 $D^{m_1} = {x^{m_1}_j, y_j }$ (텍스트만) $D^{m_2} = {x^{m_2}_k, y_k }$ (이미지만) 로 설정. incomplete-subset의 경우 누락된 modality에 대해 더미 인풋으로 채웠다. (빈 string 혹은 pixel로)
  • 대규모 비전 및 언어 데이터 세트에 대해 사전 학습된 멀티모달 트랜스포머 ViLT[13]를 백본 모델로 채택.
  • 계산 리소스의 제한으로 인해 이 시나리오에서는 백본 모델을 학습할 수 없습니다. 누락된 모달리티를 해결하기 위해 다양한 입력 사례로 사전 학습된 모델의 예측을 지시하는 missing aware 프롬프트를 제안합니다. 이러한 프롬프트는 입력 데이터의 누락된 사례에 따라 할당되며 멀티모달 트랜스포머의 여러 블록에 부착됩니다.
  • 훈련할 수 없는 사전 훈련된 모델을 가정할 때 훈련 가능한 매개변수missing aware 프롬프트, pooler layer, 멀티모달 classifier 학습을 위한 FC layer뿐입니다.

3.2. Prompt Learning for Missing Modalities

  • Prompt-based learning 은 NLP에서 사전 학습된 모델 전체를 ft하지 않고 전이 학습을 위한 효율적인 방법으로 처음 등장했습니다. 일반적으로 프롬프트는 모델 예측을 지시하기 위해 input에 추가됩니다. 비슷한 동기로 다음과 같이 사전 학습된 모델에 지시하기 위해 missing aware 프롬프트를 제안합니다. 트랜스포머에 지시하기 위해 누락된 모달리티의 다양한 입력 사례에 따라 조건부 프롬프트를 제안합니다. 이를 위해 각 입력 사례에 해당하는 각 누락 모달리티에 대한 missing aware 프롬프트를 설계합니다. 그림 2에서 볼 수 있듯이, 먼저 M 개의 모달리티 task에 대해 $M^2 - 1$ 프롬프트를 할당하고 (예: vision-lang task에 대해 3개의 missing aware 프롬프트), 그리고 누락된 모달리티에 따라 입력에 추가합니다.
  • 사전 학습된 N개 MSA 레이어가 주어지면 i 번째 MSA 레이어의 인풋 임베딩을 $h^i \in \mathbf{R}^{L\times d}$라 한다. (인풋 길이 L, 임베딩 차원 d) $h^1$은 BERT 난 ViT 등에서 나온 임베딩이다.
  • 이때 missing aware prompt는 $p^i_m \in \mathbf{R}^{L_p\times d}$ 이다. ($L_p$ 는 prompt 길이, m 은 complete, incomplete 3가지 중 하나) 이 $p^i_m$ 가 $h^i$ 에 붙어 새로운 피처를 생성.

  • Overall Objective. 모델을 학습시키기 위해 트랜스포머 파라미터들은 task-specific 레이어인 pooler, FC layer를 $\theta_t$ 제외하고 모두 freeze. $\theta_p$ 는 프롬프트 파라미터. $x_i^{m_1}, x_i^{m_2}$ 는 missing modality의 인풋. L_task로는 task 별 loss function 을 의미한다.

3.3. Prompt Design

  • 이 섹션에서는 (1)과 같이 각 입력 레이어에 프롬프트를 추가하는 $f_{prompt}$ 함수의 설계에 대해 설명하고 있습니다. 일반적으로 대부분의 프롬프트 기반 메서드는 일반적으로 입력 시퀀스에 프롬프트를 입력 시퀀스에 추가하고 모델에 다운스트림 작업을 학습시키고 있습니다.
  • 하지만 프롬프트의 구성과 프롬프트가 추가되는 위치가 매우 중요한데요. 입력 모달리티가이 누락될 때 프롬프트를 추가하기 위한 적절한 구성을 연구하였는데 그림 3에서는 input level 프롬프트와 attention level 프롬프트의 두 가지 프롬프트 구성을 소개하고 있습니다.

  • Input-level Prompting. 그림 3처럼 일반적으로 프롬프트를 인풋 시퀀스에 연결하는데, $f_{prompt}$ 는 다음과 같이 작성할 수 있습니다.

  • 프롬프트 매개변수를 연결하는 레이어가 $N_p$ 개 있다고 가정하면, 각 MSA 레이어의 입력/출력 시퀀스 길이는 레이어가 깊어질수록 길어집니다. 예를 들어 프롬프트가 있는 마지막 MSA 레이어의 출력에서 시퀀스 길이는 (NpLp + L)이 됩니다. 이러한 방식으로 현재 레이어의 프롬프트는 이전 레이어에서 상속된 프롬프트 토큰과 상호 작용하여 모델 예측을 위한 보다 효과적인 지침을 학습할 수 있습니다.
  • 그러나 입력 시퀀스의 길이가 길어지면 input level 프롬프트 학습이 다양한 멀티모달 토큰 길이를 가진 데이터 세트에 민감해져 특정 멀티모달 다운스트림 작업에서 성능이 감소.
  • Attention-level Prompting. 또 다른 프롬프트 접근 방식으로 프롬프트를 사용해 MSA 레이어의 입력을 수정하는 것입니다. 그림 3의 하단에서는 프롬프트를 다음과 같이 분할했습니다. 두 개의 하위 프롬프트 $p^i_k , p^i_v$와 동일한 시퀀스 길이 $L_p/2$ 를 구하여 각각 키와 밸류에 추가합니다. W 는 projection weight
  • Attention-level 프롬프트는 트랜스포머의 Attention 관점에서 사전 학습된 모델에 지시하는 또 다른 방법을 제공합니다. 프롬프트가 쿼리 벡터에 추가되지 않으므로 출력 시퀀스 길이는 입력 시퀀스와 동일하게 유지됩니다.
  • input-level 은 길이 변화, Attention-level은 길이 유지
  • Multi-layer prompting and locations where to attach prompts. 직관적으로, 멀티모달 트랜스포머의 여러 레이어는 트랜스포머의 각 레이어마다 특징 임베딩의 컨텍스트가 다르며 각 레이어에 대한 프롬프트의 효과는 다를 수 있습니다. self attention 메커니즘을 사용하면 서로 다른 모달리티의 입력 토큰이 입력 토큰은 트랜스포머 레이어와 잘 융합됩니다.
    • 즉, 초기 레이어의 특징은 다른 모달리티 피처가 많고 깊은 레이어는 멀티모달 토큰에 잘 융합된피처를 갖습니다.
  • 이는 우리가 누락된 토큰을 누락 인식 프롬프트를 부착하기에 가장 적절한 위치를 탐색하도록 동기를 부여합니다.
  • 여기서 멀티 레이어로 확장된 프롬프트를 제안.

4. Experimental Results


성능 잘 증명함.

4.3. Ablation study



missing modality 에도 성능 잘 유지. missing 정도와 input level, attention level 에 따른 비교

728x90
반응형

댓글