MPED数据集+源码下载

1. 方法概述

本方法提出了一种基于双曲空间对比学习的跨被试 EEG 情感识别框架。整体流程采用"预训练—特征提取—后处理—分类"四阶段管线设计,核心创新在于将对比学习从传统的欧几里得空间迁移至庞加莱球(Poincaré Ball)双曲流形,利用双曲空间天然的层次结构建模能力来捕获 EEG 信号中情感状态的层次化语义关系。

整体流程:

原始EEG信号 → CNN特征编码器 → 双曲空间对比预训练 → DE特征提取
    → Running Normalization → LDS平滑 → MLP分类器 → 情感类别

2. 数据集:MPED

2.1 数据集概况

本实验采用 MPED(Multi-modal Physiological Emotion Database) 数据集。MPED 是一个多模态生理信号情感数据库,旨在通过多种生理信号(EEG、GSR、RSP、ECG)研究人类情感状态的客观生理表征。本项目仅使用其中的 EEG(脑电) 模态。

属性说明
被试数量23 人
EEG 通道数62 通道(国际 10-20 系统扩展)
原始采样率1000 Hz
实际使用采样率200 Hz(降采样后)
情感刺激34 段情感诱导视频片段
情感类别9 类
数据总量原始约 35 GB,降采样后约 7 GB

2.2 情感类别

MPED 数据集涵盖 9 种离散情感类别,涵盖了积极、消极和中性三大情感维度:

类别编号情感类别英文情感效价
0高兴Joy积极
1滑稽Funny积极
2愤怒Anger消极
3恐惧Fear消极
4厌恶Disgust消极
5悲伤Sadness消极
6中性Neutrality中性
7惊讶Surprise中性/积极
8温柔Tenderness积极

34 段视频按以下顺序对应各情感标签:

视频序号:  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 32 33 34
情感标签:  0  2  1  4  3  5  6  7  8  1  2  3  8  6  7  4  5  0  1  5  6  2  2  1  8  7  6  4  4  3  5  3  7  8

2.3 数据采集与预处理

采集设备:使用 62 通道 EEG 采集系统(符合国际 10-20 扩展标准),原始采样率 1000 Hz。每位被试观看全部 34 段情感诱导视频,各视频时长不等(数十秒至数分钟)。

预处理流程

原始 .mat 文件 (1000Hz, 67通道)
    │
    ├─ concate.py: 提取前62个EEG通道, 按视频顺序拼接
    │              → final_concatenated_MPED.npy (23×62×N, 约35GB)
    │
    └─ downsample.py: 逐被试抗混叠降采样 (scipy.signal.decimate)
                      1000Hz → 200Hz (5倍)
                      → final_concatenated_MPED_200Hz.npy (23×62×N/5, 约7GB)

2.4 数据集特点与挑战

  • 细粒度多类别:9 类情感区分度差异大,相近情感(如 joy/funny、fear/disgust)在 EEG 层面难以区分
  • 跨被试差异显著:不同个体的 EEG 信号存在巨大的个体差异(幅值、频谱特征、空间分布均不同),是跨被试泛化的核心难点
  • 类别不均衡:34 个视频在 9 类情感中的分布并不完全均匀
  • 时序依赖:情感状态具有时间连续性,相邻时间片段的情感标签高度相关

3. 网络架构

3.1 CNN 特征编码器(ConvNet_baseNonlinearHead)

特征编码器采用定制化的多层卷积神经网络,专为 EEG 信号的时空特性设计,通过空间-时间分离卷积策略有效解耦通道间的空间关系和时间域的动态模式。网络结构如下:

操作输入维度输出维度说明
1Stratified LayerNorm(B, 1, 62, T)(B, 1, 62, T)跨被试分层归一化
2Spatial Conv2d(B, 1, 62, T)(B, 16, 1, T)核:(62, 1),学习空间滤波器
3Temporal Conv2d(B, 1, 16, T)(B, 16, 16, T)核:(1, 60),300ms时间窗
4ELU + AvgPool(B, 16, 16, T)(B, 16, 16, T/30)平均池化,降低时间分辨率
5Stratified LayerNorm中间层归一化
6Depthwise Spatial Conv2d(B, 16, 16, T/30)(B, 32, 1, T/30)分组卷积,核:(16, 1)
7Depthwise Temporal Conv2d(B, 32, 1, T/30)(B, 64, 1, T/180)分组卷积,核:(1, 6)
8Stratified LayerNorm深层归一化
9Flatten + Linear Classifier(B, D)(B, 9)256→ReLU→9,联合训练

关键设计:

  • 空间-时间分离卷积:第一层空间卷积(核大小 62×1)跨越全部 EEG 通道进行空间滤波,等价于学习一组自适应的空间滤波器;随后的时间卷积(核大小 1×60,对应 200Hz 下的 300ms 时间窗)在空间滤波后的特征上捕获时间域动态模式。这种分离设计大幅减少了参数量,同时避免了时空特征的相互干扰。

  • 深度可分离卷积:第二组空间-时间卷积采用 groups 参数实现深度可分离卷积(Depthwise Separable Convolution),每个通道独立进行卷积操作后再跨通道融合。spatialConv2(groups=16)和 timeConv2(groups=32)通过因子 multiFact=2 逐层扩展通道数(16→32→64),在控制参数量的同时逐步增强特征表达能力。

  • ELU 激活函数:相比 ReLU,ELU(Exponential Linear Unit)在负值区域具有非零梯度,能够有效缓解"神经元死亡"问题,对 EEG 这类信号幅值可能为负的数据尤为适用。

3.2 分层归一化策略(Stratified Layer Normalization)

这是本方法的核心创新之一。传统 Batch Normalization 使用全局统计量进行归一化,在跨被试场景下,由于不同被试的 EEG 信号分布差异显著,全局统计量会模糊个体差异。

分层归一化的核心思想是:在每个 mini-batch 中,按被试分组进行独立归一化

x ^ s = x s − μ s σ s + ϵ , μ s = 1 N s ∑ i ∈ S x i , σ s = 1 N s ∑ i ∈ S ( x i − μ s ) 2 \hat{x}_{s} = \frac{x_s - \mu_s}{\sigma_s + \epsilon}, \quad \mu_s = \frac{1}{N_s}\sum_{i \in S} x_i, \quad \sigma_s = \sqrt{\frac{1}{N_s}\sum_{i \in S}(x_i - \mu_s)^2} x^s=σs+ϵxsμs,μs=Ns1iSxi,σs=Ns1iS(xiμs)2

其中 (S) 表示属于同一被试的样本集合。该策略在网络的三个关键位置部署:

  • 输入层(initial):消除原始 EEG 信号的被试间幅值差异
  • 第一组卷积后(middle1):对齐中间特征的分布
  • 第二组卷积后(middle2):确保高层语义特征的被试无关性

这种多层级的分层归一化形成了一个渐进式的跨被试域对齐机制,从浅层的信号级对齐逐步过渡到深层的语义级对齐。

3.3 双曲空间对比学习

3.3.1 跨被试对比采样策略

对比学习的关键在于正负样本对的构造。本方法提出了跨被试对比采样策略(Cross-Subject Contrastive Sampling):

  • 正样本对:选取两个不同被试观看同一视频(同一情感刺激)时的 EEG 片段
  • 负样本对:同一 batch 中不满足正样本条件的所有其他样本对

这种采样策略的动机在于:相同情感刺激下,不同被试应产生相似的情感状态表征,因此将跨被试同视频的样本拉近,不同视频的样本推远,能够迫使编码器学习到被试无关的情感语义特征

每个 batch 从34个视频中各采样若干时间片段(默认 batch_size=28),并为所有被试对((\binom{N_{train}}{2}) 组合)生成对比样本。

3.3.2 庞加莱球嵌入与双曲距离

本方法将对比学习从欧几里得空间扩展至庞加莱球模型(Poincaré Ball Model),这是整个框架的核心创新

动机:情感状态天然具有层次结构(如"积极-消极"的二元划分可进一步细分为"快乐"、"惊喜"等具体情感),双曲空间的体积随半径呈指数增长,天然适合表示这种树形/层次结构,而欧几里得空间的体积仅呈多项式增长。

具体实现:

  1. L2 归一化:将 CNN 编码器的输出特征 (z) 进行 L2 归一化
  2. 指数映射(Exponential Map):将归一化后的特征从欧几里得切空间映射到庞加莱球:
    exp 0 c ( v ) = tanh ⁡ ( c ⋅ ∥ v ∥ ) v c ⋅ ∥ v ∥ \text{exp}_0^c(v) = \tanh\left(\sqrt{c} \cdot \|v\|\right) \frac{v}{\sqrt{c} \cdot \|v\|} exp0c(v)=tanh(c v)c vv

其中 (c) 是庞加莱球的曲率参数(默认 (c=0.1))。

  1. 双曲距离:在庞加莱球中计算样本对的距离:
    d B c n ( x , y ) = 1 c arcosh ( 1 + 2 c ∥ x − y ∥ 2 ( 1 − c ∥ x ∥ 2 ) ( 1 − c ∥ y ∥ 2 ) ) d_{\mathbb{B}^n_c}(x, y) = \frac{1}{\sqrt{c}} \text{arcosh}\left(1 + \frac{2c\|x - y\|^2}{(1 - c\|x\|^2)(1 - c\|y\|^2)}\right) dBcn(x,y)=c 1arcosh(1+(1cx2)(1cy2)2cxy2)

  2. InfoNCE 损失:基于双曲距离构造对比损失:
    L c s = − log ⁡ exp ⁡ ( − d ( z i , z j + ) / τ ) ∑ k ≠ i exp ⁡ ( − d ( z i , z k ) / τ ) \mathcal{L}_{cs} = -\log \frac{\exp(-d(z_i, z_j^+) / \tau)}{\sum_{k \neq i} \exp(-d(z_i, z_k) / \tau)} Lcs=logk=iexp(d(zi,zk)/τ)exp(d(zi,zj+)/τ)

其中 (\tau = 0.07) 为温度参数。负距离越大意味着相似度越高。

3.3.3 联合训练损失

预训练阶段采用对比损失与分类损失的联合优化:

L = L c s + λ ⋅ L c e \mathcal{L} = \mathcal{L}_{cs} + \lambda \cdot \mathcal{L}_{ce} L=Lcs+λLce

其中 (\mathcal{L}{cs}) 为双曲空间 InfoNCE 对比损失,(\mathcal{L}{ce}) 为交叉熵分类损失,(\lambda = 0.1) 为平衡系数。分类损失通过 CNN 末端的线性分类头(256→ReLU→9)计算,引导编码器在学习被试无关表征的同时保持情感判别能力。

优化策略:采用 Adam 优化器(lr=0.0007, weight_decay=0.015),配合 CosineAnnealingWarmRestarts 学习率调度器(T₀=26, 对应 80 epochs / 3 次重启),训练 80 个 epoch,早停容忍度为 30 个 epoch。

3.4 微分熵(DE)特征提取

预训练完成后,利用 CNN 编码器的中间层输出(第一组时间卷积后的特征图,形状为 16×16×T’)计算微分熵特征:

DE = 1 2 log ⁡ ( 2 π e ⋅ σ 2 ) \text{DE} = \frac{1}{2} \log(2\pi e \cdot \sigma^2) DE=21log(2πeσ2)

其中 (\sigma^2) 为特征图沿时间维度的方差。每个时间段得到 16×16 = 256 维的 DE 特征向量。

DE 特征相比原始 CNN 输出具有以下优势:

  • 物理可解释性:DE 与 EEG 频段的功率谱密度直接相关,已被广泛证明是情感识别的有效特征
  • 降维效果:将高维时间序列压缩为紧凑的统计量
  • 鲁棒性:基于方差的统计量对瞬时噪声具有天然的抗干扰能力

3.5 Running Normalization

提取的 DE 特征在不同被试和不同时间段之间仍存在分布偏移。本方法提出了预加权 Running Normalization 策略进行自适应域对齐:

μ ^ t = α t ⋅ μ t r a i n + ( 1 − α t ) ⋅ x ˉ t , α t = α 0 ⋅ r t \hat{\mu}_t = \alpha_t \cdot \mu_{train} + (1 - \alpha_t) \cdot \bar{x}_t, \quad \alpha_t = \alpha_0 \cdot r^t μ^t=αtμtrain+(1αt)xˉt,αt=α0rt

其中 (\mu_{train}) 为训练集统计量,(\bar{x}_t) 为实时运行均值,(\alpha_0 = 1.0),衰减率 (r = 0.990)。

该策略的核心思想是:在数据序列的初始阶段,更多依赖训练集的先验统计量;随着观测数据的积累,逐步过渡到实时统计量。这模拟了一个从"先验知识"到"在线自适应"的渐进过程,有效缓解了跨被试的协变量偏移问题。

3.6 LDS(线性动态系统)平滑

Running Normalization 后的特征通过卡尔曼滤波器进行时间维度平滑,消除噪声和瞬时波动:

P t = A ⋅ V t − 1 ⋅ A + T K t = P t ⋅ C C ⋅ P t ⋅ C + σ u t = A ⋅ u t − 1 + K t ⋅ ( x t − C ⋅ A ⋅ u t − 1 ) V t = ( 1 − K t ⋅ C ) ⋅ P t \begin{aligned} P_{t} &= A \cdot V_{t-1} \cdot A + T \\ K_t &= \frac{P_t \cdot C}{C \cdot P_t \cdot C + \sigma} \\ u_t &= A \cdot u_{t-1} + K_t \cdot (x_t - C \cdot A \cdot u_{t-1}) \\ V_t &= (1 - K_t \cdot C) \cdot P_t \end{aligned} PtKtutVt=AVt1A+T=CPtC+σPtC=Aut1+Kt(xtCAut1)=(1KtC)Pt

其中 (A=1, C=1, T=0.0001, \sigma=1) 为系统参数。LDS 平滑后的特征 (u_t) 保留了时间趋势信息,同时滤除了高频噪声。

3.7 MLP 分类器(simpleNN4)

最终分类采用带有 BatchNorm 和 Dropout 的四层 MLP:

输入 (256) → Linear(256, 30) → BatchNorm1d → ReLU → Dropout(0.2)
          → Linear(30, 30)  → BatchNorm1d → ReLU → Dropout(0.2)
          → Linear(30, 9)   → Softmax → 9类情感标签

分类器采用 LOSO(Leave-One-Subject-Out)评估协议,每次以一个被试作为验证集,其余被试作为训练集,共进行 23 折交叉验证。训练使用 Adam 优化器(lr=0.0005, weight_decay=0.025),StepLR 学习率调度,最多 100 个 epoch,早停容忍度 30。


4. 创新点总结

创新点描述效果
双曲空间对比学习将对比学习从欧几里得空间迁移至庞加莱球双曲流形利用双曲空间的层次建模能力捕获情感状态的语义层次结构
跨被试对比采样以"不同被试-同一视频"构造正样本对迫使编码器学习被试无关的情感表征
分层归一化(SLN)在网络三个关键位置按被试分组归一化形成渐进式的跨被试域对齐机制,从信号级到语义级逐步消除个体差异
联合训练损失对比损失 + 分类损失联合优化在学习通用表征的同时保持任务判别性
预加权 Running Normalization指数衰减融合先验统计量与在线统计量实现从先验知识到在线自适应的平滑过渡
CNN-DE 特征管线CNN 中间层提取 DE 特征 + LDS 平滑兼具深度学习的表达能力和传统 DE 特征的物理可解释性

5. 实验结果

5.1 实验设置

项目配置
数据集MPED(Multi-modal Physiological Emotion Database)
被试数23
EEG 通道数62
采样率200 Hz(从 1000 Hz 降采样)
情感类别9 类(joy, funny, anger, fear, disgust, sadness, neutrality, surprise, tenderness)
视频刺激34 个情感诱导视频片段
评估协议LOSO(Leave-One-Subject-Out),23 折交叉验证
预训练4-fold CV,每折 80 epochs
分类训练每折最多 100 epochs,早停容忍度 30
曲率参数(c = 0.1)

5.2 LOSO 9 分类结果

指标数值
平均验证准确率39.395% ± 6.898%
平均验证损失2.076 ± 0.653
随机基线11.11%(1/9)
相对随机基线提升+254.6%

5.3 结果分析

  1. 显著超越随机基线:9 分类任务下,模型准确率(39.4%)约为随机猜测水平(11.1%)的 3.5 倍,表明模型成功学习到了具有判别性的跨被试情感表征。

  2. 任务难度考量:9 类细粒度情感识别是极具挑战性的任务。相邻情感类别(如 joy 与 funny、fear 与 disgust)在 EEG 层面的区分度有限,混淆在所难免。模型在此高难度任务上的表现验证了双曲空间对比学习在 EEG 情感识别领域的有效性。

  • 该方法具有良好的鲁棒性泛化能力
  • 双曲空间对比学习确实能有效捕获细粒度的情感区分信息
  • 分层归一化策略在被试数量变化时仍能保持稳定的跨域对齐效果

5.4 方法优势

  • 端到端学习:从原始 EEG 信号到情感类别的完整管线,无需手工设计频域滤波器
  • 跨被试泛化:LOSO 评估下的稳定表现证明了模型的跨被试泛化能力
  • 双曲空间的优势:相比欧几里得空间,庞加莱球嵌入在低维空间中能更好地保持层次结构信息,这对具有层次语义关系的情感分类尤为关键
  • 轻量级分类器:最终分类器仅为三层 MLP(总参数量极少),表明预训练阶段已提取了高质量的情感表征
  • 极低的硬件门槛:整个模型极其轻量(详见下文),普通笔记本电脑即可完成全流程训练与推理,无需高端 GPU 集群
  • 完备的中文代码注释:全部核心代码(模型定义、对比学习、数据加载、特征提取、归一化、平滑、分类等 10 个关键文件)均配有详细的中文注释,涵盖模块功能说明、算法原理阐述、数学公式对应、关键设计意图解释等,显著降低了代码阅读和二次开发的门槛,便于中文科研社区快速理解与复现

5.5 轻量化特性与硬件需求

本方法的一个显著实用优势是极低的计算资源需求,使其具备在普通消费级硬件上完整运行的能力。

模型轻量化体现:

指标本方法典型视觉模型 (参考)
CNN 编码器参数量≈ 2.6MResNet-50: 25.6M
MLP 分类器参数量≈ 10K
单样本输入大小1×62×1000 (≈0.24MB)3×224×224 (≈0.59MB)
训练显存占用≈ 1 GB8–16 GB
GPU 利用率≈ 40%90%+

低资源需求的根本原因:

  1. 一维信号处理:EEG 本质是一维时间序列(62 通道×时间),数据维度远低于图像(H×W×3)或视频,卷积运算量天然较小
  2. 深度可分离卷积groups 参数将卷积分解为逐通道独立操作,参数量和 FLOPs 均大幅降低(相比标准卷积减少约 n_filters 倍)
  3. 小批量对比学习:跨被试采样策略每次仅需 2×28=56 个样本,无需大 batch 即可构造有效的正负样本对
  4. 两阶段设计:重型 CNN 仅在预训练阶段使用,分类阶段的 MLP 仅有约 10K 参数,推理几乎无开销

实测硬件需求:

硬件配置可行性
具有独立 GPU 的笔记本(≥2GB 显存)可完整训练,预训练约数小时
仅 CPU 的笔记本(≥16GB 内存)可运行但较慢,预训练约需 1–2 天
高端 GPU 工作站全流程约 1–2 小时

这一特性使得本方法特别适合:

  • 资源受限的科研实验室快速验证想法
  • 教学场景中学生在个人电脑上复现实验
  • 边缘设备上的在线情感识别应用探索

6. 模型参数量

模块参数量估算
Spatial Conv (1→16, 62×1)992 + 16 = 1,008
Temporal Conv (1→16, 1×60)960 + 16 = 976
Depthwise Spatial Conv (16→32, 16×1, groups=16)512 + 32 = 544
Depthwise Temporal Conv (32→64, 1×6, groups=32)192 + 64 = 256
Classifier (D→256→9)≈ 2.6M + 2,313
CNN 编码器总计≈ 2.6M
MLP 分类器 (256→30→30→9)7,680 + 930 + 900 + 270 + 30 + 30 + 9 = ≈ 10K

7. 源码截图

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐