CoolFace
Modelpublic

hugoaslm/multimodal-emotion-recognition

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
Model Card

Multimodal Emotion Recognition System

A state-of-the-art multimodal emotion recognition model combining Wav2Vec2 (audio) and RoBERTa (text) encoders with cross-attention fusion and label smoothing regularization.

๐ŸŽฏ Results

ModelModalityFusionVal AccVal F1Test AccTest F1
Final (LS=0.1)Audio+TextCross-Attention81.4%0.81485.3%0.852
MultimodalAudio+TextCross-Attention79.8%0.79082.8%0.827
MultimodalAudio+TextConcat73.4%0.72275.5%0.747
MultimodalAudio+TextGated72.4%0.71076.1%0.754
Audio-Only BaselineAudioLinear76.4%0.756--
Text-Only BaselineTextLinear~15%~0.15--

Key Findings:

  • โ€”Cross-attention fusion significantly outperforms simple concatenation (+6.4% F1)
  • โ€”Label smoothing (0.1) provides +2.5% test accuracy improvement
  • โ€”Audio carries the primary emotional signal; text provides complementary context
  • โ€”The 219M parameter model achieves SOTA-level performance on the benchmark

๐Ÿ“Š Dataset

[stapesai/ssi-speech-emotion-recognition](https://huggingface.co/datasets/stapesai/ssi-speech-emotion-recognition)

  • โ€”Source Datasets: CREMA-D, TESS, RAVDESS, SAVEE
  • โ€”Splits: 10,000 train / 1,999 validation / 163 test
  • โ€”Emotions (8 classes): angry, calm, disgust, fear, happy, neutral, sad, surprise
  • โ€”Modalities: Audio (speech) + Text (transcription)
  • โ€”Note: Test set has no "calm" samples (7 classes evaluated)

Class Distribution (Train)

EmotionCount%
angry1,58715.9%
disgust1,58215.8%
fear1,59115.9%
happy1,56815.7%
neutral1,39113.9%
sad1,59616.0%
surprise5285.3%
calm1571.6%

๐Ÿ—๏ธ Architecture

Input Audio โ”€โ”€โ–บ Wav2Vec2-Base โ”€โ”€โ–บ Mean Pooling โ”€โ”€โ–บ Audio Features (768-dim)
                                                              โ”‚
                                                              โ–ผ
                                                    Cross-Attention Fusion
                                                    (text queries audio)
                                                              โ”‚
                                                              โ–ผ
Input Text โ”€โ”€โ–บ RoBERTa-Base โ”€โ”€โ–บ [CLS] Token โ”€โ”€โ–บ Text Features (768-dim)
                                                              โ”‚
                                                              โ–ผ
                                                   Concatenate + MLP
                                                              โ”‚
                                                              โ–ผ
                                                   Classification Head
                                                              โ”‚
                                                              โ–ผ
                                              8 Emotion Classes

Key Components

  1. 1.Audio Encoder: facebook/wav2vec2-base (95M params)
  2. 2.Pre-trained on speech data
  3. 3.Mean pooling over time dimension
  1. 1.Text Encoder: roberta-base (125M params)
  2. 2.Pre-trained on large text corpus
  3. 3.[CLS] token as sentence representation
  1. 1.Fusion Module: Cross-Attention
  2. 2.Text features query audio features
  3. 3.4 attention heads, 256-dim fusion space
  4. 4.Residual connection + LayerNorm
  1. 1.Classification Head:
  2. 2.2-layer MLP with GELU activation
  3. 3.Dropout (0.3)
  1. 1.Training Improvements:
  2. 2.Label smoothing (0.1)
  3. 3.Gradient checkpointing
  4. 4.Mixed precision (fp16)
  5. 5.Early stopping (patience=3)

๐Ÿš€ Training Details

ParameterValue
Learning Rate1e-5
Batch Size8 (ร—4 grad accum = 32 effective)
Epochs7 (best at epoch 5)
OptimizerAdamW
SchedulerCosine with warmup
Weight Decay0.01
HardwareNVIDIA A10G (24GB)
Training Time~28 minutes

๐Ÿ”ฌ Ablation Studies

Fusion Strategy Comparison

FusionVal F1Test F1Params
Cross-Attention0.8140.852219.8M
Concat0.7220.747219.4M
Gated0.7100.754219.6M

Cross-attention fusion provides significant improvement over simpler fusion methods, demonstrating the importance of modeling interactions between modalities.

Label Smoothing Impact

SmoothingVal AccVal F1Test AccTest F1
0.079.8%0.79082.8%0.827
0.181.4%0.81485.3%0.852

Label smoothing improves both validation and test performance, indicating better generalization.

๐Ÿ“š References

This implementation is based on:

  1. 1.arXiv:2406.17667 - Early Feature Fusion with Wav2Vec2-MSP + RoBERTa for emotion recognition
  2. 2.arXiv:2503.06805 - RoBERTa + Wav2Vec2 Feature Fusion for MELD benchmark
  3. 3.arXiv:2505.06685 - Emotion-Qwen: Multimodal LLM for emotion understanding
  4. 4.arXiv:2406.11161 - Emotion-LLaMA: Instruction-tuned emotion recognition

๐Ÿ› ๏ธ Usage

python
from transformers import AutoModel, AutoFeatureExtractor, AutoTokenizer
import torch
import torch.nn.functional as F

# Load model components
audio_encoder = AutoModel.from_pretrained("facebook/wav2vec2-base")
text_encoder = AutoModel.from_pretrained("roberta-base")
feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/wav2vec2-base")
tokenizer = AutoTokenizer.from_pretrained("roberta-base")

# The fusion head and classifier need to be loaded from the checkpoint
# See the training script for the full model definition

๐Ÿ”ฎ Future Improvements

  1. 1.SER-Pretrained Audio Encoder: Use audeering/wav2vec2-large-robust-12-ft-emotion-msp-dim for better audio emotion features
  2. 2.Visual Modality: Add face/video encoding for full multimodal recognition
  3. 3.Instruction Tuning: Convert to instruction-following format for zero-shot generalization
  4. 4.Class Balancing: Oversample rare classes (calm, surprise) or use focal loss
  5. 5.Data Augmentation: Speed perturbation, noise injection for audio robustness

๐Ÿ“„ License

Apache 2.0

๐Ÿ™ Acknowledgments

  • โ€”Hugging Face Transformers for the pre-trained models
  • โ€”The creators of CREMA-D, TESS, RAVDESS, and SAVEE datasets
  • โ€”The authors of the referenced papers for their valuable insights