[arXiv 2026] XEmoGPT: An Explainable Multimodal Emotion Recognition Framework with Cue-Level Perception and Reasoning

안녕하세요. 이번에는 XEmoGPT: An Explainable Multimodal Emotion Recognition Framework with Cue-Level Perception and Reasoning 논문을 읽어봤습니다. 해당 논문은 감정 인식 AI가 “이 사람은 슬퍼 보인다”에서 멈추지 않고, “고개를 숙이고 있고 목소리가 낮게 떨리기 때문에 슬프다”처럼 구체적인 근거를 짚어가며 설명하게 만들려는 논문인데요. 그 근거를 emotional cue라는 단위로 정의하고, 모델부터 벤치마크까지 전부 이 단서를 중심으로 다시 설계했다는 점이 특징입니다.(최근에는 벤치마크를 건들이는 논문들이 참 많아진거 같네요) 그럼 리뷰 시작하겠습니다.


1. Introduction

감정을 인식하는 기술은 social media 분석이나 social robotics 같은 곳에서 이미 널리 쓰이고 있습니다. 그런데 이런 시스템이 사람에게 직접 영향을 주는 결정에 점점 더 많이 참여하게 되면서 감정 라벨 하나만 예측하는 것으로는 부족해졌습니다. 사용자가 “왜 이 감정이라고 판단했는지”를 이해할 수 있도록, 투명하고 설명 가능한 증거를 함께 내놓아야 한다는 요구가 커진 것이죠.

그래서 점점 결과 수준의 감정 분류에 집중하던 기존의 MER(Multimodal Emotion Recognition)에서 증거에 기반한 설명가능한 감정 추론을 강조하는 EMER(Explainable Multimodal Emotion Recognition로 연구가 shift 되고 있습니다. 논문의 Figure 1(a)가 이를 보여주는데 EMER은 감정 라벨 예측을 넘어 그 추론을 뒷받침하는 지각과 추론 과정 자체를 드러내는 것을 목표로 합니다.

최근에는 MLLM의 생성 능력을 활용한 EMER 연구들이 나왔는데요. 대표적인 예로 AffectGPT가 있습니다. 간단히 설명하면 단일 모달리티 인코더와 Qwen 사이에 attention 기반 pooling 같은 가벼운 pre-fusion 모듈을 넣어서 설명을 생성하기 전에 모달리티 간 상호작용을 먼저 정리하는 방식인데요. 다른 방법론의 경우에도 대부분 이러한 형식을 가진다고 보시면 될 것 같습니다.

그런데 저자들이 보기에 이 방법들의 설명이 진짜 설명이 아니라고 하는데요. 예측한 감정을 다시 서술하는 emotion paraphrasing에 가깝다는 것입니다. Figure 1(b를 보시면 기존 모델들은 예측한 감정을 말하고 기껏해야 막연하게 “단서가 있다” 정도만 언급할 뿐이지 어떤 구체적인 multimodal evidence가 그 추론을 뒷받침하는지 명시하지 않습니다.

여기에서 논문의 핵심 개념이 나오는데 바로 emotional cue 입니다. 본 논문에서 정의한 emotional cue는 낮은 수준의 지각과 높은 수준의 감정 추론을 이어주는 모달리티별로 명시된 증거 단위를 말하는데요. 하나 이상의 모달리티에 근거를 두어 관찰한 사실 + 감정 상태를 논리적으로 추론할 수 있는 것을 말합니다. 예를 들어서 올라간 눈썹과 부드러운 미소는 행복을 나타내는 visual cue이고 숙인 고개와 긴장된 표현은 슬픔을 나타낼 수도 있습니다. 감정 추론을 지각적 관찰 → 단서 식별 → 추론 → 감정 판단이라는 계층으로 분해하면, emotional cue는 감각 신호와 감정 결론을 이어주는 설명 가능한 중간 변수가 됩니다.

여기서 본 논문의 저자들은 기존 MLLM 기반 EMER 방법은 왜 cue-level reasoning을 못하는지에 대해서 두가지 이유로 설명합니다.

첫째, 범용 모달리티 인코더의 사전학습 목표가 감정과 어긋나 있습니다. CLIP 같은 인코더는 전체적인 구조와 일반적인 의미를 잡도록 훈련되었기 때문에, 눈썹의 미세한 움직임이나 목소리의 떨림 같은 세밀한 감정 단서에는 둔감합니다.

둘째, 데이터셋의 품질-규모 trade-off입니다. 기존 데이터셋은 규모가 크면 감정 supervision이 거칠고, 정밀하면 규모가 작습니다. 이로 인해서 reasoning을 위한 cue 수준의 supervision이 부족해집니다.

여기에 하나 더 추가하면, 기존 평가 지표도 문제입니다. EMER 평가는 주로 prompt-based scoring, 즉 LLM에게 두 텍스트를 주고 점수를 매기게 하는 방식인데, 이것으로는 모델이 생성한 텍스트와 사람이 주석한 텍스트가 감정 단서 수준에서 얼마나 겹치는지 정확히 잴 수 없습니다.

그래서 저자들의 해법은 세 갈래로 나옵니다.

  1. 지각 강화 모델: VECB(video Emotional Cue Bridge)와 AECB(Audio Emotional Cue Bridge)를 갖춘 XEmoGPT를 제안하였습니다.
  2. 데이터를 통해 추론 가르치기: EmoCue 데이터셋을 구축합니다. MER-Caption+의 설명을 model-led, human-assisted 전략으로 다시 써서 모달리티별 단서를 명시한 EmoCue-Instruct와, MLLM으로 짧은 감정 단서 주석을 생성한 EmoCue-ShortCaption으로 구성합니다.
  3. 단서 수준의 평가: 생성된 설명에서 시각,청각,global emotion cue를 추출하고 의미 유사도 기반으로 cue-level F1 score를 계산하는 자동 지표 EmoCue-360을 제안하고, 전문가가 주석한 400개 샘플의 벤치마크 EmoCue-Eval을 공개하였습니다.

2. Methodology

2.1 Model Architecture

XEmoGPT는 통상적인 MLLM 구조와 같은 네 부분, 즉 visual encoder, audio encoder, projection layer, LLM으로 이루어져 있고, 여기에 감정 단서 지각을 위한 VECB와 AECB 두 모듈이 새로 들어갑니다

데이터가 흘러가는 순서를 따라가 보겠습니다. 먼저 flozen된 CLIP-ViT가 비디오 프레임을, HuBERT가 오디오를 각각 visual embedding $X_v \in \mathbb{R}^{l_v \times d_v} $와 audio embedding $X_a \in \mathbb{R}^{l_a \times d_a}$ 로 바꿉니다. 여기서 $l_v $는 비디오 프레임의 개수,$ l_a $는 오디오 임베딩의 길이, $d_v $와$ d_a$ 는 각 임베딩의 차원을 의미합니다.

다음으로 VECB(본 방법론에서 제안한 모듈; video Emotional Cue Bridge)가 $X_v$ 를 visual emotion embedding $H_v \in \mathbb{R}^{l_v \times d_v} $로, AECB가 $X_a$ 를 audio emotion embedding $H_a \in \mathbb{R}^{l_a \times d_a}$ 로 변환합니다. 행렬의 모양은 그대로인데 내용물이 emotion cue에 민감한 표현으로 바뀐다고 이해하면 됩니다. 이어서 시각/오디오 projection layer가 $H_v$ 와 $H_a$ 를 LLM이 이해하는 차원 d 의 visual emotion token $Z_v \in \mathbb{R}^{l_v \times d} $와 audio emotion token $Z_a \in \mathbb{R}^{l_a \times d}$ 로 바꿉니다. 마지막으로 $Z_v, Z_a,$ 비디오 자막 T, 프롬프트 P 를 LLM에 넣어 최종 응답을 생성합니다. 식으로 표현하면 이렇게 표현할 수 있습니다. $\hat{R}=\mathrm{LLM}(Z_v, Z_a, T, P)$

<Video Emotional Cue Bridge (VECB)>
비디오는 프레임의 순서, 즉 시간이 중요합니다. 그래서 VECB는 서로 다른 시간 단계의 프레임을 구분할 수 있도록 학습 가능한 positional encoding을 visual embedding 더하고, 시간 축 방향으로 $X_v $를 섞기 위해 내부에 Transformer를 둡니다.

여기서 \mathrm{PE}(\cdot) 는 positional encoding입니다.

<Audio Emotional Cue Bridge (AECB)>
HuBERT는 내부에 이미 positional encoding이 들어 있는데요. 그래서 AECB는 위치 인코딩을 따로 추가하지 않고, Transformer로 $X_a$ 를 시간 축에서 바로 섞습니다.

2.2 Video Emotional Cue Encoding

VECB를 어떻게 학습시킬까요? 사전학습된 viaul encoder의 cue 수준의 지각을 강화하고 프레임 시퀀스의 시간 정보를 잡기 위해, 세 가지 task를 함께 학습합니다

첫번째로 Contrastive Video Emotional Cue Alignment입니다.
visual embedding과 감정 단서 사이의 간극을 잇는 task라고 보시면 되겠는데요. VECB 출력$ H_v $를 시간 축으로 pooling해 전역 비디오 representation $h_v $를 얻고, 감정 단서 텍스트는 동결된 CLIP text encoder로 인코딩해 $h_t $를 얻습니다. 그리고 contrastive learning에서 널리 쓰이는 InfoNCE loss로 둘을 정렬합니다.

여기서 $\mathrm{sim}(\cdot,\cdot) $은 cosine similarity, $\tau $는 학습 가능한 temperature 파라미터, $N $은 배치 크기입니다.

두번째, Frame Temporal Discrimination입니다.
VECB가 시간의 흐름과 프레임 순서를 이해하게 만드는 task입니다. 비디오 클립에서 프레임 시퀀스를 샘플링한 뒤 일부러 순서를 섞고, 모델에게 이 시퀀스가 올바른 시간 순서인지 맞히게 합니다. pooling으로 얻은 $h_v $위에 간단한 이진 분류기를 올립니다.

여기서 y\in\{0,1\} 은 프레임 시퀀스가 순서대로인지 아닌지를 나타내고, $\mathrm{BCE} $는 binary cross-entropy입니다.

셋번째, Masked Frame Modeling입니다.
BERT의 masked language modeling과 같은 아이디어인데요.$ X_v $의 일부 시각 임베딩을 무작위로 가리고 학습 가능한 토큰으로 바꾼 뒤, VECB가 가려진 위치의 원래 프레임 임베딩을 복원하도록 학습합니다.

여기서 M 은 마스크된 위치들의 집합, $\hat{x}_v^{(i)} $는 위치 i 에서 예측한 임베딩입니다.

2.3 Audio Emotional Cue Encoding

오디오 쪽은 사정이 조금 다릅니다. HuBERT는 large unsupervised 오디오 데이터로 사전학습되어 오디오 공간 안에서의 맥락 모델링은 이미 강합니다. 문제는…. audio-text 학습이 없었다는 점입니다. 그래서 HuBERT의 feature space와 감정 단서의 semantic space 사이에 큰 간극이 있습니다. AECB의 훈련 목표는 이 간극을 좁히는 것으로 오디오 인코더의 출력을 감정 단서의 semantic space에 정렬하는 것입니다.

< Contrastive Audio Emotion-Cue Alignment >
$H_a $를 temporal 축으로 pooling해 global audio representation $h_a$ 를 얻고, emotion caption은 frozen된 LaBSE로 인코딩해 $h_t $를 얻습니다. LaBSE는 다국어,다영역 문장 유사도에 뛰어나서 문장 수준의 감정 단서 정렬에 적합하다고 합니다. 역시 InfoNCE loss를 씁니다.

비디오 쪽과 원리는 같고, 대상이 오디오이며 텍스트 인코더가 CLIP 대신 LaBSE라는 점만 다르다고 보시면 되겠습니다.

2.4 Training Process

학습은 3단계로 구성되어 있습니다. 1단계에서 VECB를 훈련해 video emotion cue representation을 얻고, 2단계에서 AECB를 훈련해 audio emotion cue representation을 얻고, 3단계에서 이 표현들을 LLM의 text representation spcae에 정렬합니다. 각 단계의 데이터셋은 다음과 같습니다.

Stage 1에서는 visual 인코더와 text 인코더를 frozen하고, 무작위 초기화된 VECB를 다음 objective로 학습합니다.

Stage 2에서는 audio 인코더와 text 인코더를 frozen하고, 무작위 초기화된 AECB를 학습합니다.

Stage 3는 Emotional Instruction Fine-tuning입니다. CLIP과 HuBERT는 계속 frozen한 채로 LLM에는 LoRA를 적용하고, VECB, AECB와 visual/audio projection layer는 전부 학습 가능하게 둡니다.

이 단계에서 눈여겨볼 부분이 하나 있습니다. 모달리티별 cue 추론 능력을 키우기 위해 (1) visual-only, (2) audio-only, (3) multimodal의 세 종류 instruction-response pair를 설계하고, 최적화 과정에서 targeted gradient control을 씁니다. visual-only 샘플에서는 오디오 쪽 분기, 즉 AECB와 그 projection layer의 그래디언트를 차단하고, audio-only 샘플에서는 반대로 시각 쪽 분기를 차단합니다. 이런 선택적 그래디언트 흐름이 모달리티 특화된 inductive bias를 강제해서, 모델이 사용자 지시에 따라 관련 모달리티에만 집중하게 하고 모달리티 간 혼동을 피하게 합니다.

3. Training Dataset

이 섹션은 “왜 새 데이터셋이 필요한가”에 대해 답변하는 섹션이라고 보시면 좋을 것 같은데요. 현재 EMER용 데이터셋들은 샘플 수와 주석 품질 사이의 trade-off를 안고 있습니다. MERR-Coarse-Grained는 대규모(N=28,618)지만 주석이 거칠고, MERR-Fine-Grained는 주석이 상세하지만 규모가 작습니다(N=4,487). MER-Caption+는 규모(N=31,327)와 품질 사이에서 비교적 균형을 이루지만, 주로 텍스트 감정 설명에 집중할 뿐 visual cue나 audio cue를 명시적으로 라벨링하지 않습니다.

그래서 저자들은 두 부분으로 구성된 EmoCue를 만들었습니다.
EmoCue-Instruct (N=31,327)는 MER-Caption+ 위에서 주석을 model-led, human-assisted 전략으로 다시 씁니다. 절차는 세 단계로 구성되어 있습니다.
(1) MLLM에게 MER2025 감정 라벨을 프롬프트로 주어 모달리티별 감정 단서를 추론하게 하고, (2) deepseek-chat이 이 단서들을 통합하면서 일관성을 보장하고 충돌을 해소하고,
(3) 전문가가 무작위로 300개 샘플을 골라 수동 채점해 품질을 검증합니다

EmoCue-ShortCaption (N=40,683)은 DFEW와 MER-Caption+ 위에 구축되며, 사람 개입 없이 MLLM만으로 간결한 감정 단서를 생성합니다.

4. Evaluation Metric and Dataset

4.1 Task Formulation

먼저 Evaluation Metric에 대해서 말하기 전에 task부터 정확히 정의하려고 합니다. 비디오 구간이 주어지면 모델은 설명 가능한 emotion description D 를 생성해야 하고, D 는 semantic 수준에서 세 부분으로 구성됩니다.

여기서 C_v, C_a, C_s 는 각각 visual emotional cue, audio emotional cue, global emotional cue의 집합입니다. 각 집합은 여러 개의 atomic emotional cue c 로 이루어지는데, atomic cue란 텍스트에서 더 쪼갤 수 없는, 의미적으로 독립적인 최소 단위를 말합니다. 이론적으로 어떤 자연어 텍스트든 이런 원자적 단서들로 분해할 수 있습니다.

모델이 생성한 텍스트 $D_{ca}$ 와 사람이 주석한 텍스트 $D_{gt}$ 가 주어졌을 때, 좋은 $D_{ca}$ 는 각 차원에서 두 조건을 만족해야 합니다.

  • Completeness: $D_{gt}$ 의 어떤 차원에 있는 atomic cue는 $D_{ca}$ 의 같은 차원에도 의미적으로 동일한 단서가 있어야 합니다. 정답에 있는 단서를 빠뜨리지 말라는 것과 같습니다.
  • Correctness : D$_{ca}$ 의 어떤 차원에 있는 atomic cue는 $D_{gt}$ 의 같은 차원에도 의미적으로 동일한 단서가 있어야 합니다. 정답에 없는 단서를 지어내지 말라는 것입니다.

4.2 Metric Computation

EmoCue-360의 계산은 Information Extraction → Cue Vectorization → Metric Computation의 파이프라인으로 진행됩니다. 먼저 $D_{ca}$ 와 $D_{gt}$ 에서 세 차원의 단서 집합을 뽑아야 하는데, 자유 형식 텍스트에서 단서를 추출하는 open-ended 문제이므로 LLM을 이용해 텍스트를 정제된 단서 목록으로 자동 분해합니다.

그다음 각 차원에서 precision과 recall을 계산합니다. 시각 감정 단서를 예로 들면, 모델 생성 텍스트의 시각 단서 집합을 $C_v^{ca},$ 사람 주석의 시각 단서 집합을 $C_v^{gt}$ 라 할 때 식(10), (11)은 다음과 같습니다.

4.3 Evaluation Dataset

EmoCue-360이 성립하려면 전제가 하나 필요한데요. 평가에 쓰는 사람 주석 데이터가 충분히 고품질이어야 하고, 비디오 속 주요 감정 단서를 모두 담고 있어야 합니다. 공개 데이터셋 중에서는 EMER 데이터셋만이 주석 품질과 단서 수준의 세밀함에서 이 요건을 그런대로 충족합니다. 그래서 저자들은 다양한 시나리오, 화자, 감정 상태를 아우르는 400개의 정밀 주석 테스트 샘플로 이루어진 새 벤치마크 EmoCue-Eval을 추가로 구축했습니다. 저자들이 아는 한 이 종류로는 현재 가장 큰 EMER 벤치마크라고 합니다.

5. Experiments

5.1 Zero-Shot Evaluation

EMER 데이터셋과 EmoCue-Eval 두 벤치마크에서 zero-shot 평가를 수행하였습니다. EMER 데이터셋에서 XEmoGPT는 4B 크기로 7B baseline들을 제치고 최고 Mean 47.5를 기록한 것을 확인할 수 있습니다. 대단하네용

여기서 볼 포인트가 하나 있습니다. EMER 데이터셋에서 XEmoGPT의 precision은 상대적으로 낮은데, 저자들은 이를 모델 결함이 아니라 EMER 주석의 특성으로 설명합니다. Figure 5의 분석을 보면 EMER 주석은 훨씬 짧고 샘플당 명시적 감정 단서 수가 적으며, 세밀한 시각·청각 증거를 생략하고 고수준 감정 상태 위주로 쓰인 경우가 많습니다. 그래서 XEmoGPT가 지각적으로 근거는 있지만 주석에는 없는 유효한 단서를 추가로 생성하면, 그것이 false positive로 집계되어 precision이 깎인다는 것입니다. 의미적으로는 맞는 말인데 채점표에 없어서 감점당하는 상황인 셈이죠.

실제로 시각, 청각, 전역 차원에 걸쳐 촘촘한 단서를 제공하는 EmoCue-Eval에서는 이야기가 달라집니다. XEmoGPT는 precision과 recall을 포함해 거의 모든 지표에서 모든 baseline을 일관되게 앞섭니다. Emotion-LLaMA가 시각 단서의 precision에서만 약간 앞서지만, recall과 전역 단서 추론에서 뒤처집니다. 저자들은 이를 “보수적이지만 덜 포괄적인 설명 전략”이라고 해석합니다.

5.2 Ablation Study

ablation study입니다. 여기서 두 가지를 읽을 수 있습니다.

첫째, 각 모듈의 효과는 뚜렷하게 모달리티 특화적입니다. VECB를 넣으면 Vis-Emo F1이 46.941에서 47.582로 오르는데 오디오 단서 성능은 거의 그대로이고, AECB를 넣으면 Aud-Emo F1이 42.325에서 43.125로 오르면서 시각 단서에는 미미한 영향만 줍니다. 두 모듈이 아무 데나 성능을 올려주는 범용 부스터가 아니라, 각자 담당 모달리티의 감정 표현을 선택적으로 강화한다는 증거인 것이죠.

둘째, 둘을 함께 사용하면 최고 성능이 되는데, 특히 Glo-Emo F1이 47.853에서 49.866으로 오릅니다. 이 향상 폭은 각 모듈 단독의 이득을 넘어서므로, 시각과 청각 감정 단서 사이에 상호보완 효과가 있다는 뜻입니다. 모달리티별 단서 지각이 좋아지면, 여러 모달리티의 증거를 통합하는 전체적인 감정 추론도 함께 좋아진다는 것이죠.


지금까지 XEmoGPT 논문 리뷰를 마쳐봤습니다. 감정 AI를 실제 상호작용 시스템에 쓰려면 정답률만이 아니라 “무엇을 보고 그렇게 말했는가”를 재야 한다는 문제의식을 평가 체계까지 끝까지 보여준 논문이 아니였을까 생각이 듭니다. 지금까지 읽어주셔서 감사합니다.

Author: 김 주연

3 thoughts on “[arXiv 2026] XEmoGPT: An Explainable Multimodal Emotion Recognition Framework with Cue-Level Perception and Reasoning

  1. 안녕하세요 주연님 좋은 리뷰 감사합니다!
    EmoCue-360은 LLM을 사용해 생성된 설명에서 감정 단서를 추출하는 것으로 이해했습니다. 이 경우 단서를 추출할 때 사용하는 프롬프트에 따라 평가 점수가 달라질 수도 있을 것 같습니다. 논문에서는 프롬프트를 바꿔도 평가 결과가 안정적으로 유지되는지 확인한 실험이 있었는지 궁금합니다.
    감사합니다.

  2. 주연님 좋은 리뷰 감사합니다.

    EMER에서 설명가능한에 해당하는 답변을 emotional cue로 정의하여 판단한 것이라 이해하였습니다.
    VECB와 AECB가 emotion cue를 고려한 표현이 되도록 학습시킨다고 하셨는데,
    VECB에서 학습 과정에 감정 텍스트 정보를 활용하는게 진정한 emotional cue를 준다고 할 수 있는 지 궁금합니다. 오히려 visual embedding 중 감정에 영향을 주는 정보를 뽑아내 사용해야하지 않을까 하는데 이에 대한 주연님의 생각이 궁금합니다.

    또한, 해당 방법론들이 결국 학습기반이다보니, 감정 라벨에 따라 표현이 달라질 것 같은데 제가 이해한 게 맞을까요?

  3. 리뷰 잘 읽었습니다, Emotion 연구라니 괜히 관심이 생겨 읽어보게 되었네요 ㅎㅎ

    EmoCue-Instruct는 MLLM이 감정 라벨을 보고 모달리티별 cue를 추론한 뒤 전문가가 일부 샘플을 검증하는 모델 같은데요. 그런데 혹시 이 경우 모델이 실제 비디오 증거를 보고 cue를 찾는다기보다 주어진 emotion label에 맞는 그럴듯한 단서를 생성할 위험은 없는지 궁금합니다. MLLM이다 보니 걱정이 되는데 이런 문제에 대한 분석이 있는지, 없다면 어떻게 이를 나눠서 분석할 수 있는지도 궁금해지네요

    (근데 리뷰에 첨부된 그림의 화질이 조금 안좋은데 저만 그렇게 보이는걸까요…?)

Leave a Reply