AI바라기의 인공지능
LLM : 논문리뷰 : LXMERT: Learning Cross-Modality Encoder Representations from Transformers 본문
LLM : 논문리뷰 : LXMERT: Learning Cross-Modality Encoder Representations from Transformers
AI바라기 2025. 6. 14. 20:22쉬운 설명 (Easy Explanation)
LXMERT의 핵심 아이디어를 "전문가 팀플레이"에 비유할 수 있습니다.
- 언어 전문가 (Language Encoder): 문장을 읽고 그 의미를 깊이 분석합니다.
- 미술 비평가 (Object-Relationship Encoder): 그림을 보고 어떤 사물들이 있고, 그 사물들이 서로 어떻게 배치되어 있는지(예: '개가 바구니 안에 있다') 관계를 파악합니다.
- 총괄 매니저 (Cross-Modality Encoder): 두 전문가의 보고를 받은 뒤, "언어 전문가는 '당근'이라고 했는데, 비평가님, 그림에 당근이 보이나요? 누가 그걸 먹고 있죠?" 와 같이 서로의 정보를 계속 교차 확인하며 최종 결론을 내립니다.
이렇게 각 분야의 전문가가 자기 역할을 충실히 한 뒤, 총괄 매니저가 이들을 조율하며 종합적으로 판단하는 방식이, 한 사람이 어설프게 두 가지 일을 동시에 처리하는 것보다 훨씬 더 깊고 정확한 이해를 가능하게 한다는 원리입니다.
용어 설명 (Glossary)
- LXMERT (Learning Cross-Modality Encoder Representations from Transformers): Vision과 Language 두 modality의 연결을 학습하기 위한 Transformer 기반의 Cross-Modality Framework.
- Single-Modality Encoder: 단일 modality 내의 관계를 학습하는 인코더. LXMERT에서는 Language Encoder와 Object-Relationship Encoder가 여기에 해당합니다.
- Object-Relationship Encoder: 이미지 내의 객체들(objects) 간의 상호 관계 및 공간 정보를 학습하는 Vision 전용 인코더.
- Cross-Modality Encoder: Language와 Vision modality로부터 나온 feature들을 통합하여 상호 간의 연관 관계(alignment)를 학습하는 양방향(bi-directional) 인코더.
- Masked Cross-Modality LM: 기존 BERT의 Masked Language Model(LM)을 확장한 pre-training task. 문장의 가려진(masked) 단어를 예측할 때, 문맥뿐만 아니라 이미지의 시각 정보(visual cues)를 함께 사용하는 것이 핵심 차이점입니다.
- RoI-Feature Regression: 가려진(masked) 이미지 객체의 원본 Region-of-Interest(RoI) feature vector를 L2 loss로 예측(regression)하는 vision pre-training sub-task.
- NLVR² (Natural Language for Visual Reasoning for Real): 두 개의 이미지와 하나의 문장이 주어졌을 때, 문장이 두 이미지의 관계를 올바르게 설명하는지 판별하는 매우 어려운 visual reasoning dataset. LXMERT가 이 데이터셋에서 엄청난 성능 향상을 보여주며 그 generalizability를 입증했습니다.
Purpose of the Paper
- 기존 연구의 한계: BERT(Language), ImageNet pre-trained models(Vision) 등 단일 modality를 위한 pre-training 연구는 매우 활발했지만, Vision과 Language를 함께 아우르는 Cross-Modality pre-training 연구는 아직 초기 단계였습니다. 기존 방식들은 단순히 pre-trained BERT를 vision-language 모델에 결합하는 수준에 그쳐, 두 modality 간의 깊은 상호작용을 학습하는 데 한계가 있었습니다.
- 새로운 접근 방식: 이 논문은 단순히 두 modality를 합치는 것을 넘어, 각 modality 내부의 관계를 먼저 깊게 이해(intra-modality)한 후, 두 modality를 정교하게 융합(cross-modality)하는 것이 더 효과적일 것이라는 가설에서 출발합니다. 이를 위해 Language, Object-Relationship, Cross-Modality의 3개 분리된 Encoder 구조를 제안하고, Vision과 Language의 연결을 학습시키기 위해 고안된 5개의 새로운 pre-training task를 제시합니다.
Key Contributions and Novelty
Key Contributions
- 세 부분으로 구성된 Encoder Architecture 제안:
- Language Encoder (Self-attention)
- Object-Relationship Encoder (Self-attention)
- Cross-Modality Encoder (Cross-attention)
- Vision-Language 연결 학습을 위한 5가지의 다양한 Pre-training Tasks 설계:
- Language: Masked Cross-Modality Language Modeling
- Vision: Masked Object Prediction (RoI-Feature Regression & Detected-Label Classification)
- Cross-Modality Matching (Image-Sentence 일치 여부 예측)
- Image Question Answering (QA) (Pre-training 단계에서 QA task를 포함)
- 다양한 downstream task에서 SOTA 달성: VQA, GQA에서 최고 성능을 기록했으며, 특히 까다로운 reasoning 데이터셋인 NLVR²에서 기존 SOTA 대비 22%의 절대 성능 향상이라는 기념비적인 결과를 달성했습니다.
Novelty
- 구조적 참신성: 하나의 통합된 Transformer를 사용하는 대신, single-modality encoder (특히 Object-Relationship Encoder)와 cross-modality encoder를 명시적으로 분리한 점이 독창적입니다. 이를 통해 언어와 융합하기 전에 이미지 내 객체 간의 관계를 먼저 학습하여 더 풍부한 vision representation을 구축할 수 있습니다.
- Task의 참신성: 기존 vision-language pre-training이 주로 사용하던 masking 및 matching task를 넘어, Image QA task를 pre-training에 직접 포함하고, masked object의 feature vector 자체를 예측하는 RoI-Feature Regression을 도입했습니다. 이는 모델이 더 high-level의 추론 능력을 갖추도록 유도하는 새로운 시도입니다.
Experimental Highlights
- 압도적인 NLVR² 성능: 가장 주목할 만한 결과는 NLVR² test-set에서 달성한 22%의 절대 정확도 향상입니다 (기존 SOTA 54% → LXMERT 76%). 이는 LXMERT가 단순한 패턴 매칭을 넘어, 복잡한 compositional reasoning 능력을 성공적으로 학습했음을 증명하는 강력한 증거입니다.
- Ablation Study를 통한 핵심 아이디어 검증:
- "Pre-train + scratch" vs "Pre-train + BERT": BERT로 초기화하는 것보다 LXMERT 전체를 처음부터 함께 pre-training하는 것이 더 높은 성능을 보였습니다 (VQA 기준 68.8% vs 69.9%). 이는 vision-language task에서는 언어 모델만 따로 pre-training하는 것보다, 전체 cross-modal 시스템을 함께 pre-training하는 것이 필수적임을 시사합니다.
- Image QA Pre-training의 효과: Pre-training 시 Image QA task를 포함했을 때 모든 데이터셋에서 성능이 향상되었고, 특히 NLVR²에서 2.5%의 유의미한 성능 향상(72.4% → 74.9%)을 보였습니다. 이는 QA pre-training이 모델의 reasoning 능력을 강화하는 데 매우 효과적임을 입증합니다.
Limitations and Future Work
- Object Detector 의존성 (Limitation): LXMERT는 사전에 학습된 Faster R-CNN Object Detector를 통해 추출된 object feature에 전적으로 의존합니다. 따라서 이 Detector가 객체를 탐지하지 못하거나 잘못 탐지하면, LXMERT 모델의 성능 역시 직접적인 영향을 받는 한계가 있습니다.
- End-to-End 학습의 부재 (Future Work): 현재의 파이프라인은 object detection과 cross-modal reasoning이 분리되어 있습니다. 향후 연구는 object detector까지 포함하여 전체 모델을 end-to-end로 학습함으로써, downstream task에 더 최적화된 vision feature를 학습하는 방향으로 나아갈 수 있습니다.
- 복잡한 관계 추론 (Future Work): 논문의 attention 시각화(Appendix E)에서 모델이 주로 명사(noun)와 대명사(pronoun)에 집중하는 경향을 보였습니다. 이는 동사(verb)가 포함된 복잡한 행동이나, 객체 간의 미묘한 상호작용(noun-verb, noun-noun relationships)을 직접적으로 포착하는 데에는 아직 개선의 여지가 있음을 시사하며, 이를 위한 pre-training task 개발이 향후 연구 과제가 될 수 있습니다.
Overall Summary
LXMERT는 single-modality와 cross-modality를 분리한 독창적인 3중 Encoder 구조를 기반으로 한 선구적인 Vision-Language pre-training framework입니다. 이 모델은 Image QA task를 포함한 5가지의 혁신적인 pre-training 과제를 통해 시각적 객체와 언어 의미 간의 깊은 연관성을 학습합니다. 그 결과, 주요 VQA 벤치마크에서 SOTA를 달성하고 특히 난이도 높은 NLVR² 데이터셋에서 압도적인 추론 능력을 선보이며, 특화된 아키텍처와 pre-training 전략의 우수성을 명확히 입증했습니다. 이 연구는 이후 등장할 수많은 multimodal pre-training 모델들의 기틀을 마련한 중요한 논문으로 평가받습니다.
Abstract
Vision-and-language reasoning은 visual concepts, language semantics, 그리고 가장 중요하게는 이 두 modalities 간의 alignment와 relationships에 대한 이해를 필요로 합니다. 따라서 우리는 이러한 vision-and-language 연결을 학습하기 위해 LXMERT (Learning Cross-Modality Encoder Representations from Transformers) framework를 제안합니다. LXMERT에서 우리는 세 개의 encoders로 구성된 대규모 Transformer model을 구축합니다: object relationship encoder, language encoder, 그리고 cross-modality encoder입니다.
다음으로, 우리 model에 vision과 language semantics를 연결하는 능력을 부여하기 위해, 우리는 다섯 가지 다양한 대표 pre-training tasks를 통해 대량의 image-and-sentence pairs로 model을 pre-train합니다: masked language modeling, masked object prediction (feature regression 및 label classification), cross-modality matching, 그리고 image question answering입니다. 이러한 tasks는 intra-modality 및 cross-modality relationships를 모두 학습하는 데 도움이 됩니다.
우리의 pre-trained parameters로 fine-tuning한 후, 우리 model은 두 개의 visual question answering datasets (즉, VQA와 GQA)에서 state-of-the-art 결과를 달성합니다. 우리는 또한 우리의 pre-trained cross-modality model을 어려운 visual-reasoning task인 NLVR2에 적용하여 그 generalizability를 보여주고, 이전 최고 결과를 절대값 22% (54%에서 76%로) 향상시킵니다. 마지막으로, 우리는 상세한 ablation studies를 통해 우리의 새로운 model components와 pre-training strategies가 모두 우리의 강력한 결과에 크게 기여한다는 것을 증명합니다; 또한 다른 encoders에 대한 여러 attention visualizations를 제시합니다.
1 Introduction
Vision-and-language reasoning은 visual contents, language semantics, 그리고 cross-modal alignments와 relationships에 대한 이해를 필요로 합니다. vision과 language라는 single modalities에 대한 더 나은 representations를 가진 backbone models을 별도로 개발하는 데 상당한 과거 연구가 있었습니다. visual-content understanding을 위해, 사람들은 여러 backbone models을 개발했으며 대규모 vision datasets에서 그 effectiveness를 보여주었습니다. 선구적인 연구들 또한 이러한 pre-trained (특히 ImageNet에서) backbone models을 다른 tasks에 fine-tuning함으로써 그 generalizability를 보여줍니다. language understanding 측면에서, 작년에 우리는 다양한 tasks의 performances를 상당한 수준으로 향상시킨 대규모 contextualized language model pre-training을 통해 universal backbone model을 구축하는 데 강력한 진전을 목격했습니다. 이러한 영향력 있는 single-modality 연구에도 불구하고, vision과 language의 modality-pair를 위한 large-scale pre-training 및 fine-tuning 연구는 아직 미개발 상태입니다.
따라서 우리는 pre-trained vision-and-language cross-modality framework를 구축하는 최초의 연구 중 하나를 제시하고 여러 datasets에서 강력한 performance를 보여줍니다. 우리는 이 framework를 'LXMERT: Learning Cross-Modality Encoder Representations from Transformers'('leksmert'로 발음)라고 명명합니다. 이 framework는 최근의 BERT-스타일 혁신을 모델로 삼으면서 유용한 cross-modality scenarios에 맞게 추가로 조정되었습니다. 우리의 새로운 cross-modality model은 단일 image와 그 설명 sentence의 representations에 특히 초점을 맞추어 vision-and-language interactions를 학습하는 데 중점을 둡니다. 이것은 세 개의 Transformer encoders로 구성됩니다: object relationship encoder, language encoder, 그리고 cross-modality encoder입니다. vision과 language 사이의 cross-modal alignments를 더 잘 학습하기 위해, 우리는 다섯 가지 다양한 대표 tasks로 우리 model을 pre-train합니다: (1) masked cross-modality language modeling, (2) RoI-feature regression을 통한 masked object prediction, (3) detected-label classification을 통한 masked object prediction, (4) cross-modality matching, (5) image question answering입니다. single-modality pre-training (예: BERT의 masked LM)과 달리, 이 multi-modality pre-training은 우리 model이 동일 modality의 보이는 요소나 다른 modality의 aligned components로부터 masked features를 infer할 수 있게 해줍니다. 이러한 방식으로, intra-modality 및 cross-modality relationships를 모두 구축하는 데 도움이 됩니다.
경험적으로, 우리는 먼저 두 개의 인기 있는 visual question-answering datasets인 VQA와 GQA에서 LXMERT를 evaluate합니다. 우리 model은 모든 question categories (예: Binary, Number, Open)에서 이전 연구들을 outperforms하며 전체 accuracy 측면에서 state-of-the-art 결과를 달성합니다. 나아가, pre-trained model의 generalizability를 보여주기 위해, 우리는 어려운 visual reasoning task인 Natural Language for Visual Reasoning for Real (NLVR2)에서 LXMERT를 fine-tune합니다. 우리는 pre-training에 해당 dataset의 자연 images를 사용하지 않고, 이 어렵고 실제적인 images에 대해 fine-tune하고 evaluate합니다. 이 setup에서 우리는 accuracy에서 절대값 22% (54%에서 76%로, 즉 48%의 상대적 오류 감소), consistency에서 절대값 30% (12%에서 42%로, 즉 34%의 상대적 오류 감소)라는 큰 향상을 달성합니다. 마지막으로, 우리는 여러 analysis 및 ablation studies를 수행하여 우리 model components와 다양한 pre-training tasks를 제거하거나 대체 옵션과 비교함으로써 그 effectiveness를 증명합니다. 특히, 우리는 기존 BERT model과 그 variants를 사용하는 여러 방법을 시도하고 vision-and-language tasks에서의 ineffectiveness를 보여줌으로써, 전반적으로 우리의 새로운 cross-modality pre-training framework의 필요성을 증명합니다. 우리는 또한 다른 language, object-relationship, 그리고 cross-modality encoders에 대한 여러 attention visualizations를 제시합니다.
LXMERT Introduction 정리 노트 (for AI Researchers)
- Motivation & Problem Definition
- Vision이나 Language 등 single-modality를 위한 pre-trained backbone model (예: ResNet, BERT)은 크게 발전했지만, Vision과 Language를 함께 다루는 cross-modality를 위한 대규모 pre-training 및 fine-tuning framework는 아직 부족한 상태입니다.
- 이 논문은 이 공백을 메우기 위한 vision-and-language cross-modality pre-trained framework인 LXMERT를 제안합니다.
- Proposed Model: LXMERT
- Architecture: 3개의 Transformer encoder로 구성된 독자적인 구조를 가집니다.
- Object Relationship Encoder: 이미지 내 객체들의 관계를 파악하는 Vision 전문가 Encoder.
- Language Encoder: 문장의 의미를 파악하는 Language 전문가 Encoder.
- Cross-Modality Encoder: 위 두 modality의 정보를 통합하고 관계를 학습하는 연결 전문가 Encoder.
- Architecture: 3개의 Transformer encoder로 구성된 독자적인 구조를 가집니다.
- Key Contribution: Cross-Modality Pre-training Strategy
- 단순한 architecture 제안을 넘어, vision과 language 간의 alignment를 효과적으로 학습시키기 위한 5가지의 복합적인 pre-training tasks를 고안한 것이 핵심입니다.
- Masked Cross-Modality Language Modeling
- Masked Object Prediction (Feature Regression)
- Masked Object Prediction (Label Classification)
- Cross-Modality Matching (이미지와 텍스트 쌍이 일치하는지 판별)
- Image Question Answering (사전 학습 단계에 QA를 포함)
- 이러한 multi-task pre-training은 모델이 단순히 각 modality 내부의 정보뿐만 아니라, 한 modality의 정보를 이용해 다른 modality의 가려진(masked) 정보를 추론하게 함으로써 강력한 intra-modality 및 cross-modality 관계를 구축하도록 유도합니다.
- 단순한 architecture 제안을 넘어, vision과 language 간의 alignment를 효과적으로 학습시키기 위한 5가지의 복합적인 pre-training tasks를 고안한 것이 핵심입니다.
- Empirical Results & Validation
- Performance: VQA, GQA 데이터셋에서 state-of-the-art 성능을 달성했습니다.
- Generalizability: 가장 주목할 만한 결과로, 어려운 visual reasoning task인 NLVR2에서 기존 모델 대비 절대 정확도 22% (54%→76%) 라는 전례 없는 수준의 성능 향상을 보였습니다. 이는 LXMERT의 pre-training 방식이 특정 task를 넘어 범용적으로 강력함을 시사합니다.
- Justification: ablation studies를 통해 제안된 model components와 pre-training tasks의 효과성을 증명하고, 기존 BERT 모델을 그대로 적용하는 것의 한계를 보여줌으로써 새로운 cross-modality framework의 필요성을 역설합니다.
쉬운 설명 :
컴퓨터 AI는 사진을 이해하는 능력(Vision)과 글을 이해하는 능력(Language)이 각각 크게 발전해왔습니다. 하지만 '코끼리가 공을 차는 사진'을 보고 "코끼리가 무엇을 하고 있나요?"라는 질문에 답하려면 사진과 글을 동시에 깊이 있게 이해해야 합니다. 기존의 AI들은 주로 한쪽 분야의 전문가로 따로따로 훈련되어, 이렇게 두 분야를 연결하는 능력이 부족했습니다.
이 논문은 이 문제를 해결하기 위해 LXMERT라는 새로운 AI 모델과 훈련법을 제안합니다. 이 모델은 전문가 두뇌를 3개 가지고 있다고 생각할 수 있습니다. 첫 번째는 사진 속 사물들의 관계를 파악하는 '이미지 두뇌', 두 번째는 문장을 이해하는 '텍스트 두뇌', 그리고 가장 중요한 세 번째는 이미지 두뇌와 텍스트 두뇌의 정보를 합쳐 서로 연결해주는 '연결 두뇌'입니다.
이 모델을 똑똑하게 만들기 위해 아주 특별한 방식으로 훈련시킵니다. 수많은 '사진+문장' 세트를 주고, 다섯 가지 종류의 복합적인 퀴즈를 풀게 합니다. 예를 들어, (1)사진을 보여주고 문장의 단어 하나를 가린 뒤 맞추게 하거나, (2)문장을 보여주고 사진의 일부를 가린 뒤 그게 무엇일지 맞추게 하는 식입니다. 이런 훈련을 통해 모델은 자연스럽게 '코끼리'라는 단어와 실제 코끼리 이미지를 연결하는 법을 배우게 됩니다.
그 결과, LXMERT는 이미지에 대해 질문하고 답하는 여러 시험에서 최고 점수를 기록했습니다. 특히 아주 어려운 추론 능력을 요구하는 시험에서는 기존 AI 모델의 성능을 54%에서 76%까지 끌어올리는 엄청난 발전을 보여주었습니다. 이는 이 모델의 훈련 방식이 매우 효과적이라는 강력한 증거입니다.
2 Model Architecture
우리는 natural language processing model 설계의 최근 발전(예: transformers)에 따라 self-attention과 cross-attention layers를 사용하여 cross-modality model을 구축합니다. 그림 1에서 볼 수 있듯이, 우리 model은 두 개의 inputs를 받습니다: image와 그와 관련된 sentence (예: caption 또는 question). 각 image는 objects의 sequence로 표현되고, 각 sentence는 words의 sequence로 표현됩니다. 이러한 self-attention과 cross-attention layers의 신중한 설계와 조합을 통해, 우리 model은 inputs로부터 language representations, image representations, 그리고 cross-modality representations를 generate할 수 있습니다. 다음으로, 이 model의 components를 자세히 설명합니다.
2.1 Input Embeddings
LXMERT의 input embedding layers는 inputs (즉, image와 sentence)를 두 개의 features sequence로 변환합니다: word-level sentence embeddings와 object-level image embeddings입니다. 이러한 embedding features는 후속 encoding layers에 의해 추가로 처리될 것입니다.
Word-Level Sentence Embeddings Sentence는 먼저 Devlin 등의 연구에서 사용된 것과 동일한 WordPiece tokenizer에 의해 길이가 인 words 으로 분할됩니다. 다음으로, 그림 1에서와 같이, word 와 그 index (sentence 내에서 의 절대 위치)는 embedding sub-layers에 의해 vectors로 project된 다음, index-aware word embeddings에 더해집니다:
Object-Level Image Embeddings Convolutional neural network에 의해 출력된 feature map을 사용하는 대신, 우리는 Anderson 등의 연구를 따라 감지된 objects의 features를 images의 embeddings로 사용합니다. 구체적으로, object detector는 image로부터 개의 objects 를 감지합니다 (그림 1의 image에 bounding boxes로 표시됨). 각 object 는 그 position feature (즉, bounding box 좌표) 와 2048차원의 region-of-interest (RoI) feature 로 표현됩니다. Anderson 등의 연구에서처럼 position 를 고려하지 않고 RoI feature 를 직접 사용하는 대신, 우리는 두 개의 fully-connected layers의 출력을 더하여 position-aware embedding 를 학습합니다: Visual reasoning에서 spatial information을 제공하는 것 외에도, 위치 정보의 포함은 우리의 masked object prediction pre-training task(Sec. 3.1.2에서 설명)에 필수적입니다. Image embedding layer와 뒤따르는 attention layers는 inputs의 절대적인 indices에 agnostic하므로, object의 순서는 지정되지 않습니다. 마지막으로, 식 (1)에서, layer normalization은 두 가지 다른 유형의 features의 에너지를 균형 맞추기 위해 합산 전에 projected features에 적용됩니다.
2.2 Encoders
우리는 language encoder, object-relationship encoder, 그리고 cross-modality encoder와 같은 encoders를 주로 두 종류의 attention layers, 즉 self-attention layers와 cross-attention layers를 기반으로 구축합니다. 먼저 attention layers의 정의와 표기법을 검토한 다음, 그것들이 어떻게 우리 encoders를 형성하는지 논의합니다.
Background: Attention Layers Attention layers는 query vector 와 관련된 context vectors 집합에서 정보를 검색하는 것을 목표로 합니다. Attention layer는 먼저 query vector 와 각 context vector 사이의 matching score 를 계산합니다. 그런 다음 점수들은 softmax로 정규화됩니다: Attention layer의 output은 softmax로 정규화된 점수에 대한 context vectors의 가중 합입니다: Query vector 가 context vectors 집합에 있을 때 attention layer를 self-attention이라고 합니다. 구체적으로, 우리는 Transformer를 따라 multi-head attention을 사용합니다.
Single-Modality Encoders Embedding layers 이후, 우리는 먼저 두 개의 transformer encoders, 즉 language encoder와 object-relationship encoder를 적용하며, 각각은 단일 modality(즉, language 또는 vision)에만 집중합니다. Transformer encoder를 language inputs에만 적용하는 BERT와 달리, 우리는 이를 vision inputs에도 적용합니다 (그리고 아래에서 설명할 cross-modality inputs에도 적용). Single-modality encoder의 각 layer(그림 1의 왼쪽 점선 블록)는 self-attention ('Self') sub-layer와 feed-forward ('FF') sub-layer를 포함하며, 여기서 feed-forward sub-layer는 다시 두 개의 fully-connected sub-layers로 구성됩니다. 우리는 language encoder와 object-relationship encoder에 각각 개와 개의 layers를 사용합니다. 우리는 Vaswani 등의 연구에서처럼 각 sub-layer 뒤에 residual connection과 layer normalization을 추가합니다 (그림 1에서 '+' 기호로 주석 처리됨).
Cross-Modality Encoder Cross-modality encoder의 각 cross-modality layer(그림 1의 오른쪽 점선 블록)는 두 개의 self-attention sub-layers, 하나의 bi-directional cross-attention sub-layer, 그리고 두 개의 feed-forward sub-layers로 구성됩니다. 우리는 encoder 구현에서 이러한 cross-modality layers를 개 쌓습니다(즉, 번째 layer의 출력을 번째 layer의 입력으로 사용). 번째 layer 내부에서는 먼저 bi-directional cross-attention sub-layer ('Cross')가 적용되며, 이것은 두 개의 uni-directional cross-attention sub-layers를 포함합니다: 하나는 language에서 vision으로, 다른 하나는 vision에서 language로 향합니다. Query와 context vectors는 번째 layer의 출력입니다 (즉, language features 와 vision features ): Cross-attention sub-layer는 joint cross-modality representations를 학습하기 위해 두 modalities 간의 정보를 교환하고 entities를 align하는 데 사용됩니다. 추가적인 internal connections를 구축하기 위해, self-attention sub-layers ('Self')가 cross-attention sub-layer의 출력에 적용됩니다: 마지막으로, 번째 layer의 출력인 와 는 와 위에 있는 feed-forward sub-layers ('FF')에 의해 생성됩니다. 우리는 single-modality encoders와 유사하게 각 sub-layer 뒤에 residual connection과 layer normalization을 추가합니다.
2.3 Output Representations
그림 1의 가장 오른쪽 부분에서 볼 수 있듯이, 우리의 LXMERT cross-modality model은 language, vision, 그리고 cross-modality에 대해 각각 세 개의 outputs를 가집니다. Language와 vision outputs는 cross-modality encoder에 의해 생성된 feature sequences입니다. Cross-modality output을 위해, Devlin 등의 연구 관행에 따라, 우리는 sentence words 앞에 special token [CLS](그림 1의 하단 분기에서 상단 노란색 블록으로 표시됨)를 추가하고, language feature sequences에서 이 special token에 해당하는 feature vector를 cross-modality output으로 사용합니다.
LXMERT Model Architecture 정리 노트 (for AI Researchers)
- Overall Design
- Transformer의 self-attention과 cross-attention을 핵심 layer로 사용하는 cross-modality model.
- Input으로 image와 sentence를 받아, 최종적으로 language, vision, cross-modality representations를 각각 출력하는 구조.
- Input Embeddings (Key Features)
- Language Input: 표준적인 WordPiece tokenizer와 positional embeddings를 사용 (BERT와 유사).
- Vision Input: Convolutional Neural Network의 feature map을 직접 사용하지 않고, Object Detector를 통해 추출된 object 단위의 features를 sequence로 만들어 사용.
- 각 object는 2048-dim RoI feature (무엇인가?)와 bounding box 좌표 feature (어디에 있는가?)로 표현됨.
- 이 두 feature를 각각 LayerNorm 처리 후 합산하여(), position-aware object embedding을 생성하는 것이 핵심. 이는 visual reasoning에 spatial information을 명시적으로 제공함.
- Encoders Architecture (Core Contribution)
- 3개의 주요 encoder 블록으로 구성:
- Single-Modality Encoders:
- Language Encoder와 Object-Relationship Encoder가 각각 독립적으로 존재.
- 각 modality 내의 context를 학습하기 위해 표준적인 self-attention layer들을 통과함 (intra-modality 관계 구축).
- Cross-Modality Encoder:
- 이 모델의 가장 핵심적인 부분으로, 두 modality를 융합하기 위해 설계됨.
- 각 layer는 bi-directional cross-attention을 먼저 수행. 즉, language는 vision을 attend하고, vision은 language를 attend하며 정보를 교환함.
- 그 후, 정보가 교환된 각 representation에 대해 self-attention을 적용하여 modality 내부의 관계를 다시 정리함.
- Layer 내 처리 순서: Cross-Attention → Self-Attention → Feed-Forward. 이 구조는 두 modality 간의 alignment와 reasoning을 효과적으로 수행하기 위한 핵심 설계임.
- Output Representations
- 최종적으로 3가지 종류의 출력을 생성:
- Language Output: Cross-modality encoder를 거쳐 vision 정보까지 반영된 최종 language feature sequence.
- Vision Output: Language 정보까지 반영된 최종 vision object feature sequence.
- Cross-Modality Output: BERT와 같이 문장 맨 앞에 추가된 [CLS] special token에 해당하는 최종 output feature vector. 이 vector가 이미지와 텍스트 전체를 아우르는 joint representation 역할을 수행함.
- 최종적으로 3가지 종류의 출력을 생성:
쉬운 설명 :
LXMERT 모델이 어떻게 이미지와 텍스트를 함께 이해하는지 그 구조를 쉽게 설명해 보겠습니다.
1. 입력 준비 (재료 손질)
우선 AI는 이미지와 텍스트를 자신이 이해할 수 있는 형태로 바꿔야 합니다.
- 텍스트: 문장을 '단어' 단위로 자르고, 각 단어의 순서(위치) 정보를 함께 기록합니다.
- 이미지: 통짜 이미지를 그대로 보는 게 아니라, 먼저 '객체 탐지기'를 이용해 사진 속 중요한 사물들(예: '강아지', '공', '사람')을 찾아내고 네모 상자(bounding box)를 칩니다. 그리고 각 사물마다 두 가지 정보, 즉 '어떻게 생겼는지(모양, 색 등)'와 '사진 어디에 있는지(위치 좌표)'를 숫자로 바꿔서 준비합니다. 이처럼 '객체' 단위로 위치 정보까지 함께 보는 것이 이 모델의 중요한 특징입니다.
2. 3단계 두뇌(Encoders) 통과
이제 손질된 재료들을 3단계로 구성된 '두뇌'에 넣어 깊게 분석합니다.
- 1단계: 각자 공부 (Single-Modality Encoders)
- '언어 두뇌'는 텍스트 정보만 보고 문장 자체의 의미를 파악합니다.
- '이미지 두뇌'는 사진 속 객체들의 정보만 보고 객체들 간의 관계(예: 강아지가 공 옆에 있다)를 파악합니다. 이 단계에서는 서로 소통하지 않고 각자 전문 분야만 깊게 공부합니다.
- 2단계: 함께 토론 (Cross-Modality Encoder)
- 이 모델의 핵심으로, 1단계에서 각자 공부를 마친 정보들을 '토론의 장'으로 보냅니다.
- 여기서 언어 두뇌와 이미지 두뇌가 서로 정보를 활발하게 교환합니다. 예를 들어, 텍스트의 '공'이라는 단어는 이미지의 어떤 객체와 관련 있는지 서로 물어보고 답하며 연결고리를 찾습니다(cross-attention).
- 이렇게 서로의 정보를 교환한 뒤에는, 각자 새로 얻은 정보를 바탕으로 자기가 원래 가지고 있던 생각들을 다시 한번 정리하는 시간을 갖습니다(self-attention). 이 '토론과 정리' 과정은 여러 층에 걸쳐 반복되며, 이미지와 텍스트에 대한 이해는 점점 더 깊고 정교해집니다.
3. 최종 결과물 (Output)
모든 과정이 끝나면 AI는 3가지 결과물을 내놓습니다.
- 이미지 정보까지 반영된, 훨씬 풍부해진 최종 텍스트 이해 결과물
- 텍스트 정보까지 반영된, 훨씬 풍부해진 최종 이미지 이해 결과물
- 그리고 이미지와 텍스트의 모든 의미를 한데 모아 압축한 하나의 '종합 요약 보고서'([CLS] 토큰의 결과). AI는 주로 이 종합 보고서를 가지고 질문에 답하는 등 최종 임무를 수행하게 됩니다.
3 Pre-Training Strategies
Vision과 language 사이의 연결을 이해하는 더 나은 initialization을 학습하기 위해, 우리는 대규모로 통합된 dataset에서 다양한 modality pre-training tasks로 우리 model을 pre-train합니다.
3.1 Pre-Training Tasks
3.1.1 Language Task: Masked Cross-Modality LMLanguage 측면에서는, masked cross-modality language model (LM) task를 수행합니다. 그림 2의 하단 가지에서 볼 수 있듯이, 이 task setup은 BERT와 거의 동일합니다: words는 0.15의 probability로 무작위로 masked되고 model은 이 masked words를 예측하도록 요청받습니다. Masked words가 language modality의 non-masked words로부터 예측되는 BERT와 더불어, LXMERT는 cross-modality model architecture를 통해 vision modality로부터도 masked words를 예측할 수 있어 ambiguity를 해결할 수 있습니다. 예를 들어, 그림 2에서 볼 수 있듯이, masked된 단어 'carrot'을 language context로부터 결정하기는 어렵지만, visual information을 고려하면 단어 선택이 명확해집니다. 따라서, 이는 vision modality에서 language modality로의 connections를 구축하는 데 도움이 되며, 우리는 이 차이점을 강조하기 위해 이 task를 masked cross-modality LM이라고 부릅니다. 또한 우리는 5.1절에서 BERT parameters를 LXMERT에 loading하는 것이 pre-training procedure에 해가 된다는 것을 보여주는데, 이는 BERT가 이러한 cross-modality connections를 학습하지 않고도 language modality에서 비교적 잘 수행될 수 있기 때문입니다.
3.1.2 Vision Task: Masked Object Prediction그림 2의 상단 가지에서 볼 수 있듯이, 우리는 0.15의 probability로 objects를 무작위로 masking하고 (즉, RoI features를 zeros로 masking) model에게 이러한 masked objects의 proprieties를 예측하도록 요청함으로써 vision 측면을 pre-train합니다. Language task(즉, masked cross-modality LM)와 유사하게, model은 visible objects로부터 또는 language modality로부터 masked objects를 infer할 수 있습니다. Vision 측면에서 objects를 infer하는 것은 object relationships를 학습하는 데 도움이 되고, language 측면에서 infer하는 것은 cross-modality alignments를 학습하는 데 도움이 됩니다. 따라서, 우리는 두 가지 sub-tasks를 수행합니다: RoI-Feature Regression은 loss로 object RoI feature 를 regress하고, Detected-Label Classification은 cross-entropy loss로 masked objects의 labels를 학습합니다. 'Detected-Label Classification' sub-task에서, 우리의 pre-training images 대부분이 object-level annotations를 가지고 있지만, annotated objects의 ground truth labels는 다른 datasets에서 일관성이 없습니다(예: 다른 수의 label classes). 이러한 이유로, 우리는 Faster R-CNN에 의해 출력된 detected labels를 사용합니다. Detected labels는 noisy하지만, 실험 결과는 5.3절에서 이러한 labels가 pre-training에 기여함을 보여줍니다.
3.1.3 Cross-Modality Tasks그림 2의 중간-오른쪽 부분에서 볼 수 있듯이, 강력한 cross-modality representation을 학습하기 위해, 우리는 language와 vision modalities를 모두 명시적으로 필요로 하는 2개의 tasks로 LXMERT model을 pre-train합니다.
Cross-Modality Matching 각 sentence에 대해, 0.5의 probability로, 우리는 그것을 일치하지 않는 문장으로 교체합니다. 그런 다음, image와 sentence가 서로 일치하는지 여부를 예측하도록 classifier를 train합니다. 이 task는 BERT의 'Next Sentence Prediction'과 유사합니다. <sup>2</sup> 우리는 다른 image의 sentence를 일치하지 않는 문장으로 사용합니다. 비록 sentence와 image가 여전히 서로 일치할 기회는 있지만, 이 probability는 매우 낮습니다.
Image Question Answering (QA) Pre-training dataset을 확대하기 위해 (자세한 내용은 Sec. 3.2 참조), pre-training data의 약 1/3의 sentences는 images에 대한 questions입니다. 우리는 image와 question이 일치할 때(즉, cross-modality matching task에서 무작위로 교체되지 않았을 때) model에게 이러한 image-related questions에 대한 answer를 예측하도록 요청합니다. 우리는 이 image QA로 pre-training하는 것이 5.2절에서 더 나은 cross-modality representation으로 이어진다는 것을 보여줍니다.
3.2 Pre-Training Data
표 1에서 볼 수 있듯이, 우리는 이미지가 MS COCO 또는 Visual Genome에서 비롯된 다섯 개의 vision-and-language datasets로부터 pre-training data를 통합합니다. 두 개의 원래 captioning datasets 외에도, 우리는 세 개의 대규모 image question answering (image QA) datasets를 통합합니다: VQA v2.0, GQA balanced version, 그리고 VG-QA. 우리는 pre-training에서 어떤 test data도 보지 않기 위해 각 dataset에서 train과 dev splits만 수집합니다. 우리는 aligned image-and-sentence pairs를 만들기 위해 다섯 개의 datasets에 대해 최소한의 pre-processing을 수행합니다. 각 image question answering dataset에 대해, 우리는 questions를 image-and-sentence data pairs의 sentences로 사용하고, answers를 image QA pre-training task(Sec. 3.1.3에서 설명)의 labels로 사용합니다. 이것은 우리에게 180K개의 고유한 images에 대한 9.18M개의 image-and-sentence pairs로 구성된 대규모 aligned vision-and-language dataset을 제공합니다. Tokens 측면에서, pre-training data는 약 100M개의 words와 6.5M개의 image objects를 포함합니다.
3.3 Pre-Training Procedure
우리는 대규모 통합 dataset(Sec. 3.2에서 논의)에서 pre-training tasks(Sec. 3.1)를 통해 LXMERT model을 pre-train합니다. 데이터 splits에 대한 자세한 내용은 Appendix에 있습니다. Input sentences는 BERT에서 제공되는 WordPiece tokenizer에 의해 분할됩니다. Objects는 Visual Genome에서 pre-trained된 Faster R-CNN에 의해 감지됩니다(Anderson 등의 연구에서 제공). 우리는 Faster R-CNN detector를 fine-tune하지 않고 feature extractor로 고정합니다. Anderson 등의 연구에서 가변적인 수의 objects를 감지하는 것과 달리, 우리는 padding을 피함으로써 pre-training 계산 활용도를 극대화하기 위해 각 image에 대해 일관되게 36개의 objects를 유지합니다. Model architecture의 경우, layers의 수 , , 그리고 을 각각 9, 5, 5로 설정합니다. 101-layer Faster R-CNN에서 추출된 visual features와 균형을 맞추기 위해 language encoder에 더 많은 layers가 사용됩니다. Hidden size 768은 BERT-BASE와 동일합니다. 우리는 encoders와 embedding layers의 모든 parameters를 scratch로부터 pre-train합니다(즉, model parameters는 무작위로 initialized되거나 zero로 설정됨). 우리는 또한 5.1절에서 pre-trained BERT parameters를 loading한 결과를 보여줍니다. LXMERT는 여러 pre-training tasks로 pre-train되므로 여러 losses가 관련됩니다. 우리는 이러한 losses를 동일한 weights로 더합니다. Image QA pre-training tasks를 위해, 우리는 세 개의 모든 image QA datasets에서 약 90%의 questions를 대략적으로 커버하는 9500개의 answer candidates를 가진 공동 answer table을 만듭니다.
우리는 optimizer로 Adam을 사용하며, linear-decayed learning-rate schedule과 의 peak learning rate를 적용합니다. 우리는 model을 256의 batch size로 20 epochs 동안 (즉, 대략 670K의 optimization steps) train합니다. 우리는 마지막 10 epochs 동안에만 image QA task(Sec. 3.1.3 참조)로 pre-train하는데, 이는 이 task가 더 빨리 converge하고 경험적으로 더 작은 learning rate를 필요로 하기 때문입니다. 전체 pre-training 과정은 4대의 Titan Xp에서 10일이 걸립니다.
Fine-tuning Fine-tuning은 빠르고 robust합니다. 우리는 다른 tasks에 대해 model에 필요한 수정만 수행합니다(자세한 내용은 Sec. 4.2 참조). 우리는 또는 의 learning rate, 32의 batch size를 사용하고, pre-trained parameters로부터 model을 4 epochs 동안 fine-tune합니다.
LXMERT Pre-Training Strategies 정리 노트 (for AI Researchers)
- Objective
- Downstream task를 위한 fine-tuning에 앞서, vision과 language 간의 근본적인 connections을 이해하는 강력한 initialization parameters를 학습하는 것이 목표.
- Core Strategy: Multi-Task Learning
- 단일 task가 아닌, 5개의 다양한 pre-training tasks를 동시에 수행하여 모델이 다각도에서 cross-modal 관계를 학습하도록 강제함. 5개 tasks는 3개의 카테고리로 나뉨.
- 1. Language Task: Masked Cross-Modality LM
- BERT의 Masked LM과 유사하지만, cross-modality architecture 덕분에 가려진 단어를 예측할 때 vision modality를 활용할 수 있다는 점이 결정적 차이.
- 이는 vision → language 방향의 alignment 학습을 유도함.
- (중요) BERT로 pre-trained된 parameters를 load하면 오히려 성능이 저하되는데, BERT는 시각 정보 없이 언어만으로 task를 푸는 법을 학습했기 때문. 이는 LXMERT의 cross-modal 학습 방식의 필요성을 증명함.
- 2. Vision Task: Masked Object Prediction
- 이미지 내 object들을 15% 확률로 masking (RoI feature를 0으로 만듦)하고, 모델이 해당 object의 속성을 예측하게 함. 두 가지 sub-task로 구성:
- RoI-Feature Regression: Masked된 object의 2048-dim RoI feature 벡터 자체를 L2 loss로 예측.
- Detected-Label Classification: Masked된 object의 class label을 예측. 여러 dataset 간 ground truth label의 불일치 문제 때문에, Faster R-CNN이 예측한 noisy한 label을 정답으로 사용함에도 불구하고 성능 향상에 기여함.
- 3. Cross-Modality Tasks
- 두 modality를 명시적으로 함께 사용해야만 풀 수 있는 tasks.
- Cross-Modality Matching: (이미지, 문장) 쌍이 실제로 일치하는지 예측하는 이진 분류 task. BERT의 Next Sentence Prediction과 유사한 역할.
- Image Question Answering (QA): 가장 중요한 task 중 하나. Pre-training 단계에 VQA, GQA 등 대규모 QA dataset을 포함시켜, 모델이 fine-tuning 이전부터 high-level reasoning 능력을 직접 학습하게 함.
- Pre-Training Data & Procedure
- Data: MS COCO, Visual Genome 등 5개 dataset을 통합하여 9.18M 개의 (이미지, 문장) 쌍으로 구성된 대규모 dataset을 구축.
- Vision Input: Object는 pre-trained된 Faster R-CNN으로 탐지하며 feature extractor로만 사용(frozen). 연산 효율을 위해 이미지 당 object 수를 36개로 고정.
- Hyperparameters: Encoder layer는 Language()=9, Cross-modality()=5, Object-relationship()=5로 설정. BERT-BASE와 동일한 hidden size(768) 사용.
- Training: 모든 parameters를 scratch로부터 학습. 5개 task의 loss는 동일한 weight로 합산하여 사용. 총 20 epochs 학습하며, 마지막 10 epochs에만 QA task를 추가하는 스케줄을 사용.
쉬운 설명 :
LXMERT 모델을 똑똑하게 만들기 위해 어떤 '특별 과외'를 시키는지, 그 훈련 전략을 쉽게 설명해 보겠습니다.
AI를 특정 업무(질의응답 등)에 투입하기 전에, 그림과 글의 관계에 대한 기본 상식을 가르치는 '기초 교육(Pre-training)'을 시킵니다. LXMERT의 기초 교육은 5가지 게임으로 구성된 아주 혹독한 과정입니다.
- 게임 1: 그림 보고 단어 맞히기 (언어 훈련)
- AI에게 '당근을 먹는 사람' 사진을 보여주고, "사람이 [빈칸]을 먹고 있다"라는 문장을 줍니다.
- 보통 AI는 '음식' 같은 일반적인 단어를 추측하겠지만, LXMERT는 사진 속 '당근'을 보고 빈칸에 '당근'이 들어가야 한다는 것을 알아맞힐 수 있습니다. 즉, 그림을 힌트로 글을 이해하는 법을 배웁니다.
- 게임 2: 글 보고 그림 맞히기 (그림 훈련)
- 반대로 "사람이 당근을 먹고 있다"라는 문장을 주고, 사진에서는 당근을 지워버립니다.
- AI는 문장을 읽고 지워진 부분이 '당근'일 것이라고 추리해야 합니다. 이것은 글을 힌트로 그림의 내용을 파악하는 능력을 길러줍니다.
- 게임 3: 진짜? 가짜? (관계 훈련)
- AI에게 사진 한 장과 문장 한 줄을 짝지어 보여줍니다.
- 50%는 사진과 문장의 내용이 일치하지만, 나머지 50%는 전혀 상관없는 사진과 문장을 짝지어 놓고 "이 둘은 어울리는 짝인가?"라고 물어봅니다. AI는 '진짜'인지 '가짜'인지 답해야 합니다. 이 게임을 통해 그림과 글 전체의 의미가 서로 통하는지를 파악하는 눈을 기릅니다.
- 게임 4: 쪽지 시험 (고난도 추론 훈련)
- 이것이 가장 중요한 훈련입니다. 아예 기초 교육 과정에 '질의응답(QA)' 시험을 포함시킵니다.
- 예를 들어, '빨간 버스' 사진을 보여주고 "이 버스 색깔은?"이라고 물으면 "빨강"이라고 답하도록 훈련시킵니다. 수백만 개의 이런 쪽지 시험을 미리 풀게 함으로써, 나중에 실전에 투입되기 전부터 고차원적인 추론 능력을 갖추게 됩니다.
이 모든 훈련을 위해, AI는 약 920만 개에 달하는 '사진+글' 짝꿍 데이터가 담긴 거대한 교재를 가지고 10일 동안 밤낮으로 공부합니다. 이런 힘든 기초 교육을 마친 LXMERT는 다른 AI들보다 훨씬 뛰어난 상태에서 업무를 시작할 수 있게 됩니다.