Multimodal Learning 소개
( 참고 : http://dmqm.korea.ac.kr/activity/seminar/272 )
Multimodal (Deep) Learning에 대해 간단히 소개하는 글
1. Introduction
(1) Multimodal Learning이란?
- 인간의 “5가지 감각기관”으로 부터 수집되는 다양한 형태(modality)의 데이터를 사용하여 모델을 학습하는 것
 - 5가지 Modality :
    
- Vision / Text / Speech / Touch / Smell / (+ Meta data)
 
 

- 
    
'’변수가 많다” \(\neq\) Multimodal
( 변수들의 차원이 달라야한다! )
 - 
    
expression :
- single-modal : \(y=f(X_n^p)\)
 - multi-modal : \(y=f(X_{term}^{doc},X_{x,y}^{color}, X_{time}^{voice}, X_{time}^{sensor} )\)
 
 - 
    
Key Point :
어떻게 특징 차원이 다른 데이터를 “동시”에 잘 학습할 수 있을까?
\(\rightarrow\) 각각의 데이터의 특성을 “잘 통합하는 것”에 있다!
 
2. Multimodal Learning의 구분
Multimodal Learning은 “여러 source의 데이터를 통합하는 방식”에 따라 구분할 수 있다.
(1) 데이터 차원의 통합
- 
    
다른 특성의 데이터를 embedding하여 특성이 같은 데이터로 추출
 - 
    
ex) Deep CCA (Deep Canonical Correlation Analysis)
( Andrew, Galen, et al. “Deep canonical correlation analysis.” International conference on machine learning. PMLR, 2013. )
 
Deep CCA
- method to learn complex nonlinear transformations of two views of data such that the resulting representations are highly linearly correlated.
 - can be viewed as a nonlinear extension of the linear method canonical correlation analysis (CCA).
 - two parameters are jointly learned to maximize the total correlation
 


- \(\left(\boldsymbol{u}^{*}, \boldsymbol{v}^{*}\right)=\underset{\boldsymbol{u}, v}{\operatorname{argmax}} \operatorname{corr}\left(\boldsymbol{u}^{T} \boldsymbol{X}, \boldsymbol{v}^{T} \boldsymbol{Y}\right)\).
 
(2) Model의 통합
- 각기 다른 모델의 예측값을 통합 ( Co-training, Ensemble )
 

- 
    
( 각각의 모델은 다른 가중치를 가지고 통합된다 )
\(P\left(\hat{Y}_{j}=c \mid I_{j}\right)=\sum_{\phi \in\{\text{text},\text{speech},\text{vision}\}} \gamma_{\phi} P_{\phi}\left(\hat{Y}_{j}=c \mid I_{j} ; \theta_{\phi}\right)\).
- \(\gamma\) : 가중치
 
 
(3) Embedding vector의 통합
- 각각의 데이터는 각자의 NN을 통해 학습된 뒤, 거기서 추출된 embedding vector를 (선형) 결합한다
 

Example)
- Multimodal CNN (m-CNN)
 - Multimodal RNN (m-RNN)
 
m-CNN (Ma et al,2015)
- 
    
목적 : image & text의 관계 (matching 정도) 파악
 - 
    
두 가지 main 신경망
- 
        
1) image/text의 특징을 concatenate을 하는 NN
\(\mathbf{v}=v_{w d}^{i}\left\|v_{w d}^{i+1}\right\| \cdots\left\|v_{w d}^{i+k_{r p}-1}\right\| v_{i m}\).
 - 
        
2) concatenate된 vector로써 최종 예측을 하는 NN
\(s_{\text {match }}=w_{s}\left(\sigma\left(w_{h}\right)\left(v_{J R}\right)+b_{h}\right)+b_{s}\).
 
 - 
        
 

m-RNN (Mao et al,2014)
- 목적 : image와 관련된 text를 생성
 - 두 가지 main 신경망
    
- 1) 시계얼 특성을 파악하는 NN (아래의 purple 상자)
 - 2) image/text의 특징을 concatenate하는 NN (아래의 red 상자)
 
 

3. Challenges of Multimodal Learning
(1) Representation
- 
    
multimodal data를 어떻게 잘 요약(축약)할 것인지!
 - 
    
잘 축약했다?
- 축약된 서로 다른 데이터가 “highly correlated”
 
 - 
    
두 가지 방법
- 
        
joint representation ) 두 data가 합쳐진 뒤 하나의 representation으로!
 - 
        
coordinated representation ) 두 data가 각각 축약된 뒤, 이들을 서로 concatenate
ex) Deep CCA ( 위에 참조 )
 
 - 
        
 
(2) Translation
- entity를 “다른 modality”의 entity로 변환(생성)
 

(3) Alignment
- 서로 다른 modality의 데이터의 관계를 파악!
 
(4) Fusion
- 서로 다른 modality의 데이터를 잘 결합하여 예측을 수행하는 것!
 
(5) Co-learning
- 
    
knowledge가 부족한 특정 modality의 데이터를,
knowledge가 풍부한 다른 modality의 데이터를 사용하여 보완하는 것!