Search
😉

[논문 리뷰][arXiv 2024] AffectGPT: Dataset and Framework for Explainable Multimodal Emotion Recognition

생성일
2024/08/04 14:17
태그
paper-review
안녕하세요! 따근따근한 7월 10일에 arXiv에 등록된 EMER 저자의 후속 논문을 가지고 와봤습니다. EMER 논문이 새로운 감정 인식의 포문을 연 논문이라 생각이 들지만 조금 아쉬운 부분이 있었는데요, 이번에는 이러한 것들을 보완하여 좀더 완성하여 작성한 것이 아닌가 싶습니다. EMER 논문과 마찬가지로 under review 중이라고 합니다.
논문 리뷰를 시작하기 전에 TMI를 말씀드리자면 논문 저자에 대해서 찾아봤더니 [Institute of Automation, Chinese Academy of Sciences (CASIA)]에 소속된 대학 교수님 이었고, Multimodal Emotion Recognition을 하는 사람이면 아는 MER 대회를 개최하신 분들 중 한 분 이었습니다. 교수님이 작성한 논문이라 생각이 드니 읽으면서 긴장하면서 읽은 것같습니다.
서론이 너무 길었습니다. 그럼 리뷰 시작하겠습니다!

<1. Introduction>

감정인식은 human-computer interaction에서 주요한 연구 주제 중 하나입니다. (사실 매번 감정인식 논문을 읽으면 나오는 문구인데 최근에는 computer와 좀더 상호작용을 쉽게 할 수 없을까 이런 생각을 하니 슬쩍 적어봤습니다) 감정인식 task의 주요목표는 고정된 label space에서 가장 가능성 있는 label을 예측하는 것입니다. 하지만, 감정은 고정된 label space에서는 담을 수 없을만큼 복잡하고, 주관적인 감정 label을 과연 신뢰할 수 있을까?라는 문제가 있습니다.
그래서 최근에는 Explainable Multimodal Emotion Recognition (EMER)이라는 새로운 task가 제안되었습니다. EMER은 multi-modal과 다방면인 단서들을 활용하여 open-vocabulary (OV) 방식으로 감정을 예측합니다. multi-modal과 다방면인 단서를 제공하기 때문에 정확하고 신뢰할 수 있는 감정 인식을 수행할 수 있어 더욱 인기가 많아질 수 밖에 없습니다. 그런데, EMER 데이터셋을 만들 때 너무나도 많은 annotation cost가 있고, 이전 연구는 소수 라벨만 지정된 sample(이를 EMER-Fine으로 부르겠습니다)만 포함하고 있습니다. 이러한 sample은 성능 평가하는데 쓰일 수는 있지만, 지도 학습 방법론에 적용할만큼 충분하지 않습니다.
논문의 저자는 이러한 문제점을 해결하고자, 이전의 방법론에서 데이터셋을 어떻게 구성했는지에 대해서 리뷰하였습니다. 이전의 데이터셋은 4개의 단계로 구성되는데, (1) audio, video clues를 pre-labeling 하는 단계, (2) 손수 직접 audio, video clues를 checking하는 단계, (3) ambiguating한 자막을 명확하게 하는 단계, (4) 다국어 description을 얻기 위해 번역하는 단계로 구성되어 있습니다. 여기서 annotation cost를 줄이기 위해서 손수 체크하는 것을 피하고, closed-source model 대신에 open-source model로 변경하여 EMER-Coarse라는 대략적으로(coarsely하게) 라벨링된 large-scale dataset을 구축하게 됩니다. 논문의 저자는 115,595개의 human-centric한 비디오를 포함하는 MER2024-SEMI를 기반으로 구축하였다고 합니다.
EMER 외에도, EMER을 위한 two-stage training framework인 AffectGPT 또한 제안하였습니다. 첫 번째 단계에서는 대규모 EMER-Coarse를 사용하여 multi-modal input과 emotion 관련 description간의 대략적인 align을 학습하고, 두번째 단계에서는 소규모 EMER-Fine의 수동으로 손수 확인된 결과를 이용하여 align을 더 잘 맞추도록 합니다.
본 논문의 contribution을 요약하면 아래와 같습니다.
Dataset : 115,595개의 sample로 구성된 EMER을 위한 large-scale 데이터셋인 EMER-Coarse를 구축하였음
Method : two-stage framework인 AffectGPT를 제안하였음. 이를 통해 첫 단계에서는 대락적인 mapping을 학습하고 두 번쨰 단계에서는 손수 확인된 결과를 이용해 더 나은 align을 보여줌
Performance : high-performance를 보임!

<2. Task and Evaluation>

여태까지 EMER이 왜 나왔고, 왜 좋은지에 대해서 어필만 작득한 것 같은데 EMER의 task definition과 evaluation metric에 대해서 설명드리고자 합니다. 앞에서 언급했지만, 다시 말씀드리면, 기존의 감정인식과는 달리 EMER은 설명 가능하고 open-vocabulary 방식으로 감정을 예측하는 것을 목표로 합니다. EMER 논문에 따라 감정 인식 수행 시, 예측된 결과와 annotation된 결과 간의 overlap 즉, 겹침을 평가 지표로 사용합니다. label space를 고정해두기 않기 때문에 모델들이 동의어를 생성할 수 있습니다. 이러한 것에 대응하고자 GPT-3.5를 사용하여 아래의 prompt를 통해 모든 label을 그룹화 합니다.
Please assume the role of an expert in the field of emotions. We provide a set of emotions. Please group the emotions, with each group containing emotions with the same meaning. Directly output the results. The output format should be a list containing multiple lists
구체적으로 설명해보겠습니다, 먼저, G()G(\cdot)을 label과 group ID간의 GPT로 생성된 mapping function이라고 가정해보겠습니다. {yi}i=1M\{y_i\}^M_{i=1}은 annotated된 label을, {y^i}i=1N\{\hat{y}_i\}^N_{i=1}는 예측된 label을 의미합니다. 여기서 M,NM, N은 label의 수를 의미합니다. 먼저 metric 계산 전에, 각 label을 해당하는 group ID로 매핑합니다. 아래 식[1]을 참고하시면 더 이해가 빠를 것 같습니다.
그런 다음, 식[2]와 식[3]의 계산을 통해, precision과 recall의 평균을 최종 지표로 사용합니다.

<3. EMER-Coarse>

이 파트에서는 앞에서 간략히 했던 이전 데이터셋 구축 pipeline을 검토하고 annotation cost를 줄이고자 어떤 시도를 했는지에 대해서 설명드리고자 합니다. 먼저 앞에서 언급했다 싶이, 이전의 데이터셋은 4단계로 구성되어 있습니다. (1) multi-modal clue를 생성하기 위해 사전으로 labeling하는 단계, (2) 이러한 clue들을 수동으로 검토하는 단계, (3) 자막의 모호성을 해소하는 단계, (4) 마지막으로 중국어-영어 description을 얻기 위한 단계로 구성됩니다. 이 4단계를 수행하면서 가장 cost가 많이 발생한, 수동 검토 단계를 피하고 closed-source model 대신에 open-source model로 대체하고자 합니다. 논문의 저자는 model을 close→open으로 대체하기 위해서 mainstream이 되는 open-source LLM과 MLLM을 테스트하였습니다. 결과는 각 실행마다 약간씩 다르기 때문에, 모든 실험은 두 번 실행하고 이에 대해서 평균과 표준 편차를 확인하였습니다.

<3.1 Pre-labeling>

이전 데이터셋은 pre-labeling process를 closed-source인 GPT-4에 의존하였습니다. 대채품을 찾기 위해서 몇몇 대표적인 open-source MLLM의 성능을 평가하였습니다. 첫 EMER 연구에 따르면, two-step 방식으로 자막을 추가하면 더 나은 성능을 달성할 수 있다 말합니다. 즉, 먼저 MLLM에서 감정 관련 description을 추출한 다음 이를 사용하여 자막의 모호성을 해소하는 것입니다. 그래서 논문의 저자는 이러한 방식을 따라서 나온 결과를 Table 1에 리포팅하여 비교하고자 하였습니다.
논문의 저자는 이 실험을 진행하면서 “단일 MLLM 외에도 다양한 MLLM을 결합하면 더 나은 성능을 달성할 수 있는지”에 대해서도 확인하고자 하였고, 그래서 성능이 뛰어난 audio, video MLLM을 추가로 선택하여 이들의 조합 성능 또한 확인항녔습니다. Table 1을 보면, Audio+Video 조합의 MLLM이 보통 성능이 높은 것을 확인할 수 있으며 가장 중요한 것이 이러한 성능이 GPT-4V를 넘어서는 성능을 보인다는 것입니다. 그 중에서도 SALMONN+Chat-UniVi가 가장 뛰어난 성능을 보여 이를 pre-labeling에 사용하였습니다.

<3.2 Disambiguation and Translation>

모호성 해소(disambiguation)와 번역(translation)은 plain한 text data를 다루며, 이러한 모듈은 이전에 GPT-3.5에 의존하여 이를 수행했습니다. 위에서와 마찬가지로 대안을 찾기 위해서, 몇가지 대표적인 open-source LLM을 평가하고자 하였습니다. Table 2를 통해서 그 실험결과를 확인할 수 있는데, translation module만 open-source LLM으로 대체하면 성능저하가 적지만, translation과 disambiguation을 모두 대체하면 큰 성능 하락을 확인할 수 있습니다. 이러한 결과는 복잡하지 않은 작업(예를 들어서 translation)에서는 여전히 open-source LLM의 성능이 GPT-3.5와 가깝지만, 복잡한 작업(예를 들어서 disambiguation)에서는 open-source LLM과 GPT-3.5 사이에 격차가 있음을 보여줍니다. 논문의 저자는 이러한 현상이 발생하는 이유로 제한된 GPU 메모리로 인해 더 큰 LLM을 테스트하지 않았기 때문이라 말하는데요. 일반적으로 더 큰 LLM이 더 복잡한 작업을 해결하는데 도움이 되며, 이는 향후의 연구 과제로 남겨두겠다고 말합니다. 다시 돌아와서, Qwen2-7B가 translation 작업에서 LLaMA3-8B보다 더 높은 성능을 보이는 것을 확인할 수 있는데, 최종적으로는 translation에는 Qwen2-7B를, disambiguation에는 GPT-3.5를 사용합니다. 모든 과정에서 GPT-3.5에서 사용하는 것은 아니지만 그래도 일부분은 다른 모델로 대체함으로써 OpenAI API call cost를 줄일 수 있었다고 합니다.
최종적으로, 논문의 저자는 위의 방식을 사용하여 MER2024-SEMI 데이터셋에 자동으로 annotation을 수행합니다. 이 annotation은 acoustic, visual, lexical clue를 모두 고려합니다. 또한, 이러한 결과는 수동으로 확인하지는 않았기 때문에 일부 부정확성이 있을 수 있습니다. 이렇게 구축한 데이터셋을 “EMER-Coarse”라고 부르게 됩니다.

<4.Affect GPT>

논문의 저자는 EMER-Coarse외에도, two-stage framework AffectGPT를 제안하였습니다. 이 파트에서는 AffectGPT에 대해서 설명하고자 합니다. AffectGPT는 3가지로 구성하여 설명할 수 있습니다. (1) training process, (2) model architecture, (3) experimental setup. (1)과 (2)에 집중하여 설명해보겠습니다. 조금 아쉬운 부분은 (2) model architecture에 보통 모델 Figure 정도는 넣는데,,,이 논문은 그게 없어서 시각적으로 조금 아쉬운 부분이 있네요. 각설하고 각 요소에 대해서 설명해보겠습니다.

<4.1 Training Process>

첫 stage에서는 EMER-Coarse를 이용하여, 대략적으로 multimodal input과 emotion 관련 output간의 align을 대략적으로 학습합니다. 두 번째 stage에서는 EMER-Fine을 이용하여 수동으로 확인한 결과를 통해서 align을 더 잘하게 합니다. EMER-Fine이 더 신뢰할 수 있는 label을 가지고 있다는 것을 고려하여, 이를 가지고 잘 학습이 되었는지 평가하는데, 이를 위해서 Table 3에서 볼 수 있듯이, train과 test를 나누었습니다.

<4.2 Model Architecture>

AffectGPT는 Video-LLaMA에서 약간 수정하여 사용되었다고 합니다. 원래 framework는 audio, video branch를 별도로 학습하지만, 감정 인식에서는 multi-modal clue를 통합하여 사용하기 때문에 Video-LLaMA를 audio-video-text align을 학습하도록 수정하였습니다. 구체적으로 말씀드리면, audio, video, subtitle(자막)을 동시에 입력하여서 multi-modal input과 감정 관련 description 간의 mapping을 학습하고자 하였습니다. 아래 그림은 Video-LLaMA 논문에서 가져온 모델의 figure입니다. 아래 그림을 보면서 읽으시면 더욱 이해가 되실 것이라 생각됩니다. 사실 Video-LLaMA 외에도 더 효과적으로 작동할 수 있는 모델은 굉장히 많을 것인데, 본 논문에서는 더 효과적인 framework를 설계하지 않고 Video-LLaMA를 사용하는 이유로, 이 논문의 주요 목적이 EMER-Coarse와 two stage training과정의 효과를 연구하기 위해서라고 합니다.

<4.3 Experimental Setup>

이 파트는 간단히 언급만 하고 넘어가고자 하는데 구현하는데 pytorch를 사용하였고, 80G NVIDIA Tesla A100 GPU를 사용하였다고 합니다. 100 epoch으로 학습했는데 아쉽게도 GPU 용량이 충분하지 않아 batch size를 3으로 설정하였다고 합니다.

<5. Results and Discussion>

이 논문이 특이한게 ablation study부터 시작해서 마지막에 최종 성능을 보이는데, 저도 비슷한 전개로 작성하고자 합니다. AffectGPT가 two-stage인데 각 stage가 정말 효과적으로 작동하고 있는지에 대해서 ablation study를 보고자 합니다.

<5.1 Ablation Study on Stage1>

Video-LLaMA는 사전 학습된 Q-Formers를 제공합니다. 이에 논문의 저자는 모델의 초기화 방식에 따른 성능의 변화와 데이터셋 크기에 따른 성능 변화를 확인하고자 하였습니다. Figure 1을 통해서 실험 결과를 확인할 수 있습니다. 당연하지만 EMER-Fine의 데이터셋은 test → train → whole 순으로 sample 수가 많아지는데, Figure 1을 보시게 되면, sample 수를 늘렸을 때 정확도의 변동이 줄어들어 더 신뢰할 수 있다는 결론을 도출할 수 있습니다. 이에 논문의 저자는 데이터셋 크기를 더 늘리면 더 안정적인 결과를 얻을 수 있기 때문에, 향후에 EMER-Fine을 확장할 계획이라고 합니다.
Figure 2에서는 다른 초기화 방식에 따른 차이를 보고자 하였습니다. Figure2(a)를 보시게 되면, training loss를 확인할 수 있는데, 아까 말씀드렸던 실험 셋팅인 epoch 100에 맞춰 100 epoch 정도에 수렴하는 것을 볼 수 있습니다. 여기서 초기화를 사전학습 weight로 하든, random weight로 하든 비슷하게 100 epoch 에서 수렴하는 것을 확인할 수 있는데, 이를 통해 초기화 방식의 차이는 결국 초기 epoch에만 영향을 미치고 결국에는 유사한 loss로 수렴한다고 말할 수 있습니다.
Figure2(b)는 감정 인식 정확도를 나타냅니다. loss와 비슷하게 어떤 초기화 방식을 사용하더라도 유사한 성능을 내는 것을 확인할 수 있으며, 이러한 것들을 조합해서 결론내면 첫 번째 stage에 어떠한 초기화 방법을 가져가든 학습에 미치는 영향력은 미미하다는 결론을 내릴 수 있습니다.
여기서는 어떤 LLM을 사용했는지에 따른 결과 차이를 확인하고자 합니다. 원래 Video-LLaMA는 VIcuna를 사용합니다. (Vicuna는 LLaMA에서 파생된 모델로 ShardGPT로부터 수집된 사용자들의 대화로 LLaMA를 fine-tuning한 모델이라고 합니다. 구체적인 내용은 이 블로그에 잘 정리되어 있으니 궁금하신 분은 참고하시길 바랍니다.) 논문의 저자는 Vicuna를 LLaMA-2를 기반으로 한 모델인 LLaMA-2-Chat으로 바꾼 후 그 영향력을 확인하고자 하였습니다. 이 때, Video-LLaMA에서 제공하는 사전 학습된 Q-Former는 encoder와 Vicuna를 연결하는 데만 사용된다고 합니다. 근데 LLM을 바꾸면 이러한 사전 학습된 가중치를 못 사용하니 공정하게 비교하기 위해서 random 초기화 방식을 사용하였습니다.
Figure 3(a)를 보면 training loss를, Figure 3(b)를 보면 감정 인식 정확도를 확인할 수 있습니다. 여기서 흥미로운 부분은 LLaMA-2의 training loss가 Vicuna가 낮지만, 정확도에서는 Vicuna가 LLaMA-2보다 더 잘 수행하는 것을 확인할 수 있습니다. 논문의 저자는 그 이유로 실험을 수행할 때 LLM의 가중치를 고정하고 LoRA를 사용한 지도 학습을 하지 않기 때문일 수 있으며, 이러한 것이 LLaMA-2의 downstream task 성능을 제한할 수 있다고 합니다. 다시 돌아와서, 이러한 결과는 training loss와 test 정확도 사이에 강한 상관관계가 없다는 것을 증명하는데 다른 관점에서 보면. 이러한 결과는 LLM이 AffectGPT 성능에 영향을 미친다는 것을 보여주기도 합니다. 그래서 논문의 저자는 추후 연구 때 다른 LLM의 영향력을 연구해보겠다고 말합니다.

<5.2 Ablation Study on Stage2>

stage1에서는 EMER-Fine을 모두 사용하는 것이 제일 성능이 높았는데요. 마찬가지로 stage2에서 어느 부분을 사용해야 하는지에 대해서 확인하고자 하였습니다. Figure 4를 보시면 stage1에서 했었던 실험을 동일하게 stage2에서도 동일하게 진행한 것을 확인할 수 있습니다. 근데 stage2에서는 EMER-Fine을 사용한다고 위에서 말씀드렸죠? 사실상 Figure2(b)는 학습 때 사용한 성능이기 때문에 이것으로 뭔가를 판단하기에는 적합하지 않고 Figure2(c)인 EMER-Fine(test)를 보시면 되겠습니다. 확실히 성능이 크게 변동하는 것을 볼 수 있습니다. stage1에서와 마찬가지로 test sample이 너무 제한적이라 이렇게 발생하는 것일수도 있습니다.
AffectGPT는 two-stage training framework 입니다. 그런데 stage2만 학습할 수는 없을까요? stage1을 하지 않아도 되지는 않을까요? 논문의 저자는 이러한 단계가 정말 유의미한지에 대해서 확인하고자 추가로 실험하였습니다. 그 실험 결과를 Figure5를 통해서 볼 수 있습니다. Figure5(a),(c)를 보면 training loss에서 stage1의 도움으로 모델이 더 나은 초기화 가중치를 얻어 stage2 동안 더 빠르게 수렴할 수 있음을 관찰할 수 있습니다. Figure5(b),(d)를 보면 test acc에서는 stage 1이 있는 모델이 stage1이 없는 모델보다 일반적으로 더 나은 성능을 보이는 것을 관찰할 수 있습니다. 특히 ransom으로 가중치 초기화 방식을 취한 모델에서 더 뚜렷하게 나타나는 것을 볼 수 있습니다. 이를 정리하면, EMER-Fine만으로는 처음부터 성능이 좋은 모델을 학습하기에는 충분하지 않다는 결론을 내릴 수 있을 것 같습니다.

<5.3 Main Results>

Table 4에서 다양한 초기화 방식 하에서 EMER-Fine 테스트셋에 대한 AffectGPT의 성능을 볼 수 있습니다. 원래의 Video-LLaMA와 비교했을 때, EMER-Coarse와 EMER-Fine에서 학습한 경우 더 높은 성능을 보입니다. 본 논문에서는 이러한 결과가 EMER-Coarse 데이터셋의 품질을 나타낸다고 하였습니다. 근데 제 개인적인 생각으로는 성능만으로 데이터셋 품질을 나타내는 것이 정말 유의미한 분석인가? 싶기도하고… 조금 더 생각하게 되는 부분이 있는 것 같습니다. 최종적으로는 EMER-Coarse, EMER-Fine을 모두 사용하는 two-stage 방식을 사용하는 것이 더 효과적임을 확인 할 수 있습니다.
EMER을 제안하고 나온 논문 이후로 나온 첫 후속 논문이라 데이터셋을 어떤식으로 보완했는지, 그 데이터셋의 신뢰성은 어떻게 평가했는지에 대해서 집중해서 보고자 하였는데 성능으로만 다룬것 같아 조금 아쉬운 부분이 있네요 아니면 제가 이 분야에 대해서 잘 몰라서 이런 생각을 가지는 건가 싶기도 하네요. 이제 리뷰 마무리하겠습니다. 지금까지 읽어주셔서 감사합니다!