Flamingo: a Visual Language Model for Few-Shot Learning 🦩
논문 원본 : https://arxiv.org/abs/2204.14198
Abstract & Introduction
- 최근에 contrastive objective를 사용해 훈련된 Visual Language Models (VLM)들이 등장
- 이 모델들은 특별한 fine-tuning 없이도 새로운 task에 대한 zero-shot이 가능
- 그러나 이러한 모델은 단순히 텍스트와 이미지 간의 유사성만 계산할 수 있음
- 따라서 제한된 결과 집합 (ex.classification) 에서만 효과적으로 작동할 수 있음
- 이 모델들은 언어를 생성하는 능력이 부족하여 captioning이나 VQA에 적합하지 X
- 본 논문에서는 Flamingo라는 새로운 VLM 소개
- 이 모델은 다양한 open-ended vision and language task에서 few-shot learning의 SOTA를 달성
- few-shot learning은 모델이 적은 수의 입력/출력 예시만으로도 새로운 작업을 잘 수행할 수 있는 능력을 말함
- Flamingo는 다른 최신 모델보다 훨씬 적은 훈련 데이터를 사용하면서도 16개 중 6개의 tak에서 SOTA 달성
- 구체적으로, Flamingo는 기존 모델보다 1,000배 적은 task별 훈련 데이터를 사용
2. Approach
2.1 Visual processing and the Perceiver Resampler
Vision Encoder : from pixels to features
- vision encoder는 사전 학습된 Nomarlizer-Free ResNet (NFNet) F6으로 고정
- 해당 encoder는 이미지와 텍스트 쌍의 데이터셋에서 contrastive objective를 사용하여 사전 훈련
이미지
- Encoder의 최종 출력인 2D 공간적 feature를 1D로 flatten
비디오
- 1초에 한 프레임(FPS) 선택
- 선택된 각 프레임을 개별적으로 인코딩
- 비디오의 경우, 프레임들이 시간 순서에 따라 배열되어 있으므로, 모델이 시간적인 순서를 이해할 수 있도록 temporal embedding 수행 (-> 3D 시공간 feature를 얻음)
- 3D -> 1D로 flatten
- 1D 시퀀스는 Perceiver Resampler에 입력됨
Perceiver Resampler : from varying-size large feature maps to few visual tokens
- Vision Enocer에서 생성한 다양한 크기의 feature map을 받아 이를 고정된 수(64)의 시각적 토큰으로 변환
- 이 과정은 vision-text cross-attention의 계산 복잡성을 줄여줌
2.2 Conditioning frozen language models on visual representation
Interleaving new GATED XATTN-DENSE layers within a frozen pretrained LM
- 텍스트 생성은 Perceiver Resampler가 생성한 visual representation을 조건으로 하는 Transformer Decoder에 의해 수행됨
- 사전 학습된 LM 블록들을 고정시키고, layer 사이에 GATED XATTN-DENSE 층을 삽입하여 Percevier Resampler로부터 나온 시각적 출력에 cross-attention 적용
- 또한, 추가된 새로운 층이 기존 모델의 성능에 갑작스럽게 영향을 미치는 것을 막기 위해 tanh-gating mechanism 사용
- 새로 추가된 layer의 출력을 tanh(𝛼)로 곱한 후, residual connection으로 입력 representation에 더함
- 𝛼는 학습 가능한 parameter이며 초기에는 0으로 설정 (모델 출력이 사전 학습된 LM 출력과 거의 동일)
- 모델이 학습을 진행하면서 𝛼 값은 점진적으로 변화(주로 증가)
- 이는 학습 과정 중에 모델이 새로운 층을 점차적으로 활성화하여, 기존의 기능에 새로운 기능이 부드럽게 통합되도록 하는 것
2.3 Mulit-visual input support : per-image/video attention masking
- 모델이 각 텍스트 토큰에서 어떤 시각적 토큰을 볼 수 있는지 제한
- 주어진 텍스트 토큰에서, 바로 앞에 나타난 이미지의 시각적 토큰에만 cross-attention 진행
- 비록 모델이 한 번에 하나의 이미지에만 주의를 기울이지만, 모든 이전 이미지에 대한 의존성은 LM의 self-attention을 통해 유지가 됨
- 이러한 단일 이미지 cross-attention 구조는 어떤 수의 시각적 입력에도 원할게 일반화할 수 있도록 함
Reference
'논문 리뷰 > CV' 카테고리의 다른 글
[X:AI] DDPM 논문 리뷰 (1) | 2024.08.11 |
---|---|
[X:AI] BYOL 논문 리뷰 (0) | 2024.08.05 |
[X:AI] NeRF 논문 리뷰 (0) | 2024.07.28 |
[X:AI] Detr 논문 리뷰 (0) | 2024.07.23 |
[X:AI] MOFA-Video 논문 리뷰 (0) | 2024.07.20 |