Deeper Learning

Multimodal Learning 본문

AI/Deep Learning

Multimodal Learning

Dlaiml 2021. 3. 17. 13:41

What is Multimodal Learning?

Modality(a particular way of doing or experiencing something)가 다른 데이터를 사용하여 이루어지는 학습이다.

예를 들어, 이미지 데이터와 텍스트 데이터를 input으로 사용하는 image captioning task가 Multimodal Learning에 속한다.

 

Challenge 

Multimodal Learning이 쉽지 않은 이유는 여러 가지가 있다.

 

  • Different representations between modalities
    • 이미지, 오디오, 텍스트, 3D 데이터는 그 표현 형식이 서로 달라 단순한 연산이 불가능하다.
  • Unbalance between heterogeneous feature spaces
    • 1:N Matching 문제
    • Text-Image Multimodal Learning의 경우 특정 text에 대응되는 Image가 매우 많고 분포 또한 분산이 큼
  • Model is biased on a specific modality
    • Multimodal Learning이 이루어지지 않고 하나의 Modality에 모델이 의존하는 현상 발생

Biased Model

 

Image tagging

Image tagging network structure

주어진 Image에 tagging을 하기 위해서는 Text 데이터와 Image 데이터가 모두 사용되는 Multimodal Learning이 필요하다.

2개의 pre-trained된 모델에서 추출한 feature vectors를 동일한 차원으로 만들어주고 Joint embedding을 통해 새로운 벡터 공간에 매핑한다.

 

Joint Embedding

 

임베딩 공간에서 pair data의 경우 가까운 거리에 위치하도록 학습이 이루어진다.

 

위와 같이 학습이 완료되면 image와 text 데이터가 하나의 임베딩 공간으로 매핑되기 때문에 연산이 가능해진다.

남성 image에서 "man" text를 빼고 "woman" text를 더하자 여성 image가 결과 벡터에 가장 가까이 위치하였다.

 

Image Captioning

 

Image captioning

Image captioning은 이미지를 보고 알맞은 문장을 생성해내는 task로 Cross modal translation이 사용된다.

Cross modal translation은 앞서 언급한 Joint embedding과 같이 Multimodal Learning을 달성하기 위한 방법론으로 하나의 modality에서 추출한 feature vector를 다른 modality로 input으로 전달하여 학습이 이루어진다.

 

Show and tell model

pre-trained CNN의 output이 LSTM의 input으로 주어진다. 

CNN의 역할은 이미지 데이터의 중요 특성을 포함한 임베딩 공간의 feature vector로 input image를 매핑하는 것으로 feature extraction, Encoder의 역할을 한다.

RNN은 이를 text 데이터로 복원하는 Decoder의 역할을 한다고 생각할 수 있다.

 

Text-to-image

 

Text-to-image generation model

Conditional GAN은 가우시안 분포에서 랜덤샘플링을 통해 Generator의 input vector z를 만드는 것이 아닌 label의 정보를 포함한 벡터를 사용하여 원하는 label의 생성 결과를 얻는다.

Text-to-image에서는 text data가 image conditional GAN에서 input에 주어지는 label 정보와 같다. 

문장을 임베딩한 벡터가 Generator의 input에 사용되며 Discriminator에서도 마찬가지로 같은 정보가 CNN의 중간 feature map에 concatenate 된다. 

학습이 완료되면 text 데이터를 입력하면 이를 바탕으로 이미지를 생성하는 GAN 모델이 완성된다.

 

Text-to-image inference examples

 

Visual question answering

 

 

Visual question answering은 사진을 보고 text로 주어진 question에 대한 답을 찾는 task로 모델은 이미지 데이터의 정보와 텍스트 데이터의 정보를 모두 학습할 수 있어야 한다.

VGGNet과 LSTM을 통해 feature vectors를 구성하고 FC layer를 통해 차원을 동일하게 맞춰준다. 

이후 Point-wise multiplication을 통해 2개의 feature vectors가 하나의 벡터로 바뀌게 되며 FC layer와 softmax 함수를 통해 사진을 보고 질문에 대한 답을 하게 된다.

 

SoundNet

Audio 데이터와 image 데이터를 Joint Embedding 하면 Audio를 input으로 image를 output으로 하여 scene recognition by sound가 가능해진다.

 

SoundNet architecture

Unlabeled video의 RGB 프레임을 2개의 Pre-trained CNN을 통해 Object distribution, Scene distribution를 구한다. 

Audio data의 경우 Waveform형태의 데이터를 CNN에 input으로 삽입하고 마지막에는 2개의 Heads를 사용한 output을 각각 Object distribution, Scene distribution의 분포와 비교한다.

Audio 데이터에서 마지막 output의 분포와 Image 데이터에서 마지막 output의 분포가 유사하도록 학습이 이루어진다.

쿨백-라이블러 발산을 사용하여 두 분포가 통계적으로 얼마나 유사한지 구할 수 있다.

 

Speech2 Face

 

음성을 사용하여 3D Face를 예측하는 Speech2 Face도 Multimodal Learning이다.

모델의 구조는 다음과 같다.

Speech2Face

 

Pre-trained model은 freeze 되어 weight update가 이루어지지 않으며  Speech2 Face Model 부분에 해당하는 음성 데이터 관련 모델에서 weight update가 이루어진다.

 

Speech2Face vision parts

 

Image는 Face recognition 모델에 의해 특성이 추출되고 이를 Audio 데이터는 Voice Encoder를 사용하여 이미지의 그것과 같은 차원의 feature vector가 된다. 

두 벡터의 차이가 loss가 되며 이를 통해 학습하여 음성으로 3d face를 만들 수 있게 된다.

 

Reference

[1] Wang et al., What Makes Training Multi-Modal Classification networks Hard? CVPR 2020

[2] Vinyals et al., Show and Tell :A Neural Image Caption Generator, CVPR 2015

[3] Antol et al., VQA: Visual Question Answering, ICCV 2015

[4] Aytar et al., SoundNet: Learning Sound Representations from Unlabeled Video, NIPS 2016

[5] Naver Boostcamp AI-Tech Multimodal Learning & 3D understanding - 오태현 교수님

 

 

 

 

Comments