https://ieeexplore.ieee.org/abstract/document/8269806
Multimodal Machine Learning: A Survey and Taxonomy
Our experience of the world is multimodal - we see objects, hear sounds, feel texture, smell odors, and taste flavors. Modality refers to the way in which something happens or is experienced and a research problem is characterized as multimodal when it inc
ieeexplore.ieee.org
2025.04.05 - [[CoIn]] - [CoIn] 논문 리뷰 | Multimodal Machine Learning:A Survey and Taxonomy
[CoIn] 논문 리뷰 | Multimodal Machine Learning:A Survey and Taxonomy
https://ieeexplore.ieee.org/abstract/document/8269806 Multimodal Machine Learning: A Survey and TaxonomyOur experience of the world is multimodal - we see objects, hear sounds, feel texture, smell odors, and taste flavors. Modality refers to the way in wh
hw-hk.tistory.com
4. Translation
멀티모달 머신러닝의 큰 부분중 하나는 한 모달리티에서 다른 모달리티로 변환(매핑) 하는 것입니다. 예를 들어 어떤 모달리티에 있는 entity를 주면, 그것과 같은 entity를 다른 모달리티로 생성하는 것이 과제입니다. 예를 들어, 이미지를 주고 그 이미지를 설명하는 문장을 생성하거나, 문장 설명을 주고 그에 맞는 이미지를 생성하는 것이 이에 해당합니다.
멀리모달 변환(multimodal translation)은 오래전부터 연구되어 온 문제로, 초기의 연구로는 다음과 같은 것들이 있습니다:
- 음성 합성(speech synthesis)
- 시각적 음성 생성(visual speech generation)
- 비디오 설명(video description)
- 크로스 모달 검색(cross-modal retrieval)
최근에는 컴퓨터 비전과 자연어 처리 커뮤니티의 협력 및 대규모 멀티모달 데이터셋의 등장 덕분에 멀티모달 변환이 다시 주목받고 있습니다. 특히 인기 있는 문제는 시각적 장면 설명(visual scene description)으로, 이미지 캡셔닝(image captioning) 및 비디오 캡셔닝(video captioning)입니다. 이는 컴퓨터 비전과 NLP의 여러 문제를 시험할 수 있는 훌륭한 테스트베드이기도 합니다.
이런 task를 해결하기 위해서는:
- 시각적 장면을 완전히 이해하고
- 중요한 부분(salient parts)을 식별하며
- 문법적으로 올바르고, 포괄적이면서 간결한 문장을 생성해야 합니다.
멀티모달 변환에 대한 접근 방식은 매우 다양하며 종종 모달리티에 따라 특화되어 있지만, 공통된 요소가 존재합니다. 해당 논문에서는 두 가지 유형으로 이를 분류합니다:
- 예시 기반(example-based)
- 생성 기반(generative)
예시 기반 모델은 변환할 때 사전(dictionary)을 사용합니다. 반면 생성 기반 모델은 스스로 변환을 생성할 수 있는 모델을 구축합니다. 이 구분은 비모수(non-parametric) vs. 모수(parametric) 머신러닝 접근 방식의 구분과 유사하며 fig. 2에서 그림으로 나타내고 있습니다.
일반적으로 생성 기반 모델의 구축이 더 어렵습니다. 왜냐하면 신호나 기호(예: 문장)의 시퀀스를 생성하는 능력이 필요하기 때문입니다. 이는 시각, 음향, 언어 등 어떤 모달리티에서도 어려운 작업입니다. 특히, 시간적(temporal) 및 구조적(structural) 일관성을 유지하면서 시퀀스를 생성해야할 때 더욱 어렵습니다.
이러한 이유로 초기 멀티모달 변환 시스템들은 대부분 예시 기반 번역(example-based translation)에 의존했습니다. 하지만 최근에는 이미지 생성, 음성 생성, 텍스트 생성이 가능한 딥러닝 모델의 등장으로 이 상황이 변화하고 있습니다.
4.1 예시 기반 (Example-Based)
예시 기반 알고리즘은 훈련 데이터(즉, 사전)에 의해 제약을 받습니다. *당연히! 사전에 기반해서 검색하기 때문에 사전의 퀄리티가 좋아야합니다. 해당 논문에서는 이를 검색 기반과 조합 기반 두 가지고 구분합니다. (1) 검색 기반 모델은 검색된 번역 결과를 수정 없이 그대로 사용합니다. (2) 반면 조합 기반 모델은 여러 검색 결과를 기반으로 번역을 생성하는 더 복잡한 규칙을 사용합니다.
검색 기반 모델은 아마도 가장 단순한 형태의 멀티모달 번역 방식일 것입니다. 사전(dictionary)에서 가장 가까운 샘플을 찾아 번역 결과로 사용하는데, 이 검색은 단일 모달리티 공간(검색 기반 모델) 또는 중간 의미 공간(조합 기반 모델)에서 수행할 수 있습니다.
단일 모달리티 검색(unimodal retrieval)은 입력 모달리티(예: 이미지의 시각적 특징 공간)에서 가장 가까운 예시를 찾습니다. 이는 다음의 예시에 적용된 바가 있습니다:
- 시각적 음성 합성(visual speech synthesis)나 텍스트-음성 변환 시스템
- Ordonez et al. 은 글로벌 이미지 특징을 이용해 캡션 후보를 검색하거나, Yagcioglu et al. 은 CNN 기반 이미지 표현으로 비슷한 이미지를 검색하는 방법을 제안했습니다.
- Devlin et al. 은 간단한 k-NN만으로도 복잡한 생성 모델과 경쟁할 수 있는 번역 성능을 보여줬습니다.
https://jeongwooyeol0106.tistory.com/169?category=1000515
[논문] VisualTTS: TTS with Accurate Lip-Speech Synchronization for Automatic Voice Over
https://arxiv.org/abs/2110.03342 VisualTTS: TTS with Accurate Lip-Speech Synchronization for Automatic Voice OverIn this paper, we formulate a novel task to synthesize speech in sync with a silent pre-recorded video, denoted as automatic voice over (AVO).
jeongwooyeol0106.tistory.com
(visual speech synthesis 관련 논문, 해당 논문은 단일 모달 검색은 아님.)
*단일 모달 검색의 경우는 입력 모달리티에 대한 임베딩만 수행합니다. 입력 모달리티의 특징 공간 상에서의 거리를 기반으로 유사성(예: L2, 코사인 distance)을 판단하여 가장 유사한 입력 모달리티에 대한 벡터를 검색, 해당 벡터에 연결된 출력을 결과로 반환합니다.
단일 모달 검색은 오직 하나의 모달리티 표현만 이용해서 검색을 수행할 수 있다는 점입니다. 하지만 단일 모달 검색은 추가적인 멀티모달 후처리(예: 검색 결과 재정렬)가 필요합니다. 이는 단일 모달리티 공간에서 비슷하게 보여도 실제로는 좋은 번역이 아닐 수 있다는 한계를 드러냅니다. 이에 대한 대안으로 중간 의미 공간(semantic space)을 활용하는 검색이 있습니다.
중간 의미 공간이 사용된 예는 다음과 같습니다:
- Farhadi et al. 은 수작업으로 만든 의미 공간(예: <object, action, secene>)을 사용했습니다.
- Socher et al. 은 문장과 CNN 이미지 특징을 조정된 공간으로 학습해 쌍방향 번역(text-to-image, image-to-text)을 가능하게 했습니다.
- Xu et al., Jiang and Li, Cao et al., Hodosh et al. 등은 다양한 방법(cross-modal hashing, KCCA 등)을 통해 이미지-문장 검색을 수행했습니다.
의미 공간 기반 검색은 단일 모달 검색보다 더 의미 있는 공간에서 이뤄지므로 성능이 좋고, 양방향 번역도 가능합니다. 하지만, 의미 공간을 수작업으로 만들거나 이를 학습시키는 데에는 대규모의 학습 데이터가 필요합니다.
조합 기반 모델은 검색 기반 방법을 한 단계 확장한 것입니다. 이는 사전에서 예시를 검색해오는 것에 그치지 않고, 이들을 의미 있게 조합하여 더 나은 번역을 생성하는 방법입니다. 이때 조합에 사용하는 대부분의 규칙들은 수작업이거나, 휴리스틱하게 설정된 것들입니다.
- Kuznetsova et al. 은 시각적으로 비슷한 이미지들에서 구문들을 검색한 후, 정수 선형 계획법(Integer Linear Programing)과 수작업 규칙들을 적용하여 새로운 설명을 생성했습니다.
- Gupta et al. 은 k개의 비슷한 이미지들을 검색한 후 검색된 이미지들의 캡션들을 추출해 target sentence를 생성하는 방법을 사용했습니다.
- Lebret et al. 은 CNN 기반의 이미지 표현을 사용해 구문을 추론했는데, 이는 trigram constrained language model을 사용했습니다.
예시 기반 번역은 저체 사전이 모델이기 때문에 추론 속도가 매우 느리고 최적화 하기가 매우 어렵습니다(예: 해싱). 또한 완벽한 translation이 항상 사전에 존재한다고 기대하는 것은 비현실적입니다. *심지어 매우 작은 태스크에서 매우 큰 사전을 사용한다고 하더라도... 조합 모델은 더 복잡한 구조를 생성할 수 있긴 하지만, 단방향 translation만 가능하다는 한계가 있습니다. *하지만 뭐.. 공간 기반 검색 모델은 양방향 번역이 가능하긴합니다.
4.2 생성 기반 접근법 (Generative Approaches)
생성 기반 접근법은 단일 모달 source instance가 주어졌을 때 멀티모달 translation을 수행할 수 있는 모델을 구성합니다. 이 문제는 입력 모달리티를 이해하고, 출력 모달리티의 시퀀스 또는 신호를 생성하는 능력을 요구하기 때문에 매우 도전적인 문제입니다. 또한 가능한 정답 공간이 매우 크기 때문에 이러한 방법들의 평가 역시 훨씬 더 어렵습니다.
해당 논문에서는 생성 기반 모델을 세 가지 주요 범주로 분류합니다:
- 문법 기반(grammer-based)
- 인코더-디코더(encoder-decoder)
- 연속 생성 모델(continuous generation models)
문법 기반 모델은 문법을 사용하여 목표 도메인을 제한함으로써 작업을 단순화 시키는 것입니다. 예를 들어 이미지에 대한 설명을 생성하는 태스크에서 출력의 템플릿은 <주어, 목적어, 동사>로 제한하여 생성합니다. 인코더-디코더 모델은 입력 모달리티를 latent representation으로 인코딩한 후, 이를 디코더가 사용하여 출력을 생성합니다. 연속 생성 모델은 입력 모달리티의 stream을 기반으로 연속적으로 출력 모달리티를 생성하며, 주로 텍스트-음성 변환 같은 시퀀스 간 translation에 적합합니다.
4.2.1 문법 기반 모델
문법 기반 모델은 특정 모달리티를 생성하기 위해 미리 정의된 문법에 의존합니다. 이들은 입력 모달리티(예: 이미지, 비디오)로부터 객체나 동작과 같은 고수준의 개념을 감지하고, 이 감지 결과를 미리 정의된 문법을 이용한 생성 절차에 의해 출력 모달리티를 생성합니다.
(다양한 논문들 제시. 자세한 내용은 논문 참조)
이런 문법 기반 방법은 미리 정의된 템플릿과 제한된 문법을 사용하므로 문법적 또는 논리적으로 올바른 출력을 생성할 가능성이 높습니다. 하지만 창의적인 번역이 어렵고, 개념 감지를 위한 복잡한 파이프라인이 필요하며 *당연한것이 이미지의 인식 결과를 문법에 끼워맞추는 과정이 매우 복잡할 수밖에 없다. 각 개념마다 별도의 모델과 학습 데이터셋이 요구됩니다.
4.2.2 인코더-디코더 모델
end-to-end로 학습된 신경망 기반 인코더-디코더 모델은 현재 멀티모달 번역에서 가장 인기 있는 기법 중 하나입니다. 이 모델의 핵심 아이디어는 소스 모달리티를 벡터 표현으로 인코딩하고, 이를 디코더 모듈을 사용해 타겟 모달리티를 생성하는 것입니다. 원래 이는 기계번역에 사용되었지만, 이후 이미지 캡셔닝, 비디오 설명 등에 성공적으로 사용되었습니다.
음향신호를 인코딩하는 대표적인 모델은 RNN과 DBN입니다. 단어 및 문장을 인코딩하는 데는 분포 의미론(distributional sementics, 예: word2vec)이나 RNN의 변형을 사용합니다. 이미지를 인코딩하는 대표적인 모델은 CNN이며, 비디오의 경우는 비디오 학습 방법들이나 hand-crafted방식을 여전히 사용합니다. 각각의 소스 모달리티에 대한 표현을 인코딩하는데 사용할 수도 있지만 더 나은 결과를 위해 Section 3.2에서 본 coordinated representation을 사용하기도 합니다.
디코딩은 주로 RNN이나 LSTM을 사용하며, 인코딩된 표현을 초기 hidden state로 사용합니다. 이때 LSTM을 사용하면 time step이 지나면 지날수록 이미지에 대한 정보를 잃어버릴 수 있기 때문에 디코딩에서의 생성과 이미지를 더 밀접하게 연결시키기 위해 guide vector를 사용하기도 합니다. *guide vector는 각 timestep에서의 LSTM모듈에 이미지 벡터를 추가적으로 넣어주어서 그때 그때의 이미지를 기억하도록 하는 방법입니다.
앞서 말했듯 이미지나 문장, 비디오를 하나의 벡터로만 요약하는 것은 긴 시퀀스를 생성할 때 입력 정보를 잊어버리는 경향이 있을 수 있습니다. 이를 해결하기 위해 인코딩된 정보를 디코딩의 모든 단계에 주입하거나(예: guide vector), Attention모델을 사용할 수 있습니다(section 5.2). 생성적 어텐션 기반 RNN은 문장에서 이미지를 생성하는 데에도 사용되었으나, 아직 사실적인 품질은 부족합니다. *최근에는 RNN대신 GAN을 이용한 텍스트-이미지 생성이 활발히 연구되고 있습니다.
2) Generative Adversarial Networks (GANs)
## Background GAN은 2014년, Ian Goodfellow의 "Generative Adversarial Network"라는 논문에서 처음 제시되었습니다. CNN의 …
wikidocs.net
하지만 인코더-디코더 모델의 경우 신경망이 실제로 이해를 하는 것이 아니라 단순히 학습 데이터를 암기하는 것일 수도 있습니다. Devlin et al.에 따르면 k-NN알고리즘을 활용한 모델과 생성에 기반한 모델이 비슷한 성능을 냈기 때문입니다. 또한 이러한 모델들은 훈련에 대규모 데이터가 필요하다는 문제도 존재합니다.
4.2.3 연속 생성 모델 (Continuous Generation Models)
연속 생성 모델은 시퀀스 번역에 적합하며, 각 timestep마다 출력을 생성합니다. 이런 모델들은 텍스트-음성, 음성-텍스트, 비디오-텍스트 번역에서 유용하게 사용되어왔습니다. 여기에도 정말 많은 방법론들이 존재하며, 초기에는 그래픽 모델이나 잠재 변수 모델이 주로 사용되었습니다.
연속 생성 모델에서 갖장 주의해야하는 점들은 Temporal Consistancy입니다. 즉, encoding되는 source data의 시간의 흐름의 속도와 decoding되는 target data의 시간의 흐름의 속도가 유사하거나 일치해야한다는 문제입니다. 이를 해결하기 위해 Deena and Galata et al.은 shared Gaussian process latent variable model을 이용해서 해결했습니다.
https://greeksharifa.github.io/bayesian_statistics/2020/07/12/Gaussian-Process/#google_vignette
Python, Machine & Deep Learning
Python, Machine Learning & Deep Learning
greeksharifa.github.io
graphical model을 사용하는 continuous signal에 대한 초기 다양한 multimodal translation들은 대부분 신경망 기반 encoder-decoder모델로 대체되고있습니다.
4.3 모델 평가 및 논의 (Model Evaluation and Discussion)
멀티 모달 번역 방법이 직면한 주요 도전 과제 중 하나는, 이를 평가하는 것이 매우 어렵다는 점입니다. 음성 인식(speech recognition)과 같은 일부 작업에서는 단일한 정답이 존재하지만, 음성 합성(speech synthesis)이나 미디어 설명(media description)과 같은 작업에서는 그렇지 않습니다. 때때로 언어 번역처럼, 여러 답변이 모두 정답일 수 있으며 어떤 번역이 더 나은지를 결정하는 것은 종종 주관적입니다.
다행히도, 모델 평가를 돕기 위한 몇 가지 근사적인 자동 평가 기준이 존재하긴 합니다. 주관적인 작업을 평가하는 가장 이상적인 방법은 "사람의 판단"입니다. (1) 이때는 리커트 척도(Likert scale)를 사용해 특정 기준에 따라 translation을 평가할 수 있습니다. 예를 들어:
- 음성 합성의 자연스러움 및 평균 의견 점수(mean opinion score)
- 시각적 음성 합성의 사실성(realism)
- 미디어 설명의 문법적/의미적 정확성, 관련성, 순서, 세부사항
(2) 또 다른 방법으로는 선호도 조사를 수행할 수 있습니다. 예를 들어 참가자에게 두 개(또는 그 이상의) tranlsation 결과를 제시하고 어던 것을 선호하는지 비교하도록 합니다.
하지만 이런 사용자 연구(user study)는 인간 판단과 가장 가까운 평가 결과를 제공하는 반면, 시간이 오래 걸리고 비용이 많이 들며, 유창성이나 연령, 성별, 문화적 편향을 피하기 위해서는 신중하게 설계하고 수행해야합니다. 결과적으로는 인간 연구가 평가의 gold standard이긴 하지만, 미디어 설명 작업과 같은 태스크를 위해서는 자동 대체 방법들도 제안되었습니다:
- BLEU
- ROUGE
- METEOR
- CIDEr
그러나 이들 지표는 많은 비판들을 받아왔고, 인간 판단과는 약한 상관관계만을 보이는 것으로 나타났습니다. 이에 Hodosh et al. 은 이미지 캡셔닝 평가를 위해 "검색"을 대체 방법으로 사용할 것을 제안하기도 했습니다. 캡션을 생성하는 대신, 검색 기반 시스템이 이미지에 가장 잘 맞는 기존 캡션들의 순위를 매깁니다. 그리고 정답 캡션이 높은 순위에 위치하는지를 평가하는 것입니다.
한편 시각적 질문 응답(Visual Question Answering, VQA)과제는 이미지 캡셔닝 평가의 어려움을 해결하기 위해 부분적으로 제안되었습니다. VQA는 이미지와 그에 대한 질문이 주어졌을 때 시스템이 정답을 제공해야하는 과제입니다. 정답이 존재하기 때문에 평가가 더 쉬워지며, 번역 작업이라기 보다는 멀티모달 융합(multimodal fusion, section 6) 과제로 변환됩니다.
이미지 공동 참조(image co-reference) 과제 또한 이러한 모호성을 해결하기 위해 제안되었으며, 이 과제를 멀티모달 정렬(multimodal alignment, section 5) 문제로 재구성했습니다. 해당 논문의 저자는 평가 문제를 해결하는 것이 멀티 모달 tranlsation 시스템의 성공에 필수적이라고 주장합니다. 이는 접근 방법들 간의 더 나은 비교를 가능하게 할 뿐만 아니라, 최적화할 더 나은 목표들을 제공할 수 있기 때문입니다.
5. Alignment
multimodal alignment는 두 개 이상의 모달리티의 sub-components들 사이의 상응하는 관계를 찾는 문제입니다. 예를 들어 임의의 이미지의 부분들 중 캡션에 해당하는 부분이 어디인지 맞추는 것입니다. 혹은 영화가 주어졌을 때 해당 스크립트에 해당하는 부분이 어디인지 찾는 문제도 이에 해당합니다.
해당 논문에서는 multimodal alignment를 implicit과 explicit alignment로 구분합니다. explicit의 경우 모달리티의 sub-components간의 alignment를 다룹니다. 예를 들어 요리 설명 영상에서 해당 레시피 부분에 해당하는 장면을 찾는 문제가 있습니다. implicit의 경우 중간 단계로서 사용됩니다. 예를 들어 텍스트 설명에 기반한 이미지 검색은 내부에서 이미지와 텍스트의 alignment를 다룹니다.
5.1 Explicit Alignment
두 개 이상의 모달리티의 sub-components들 사이의 alignment가 주요 모델링 목적인 경우입니다. explicit alignment의 가장 중요한 점은 similarity metric입니다. 대부분의 접근 방법들은 sub-components들 사이의 유사도를 측정하는 것이 매우 중요한 building block입니다. 이런 유사도 측정은 unsupervised와 (weakly) supervised방식이 있습니다.
5.1.1 Unsupervised alignment
Unsupervised multimodal alignment는 직접적인 alignment label을 필요로하지 않습니다. 여기에서의 대부분의 접근 방법들은 초기의 통계적 기계 번역과 유전자 배열 alignment에서 영감을 받았습니다. 이런 접근 방법을 쉽게 하기 위해서 alignment에 특정한 제약을 가정하는데, 예를 들어 sequenced의 시간적 배열이나 존재하는 두 모달리티간의 유사도 측정 metric이 있습니다.
Dynamic time warping (DTW)는 동적 프로그래밍 접근 중 하나로, 두 시계열을 alignment할 때 광범위하게 사용합니다. DTW는 두 sequence간의 유사도를 측정하여 시간이 흐름에 따라 두 sequence간의 최적의 match를 찾아내는 것을 말합니다.
https://syj9700.tistory.com/58
DTW(Dynamic Time Warping)
Dynamic Time Warping에서 와핑(warping)의 사전적의미는 뒤틀림, 휨 이라는 뜻을 가지고 있으며, 동적 시간 와핑은 이름과 같이 '속도 또는 길이에 따라 움직임이 다른 두 시계열간의 유사성(거리)을 측
syj9700.tistory.com
DTW는 멀티모달 alignment에 직접적으로 사용되는데, 예를 들어 Anguera et al. 은 graphemes와 phonemes의 유사도를 측정하는데 사용하였고, Tapaswi et al. 은 TV show와 plot synopses 사이의 alignment를 통해 등장 인물의 등장을 구하고, 이를 기반으로 visual scene과 sentence사이의 유사도를 구했습니다. DTW류의 접근 방식은 text-to-speech나 text-to-video 태스크에 주로 사용됩니다.
원래 DTW 공식에는 미리 정의된 유사도 metric이 필요합니다. 이를 CCA로 하여 모달리티들을 coordinated space에 매핑할 수도 있습니다. 이는 DTW를 통한 alignment와 CCA를 통한 매핑을 두 모달리티 stream에 대해 unsupervised한 방식으로 수행할 수 있습니다. 이때 DTW를 기반으로하는 CCA는 비선형 관계에서는 사용할 수 없기 때문에 deep CCA와 DTW를 사용하는 방법도 제안되고있습니다.
다양한 graphical model들도 multimodal alignment에 많이 사용되었습니다. Yu and Ballard et al.은 이미지 안의 시각적 객체들을 음성 단어들과 정렬하기 위해 graphical model을 사용했으며, Malmaud et al. 은 요리 레시피를 요리 영상과 정렬하기 위해 비슷한 접근법을 사용했습니다.
DTW와 graphical model모두 alignment에 제약을 걸 수 있습니다. 예를 들어 temporal consistency, 시간 내 도약을 허용하지 않는다거나, 흐름의 방향이 단 방향(monotonicity)임을 조건으로 합니다. *DTW 행렬이 채워지는 조건이 monotonicity이며, no large jumps in time을 가정합니다. 또한 DTW의 확장된 기법들은 similarity metric과 alignment를 동시에 학습할 수 있는 반면, graphical model은 전문가 지식을 요구합니다. *왜..?
5.1.2 Supervised alignment
supervised alignment는 라벨이 지정된 aligned instance를 이용해 학습됩니다. 이들은 모달리티를 alignment하는 데 사용되는 similarity metric을 학습하는데 사용됩니다.
최근에는 딥러닝 기반 접근법들이 인기를 얻고 있습니다. Zhu et al.은 책과 그에 해당하는 영화 스크립트들을 alignment하는데 CNN을 학습시켜 유사도를 측정했으며, Mao et al. 은 referring expression과 image안에 object의 유사도를 측정하기 위해 LSTM언어 모델과 CNN 비전 모델을 사용했습니다. 마지막으로 Hu et al. 은 이미지 영역들과 그에 대한 설명 간의 유사성을 찾기 위해 LSTM기반 scoring function을 사용했습니다.
5.2 Implicit Alignment
explicit alignment와 달리 implicit alignment는 다른 작업을 위한 중간 단계로 사용되는 alignment를 말합니다. 이러한 모델들은 모달리티들을 explicit하게 alignment하거나 supervised alignment example들에 의존하지 않고, 전체 모델 학습 과정에서 데이터들을 이용해 잠재적으로 alignment하는 방법들을 습득합니다. 이런 방법에는 초기 graphical model과 현대적인 신경망 방법들이 존재합니다.
초기 graphical model들은 기계 번역을 위한 언어 간 단어정렬등에 사용된 적이 있습니다. 그러나 이런 모델들은 모달리티 간 매핑을 수작업으로 구축해야한다는 점에서 human expertise가 필요하다는 단점이 있습니다. 한편 신경망 기반 translation의 경우 중간 단계에서 alignment가 진행된다면 성능 향상이 종종 발생하는 대표적인 예시입니다. 만약 alignment없이 translation이 수행되는 경우 encoder 모듈이 전체 이미지, 문장 또는 비디오를 하나의 벡터 표현으로 요약해야 하는 부담이 과도하게 주어집니다.
이런 문제를 해결하는 매우 좋은 방법은 Attention입니다. Attention module은 translation할 source의 특정 하위 구성 요소-예를 들어, 이밎지의 영역들이나 문장의 일부 단어들-에 더 집중하라고 지시합니다. 예를 들어, 이미지 캡셔닝에서는 CNN을 사용해 전체 이미지를 인코딩하는 대신, attention 메커니증이 decoder로 하여금 각 단어를 생성할 때 이미지의 특정 부분에 집중할 수 있게 합니다. attention은 이 뿐만 아니라 VQA와 같은 부분에서도 더 나은 정확도와 모델의 해석 가능성을 향상시킨다는 점에서 장점을 갖습니다.
또 이 문제를 해결하기 위해 hierachical, stacked, episodic memory attention들이 제안되었고, Karpathy et al.은 이미지 영역과 표현 사이의 내적(dot product)를 유사도 측정으로 이용하여 문장 조각들을 각 이미지 영역들과 align합니다. 비록 attention을 사용하지는 않지만, 검색 모델을 학습하는 과정에서도 유사도 측정을 간접적으로 학습하여 모달리티 간의 implicit alignment를 추출합니다. *retrieval model도 사실 alignment가 중요하다는 얘기
5.3 Discussion
multimodal alignment는 다음과 같은 어려움들이 존재합니다:
- 명시적으로 주석이 있는 alignment data가 거의 없다.
- 모달리티 간 유사도 척도를 설계하는 것이 어렵다. *그냥 무조건 dot product? cosine similarity?
- 여러 가지 가능한 alignment가 있을 수 있습니다.
초기 멀티모달 alignment들은 동적 프로그래밍 기법을 사용하여 비지도 방식으로 align을 하는데 초점이 맞춰졌으며, 이러한 초기 연구들은 모달리티 간 유사도 척도를 수작업으로 정의하거나, 비지도 방식으로 이를 학습하는데 의존했습니다. 최근에는 라벨링된 학습 데이터가 이용 가능해지면서, 모달리티 간 유사도를 지도 학습 방식으로 학습하는 것이 가능해졌습니다.
6. Fusion
multimodal fusion은 가장 근본적인 multimodal machine learning 문제 중 하나이며, multimodal fusion은 여러 모달리티로부터 정보를 통합하여 결과 값을 예측하는 개념입니다. multimodal fusion은 다음 세 가지 이점을 제공합니다:
- 동일한 현상을 관찰하는 여러 모달리티에 접근함으로써 더 robust한 예측이 가능합니다.
- 여러 모달리티에 접근함으로써, 각각의 모달리티만으로는 보이지 않는 보완적인 정보를 포착할 수 있습니다.
- fusion을 이용하면 하나의 모달리티가 없어도 여전히 동작할 수 있습니다.
multimodal fusion은 크게 특정 머신 러닝 방법에 의존하지 않는 model-agnostic approaches와 fusion을 명시적으로 다루는 model-based approaches들이 있습니다.
6.1 Model-agnostic approaches
역사적으로 대다수의 multimodal fusion은 model-agnostic approach를 사용하여 수행되었습니다. 이러한 접근법들은 크게 early fusion, late fusion, hybrid fusion으로 나눌 수 있습니다. early fusion은 feature들이 추출된 직후에 즉시 fusion을 하는 방식으로, 종종 그냥 concatenating하는 방식으로 이루어집니다. 반면에 late fusion은 각각의 모달리티에서 classification이나 regression을 수행한 후에 이를 통합하는 방식으로 이뤄집니다. hybrid fusion의 경우는 early fusion을 통해 나온 결과와 각각의 모달리티만을 사용해서 나온 결과들을 통합하는 방식으로 이뤄집니다. 이런 model-agnositc approaches들은 거의 모든 classifier나 regressor에 적용할 수 있다는 점이 장점입니다.
early fusion은 각 모달리티의 저수준 feature들 간의 상관관계와 상호작용을 학습할 수 있으며, 결과적으로 단일 모델만을 학습시키면 되기 때문에, late fusion이나 hybrid fusion에 비해 학습 파이프라인이 간단해진다는 장점이 있습니다. 한편 late fusion은 단일 모달 decision value을 사용하여, averaging, voting, weighting based on channel nosie등의 fusion 매커니즘을 이용합니다. 이 방법은 각 모달리티마다 다른 모델을 사용할 수 있으며, 높은 유연성을 제공, 하나 이상의 모달리티가 누락되어도 예측을 수행할 수 있습니다. 하지만 low feature들의 상호작용을 무시한다는 단점 또한 존재합니다.
6.2 Model-based approaches
model-agnostic approaches들은 unimodal machine learning method를 통해 쉽게 구현할 수 있지만, 결국 multimodal data를 위해 설계되지 않는 기법들을 사용하게 됩니다. *예를 들어 이미지는 CNN, 텍스트는 LSTM같이 모달리티에 맞는 기법들을 사용할 수는 없다. early fusion의 경우는 모델이 하나이니까. 그래서 모델을 기반으로 하는 fusion의 방법으로는 크게 세 가지가 존재합니다:
- kernel-based methods
- graphical models
- neural networks
Multiple kernel learning (MKL)은 support vector machine (SVM)의 확장으로, 데이터의 서로 다른 모달리티나 뷰(view)에 대해 서로 다른 커널을 사용할 수 있게합니다.
ChatGPT의 말:
좋아, **MKL (Multiple Kernel Learning)**에 대해 아주 자세히 설명해줄게.
📌 MKL (Multiple Kernel Learning)란?
**Multiple Kernel Learning (MKL)**은
기존의 **SVM(Support Vector Machine)**을 확장한 방식으로,
하나의 커널이 아니라 여러 개의 커널을 사용해서 학습하는 방법이야.
- SVM은 기본적으로 "하나의 커널 함수" (예: 선형, RBF, 다항식 등)를 선택해서 데이터를 변환한 다음, 그 공간에서 분류(Classification)나 회귀(Regression)를 한다.
- 그런데 현실 세계의 데이터는 여러 **다른 특성(feature)**을 가지기 때문에,
하나의 커널로는 모든 특성을 다 제대로 반영하기 어렵다.
MKL은 이런 문제를 해결하기 위해,
여러 개의 커널을 조합해서 최적의 결과를 낼 수 있도록 학습하는 방법이다.
📌 MKL의 기본 아이디어
- 각 커널은 서로 다른 데이터 특성을 반영한다.
- 예를 들어, 영상 데이터라면 색깔(color) 특성을 반영하는 커널, 형태(shape) 특성을 반영하는 커널을 따로 만든다.
- 각 커널에 가중치(Weight)를 준다.
- 단순히 여러 커널을 "그냥 더하는 것"이 아니라,
- "각 커널이 얼마나 중요한지"를 학습 과정에서 최적화한다.
- 최종 목표는 커널 가중치와 SVM 분류 경계를 동시에 학습하는 것이다.
요약하면:
"여러 커널을 조합해서 가장 잘 맞는 커널 조합을 자동으로 찾아내는 것" = MKL
📌 수식적으로 보면 (조금 기술적으로)
기본 SVM 최적화 문제는 다음처럼 생겼어.
minw,b12∣∣w∣∣2+C∑i=1Nξi\min_{w,b} \frac{1}{2} ||w||^2 + C \sum_{i=1}^N \xi_i subject to yi(wTϕ(xi)+b)≥1−ξi,ξi≥0\text{subject to } y_i (w^T \phi(x_i) + b) \geq 1 - \xi_i, \quad \xi_i \geq 0여기서 ϕ(xi)\phi(x_i) 는 데이터를 커널 함수로 변환한 거야.
MKL에서는 여러 개의 커널 Km(xi,xj)K_m(x_i, x_j) 를 조합해서 사용한다:
K(xi,xj)=∑mdmKm(xi,xj)K(x_i, x_j) = \sum_m d_m K_m(x_i, x_j)여기서
- KmK_m 은 각기 다른 커널 함수
- dmd_m 은 각 커널에 부여하는 가중치 (학습할 대상)
- ∑mdm=1\sum_m d_m = 1 (보통 가중치 총합을 1로 제한)
즉, 커널 가중치 dmd_m 도 함께 최적화하는 게 MKL이야.
📌 MKL의 장점
- 서로 다른 모달리티(음성, 영상, 텍스트 등) 특성을 각각 잘 반영할 수 있다.
- 복잡한 데이터 구조를 더 유연하게 모델링할 수 있다.
- 불필요한 커널은 자동으로 무시하는(=가중치가 0에 가까워지는) 효과가 있다 → 특성 선택(feature selection) 효과도 있다.
📌 MKL의 단점
- 최적화 문제가 더 복잡하고 계산량이 많아진다. (보통 일반 SVM보다 학습 시간이 오래 걸림)
- 커널 수가 많아지면 과적합(overfitting) 위험도 커질 수 있다.
- 구현이 약간 복잡하다. (하지만 요즘은 MKL 라이브러리도 많아)
📌 MKL의 예시 사용 분야
- 멀티모달 데이터 (예: 이미지 + 텍스트 결합)
- 음성/비전 통합 (예: 얼굴 표정 + 목소리로 감정 인식)
- 생물정보학 (예: 유전자 데이터 분석)
- 영상 검색 시스템 (예: 색상, 질감, 형태 각각 다른 커널로 분석)
🔥 정리 한 줄로
MKL은 서로 다른 관점(커널)을 조합해, 데이터의 다양한 특성을 동시에 학습하는 확장된 SVM이다.
필요하면,
- MKL 구체적인 알고리즘 종류들 (SimpleMKL, EasyMKL, etc)
- MKL이 실제로 멀티모달 학습에 적용된 사례
같은 것도 이어서 설명해줄 수 있어!
원할까? 🔥
(이어갈지 알려줘!)
나의 말:
ChatGPT의 말:
좋은 질문이야!
"커널이 어떤 기준으로 나뉘는지" 차근차근 정확하게 설명해줄게.
📌 커널은 "데이터 간 유사도(similarity)"를 어떻게 계산하느냐에 따라 나뉘어
- **커널 함수(kernel function)**란, 두 데이터 포인트 xx 와 x′x' 사이의 유사도를 수학적으로 계산하는 함수야.
- 어떤 데이터 간 거리를 어떻게 정의하느냐에 따라, 커널의 종류가 달라진다고 보면 돼.
즉,
"데이터 간 유사도를 어떻게 측정할까?"
→ 이 질문에 따라 커널이 종류별로 나뉜다.
📌 대표적인 커널 나누는 기준과 종류
데이터 간 거리를 선형으로 볼까 비선형으로 볼까? | - 선형 커널 (Linear Kernel) - 비선형 커널 (e.g., RBF, Polynomial) |
선형 관계는 단순 직선으로 구분 가능, 비선형 관계는 복잡한 곡선 필요 |
데이터 간 거리 척도가 어떤 형태냐? | - RBF 커널 (가우시안 커널) - 다항식 커널 (Polynomial Kernel) |
RBF는 유클리드 거리 기반, 다항식은 두 벡터 간 내적을 제곱 |
구조적 특성을 고려할까? | - 스트링 커널 (String Kernel) - 트리 커널 (Tree Kernel) |
문자열, 트리구조 같은 복잡한 데이터 구조 반영 |
📌 주요 커널 구체적으로 설명
선형 커널 (Linear Kernel) | K(x,x′)=xTx′K(x, x') = x^T x' | 두 벡터의 내적. 데이터가 선형적으로 구분될 때 사용 |
RBF 커널 (Gaussian Kernel) | ( K(x, x') = \exp\left(-\gamma | |
다항식 커널 (Polynomial Kernel) | K(x,x′)=(xTx′+c)dK(x, x') = (x^T x' + c)^d | 벡터 내적에 편향을 주고 거듭제곱. 복잡한 비선형 경계 가능 |
Sigmoid 커널 | K(x,x′)=tanh(αxTx′+c)K(x, x') = \tanh(\alpha x^T x' + c) | 신경망의 활성화 함수처럼 동작. 다층 퍼셉트론과 유사 |
스트링 커널 (String Kernel) | (복잡한 계산식) | 문자열 데이터 간 공통 서브시퀀스 유사도 계산 |
트리 커널 (Tree Kernel) | (복잡한 계산식) | 트리 형태(예: 구문 트리) 데이터 구조 간 유사도 계산 |
📌 요약하면 커널은 이렇게 나뉘어
- 관계 구조: 선형 / 비선형
- 거리 측정법: 유클리디언 거리(RBF), 내적(Polynomial), 기타 특수 거리
- 데이터 구조: 벡터 데이터냐, 문자열이냐, 트리 구조냐
- 응용 목표: 단순 분류냐, 복잡한 구조 매칭이냐
→ 결국 "데이터 특징"과 "문제 특성"에 따라 커널을 선택하거나 여러 커널을 조합해서 쓴다.
📌 MKL에서는 이렇게 활용돼
- 예를 들어, 영상 데이터에서는 색상은 RBF 커널, 형태(shape)는 다항식 커널을 쓸 수 있어.
- 또는 텍스트 데이터에는 스트링 커널, 이미지에는 RBF 커널을 따로 설정할 수 있어.
- 그리고 MKL이 "이 여러 커널들을 어떻게 조합할지" 학습하는 거야.
🔥 정리 한 줄로
커널은 "데이터 간 유사도 정의 방식"에 따라 나뉘고, MKL은 서로 다른 커널들을 최적으로 조합해준다.
필요하면
- "어떤 문제에는 어떤 커널이 좋은지" 추천 기준
- "커널 조합"을 실제로 어떻게 최적화하는지 (ex: SimpleMKL 방식)
도 더 자세히 이어서 설명해줄 수 있어!
이어갈까? 🔥
(원하는 방향 알려줘!)
MKL은 멀티모달 감정 인식, 감정 분석등에도 사용되며, Liu et al. 은 알츠하미어 분류를 위한 멀티모달 fusion에 MKL을 사용했습니다. 커널 선택의 유연성 외에도, MKL은 손실 함수가 convex합니다. 이를 통해 표준 최적화 패키지를 이용하여 글로벌 최적 해를 얻을 수도 있습니다. 하지만 테스트 시점에 학습 데이터에 의존을 많이 하기 때문에 이로 인해 추론 속도가 느려지고, 메모리 사용량이 많다는 단점이 있습니다.
(Graphical model...)
ChatGPT의 말:
좋은 질문이야!
"왜 그래픽 모델이 공간적·시간적 구조를 쉽게 활용할 수 있는지" 차근차근 정확하게 설명해줄게.
📌 1. 그래픽 모델이란?
- 그래픽 모델(graphical model)은 확률 변수들 간의 관계를 그래프 형태로 표현하는 모델이야.
- 각 노드(node)는 확률 변수(variable),
- 각 엣지(edge)는 변수들 간의 종속성(dependency) 을 나타내.
→ 즉, 데이터 안에서 '무엇이 무엇에 의존하는가'를 직접 그릴 수 있어.
📌 2. 공간적·시간적 구조는 "변수들 사이의 관계"로 표현할 수 있어
- 공간적 구조 (예: 이미지에서 이웃한 픽셀 관계)
- 시간적 구조 (예: 오디오/비디오에서 시간 순서에 따른 변화)
이런 구조들은 자연스럽게
"변수 간의 연결 관계" 로 나타낼 수 있어.
그래픽 모델은 바로 이 관계를 명시적으로 모델링할 수 있어!
📌 3. 구체적인 예시
공간적 구조 | 이미지에서 인접 픽셀들은 값이 비슷하다 | 각 픽셀을 노드로 만들고, 인접 픽셀끼리 엣지로 연결 |
시간적 구조 | 음성 데이터에서 바로 직전 시간 프레임이 현재 프레임에 영향을 준다 | 각 시간 프레임을 노드로 만들고, 시간 순서대로 엣지 연결 (ex: HMM, DBN) |
- Markov Random Field (MRF) → 공간적 종속성 모델링에 강함 (이미지 처리)
- Hidden Markov Model (HMM), Dynamic Bayesian Network (DBN) → 시간적 종속성 모델링에 강함 (음성 인식, 행동 인식)
📌 4. 그래서 결론
- 그래픽 모델은 **"변수 간 관계"**를 직접적으로 정의할 수 있기 때문에,
- 공간적 관계(이웃성), 시간적 관계(순차성) 같은 구조를 자연스럽게 반영할 수 있다.
→ 그래서 공간적/시간적 구조를 쉽게 활용할 수 있는 거야.
📌 🔥 정리 한 줄로
그래픽 모델은 확률 변수들 간의 의존 관계를 그래프로 명시적으로 표현하므로, 공간적·시간적 구조를 자연스럽게 모델링할 수 있다.
필요하면,
- "HMM이나 DBN이 시간적 구조를 모델링하는 실제 방법"
- "Markov Random Field가 공간 구조를 모델링하는 방법"
같은 것도 구체적인 예시로 추가 설명해줄 수 있어!
이어서 들을까? 🔥
(원하면 바로 이어서 설명해줄게!)
신경망을 활용한 fusion은 광범위하게 사용되어왔습니다. Wollmer et al. 은 연속적인 멀티모달 감정 인식(continuous multimodal emotion recognition)을 위해 LSTM 모델을 사용했습니다. RNN을 이용한 fusion은 다양한 이미지 캡셔닝 작업에서 사용되어왔습니다. 예를 들어 CNN 이미지 표현을 LSTM 언어 모델을 이용해 디코딩하는 연구나, 또 다른 예시로는 gLSTM이 있습니다. 이는 매 타임스텝마다 이미지 데이터와 문장 디코딩을 함께 결합하여 두 모달리티를 하나의 joint representation으로 fusion하는 방법입니다. 더 최근에는 multi-view LSTM (MV-LSTM)이 있습니다. 이는 시간에 따른 모달리티 별 상호작용을 명시적으로 모델링한 것입니다.
하지만 이런 신경망에는 해석 가능성이 부족하며, 결과에 있어서 어떤 모달리티나 feature들이 중요한 역할을 수행했는지를 알기 어렵습니다. 또한 대규모 학습 데이터셋이 필요하다는 단점이 있습니다.
6.3 Discussion
최근에는 신경망이 멀티모달 융합을 해결하는 매우 인기 있는 방법이 되었지만, 그래픽 모델과 MKL은 여전히 사용되고 있으며, 특히 학습 데이터가 제한적이거나 모델 해석 가능성이 중요한 작업에서 그렇습니다. 하지만 이런 발전에도 불구하고 multimodal fusion은 다음과 같은 과제가 있습니다:
- signal의 경우는 시간적으로 정렬되어있지 않을 수 있습니다. *정렬되어있지 않은 데이터들을 그냥 fusion하면 결과에 나쁜 영향을 미칠 수 있습니다.
- 각 모달리티는 시간에 따라 서로 다른 종류와 다른 수준의 노이즈를 나타낼 수 있습니다. *모달리티 별로 각각의 노이즈를 잡는 방법이 필요합니다.
- 보완적인 정보뿐만 아니라 추가적인 정보까지 활용하는 모델을 구축하는 것은 어렵습니다.
7. Co-learning
co-learning은 자원이 부족한(resource poor) 모달리티의 모델링을 자원이 풍부한(resource rich) 다른 모달리티의 지식을 활용해 돕는 것입니다. 이는 모달리티 중 하나가 제한된 자원(예: 주석 데이터 부족, 입력 노이즈, 신뢰할 수 없는 레이블)을 가진 경우에 특히 자주 사용됩니다. 이는 학습 자원의 유형에 따라 크게 세 가지로 분류합니다:
- parallel
- non-parallel
- hybrid
parallel data approach는 하나의 모달리티 관찰값이 다른 모달리티 관찰값과 직접 연결되어 있는 학습 데이터 셋을 요구합니다. 즉, 멀티모달 관찰값들이 같은 인스턴스로부터 나온 경우를 의미합니다. 반대로 non-parallel data approach는 서로 다른 모달리티 관찰값 간의 직접적인 연결을 요구하지는 않고, 보통 category 차원에서의 overlap을 이용합니다. hybrid data approach는 모달리티들이 공유된 모달리티나 데이터셋을 통해 연결됩니다.
7.1 Parallel Data
parallel data co-learning에서는 두 모달리티가 하나의 인스턴스 집합을 공유합니다. 이는 co-training과 representation learning을 통해 모달리티들을 서로 더 잘 모델링할 수 있게 합니다. *representation learning은 말 그대로 표현 학습인듯,, representation을 학습하는. co-training은 멀티모달 문제에서 labeled data가 적을 때 labeled data를 만들어내는 과정을 말합니다. 기본적인 알고리즘은 각 모달리티에 대한 weak classifer(*그냥 간단하게 만든다는 의미에서 weak인듯.)를 구축하고 이 classifier가 서로에게 unlabeled data에 대한 label들을 제공함으로써 성능을 향상시킵니다. co-training은 더 많은 라벨링된 데이터를 생성하는 강력한 방법이지만, 편향된 학습 샘플을 초래햐 과적합(overfitting) 문제를 일으킬 수도 있습니다.
transfer learing은 parallel data를 활용하여 co-learning을 수행하는 또 다른 방법입니다. 3.1절의 multimodal representation learning (예: multimodal autoencoder)방법들은 한 모달리티의 표현을 다른 모달리티 표현으로 전이합니다. 이러한 방법은 멀티모달 표현을 생성할 뿐만 아니라, 테스트 시점에서는 하나의 모달리티만 사용하면서도 더 나은 unimodal representation을 얻을 수 있게 합니다.
ChatGPT의 말:
좋아, 요청한 대로 **멀티모달 전이학습(multimodal transfer learning)**에 대해 자세하고 체계적으로 설명해줄게.
📌 멀티모달 전이학습이란?
멀티모달 전이학습은
**한 모달리티(자원이 풍부한 rich modality)**에서 학습한 지식이나 표현(representation)을
**다른 모달리티(자원이 부족한 poor modality)**로 이전(transfer) 시키는 기술이야.
- 멀티모달(multimodal): 여러 종류의 데이터(텍스트, 이미지, 오디오 등)를 다루는 것.
- 전이학습(transfer learning): 하나의 작업(task)이나 도메인(domain)에서 학습한 지식을 다른 작업/도메인에 적용하는 것.
➡️ 멀티모달 전이학습은
**"한 모달리티에서 얻은 지식을 다른 모달리티로 전이"**하는 걸 의미해!
📌 왜 멀티모달 전이학습이 필요한가?
- 현실에서는 모달리티마다 데이터 양이나 품질이 다르다.
- 예: 음성 데이터는 많고 깨끗한데, 입술 영상 데이터는 부족하거나 노이즈가 많을 수 있음.
- 특정 모달리티는 레이블된 데이터가 부족하거나 수집 비용이 많이 든다.
- 일부 작업에서는 테스트할 때 특정 모달리티만 사용할 수밖에 없는 경우가 많다.
✅ 그래서, 자원이 많은 모달리티에서 배운 정보를 자원이 부족한 모달리티로 전이하면
데이터 부족 문제를 극복하고 성능을 높일 수 있어!
📌 멀티모달 전이학습의 대표적인 방법들
공유 표현 학습 (Shared Representation Learning) | 여러 모달리티가 공통으로 사용할 수 있는 잠재 공간(latent space)을 학습해서 전이 |
특성 정렬 (Feature Alignment) | 서로 다른 모달리티 특성을 매칭하거나 정렬해서 학습 (예: CCA) |
지식 증류 (Knowledge Distillation) | 풍부한 모달리티(teacher model)로부터 부족한 모달리티(student model)로 지식 전이 |
모달리티 대체 (Modality Replacement) | 학습할 때 여러 모달리티를 사용하지만, 테스트할 때는 하나만 사용하도록 훈련 |
📌 구체적인 예시
1. 음성 → 입술 영상 전이 (Moon et al., 2014)
- 오디오 기반 음성 인식 모델에서 배운 표현을 입술 영상(lip reading) 모델로 전이.
- 훈련 시: 오디오 + 영상 동시 입력
- 테스트 시: 영상(입술 모양)만으로 발화를 인식할 수 있게 함.
2. 조음 데이터 → 음성 특징 전이 (Arora & Livescu, 2013)
- 입, 혀, 턱의 위치(조음 데이터)를 이용해 음향 데이터를 보완.
- 훈련 시: 조음기관 데이터와 음향 데이터 둘 다 사용 → 공통 표현 학습
- 테스트 시: 오직 음향 데이터만으로 높은 성능.
3. 텍스트 → 이미지 전이 (Zero-shot learning)
- 위키피디아 같은 텍스트 데이터로 객체 특성을 학습.
- 이미지 인식 데이터셋에 직접 없는 클래스(예: '검은 표범')도 텍스트 기반 의미로 예측 가능.
📌 멀티모달 전이학습의 장점과 단점
데이터가 부족한 모달리티에서도 좋은 성능 | 모달리티 간 특성 차이를 맞추는 게 어렵다 |
테스트 단계에서 가벼운 입력만 필요 | 학습 과정이 복잡하고 비용이 클 수 있다 |
새로운 도메인/클래스에 더 잘 일반화 | 잘못된 전이는 오히려 성능을 떨어뜨릴 수 있다 (negative transfer) |
📌 🔥 정리 한 줄로
멀티모달 전이학습은 자원이 풍부한 모달리티의 지식을 자원이 부족한 모달리티로 이전하여, 더 적은 데이터로 더 좋은 성능을 얻는 기술이다.
📚 추가로 원하면 설명할 수 있는 것
- 🔥 멀티모달 전이학습 구조별 그림/다이어그램 예시
- 🔥 멀티모달 전이학습 실제 알고리즘 (예: Multimodal Autoencoder, Deep CCA)
- 🔥 최신 연구 트렌드 (ex. Cross-modal Transfer with Large Pretrained Models)
혹시 이어서
"멀티모달 전이학습 구조를 그림으로 보여줄까?"
아니면 **"구체적인 알고리즘 종류별 차이"**도 더 깊게 보고 싶어? 🔥
(말만 해줘! 바로 정리해줄게.)
나의 말:
ChatGPT의 말:
좋아! 요청한 대로
1) 다이어그램(구조 그림),
2) 실제 알고리즘 예시(구체적인 모델)
두 가지를 모두 정리해서 깔끔하게 설명할게.
(진짜 자세히 갈게. 🔥)
📌 1. 멀티모달 전이학습 구조 다이어그램
아래는 멀티모달 전이학습의 전형적인 흐름 구조를 다이어그램으로 그린 거야:
요약하면:
- 학습할 때는 풍부한 모달리티 + 부족한 모달리티 모두 사용해서 공통 공간(latent space) 학습.
- 테스트할 때는 부족한 모달리티만으로 높은 성능을 낼 수 있도록 한다!
📌 2. 실제 멀티모달 전이학습 알고리즘 예시
구체적인 모델을 소개할게. 각각 어떻게 전이를 수행하는지 포인트도 함께 정리했어.
✅ (1) Multimodal Deep Boltzmann Machine (Multimodal DBM) [Ngiam et al., 2011]
구조:
- 각각의 모달리티 (예: 오디오, 비디오)에 대해 별도의 입력층(input layer).
- 중간 은닉층(hidden layer)에서 모달리티별 특징을 공유하는 잠재 표현을 학습.
- 최상단에 공동 표현(joint representation layer) 생성.
전이 방법:
- 학습 시 두 모달리티를 모두 사용해 학습.
- 테스트 시에는 하나의 모달리티(예: 오디오만)로도 공동 표현을 복원할 수 있게 함.
특징:
- 비지도 학습 기반 (Generative Model)
- 멀티모달 입력 간 "내재된 관계"를 모델링.
다이어그램 느낌:
✅ (2) Multimodal Autoencoder
구조:
- 오토인코더(Autoencoder) 구조를 멀티모달로 확장.
- 인코더 부분에서 여러 모달리티를 통합된 잠재 공간으로 압축.
- 디코더 부분은 각 모달리티를 복원하거나 하나의 모달리티로 전환.
전이 방법:
- 여러 모달리티로부터 학습하지만,
- 테스트 시에는 특정 하나의 모달리티 입력만으로 전체 특징을 재구성하거나 예측.
특징:
- 학습이 간단하고 직관적임.
- 적은 학습 데이터에도 잘 동작함.
다이어그램 느낌:
✅ (3) Deep CCA (Canonical Correlation Analysis)
구조:
- 두 모달리티 각각에 대해 별도의 딥 뉴럴 네트워크를 학습.
- 최종 레이어 출력이 서로 "최대한 상관관계가 높게" 되도록 학습.
전이 방법:
- 학습 시에는 둘 다 사용하지만,
- 테스트 시에는 하나의 모달리티만 입력해도 유의미한 특성을 생성 가능.
특징:
- 통계적 관점(상관관계)을 이용하는 방법.
- 특히 "모달리티 간 구조가 다를 때" 유리함.
다이어그램 느낌:
📌 🔥 세 알고리즘 차이 간단 비교
Multimodal DBM | 생성 기반 (비지도 학습) | 복잡한 관계 학습 가능 | 학습 복잡도 높음 |
Multimodal Autoencoder | 재구성 기반 (Encoder-Decoder) | 간단, 적은 데이터에도 강함 | 디코딩 품질이 관건 |
Deep CCA | 상관관계 기반 학습 | 통계적으로 강력 | 고차원 데이터에 취약할 수 있음 |
📚 필요하면 추가로 보여줄 수 있는 것
- 🔥 각각의 수식(수학적 공식) 정리
- 🔥 이 방법들이 실제 논문에서 어떻게 성능 비교되었는지 사례
- 🔥 최신 트렌드 (예: CLIP, Flamingo 같은 거대 멀티모달 모델들이 어떻게 전이하는지)
✅ 요약
멀티모달 전이학습은 다양한 네트워크 구조로 풍부한 모달리티의 정보를 부족한 모달리티로 이전하여, 테스트 시 더 적은 입력으로 높은 성능을 얻는 방법이다.
혹시 다이어그램을 진짜 그림으로 시각화해서 그려볼까?
아니면 Deep CCA, Autoencoder 같은 구체적인 학습 수식까지 볼래? 🔥
(어떻게 이어가고 싶은지 알려줘! 바로 준비할게.)
7.2 Non-Parallel Data
Non-Parallel data는 모달리티 간에 공유된 인스턴스를 요구하지 않고, 오직 공유된 category나 concept만을 요구합니다. non-parallel co-learning 방법들은 다른 모달리티의 representation에 동움을 주며, 심지어 보지 못한 객체(unseen object)를 인식하는 것도 수행할 수 있게 해줍니다.
non-parellel data를 이용해서 transfer learning이 가능하며, 데이터가 풍부하거나 깨끗한 모달리티로 구축된 표현으로부터 정보 전이를 통해 데이터가 부족하거나 노이즈가 많은 모달리티에서 더 나은 표현을 학습할 수 있게 합니다. 이러한 유형의 transfer learning은 section 3.2에서 나온 coordinated multimodal representation을 사용하여 달성되기도 합니다. 예를 들어 Frome et al. 은 CNN으로 얻은 시각적 특징을 word2vec으로 얻은 텍스트 특징과 coordinate하여 텍스트를 활용한 이미지 분류의 성능을 향상시켰습니다.
ChatGPT의 말:
좋은 질문이야!
"비병렬 데이터(non-parallel data)로 전이학습이 가능한 이유와 방법"
이걸 아주 정확하고 체계적으로 설명해줄게.
📌 비병렬 데이터로 전이학습이 가능한 이유
핵심은 바로 "공유된 의미(semantic overlap)" 덕분이야.
- 비병렬 데이터란?
서로 다른 모달리티(예: 텍스트 vs 이미지) 데이터들이 "같은 인스턴스"를 직접 공유하지는 않지만,- **같은 범주(Category)**나
- 같은 개념(Concept) 을 공유하는 경우를 말해.
✅ 그래서,
"데이터 샘플 단위"로는 연결되어 있지 않아도,
"의미 수준"에서는 연결되어 있기 때문에 전이할 수 있는 거야.
📌 비병렬 데이터 전이학습 구체적 방법
1. 공통 의미 공간(Common Semantic Space) 만들기
- 서로 다른 모달리티(텍스트, 이미지 등)가 같은 의미를 표현하게끔
- 공유된 임베딩 공간(shared embedding space) 을 학습해.
✅ 공통 공간에 투영(Projection)
→ 서로 다른 모달리티 데이터들이 그 의미적 거리를 반영할 수 있도록 한다.
예시:
- CNN으로 학습한 이미지 벡터 vs Word2Vec으로 학습한 단어 벡터
- 둘 다 같은 "dog"이라는 의미를 담게 공간을 조정(coordinate)함.
2. Cross-modal Supervision 사용하기
- 풍부한 모달리티(예: 텍스트)를 사용해서 부족한 모달리티(예: 이미지) 학습을 지도(supervise)한다.
- 직접 1:1 매칭된 데이터가 없어도, **"이 범주는 이런 식으로 생겼다"**는 식으로 학습 가능.
✅ 간접적 지도(Indirect Supervision)
3. 손실 함수(Loss)로 관계를 강제하기
- 서로 다른 모달리티에서 나온 표현들이
- 비슷한 의미면 가까워지게,
- 다른 의미면 멀어지게
- 학습 과정 중 손실 함수를 이용해 강제한다.
✅ 주로 사용하는 손실 함수 예시:
- Triplet Loss (anchor, positive, negative 샘플 간 거리 조정)
- Contrastive Loss (같은 개념끼리 가까워지고 다른 개념끼리는 멀어지게)
📌 📚 예시로 살펴보기
DeViSE (Frome et al., 2013) | CNN으로 얻은 이미지 특징과 Word2Vec으로 얻은 텍스트 특징을 "공유 임베딩 공간"에 매칭시켜 이미지 인식을 보완 |
Mahasseni & Todorovic (2016) | 컬러 비디오 기반 LSTM과 3D 스켈레톤 기반 LSTM을 서로 정렬하여, 스켈레톤 데이터로 비디오 모델을 정규화 |
📌 🔥 요약
비병렬 데이터는 인스턴스 단위 매칭이 없더라도, 공통된 의미(semantic overlap)를 이용해 전이학습이 가능하다.
공유 임베딩 공간을 만들거나, 간접적 지도(supervision)로 표현을 정렬시켜 학습한다.
📚 추가로 정리해줄 수 있는 것
- 🔥 "공유 의미 공간을 만드는 구체적 수식(Triplet Loss, Contrastive Loss)"
- 🔥 "DeViSE 모델 구조 다이어그램"
- 🔥 "비병렬 데이터 전이학습 한계와 최신 연구 트렌드"
혹시 바로 이어서 "DeViSE 모델 구조랑 학습 흐름 다이어그램"까지 보고 싶어? 🔥
(이어가자면 바로 정리해줄게!)
나의 말:
ChatGPT의 말:
오, 정말 좋은 질문이야. 아주 날카롭게 짚었어.
"dog 이미지"와 "dog이라는 단어" 관계가 병렬이냐 비병렬이냐 — 이건 굉장히 중요한 개념 구분이야.
정확하게 정리해줄게.
📌 결론부터 말하면
- "dog 이미지"와 "dog 단어"가 1:1로 직접 매칭된 경우라면 → 병렬 데이터 (parallel data)
- "dog 이미지"와 "dog이라는 의미(semantic category)"만 공유하는 경우라면 → 비병렬 데이터 (non-parallel data)
둘 다 가능한데, 상황에 따라 다르게 해석해야 해.
📌 좀 더 구체적으로 설명
"이 이미지 = 이 텍스트" 직접 짝지은 경우 | 병렬 (Parallel) | 예: (이미지 파일, 캡션 문장) 세트로 수집 |
"이 이미지 = 'dog'이라는 범주에 속함", "이 단어 = 'dog'이라는 의미" 별도로 학습한 경우 | 비병렬 (Non-Parallel) | 이미지와 텍스트가 직접 연결되어 있지는 않음, 의미(semantic)가 겹칠 뿐 |
📌 예시로 좀 더 명확히
- ImageNet에서 "dog" 클래스로 라벨링된 이미지는 dog라는 라벨을 직접 갖고 있어.
→ 이건 병렬에 가까워. (이미지-클래스 쌍) - Word2Vec은 뉴스 기사, 위키피디아 등을 통해 'dog'라는 단어가 어떤 의미인지 임베딩을 배운 거야.
→ 이건 텍스트 세계 안에서 별도로 학습된 것.
➡️ 그래서, ImageNet 이미지와 Word2Vec 단어 벡터는
직접 연결된 인스턴스 데이터가 아니다 → 비병렬 관계로 본다.
📌 다시 요약
"이 개 사진 → 'This is a golden retriever'" (문장 캡션) | 이미지-텍스트 직접 매칭 | 병렬 데이터 |
"이 사진은 dog 카테고리에 속해" + "dog 단어는 word2vec로 따로 학습함" | 의미적 공유만 있음 | 비병렬 데이터 |
📌 🔥 요약 한 줄
병렬 데이터는 '동일 인스턴스 직접 매칭'을 요구하고, 비병렬 데이터는 '범주 또는 의미 수준의 연결'만 요구한다.
📚 추가로 보여줄 수 있는 것
- "병렬 vs 비병렬 데이터 그림으로 한눈에 비교"
- "비병렬 데이터 전이학습에서 중요한 손실 함수(Contrastive Loss 등)"
- "멀티모달 비병렬 학습 최신 트렌드 (예: ALIGN, Florence 등)"
혹시 "병렬 vs 비병렬 구조를 그림으로 쉽게 정리해줄까?" 🔥
(필요하면 바로 시각화해서 이어서 보여줄게!)
원하는 방향 알려줘! 🎯
Conceptual grounding은 의미나 개념을 순수하게 언어에만 기반하여 학습하는 것이 아니라, 시각, 청각, 심지어 후각 같은 추가적인 모달리티를 활용하여 학습하는 것을 의미합니다. 대부분의 개념 학습 접근법은 순수하게 언어 기반이지만, 인간의 의미 표현은 단지 언어적 노출의 결과물이 아니라 감각 운동 경험(sensorimotor experience)과 지각 체계(perceptual system)를 통해서도 기반을 이루고 있습니다. 예를 들어 Shutova et al은 은유(metaphor)와 직유(literal language)를 더 잘 분류하기 위해 grounded representation을 사용했습니다.
conceptual grounding은 여러 작업에서 성능을 향상시키는 효과적인 방법으로 밝혀졌고, 언어와 시각이 서로 보완적인 모달리티이며, 이를 멀티모달 모델에서 결합하면 성능이 종종 향상된다는 것을 보여줍니다. 하지만 grounding이 항상 좋은 성능을 가져오는 것은 아니며, grounding이 task와 관련성이 있을 때만 의미가 있습니다.
Zero shot learning (ZSL)은 어떤 개념의 명시적인 예시를 본 적이 없음에도 불구하고 그것을 인식하는 것을 의미합니다. 예를 들면, 고양이 사진을 한 번도 본 적 없이 고양이를 분류하는 것입니다. 이것은 특히 visual object classification에서 해결해야하는 문제입니다. *상상할 수 있는 모든 객체에 대한 학습 예시를 제공하는 것이 현실적으로 너무 비용이 많이 들기 때문에
ZSL에는 unimodal ZSL과 multimodal ZSL이 있습니다. unimodal ZSL의 경우 객체의 구성 요소나 속성을 봅니다. 예를 들어 들어본 적 없는 단어를 인식하기 위해 음소를 사용하거나, 보지 못한 시각적 클래스를 예측하기 위해 색상, 크기, 형태 같은 시각 속성을 이용합니다. *BPE를 사용하는 것도 이런 맥락?
multimodal ZSL은 주요 모달리티에서 객체를 인식할 때, 그 객체를 이미 본 적 있는 모조 모달리티의 도움을 받습니다. 멀티모달 버전의 ZSL은 정의상 non-parallel data 문제를 다루는 것인데, 이는 모달리티 간에 본 클래스(seen classes)가 다르기 때문입니다. 예를 들어 Frome et al. 은 시각에서 concept space로 mapping하는 대신 concept과 image간의 coordinated multimodal representation을 통해 ZSL을 가능하게 했습니다.
7.3 Hybrid Data
hybird data 설정에서는 두 개의 non-parallel 모달리티가 공유된 모달리티나 데이터셋을 통해 연결됩니다. 가장 주목할 만한 예시는 Bridge Correlational Neural Network인데, 이 모델은 pivot modality를 이용해 non-parallel data환경에서 coordinated multimodal representation을 학습합니다. 예를 들어 다국어 이미지 캡셔닝에서는 이미지 모달리티가 어떤 언어로든 적어도 하나의 캡션과 짝지어질 수 있습니다.
7.4 Discussion
multimodal co-learning은 하나의 모달리티가 다른 모달리티의 학습에 영향을 미치게 하여, 모달리티 간 상호 보완적인 정보를 활용할 수 있게 합니다. co-learning은 특정 task와는 독립적인 개념으로, 더 나은 fusion, translation, alignment 모델을 만드는 데 사용할 수 있습니다.
'[CoIn]' 카테고리의 다른 글
[CoIn] 논문 리뷰 | Multimodal Machine Learning:A Survey and Taxonomy (1) | 2025.04.05 |
---|