일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- K-Fold
- git
- 파이썬 머신러닝 완벽 가이드
- Bidirectional
- positional encoding
- softmax
- Github
- 파이썬 머신러닝 완벽가이드
- 중앙이동알고리즘
- rnn
- 그리드서치
- 벌집
- GridSearchCV
- 2차원배열
- 태블로
- lm
- nlp
- 별 생성
- 패턴찾기
- QGIS #시각화 #SW
- LSTM
- Estimator
- 진법변환
- 문자열반복
- map() 객체
- multihead attention
- GRU
- 교차검증
- 시계열
- 백준
- Today
- Total
데이터분석가 | 취준생
멀티모달 AI_관련연구 포함 본문
본 글은 아래의 영상을 참고해서 작성하였습니다.
http://dmqm.korea.ac.kr/activity/seminar/341
고려대학교 DMQA 연구실
고려대학교 산업경영공학부 데이터마이닝 및 품질애널리틱스 연구실
dmqa.korea.ac.kr
멀티모달 모델의 필요성
인간행동을 예측하고, 감정인식 문제를 분류하고자 한다면, 단순히 단일 유형의 데이터 분류성능이 좋다고 해서 좋은 결과를 가져오지 않는다. 예를 들어, 라벨이 인간의 감정유형 label일 때, 인간의 표정, 목소리 높낮이, 말투, 작성한 문장 등 복합적인 데이터를 사용하는 것이 더욱 좋은 성능을 가져온다.
멀티모달 딥러닝(multimodal deep learning)
- 단일 모달 데이터의 한계를 극복하고자 여러 모달의 데이터를 사용하여 주어진 문제를 해결하는 모델을 구축하는 방법론
- 모달(modality)란, 데이터의 형태를 의미 , 사전적인 의미는 양식, 양상
- 각 모달에 적합한 딥러닝 구조를 사용하여 특징 벡터를 추출
(이미지는 cnn, 텍스트는 rnn네트워크를 통해서 feature vector를 추출)
- 각각의 모달을 통합하는 방식에는 대표적으로 두가지가 있는데, feature concatenation과 ensemble classifier가 존재함.
1. Feature concatenation
추출된 feature vector레벨에서 합쳐주는 방식, 그 후 원하는 downstream network 방식을 통해 task를 진행
=> 최근에는 딥러닝 방식이 발달하면서 이 방법을 많이 사용하고 있음
=> 또한, feature vector를 어떻게 합쳐주는지에 중점을 두고 있음
2. Ensemble classifier
각 모달리티에서 feature vector를 추출하고, 그 추출한 vector를 통해 원하는 라벨값을 도출한 뒤 각 모달의 라벨값을 ensemble 해주는 방식
=> 최종적으로 멀티모달 AI를 이용해서 모든 모달리티들이 합쳐진 최적의 space를 잘 학습시키는 것을 의미한다.
관련 연구
=> Feature conatenation 방식을 어떤식으로 사용하였고, 어떤 task에 활용하였는지,,
1. Audio-Visual Speech Enhancement Using Multimodal Deep Convolutional Neural Network
- 기존의 음성향상을 위해 음성신호 데이터 뿐만 아니라 음성과 이미지 데이터를 함께 사용하여 노이즈를 줄이는 목표
음성관련데이터, 입의 모양 이미지데이터를 각각 CNN 모델을 통해서 feature를 추출하고, 추출된 feature vector를 단순히 합쳐주어 merged layer로 변환함. 그 후 fully connected layer를 추가하여 아래와 같은 objective fuction을 활용하여 원본 데이터와 fully connected를 통해 fusion 한 뒤의 데이터(reconstructed data의 차이가 최소가 되도록하는 구조를 가지고 있음
2. Expert Systems With Applications
- 차량 사고에 큰 영향을 주는 운전자의 스트레스 수준을 분석하고 감지하는 목적
- ECG 신호, 차량데이터( 스티어링 휠, 브레이크 페달 등), 상황 데이터(기상데이터)를 활용
각 모달 데이터를 CNN 모델을 활용하여 feature를 추출하고, 융합(simple connectnation)을 한 뒤, 시간적인 요소를 고려하여 LSTM까지 적용함
3. Information Fusion
- audio, video 데이터를 통해 인간의 감정 인식 모델을 구축
=> 감정인식 모델은 단일 데이터보다는 멀티 데이터가 훨씬 많음. 예를 들어, 감정을 표현할 때, 목소리 빠르기, 표정, 화자의 문장 등등의 데이터가 융합되어 인간의 감정을 분석해야 하기 때문에 감정분석에서 멀티모달 딥러닝이 활발히 사용되고 있음
- 감정 인식 성능을 향상시키기 위해 각 모달의 데이터마다 특징을 추출하여 병합한 뒤 분류기에 학습시킴
오디오와 비디오 데이터를 이미지 데이터로 변환하고, cnn 모델을 활용해서 feature를 추출함
비디오에서 추출한 이미지 데이터는 연속적으로 나열되어 있는데, 여기서 3D CNN을 사용하여 feature를 추출
여기서 중요한것은 입력데이터를 특정 segment별로 쪼개어 학습을 진행
=> 예를 들어, 10초의 영상이 있으면 1초마다 10개로 미리 나눔
segement마다 추출된 오디오, 비디오 특징 벡터를 병합하고 난 후 전체 입력 데이터 수준에서 average-pooling하는 방식
-> SVM 모델로 감정분류 실시
- 총 6가지 감정에 대해 분류모델을 딥러닝 멀티모달 방식을 적용하여 진행
- 기존의 단일 모달 방식의 분류 성능보다 향상됨을 확인
- 인간의 감정 인식 문제에서는 멀티모달 데이터를 사용하여 모델링을 진행하는 것이 효율적
4. Tensor fusion network for multimodal sentiment analysis
- 비디오, 목소리, 언어를 입력값으로 활용
- 앞서 소개된 연구에서는 feature concatenation을 할 때, feature vector를 학습한 후에 fully connected와 같은 네트워크를 통해서 합쳐주는 방식을 설명했다면, 본 연구에서는 tensor fusion network를 제안함
각 모달의 특정 feature를 추출하여서 tensor fusion network에 넣어주어야 하는데,
그 전에 각 모달의 특징벡터를 아래와 같이 추출한다.
앞서 논문에서는 cnn을 통해서 추출했지만, 본 논문에서는 각각 언어모델(Glove&LSTM), 비디오모델(FACET network), 오디오모델 (COVAREP network)모델을 사용해서 feature를 추출함
Tensor fusion
-> Bimodal 특징과 trimodal 특징을 모두 잡아낼 수 있는 장점이 있음
-> 아래의 그림을 보면, zv(비디오), za(오디오), zl(언어) 데이터들의 각각의 관계를 계산(연산)한다. 최종적으로 세가지를 다 연산하여 zm(멀티모달 feature)을 원하는 task에 적용함
-> 오디오와 비디오 사이, 오디오와 언어 사이 등 각각의 특성과 서로서로간의 특성을 다 파악할 수 있다는 장점
-> 단순히 벡터를 어떻게 병합하는 것이 우수할지에 대한 연구라고 할 수 있음
5. VATT: Transformers for Multimodeal Self-Supervised Learning from Raw Video, Audio and Text
- 본 논문은 label이 없는 대규모 데이터셋에 대해서 최적의 multimodal feature을 추출하는 것을 목표
- self-supervised learning 개념을 도입하여 supervision이 없는 상태에서 CNN 아닌 transformer 기반의 multimodal 학습 방식을 제안함
-> self-supervised learning개념을 도입한 이유는, label 데이터를 만드는 것에 비용이 많이 들고, 대규모데이터가 많이 도입되면서 레이블이 없는 데이터에서도 최적의 멀티모달 학습을 잘할것이라는 전제하에 제안됨.
-> 특징을 추출할 때, cnn과 lstm이 아닌 transformer 기반으로 학습
각 모달의 데이터를 토큰화 한 후 linear projection을 통해 나온 값을 transformer encoder의 입력값으로 사용함
토큰화를 하고, 그 값을 transformer encoder에 사용 -> 기존
본 논문에서는 transformer에서 추출된 video, audio, text 특징 벡터를 contrastive learning 기반으로 학습
Video-audio에서는 NCE-loss를 사용하고, video-text 관계에서는 MIL-NCE(NCE-loss 값에서 조금 발전된 함수로써, 텍스트에는 노이즈가 많이 발생하기 때문에 노이즈를 제거하기 위해서 샘플을 뽑을 때 시간적으로 인접한 데이터를 추출하게끔 유도하는 함수) 를 사용함
최종적으로 NCE-loss와 MIL-NCE의 람다라는 가중합을 통해서 loss값을 도출함
본 논문에서는 120만개의 각기 다른 unlabeled 비디오를 학습데이터로 사용
이렇게 학습된 모델을 self-supervised learning 검증 방식 중 하나인 fine-tuning 모델의 성능을 확인하여 우수성 입증
아래는 Kinetics-600 데이터 셋에서 성능을 확인하였고, 본 논문에서 제안한 VATT 모델이 가장 성능이 좋았음
결론
-> 인간의 행동 인식이나 감정인식 등의 문제에서는 단일 모달보다 멀티 모달의 데이터를 활용한 모델 구조가 더 우수함을 확인함
-> 각 모달 데이터를 어떤식으로 병합하는지에 대한 연구들이 활발히 진행되고 있고, 이전에는 비디오 데이터와 오디오데이터를 병합할 때 단순히 컨켓했지만, tansformer나 tensor fusion과 같이 병합할 때의 방식을 다르게 하여 모델의 성능을 높이는 방식이 각광받고 있음
-> 최근에는 대규모 데이터의 labeling 비용 문제를 해결하기 위한 self-supervised learning 방식이 많이 활용되고 있으며 멀티모달 구조에서도 가능함을 확인함.
'Tech' 카테고리의 다른 글
[github] git에 대해서 (0) | 2025.04.08 |
---|