VLM 관련 논문을 보다가, LLaMA를 통해 감정을 캡셔닝하는 논문이 있어 리뷰합니다. 2024년 NeurIPS에 올라온 논문입니다. Emotion LLaMA는 MLLM을 대체할 MERR 데이터셋을 구축하고 instruction tuning을 통해 감정 추론을 강화한 논문입니다.
1. Introduce
- 멀티 모달리티
단일 모달리티에서 (얼굴 표정, 텍스트 기반, 오디오 감정 등)은 효과적이지만, 현실 세계의 복잡한 감정을 포착하기엔 한계가 있습니다. (실제 감정은 텍스트, 오디오, 이미지 등등 여러 멀티 모달리티가 결합되기 때문에)
- MERR 데이터셋
MLLM(멀티 모달 대형 언어 모델)은 오디오 처리가 어렵고, 미세한 표정 인식이 어려워 감정 인식에 어려움이 있습니다. 이를 해결하기 위해서 본 논문에선 MERR 데이터셋을 구축하여 해결했습니다. 다양한 시나리오에서 학습할 수 있도록 28,618개의 coarse grain과 4,487개의 fine grain으로 구성되어 있습니다.
- Emotion-LLaMA 모델
HuBERT를 사용해 오디오 신호를 처리하고, MAE, VideoMAE, EVA 로 얼굴의 세부 정보, 역동성, 맥락을 캡처합니다. 이 모든 정보를 튜닝된 LLaMA에 정렬해 감정을 인식합니다.
2. Method
Emotion-LLaMA는 세가지 주요 구성 요소로 이뤄져 있습니다.
1. MERR 데이터셋 구축
2. Emotion-LLaMA 멀티 모달 모델 구조
3. 훈련 과정
2.1. MERR 데이터셋 구축
MERR 데이터셋은 감정 annotation을 비디오 데이터에 추가하는 과정을 통해 구축됩니다.
2.1.1 얼굴 추출 및 Action Units(AU) 감지
각 비디오 프레임에서 OpenFace로 얼굴을 추출하고 AU 강도를 감지하는데, 특정 프레임에서 AU 강도가 가장 높은 순간을 찾기 위해 다음과 같은 공식을 사용합니다. AU는 얼굴 움직임을 표현하는 Cved(표정 설명)으로 매핑됩니다.
2.1.2 컨텍스트 정보 추출
MiniGPT-v2를 통해 최대 강도의 Peak 프레임을 분석하여 활동, 주변환경 등과 같은 Cvod(시각적 맥락 정보)를 추출합니다. 이러한 시각적 맥락 정보는 배경에서 나타나는 감정 요소 식별에 도움을 줍니다.
2.1.3. 오디오 정보 추출
Qwen-Audio 모델을 사용해 음성 세그먼트를 처리하고 음성 톤 및 억양에서 감정과 관련된 정보를 Catd로 생성합니다.
2.1.4. 멀티 모달 설명 통합
시각 정보 (Cved, Cvod), 오디오 정보(Catd), 자막 정보 (Cls)를 하나로 결합하여 Raw Multimodal Description을 생성합니다. 이를 통해 더욱 풍부한 맥락을 제공할 수 있습니다.
2.1.5. 멀티 모달 Description (Cmd)생성
단일 모달 Description인 Cved, Cvod, Catd, Cls를 종합해 Cmd를 생성하고 최대 강도 프레임에 대해 상세한 감정 Description을 생성합니다.
2.2. Emotion-LLaMA 멀티 모달 모델 구조
Emotion-LLaMA의 입력 튜플은 다음과 같습니다.
그리고, Emotion-LLaMA의 수식은 다음과 같습니다.
ϕ : LLaMA 언어 모델
Ω : Vision Preprocessor
E : 멀티 모달 인코더
2.2.1. 멀티 모달 프롬프트 템플릿
Emotion-LLaMA는 비디오 특징, 오디오 특징, 작업 식별자, 텍스트 프롬프트를 포함하는 프롬프트 템플릿을 사용합니다.
<VideoFeature><AudioFeature>[Task Identifier]Prompt
2.2.2. 멀티뷰 멀티모달 인코더
2.2.2.1. 오디오 인코더 Eaud
HuBERT 모델을 사용해 입력 오디오 신호로부터 포괄적인 오디오 표현 uaud를 추출하고 이는 억양 및 톤에서 감정 단서를 감지할 수 있습니다.
2.2.2.2. 비주얼 인코더 Evis
비주얼 인코더를 세가지로 구성되며, 서로 다른 시각적 감정 특징을 보완적으로 추출합니다.
로컬 인코더 : ViT 기반 모델 (MAE 사전 학습) 으로 정적 얼굴 표정 특징을 추출합니다.
얼굴 시퀀스를 입력으로 받아 각 프레임의 특징을 평균 풀링하여 로컬 시각적 특징을 생성합니다.
Temporal 인코더 : VideoMAE 모델로 얼굴 시퀀스의 시간적 특징을 학습해 감정 상태를 나타내는 동적 정보를 제공합니다.
글로벌 인코더 : EVA 모델을 사용해 얼굴 표정뿐만 아니라 배경 콘텍스트까지 포함하는 시각적 특징을 추출합니다.
2.2.3. 멀티 모달 통합 및 Tokenization
Emotion-LLaMA는 LLaMA의 BPE(Byte-Pair Encoding) Tokenizer를 사용해 텍스트 입력을 효율적으로 처리합니다. 오디오 및 시각적 특징을 텍스트 Token과 통합하기 위해 선형 투영 메커니즘(Linear Projection Layer)을 사용합니다.
2.3. 훈련 과정
2.3.1. Pretraining
MERR 데이터셋의 coarse-grained 샘플 (28,618개)을 사용해 모델을 사전 학습합니다. 다양한 작업을 통해 멀티 모달 특징 토큰이 언어 임베딩 공간에 빠르게 정렬되도록 돕습니다.
2.3.2. 멀티모달 Instruction Tuning
Pretrained Emotion-LLaMA를 기반으로 MERR 데이터셋의 4,487개의 fine-grained 샘플을 사용해 모델을 튜닝합니다. 이 단계에서는 복잡한 감정 상태에 대한 정밀한 묘사 및 레이블링을 학습하는데, MER2023, DFEW 등 추가적인 데이터셋도 포함해 확장합니다.