멀티모달에 대해 공부하기위해 Multimodal Machine Learning: A Survey and Taxonomy 논문을 읽어보고자 한다.
모달리티는 어떤 일이 발생하거나 경험되는 방식, 이러한 모달리티를 둘 이상 포함할 경우 멀티모달로 분류된다.
멀티모달 머신러닝은 다양한 모달리티의 정보를 처리하고 연관지을 수 있는 모델을 구축하는 것을 목표로 한다.
해당 논문은 멀티모달 머신러닝의 발전들을 종합적으로 살펴보고, 이를 공통된 분류체계로 제시한다.
멀티모달 데이터를 요약하고 표현하는 방법을 학습하는 문제
ex) 언어는 Symbolic인 반면, 오디오 및 비주얼 모달리티는 Sinal로 표현됨. 이러한 멀티모달 데이터의 이질성은 표현을 구성하는데 어려움을 준다.
한 모달리티의 데이터를 다른 모달리티로 매핑하는 문제
데이터가 이질적일 뿐만 아니라, 모달리티 간의 관계는 종종 open ended(개방적)이거나 subjective(주관적)이다.
ex) 하나의 이미지를 설명하는 여러가지 방법이 존재할 수 있으며, 하나의 완벽한 Translation은 조재하지 않을 수도 있다.
두 개 이상의 다른 모달리티에서 요소들 간의 직접적인 관계를 식별하는 문제
ex) 요리 방법을 요리 동영상과 정렬하고자 할 수 있다. 이를 해결하기 위해서는 다양한 모달리티간의 유사성을 측정하고, long-range dependencies(장거리 의존성) 및 ambiguities(모호성)을 다룰 수 있어야 한다.
두 개 이상의 모달리티로부터 정보를 결합하여 예측을 수행하는 문제
ex) 오디오-비주얼 음성 인식에서는 입술 움직임에 대한 시각적 설명을 음성 신호화 결합하여 발화된 단어를 예측한다. 하지만 이렇게 다양한 모달리티로부터 오는 정보는 predictive power(예측력)이나 noise tepology(잡음의 구조)가 다를 수 있으며, missing data가 일어날 수도 있다.
모달리티 간의 지식, 표현, 예측 모델을 transfer(전이)하는 문제
이는 co-training, conceptual grounding, zero shot learning 알고리즘들에 의해 구체화된다.
한 모달리티로부터 학습된 지식이 다른 모달리티에 대해 학습된 모델에 도움이 되는지를 탐구한다.

2장 - 멀티모달 머신러닝의 주요 응용 사례
멀티모달 머신러닝이 직면한 다섯가지 핵심 도전 과제들에 대한 최근 발전
3장 - Representation
4장 - Translation
5장 - Alignment
6장 - Fusion
7장 - Co-learning
8장 - 전체적인 논의
Good Representation은 머신러닝 모델 성능에 있어 매우 중요하다.

1. Joint Representations
서로 다른 모달리티의 정보를 하나의 통합 표현 공간으로 합친다. 즉, 모든 모달리티의 데이터를 함께 입력받아 하나의 표현을 생성한다.
수식으로 표현하면 다음과 같다.

xm: 멀티모달 표현f: 입력 모달리티 x1,...,xn을 통합하는 함수2. Coordinated Representations
각 모달리티를 별도로 처리하지만, 일정한 유사성 제약 조건을 적용하여 결과적으로 같은 의미 공간에 있게끔 조정한다. 이러한 공간을 Coordinated Space라고 부른다.
수식으로 표현하면 다음과 같다.

unimodal representation (단일 모달리티 표현)을 함께 하나의 멀티모달 공간으로 projection(사영)하는 방식이다.
일반적으로 training과 inference 단계 모두에서 멀티모달 데이터가 사용되는 작업에 활용된다.
신경망은 단일 모달리티 데이터를 표현하는데 널리 사용되는 방법이며, 멀티모달 영역에서도 점차 많이 활용되고 있다.
신경망은 일반적으로 inner project(내적)과 그 뒤를 잇는 non-linear
activation functions으로 구성된 block들로 이루어진다. Deep Neural Network는 층이 깊어질수록 데이터를 점점 더 추상적인 방식으로 표현한다고 가정한다. 이에 마지막층이나 그 직전층을 데이터 Representation으로 자주 사용한다.
해당 구조 덕분에 멀티모달 표현을 학습하는 과정과 여러 모달리티를 융합하는 과정이 신경망안에서 동시에 일어날 수 있게 한다.
-> 멀티모달 Representation training과 fusion은 신경망을 사용할 때 서로 밀접하게 연관된다.
오토인코더 기반 사전학습
신경망은 많은 양의 label 데이터를 필요로하기 때문에 오토인코더를 사용해 비지도학습으로 사전training 하는 것이 일반적이다.
Ngiam은 이러한 오토인코더 개념을 멀티모달 도메인으로 확장했다.
stacked denoising 오토인코더를 이용하여 각 모달리티를 따로 representation한 후, 또 다른 오토인코더 layer를 통해 결합 멀티모달 representation을 생성했다.
Silberer와 Lapata는 semantic concept grounding(의미 개념 정착)과제에서 멀티모달 오토인코더를 사용했다.
이들은 표현을 학습할 때 reconstruction loss(재구성 손실)에 더해 객체 레이블을 예측하는 term(손실항)을 추가했다.
오토인코더로 생성된 representation은 특정 과업에 대해 fine-tuning(미세조정)하는 것이 일반적이다. 오토인코더 representation은 generic이며, 특정 작업에 최적화되어 있지 않을 수 있기 떄문이다.
신경망 기반 Joint Representation 장단점
장점
단점
probabilistic graphical models (확률적 그래픽 모델)을 사용하는 방식이다.
이는 latent random variables(잠재 변수)를 통해 Representation을 구성한다.
Deep Boltzmann Machines(DBM)
가장 대표적인 방식으로, restricted Boltzmann machines을 여러 block으로 쌓아 구성한다.
신경망과 마찬가지로 각 층은 점점 더 추상적인 표현을 학습하고 지도학습 없이도 학습 가능하다는 장점이 있다.
멀티모달 DMB
두 개 이상의 비지도 그래프를 공통의 binary hidden layer로 연결하여 Joint Representation를 학습한다. 모델이 undirected graph로 구성되어 있기 때문에 학습이 끝난 이후에도 각 모달리티의 저수준 representation들이 서로 영향을 미칠 수 있다.
장점: generative model(생성 모델)
단점: 훈련이 어려움
ex) 멀티뷰 데이터로부터 사람의 자세 추정, PET + MRI 데이터 기반 알츠하이머 분류 등에 사용됨
joint representation의 대안으로 coordinated representation를 고려할 수 있다.
joint representation은 모든 모달리티를 하나의 공간으로 project하는 것이라면, coordinated representation는 각 모달리티에 대해 개별 representation을 학습하되, 일정한 제약 조건을 통해 그 표현들 간의 관계를 맞추는 방식이다.
해당 모델은 조정된 표현 공간에서 모달리티 간의 거리를 최소화한다.
ex) 단어 dog와 강아지 사진의 표현 간 거리가, 단어 dog와 자동차 사진 간 거리보다 작도록 유도한다.
해당 모델은 모달리티 표현 간에 추가적인 structural constraints(구조적 제약)을 가한다.
이러한 구조는 응용 분야에 따라 달라지며 해상, 크로스모달 검색, 이미지 캡셔닝 등에 각각 다른 제약이 사용된다.
Cross-modal Hashing
고차원 데이터를 압축된 binary code로 변환하여 서로 유사한 객체는 유사한 hash code를 갖게 하는 방식이다.
Cross-modal Hashin의 목표는 모달리티가 다른 객체들 간에도 유사한 코드를 만들 수 있도록 학습하는 것이다.
해당 방식은 아래와 같은 제약을 표현 공간에 강제한다.
1. 표현 공간을 n차원 hamming space 이어야 한다. (고정된 길이의 이진 표현)
2. 같은 객체라도 모달리티가 다르면 유사한 해시 코드를 가져야 한다.
3. 공간 자체는 유사성을 보존해야 한다.
Order-embeddings (순서기반 조정 표현)
이미지와 텍스트 간 순서를 반영한 방식이다.
Vendrov et al은 비대칭 거리 측정 방식과 부분순서 개념을 도입하여 표현 공간에 계층적 구조를 부여했다.
Canonical Correlation Analysis (CCA, 정준 상관 분석)
두 확률 변수간의 상관관계를 극대화하는 선영 사영을 계산하며, 새로운 표현공간에서의 직교성도 강제한다.
CCA 모델은 크로스모달 검색, 오디어-비주얼 신호 분석에 폭넓게 사용되어 왔다.
멀티모달 representation의 두가지 주요 유형
멀티모달 데이터를 하나의 공통 표현 공간으로 사영하는 방식이다. 이 방식은 모든 모달리티가 inference time에 모두 존재할 경우에 가장 적합하다.
이는 오디오-비주얼 음성인식, 감정인식, 멀티모달 제스처인식 등에서 광범위하게 사용되어 왔다.
각 모달리티를 별도의 표현 공간으로 사영하되, 그 표현 공간들 간의 정렬을 통해 조화를 이룬다.
이 방식은 다음과 같은 한가지 모달리티만 주어지는 테스트 상황에 적합하다.

Multimodal Alignment: 두 개 이상의 모달리티에서 각 인스턴스의 하위 구성 요소들간의 관계와 대응을 찾는 것
멀티모달 정렬은 두 가지 유형으로 분류된다.
유사도 측정(similarity metric): 명시적 정렬의 가장 중요한 구성요소
대부분의 접근 방식은 모달리티 간 하위 요소들 사이의 유사도를 측정하는 것을 기본 구성 요소로 사용한다. 이러한 유사도는 수작업으로 정의될 수도 있고, 데이터로부터 학습될 수도 있다.
명시적 정렬을 위한 두가지 알고리즘 유형
1. 비지도 정렬: 서로 다른 모달리티 간 인스턴스에 대해 직접적인 정렬 label없이 작동
2. (약한)지도 정렬: 정렬된 쌍에 대한 일부 label이 존재하고, 이를 모델 학습에 활용
label없이 모달리티를 정렬하는 방식이며, 작업을 간소화하기 위해 temporal ordering of sequence나 모달리티간 유사도 정의 등의 가정을 둔다.
Dynamic Time Warping (DTW, 동적 시간 왜곡)
DTW + CCA
그래픽 모델 기반 접근
지도 정렬은 정렬된 인스턴스에 대한 label을 모달리티 간 유사도를 측정하는 모델을 학습하는데 사용한다.
많은 지도 정렬 기법은 비지도 방식에서 영감을 받아 발전했다.
최근 language and vision communities 데이터셋의 등장으로 정렬과 유사도 측정에 인기있는 방법이 되었다.
명시적 정렬과 달리 암시적 정렬은 다른 작업을 위한 중간 단계로 사용된다.
이러한 접근 방식은 아래와 같은 여러 잡업에서 성능 향상을 가능하게 한다.
암시적 정렬 모델의 두가지 유형
그래픽 모델은 기계 번역을 위한 언어 간 정렬, phoneme와 transcription 간의 정렬 등에 사용되었다.
그러나 이 방식은 모달리티 간 매핑을 수작업으로 구성해야 해 이러한 모델을 구성하려면 훈련 데이터나 전문가의 지식이 필요하다.
Attention: 위 문제를 해결하기 위해 가장 많이 쓰이는 방법
멀티모달 정렬의 어려움
초기 멀티모달 정렬 연구는 그래픽 모델과 동적 프로그래밍 기법을 이용하여 비지도 방식으로 시퀀스를 정렬하는데 집중하였다. 이러한 방법들은 모달리티 간의 유사도를 수작업으로 정의하거나 비지도 학습 방식으로 학습했다.
하지만 최근에는 레이블이 있는 학습 데이터의 등장으로 모달리티 간 유사도를 지도학습하는 것이 가능해졌다.