매직코드
article thumbnail

멀티모달이란?

멀티모달을 직역하면 여러개의 모달리티 라는 뜻이다.

  멀티 = 여러개

  모달 = 모달리티

모달리티는 잘 사용하지 않는 단어여서 사전을 살펴보면 "양식, 양상" 이라는 뜻을 가지고 있는데 AI에서 modality는 "데이터형식" 이라고 생각하면 될 것 같다. 결국  멀티모달AI는 여러개의 데이터 형식을 가지고 수행하는 AI 라는 뜻이다.

 

지도학습을 기준으로 기존 모델이 작동하는 방식을 보면 한개의 데이터 형식을 input으로 넣어서 학습시켰다.

하지만 멀티모달은 두개 이상의 데이터를 input으로 넣을 수 있다는 얘기인데 예를들면 이미지+텍스트를 input으로 넣거나 이미지+정형을 input으로 넣을 수 있다.

예전에는 영상데이터가 있으면 영상데이터를 한 프레임씩 잘라서 이미지로 변환한 다음 해당 이미지에 대한 내용만 가지고 모델학습을 시켰다면, 멀티모달에서는 추출한 이미지에 맞는 오디오 데이터를 함께 학습시켜 영상에서 제공하는 모든 데이터를 사용하여 학습할 수 있다.

 

 

멀티모달 vs 멀티모델

멀티모달을 설명하다보면 멀티모델과 헷갈리는 경우가 있다.

멀티모델은 input data의 종류가 1가지면서 여러개의 모델을 거치는 방식이다.

멀티모델

멀티모달은 input data의 종류가 2가지 이상인 경우이며, 모델은 1개가 될수도 있고 2개가 될수도 있다.

멀티모달

 

멀티모달의 종류

논문 Multimodal Deep Learning, 2023

멀티모달에는 크게 3가지 종류가 있다.

Multimodal Deep Learning이라는 논문에서는 Early Fusion, Late Fusion, Joint or Intermediate Fusion으로 그 종류를 나눈다.

Early Fusion

Early Fusion은 종류가 다른 두가지 데이터를 하나의 데이터로 먼저 합친 이후 모델 학습을 시키는 경우다. 이 때 형식이 다른 두 데이터를 합치기 위해서는 다양한 데이터 변환이 이루어진다. 원시데이터를 그대로 융합해도 괜찮고, 전처리를 한 이후에 융합해도 상관없다.

Late Fusion

Late Fusion은 종류가 다른 두가지 데이터를 각각 다른 모델에 학습시킨 이후 나온 결과를 융합하는 방법으로, 기존의 앙상블모델이 작동하는 방식과 비슷하다.

Joint or Intermediate Fusion

Joint Fusion은 두개의 모달리티 데이터를 동시에 학습시키지 않고 내가 원하는 모델의 깊이에서 모달리티를 병합할 수 있는 유연성을 가지고 있다. 하나의 모달리티로 모델학습을 진행하다가 모델학습의 마지막 레이어 전에 다른 모달리티와 융합하는 방법으로, 이 과정을 end-to-end learning이라고도 한다.

 

논문 Early, intermediate and late fusion strategies for robust deep learning-based multimodal action recognition, 2021

위 그림에서 볼 수 있듯이 (a) 서로다른 모달을 가진 3개의 데이터(RGB:이미지.png, skeleton:좌표.json, depth maps:거리.tiff)가 (b) 모델 layer층으로 들어가 features extraction을 수행하고 (c) 그 중 데이터 특징을 가진 feature만 추출하여 3개 데이터의 특징을 하나의 데이터로 융합한다. (d) 융합된 하나의 데이터가 마지막 분류모델로 들어가 결과를 출력한다.

 

멀티모달 Use Case

멀티모달 중에서 text데이터와 함께 쓰는 경우가 가장 활발하게 상용화 되는 것 같다.

특히 한국의 경우 네이버에서 이미지와 텍스트(검색어)를 결합한 멀티모달을 네이버쇼핑에 적용하여 점차 영역을 넓혀가는 중이다.

 

이미지+텍스트
오디오+정형

 

이미지+오디오

또한 최근에는 멀티모달 모델로 메타의 이미지바인드가 오픈소스로 공개되었고, openAI의 chat gpt역시 이미지나 파일을 업로드 할 수 있는 기능을 만들고자 한다. 네이버에서는 최근 cue: 라는 한국어 특화 검색 AI 서비스를 제공하기 시작했는데 네이버가 가지고 있는 데이터 기반으로 학습되어서 그런지 편의성이 뛰어난 편이다.

 

멀티모달 실습

멀티모달 실습 코드는 예전에 업로드한 포스팅을 통해 확인할 수 있다.

2023.05.25 - [ML&DL/Project] - [토이프로젝트] 환자정보와 기침소리를 이용한 코로나 감염여부 판단 모델 (정형데이터 + 오디오 멀티모달 실습 코드, 머신러닝 딥러닝 프로젝트 주제)

 

[토이프로젝트] 환자정보와 기침소리를 이용한 코로나 감염여부 판단 모델 (정형데이터 + 오디오

프로젝트를 하게된 이유 처음 데이터사이언티스트로 취업했을 때는 겨우 머신러닝을 사용할 줄 아는 병아리였는데 그래도 시간이 지나면서 다양한 데이터들을 다루고 모델들을 구축하다보니

magicode.tistory.com

 

profile

매직코드

@개발법사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!