Multi-modal learning : 다른 특성을 갖는 데이터 타입들을 같이 활용하는 학습법
Multi Model은 데이터들의 표현 방법이 다 다르기 때문에 어렵다.
서로 다른 Modality에서 오는 정보의 양이 unbalance 하고 feature space에 대한 정보 또한 unbalance 하다.
. 여러 Modality를 썼을 때 공평하게 정보를 주어도 쉬운 정보와 어려운 정보의 차이가 생긴다.
Image captioning
- 이미지가 주어지면 이미지를 가장 잘 설명해내는 문구를 생성해주는 연구이다.
- 한 단어를 출력해주면 그것을 다시 input으로 넣는것을 반복한다.
- 위와 같이 CNN + RNN을 Show and tell이라고 한다.
- Image가 Input으로 들어오면 그것을 fix-dimensional vector로 바꿔주기 위해선 Encoder가 필요한데 이 때 ImageNet에서 Pre-trained된 CNN을 사용한다.
- 그것을 Condition으로 제공하고, LSTM에 시작 token으로 넣는다. 이것을 end가 출력될 때까지 반복한다.
Show,attend and tell
- sentence를 보고 이미지를 출력할 때 그 단어가 가리키는 것을 더 주목한다.
- input 이미지를 넣고 CNN을 통해서 feature map을 뽑아주는데 그냥 fixed 된 dimensional vector 대신 14x14 정보를 담고있는 feature map을 출력한다. 그것을 RNN에 넣어서 하나의 word를 생성할 때마다 14x14를 reference 해서 어떤 단어를 출력해야할 지 예측해 나가면서 단어를 생성한다.
- show, attention and tell -> attention
- Attention 매커니즘은 spatial한 feature가 들어오게 되면 RNN을 넣어서 어디를 보고 있는지 heatmap을 만들어 주고 이것과 feature를 잘 결합해 z(weighted sum)을 만들어준다.
![](https://images.velog.io/images/kimkihoon0515/post/8638d4b0-894e-4aef-9537-aa0c4faaca21/image.png
Visual question answering
- 영상이 주어지고 질문이 주어질 때 답을 도출하는 형태의 task이다.
- question stream : text의 sequence로 RNN으로 encoding하여 fixed dimensional vector를 생성한다.
- Image Stream : Pre-trained neural network를 사용하여 fixed dimensional vector를 생성한다.
- 앞선 두 vector를 point-wise multiplication하여 두 개의 embedding vector가 interaction한다.
SoundNet
- 오디오 표현을 어떻게 할 지 방법론을 제시했다.
- pre-trained된 모델을 통해 어떤 object가 덜어있는지에 대한 distribution과 현재 video가 어떤 장면에서 촬영되고 있는지 scene distribution을 출력한다.
- audio는 raw waveform형태로 CNN input에 넣는다.
- two heads로 나눠서 각 distribution과 매칭한다.
- spectrogram 대신 waveform을 활용했다.
Speach2Face : 음성을 듣고 얼굴을 상상하는 모델
Image-to-speech synthesis
- Module networks
- Image-to-Unit Model
- Unit-to-Speech Model
두 모델의 호환성을 맞춰야 한다.