last modified 24.4.15. by sooh-J
Vision-and-language reasoning에서는 각 모달리티에 대한 이해 뿐만 아니라, 두 모달리티 간의 alignment와 관계를 파악하는 것이 중요하다.
LXMERT 이전의 연구들은 대부분 single modality에만 중점을 두고 있었다. 이에 논문에서는 vision과 language의 두 모달리티를 연결짓는 cross-modality framework인 LXMERT를 제안한다.
LXMERT는 이미지를 위한 object relationship encoder, 텍스트 표현을 위한 language encoder, 그리고 두 모달리티 간의 관계를 파악하기 위한 cross-modality encoder의 총 3가지 Transformer encoder로 구성되어 있으며, vision, language, 그리고 cross-modal에 대한 총 5가지 task로 pre-train되어 SOTA 성능과 일반화 능력을 갖는다.
이미지와 텍스트는 각각 embedding layer를 통해 임베딩으로 계산된 후, 각자의 encoder를 통과한 후, cross-modality encoder에서 fusion된다.
Word-Level Sentence Embeddings
입력 문장은 먼저 단어들로 쪼개지고, 워드 임베딩과 위치 임베딩의 합으로 계산된다.
Object-Level Image Embeddings
이미지에서는 CNN에서 feature map을 추출하는 대신, 검출된 object의 feature들을 이미지의 임베딩으로 사용한다. 이미지에서 m개의 object를 검출하고, 각 object의 위치 정보와 합쳐져 계산된다.
Single-Modality Encoders
각 모달리티의 임베딩은 각각의 single-modality encoder를 거친다. 각 single-modality encoder는 self-attention sub-layer와 feed-forward sub-layer로 구성되어 있다. sub-layer를 통과할 때마다 residual connection과 layer normalization이 진행된다.
object-relationship encoder는 개, language encoder는 개의 동일한 인코더가 반복된다.
Cross-Modality Encoder
두 single-modality encoder에서 출력된 값은 공통의 cross-modality encoder에 입력된다.
Cross-Modality Encoder도 single-modality encoder와 동일하게 각 sub-layer를 통과할 때마다 residual connection과 layer normalization이 진행된다.
Cross-Modality Encoder은 아래의 3가지 출력을 가진다.
LXMERT는 Language, Vision, Cross-Modality 각각의 tasks에 대해 pre-training을 진행한다.
언어 표현을 학습하기 위해 LXMERT는 BERT에서 사용한 방법인 Masked Language model task를 사용한다. 이 task에서는 단어들의 15%를 랜덤하게 마스킹 처리하고, 모델이 그 마스킹된 단어를 예측한다.
BERT에서는 마스킹된 단어를 예측할 때 language context만 사용하지만, LXMERT는 visual information도 함께 고려한다. 기존의 BERT의 pre-trained parameter는 언어 정보만을 가지고 학습되었기 때문에, 다른 모달리티와의 연결이 부족하다. 따라서 LXMERT에서는 BERT의 pre-trained parameter를 사용하기보다 랜덤 초기값에서 학습을 진행한다.
Language task에서 단어를 무작위 마스킹한 것처럼, Vision task에서는 이미지 내 객체의 15%를 랜덤으로 마스킹 처리하고 예측한다.
Dataset
MS COCO
, Visual Genome
VQA v2.0
, GQA(balanced version)
, VG-QA
Pre-training
Evaluation
VQA v2.0
, GQA
BAN+Counter
, GQA : BAN
)을 제치고 SOTA 달성.NLVR^2
MaxEnt
)을 제치고 SOTA 달성.BERT v.s. LXMERT
1. BERT 인코더 + BUTD 방식의 경우는 LSTM 인코더 + BUTD의 경우와 성능이 비슷하다.
2. Cross-attention layer와 object embedding에 위치 정보를 추가하여 성능 향상을 확인할 수 있다.
3. BERT는 언어 데이터로만 pre-train되었기 때문에, BERT의 pre-trained parameter를 사용하는 것보다 ‘from scratch’한 방법으로(랜덤 초기화에서 시작) 학습하는 것이 LXMERT의 성능을 향상시킨다.
Effect of the Image QA Pre-training Task
위 표는 image-QA pre-training task의 중요성을 보여준다. image-QA의 사전학습을 진행(QA
)하고 Data augmentation없이 fine-tuning하는 것(FT
)이 그렇지 않은 것보다 성능이 좋은 것을 확인할 수 있다.
Effect of Vision Pre-training Tasks
pre-training에서 vision task(RoI-Feature Regression, Detected-label Classification)가 없는 경우, 성능이 떨어진다.
LXMERT는 vision과 language의 두 모달리티를 연결짓는 cross-modality framework로, single-modal transformer encoders와 그 둘을 연결하는 cross-modal encoder로 구성된다. 이 모델은 vision, language, cross-modal에 대한 총 5가지 task로 pre-train되어 SOTA 성능과 일반화 능력을 갖는다.