ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

EEG-Conformer 三数据集实战:BCI 2a、BCI 2b 与 SEED 的完整训练指南

EEG-Conformer 三数据集实战:BCI 2a、BCI 2b 与 SEED 的完整训练指南 EEG-Conformer 三数据集实战BCI 2a、BCI 2b 与 SEED 的完整训练指南【免费下载链接】EEG-Conformer[TNSRE 23] EEG Transformer 2.0. i. Convolutional Transformer for EEG Decoding. ii. Novel visualization - Class Activation Topography.项目地址: https://gitcode.com/gh_mirrors/ee/EEG-ConformerEEG-Conformer是一个基于卷积 Transformer的脑电EEG解码开源项目在 IEEE TNSRE 2023 论文中发布用紧凑的架构同时捕捉脑电信号的局部与全局特征。本篇完整训练指南面向新手手把手带你跑通BCI 2a、BCI 2b 与 SEED 三个经典数据集的预处理、训练与可视化全流程并附上官方最优精度参考。一、EEG-Conformer 是什么核心优势一图看懂传统 CNN 擅长提取脑电的局部时空特征Transformer 擅长建模全局依赖而 EEG-Conformer 把两者缝合在同一个轻量框架里先用时间卷积 空间卷积 平均池化提取局部特征再送入N 层自注意力编码器捕捉全局相关性最后通过全连接分类头输出类别。从架构图可以看到模型分三大模块卷积模块对原始 EEG 做时间卷积、空间卷积和池化相当于 ViT 中的 Patch EmbeddingTransformer 编码器堆叠 N 层自注意力 前馈网络用残差连接稳定训练分类头全局平均池化 全连接层输出最终类别。核心模型定义集中在 conformer.py其中Conformer类把三个模块串联起来改动非常直观。二、三个数据集怎么选官方精度速览项目作者在三数据集上都给出了 hold-out 或 5 折交叉验证的参考精度新手可以直接拿来做复现对比数据集任务参考精度说明BCI Competition IV 2a4 分类运动想象9 名被试78.66%hold-out 测试BCI Competition IV 2b2 分类运动想象9 名被试84.63%hold-out 测试SEED3 分类情绪识别15 名被试95.30%严格 5 折交叉验证BCI 2a22 通道、250 Hz四类左右手/双脚/舌头想象任务是运动想象最常用的基准BCI 2b3 通道、250 Hz二分类左右手通道少但信噪比更低SEED62 通道、200 Hz情绪三分类负性/中性/正性属于情绪脑电领域的热门基准。三、环境准备一键复现的最小配置项目依赖非常精简官方推荐环境如下Python 3.10PyTorch 1.12einops、scipy、matplotlib、sklearn训练必需MNE仅可视化脑地形图时需要git clone https://gitcode.com/gh_mirrors/ee/EEG-Conformer cd EEG-Conformer pip install torch1.12 einops scipy matplotlib scikit-learn mne 提示三个训练脚本都通过gpus变量指定显卡编号多卡环境请按需修改脚本开头的gpus [0]。四、数据预处理从原始 GDF 到 mat 文件训练脚本读取的是已经切分好的.mat文件形状为trial × 1 × 通道 × 采样点因此第一步是用 MATLAB 预处理原始数据仓库提供了三个现成脚本BCIIV2a.m解析 2a 的 GDF 文件按事件类型768切出 1000 采样点4 秒的 trial并做 4–40 Hz 带通滤波BCIIV2b.m2b 数据同样处理保存为B0xxT.mat/B0xxE.matseed.m读取 SEED 原始 EEG按 4–47 Hz 带通滤波 逐 trial 标准化输出S_会话_试次.mat文件。SEED 额外需要 seed_file 下的namefile_list.mat、short_name.mat、label.mat三个辅助文件脚本会自动加载。⚠️ 记得把脚本里的磁盘路径如D:\MI\...、/Datasets/SEED/...改成你自己的数据存放路径。五、BCI 2a 训练9 名被试逐个跑运行 conformer.py 即可开始 2a 训练python conformer.py脚本默认遍历 9 名被试main函数中for i in range(9)每个被试单独训练关键配置在ExP类中batch size 72最多 2000 个 epoch学习率 2e-4Adam输入尺寸(1, 22, 1000)即 22 通道、1000 采样点内置SRSegmentation and Reconstruction数据增强把 8 段 125 点的片段打乱重组成新样本有效缓解过拟合训练与测试数据来自A0xT.mat训练与A0xE.mat测试加载后做整体标准化。训练过程中每个 epoch 都会打印 train/test 的 loss 与 accuracy结束后每个被试的 log 保存在results/log_subject%d.txt最终模型权重保存为model.pth。论文报告中 9 名被试平均最佳精度 78.66% 即由此脚本产生。六、BCI 2b 训练通道更少的二分类挑战运行 conformer_BCIIV2b.pypython conformer_BCIIV2b.py与 2a 的区别点输入为 3 通道空间卷积核相应调整为(3, 1)分类头输出 2 类Transformer 深度改为 10、注意力头数改为 5训练数据来自 3 个 sessionB0x01T.mat等测试数据来自后 2 个 sessionB0x04E.mat等同样带 SR 增强。官方在 2b 上的平均最佳精度为84.63%可以直观感受通道减少后模型依赖时间特征的能力。七、SEED 训练1 秒窗口 严格 5 折交叉验证运行 conformer_seed_1s_5fold.pypython conformer_seed_1s_5fold.py这是三个脚本中流程最完整的一个输入为62 通道 × 200 采样点1 秒窗口网络在PatchEmbedding中同时实现了 EEGNet 风格与 shallow 风格两条卷积路径对每个被试的每个 session数据被切成 5 折严格按4 折训练 1 折测试循环 5 次避免数据泄漏15 名被试 × 5 折全部跑完后输出 5 折平均与 15 人平均精度官方参考值95.30%。# 输出示意 Subject 1 : 5-fold Best acc is: 0.95xx All subject Best accuracy is: 0.95xx八、结果可视化从脑地形图到类激活地形图除了训练仓库还提供了一套配套的可视化工具位于 visualization 目录CATClass Activation TopographyCAT.py 把 Grad-CAM 的类激活图映射到大脑地形图上直观展示模型看的是哪些脑区这是论文提出的新可视化方法脑地形图topography.py 用 MNE 绘制某类试次的平均脑电拓扑图特征分布tSNE.py 对 Transformer 输出的 token 特征做 t-SNE 降维观察类别可分性通用工具utils.py 提供 GradCAM 与热图叠加函数。需要说明的是CAT 的完整流程class ViT定义与模型路径在论文版代码中略有省略读者可结合训练脚本中的Conformer网络结构自行补齐再配合reshape_transform适配 Transformer 的特征形状。九、新手 FAQ 与避坑建议数据形状对不上怎么办训练脚本期望(trial, 1, channels, samples)预处理脚本已经按此保存若自己切数据务必保持该维度顺序。没有 GPU 能跑吗理论上可以但 2000 epoch 会非常慢建议至少单卡 8GB 显存。精度达不到论文值先检查是否启用了 SR 数据增强、学习率是否为 2e-4、以及训练/测试划分是否与官方一致论文明确建议对比时使用一致的划分。修改路径三个脚本的self.root都要改成你的.mat数据目录否则会报文件找不到。十、总结EEG-Conformer 用一套极简架构在BCI 2a78.66%、BCI 2b84.63%、SEED95.30%三个主流数据集上取得了极具竞争力的精度代码结构清晰、依赖极少非常适合作为入门卷积 Transformer脑电解码的实战项目。按照本文的顺序——预处理、2a 训练、2b 训练、SEED 5 折、可视化——一步步跑下来你就能完整复现论文结果并掌握 EEG 深度学习的标准流程。现在就去 clone 仓库开始你的第一次训练吧【免费下载链接】EEG-Conformer[TNSRE 23] EEG Transformer 2.0. i. Convolutional Transformer for EEG Decoding. ii. Novel visualization - Class Activation Topography.项目地址: https://gitcode.com/gh_mirrors/ee/EEG-Conformer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表