论文阅读 EEG-Inception
EEG-Inception: A Novel Deep Convolutional Neural Network for Assistive ERP-Based Brain-Computer Interfaces
EEG-Inception是第一个集成Inception模块进行ERP检测的模型,它有效地结合了轻型架构中的其他结构,提高了我们方法的性能。
本研究的主要目标是设计,开发和测试一种新的CNN,以提高基于ERP的拼写器的准确性和校准时间。利用数据集,我们设计了一个新的训练策略,使用跨学科迁移学习和微调,以减少测试科目所需的校准时间(校准时间长,难)。最后,我们与最成功的基于ERP的拼写之前的方法提供了一个直接和公平的比较。
Noteworthy, most studies do not evaluate novel classification algorithms with severely disabled subjects, the end users of these systems. 得注意的是,大多数研究都没有对严重残疾受试者(这些系统的最终用户)的新型分类算法进行评估。
应该指出的是,据我们所知,之前的研究未能在运动障碍受试者身上测试他们的深度学习模型。这些症状在个体之间,甚至在患有相同疾病的个体之间都存在很大差异,这使得严重残疾的受试者尤其具有异质性,对ERP检测具有挑战性。因此,需要对这一群体进行综合评估,以评估辅助BCI应用新模型的性能。(跨被试)
1.模型结构
1.1预处理
简单的预处理管道。首先,信号被抽取到128 Hz,以降低模型的计算成本。在0.5到45 Hz之间应用带通滤波器,保留最具鉴别性的信息,并消除50 Hz的电力线频率(工频滤波)。还应用了通用平均参考(CAR)空间滤波器来提高ERP的信噪比。最后,从刺激开始后的0到1000ms提取epoch。
因此,模型输入是一个形状为128×8的数组,第一个维度是时间轴(即样本),而第二个维度对应于空间轴。(每个通道提取1秒的epoch,内有128个数据128Hz)
应该注意的是,每个卷积块(即2D卷积和深度2D卷积)都包括用于归一化特征图的批归一化、用于引入非线性的激活函数[29]和用于防止过拟合的丢弃正则化。

图1 卷积层、BN层、激活函数、dropout
bn层在卷积和池化之间 丢弃层要在激活之后, bn层要在激活之前。
1.2 EEG Inception的架构

1.2.1 block 1
该模块根据卷积块C1、C2和C3(提取时间特征)的核大小,分别为64×1、32×1和16×1,对每个EEG通道的3个不同时间尺度的信号进行处理。因此,由于输入的采样率为128Hz,这些大小对应于500ms、250ms和125ms的时间窗口。
在这些层之后,D1、D2和D3(提取空间特征)使用深度卷积在空间域中处理信号。深度卷积首先用于图像分类领域,通过分别作用于每个输入通道,将卷积核分解为更小的核,从而减少了参数的总量。当应用于EEG处理时,它们提供了一种方法来学习前一层提取的每个时间模式的最佳空间滤波器(即通道权重)。然后,级联层N1合并来自D1、D2和D3的输出特征。最后,对d应用平均池。
总结:第一个block交叉提取时间、空间特征信息,顺序为:
交叉使用的作用:充分利用了时间卷积的same填充的方式,能够多次提取有价值的空间特征
1、先时间卷积:时间卷积核(A,1)的设计与采样率密切相关(核为采样率128的几分之几,则时间尺寸为整个时间尺寸的几分之几,例:卷积核设计为(64,1),则在500ms的尺寸上提取特征;卷积核设计为(32,1),则在250ms的尺寸上提取特征;卷积核设计为(16,1),则在125ms的尺寸上提取特征)
2、后空间卷积:EEG - Inception在block1中多次提取,空间卷积核大小(1,B)=Channel等于通道数=8

Block - 1解析:
对8个通道,1000ms(对应128个数据点 )的数据逐级提取特征
1. 先进行时间维度处理,后进行空间维度处理。
2. 时间卷积和空间卷积堆叠使用。
3. 时间卷积核提取3个不同时间尺寸(500ms、250ms、125ms,分别对应卷积核大小为64、32、16 )长度的特征,空间卷积核大小都是8(等于通道数channel)。
4. 时间卷积的填充方式padding=same,空间卷积的填充方式padding=valid。
5. 滤波器: - 3层时间卷积的滤波器数量都是8(这里推测与原始EEG通道有关,设计滤波器时可作参考)。 - 3层深度卷积深度都是2,将前一层的Conv2D滤波器数量乘以2倍。
6. 时间卷积Conv2D 的构成 = torch.nn.Conv2d+批量归一化BN+修正线性单元RELU+随机失活Drop 。
7. N1将三个空间卷积的输出合并,此时输出维度为·128*1*48(每层空间卷积输出维度为128*1*16) 。
8. 平均二维池化:用于降维,池化核大小为4*1 ,这与下一个block的时间卷积核大小设置相关。如果下一个block要提取时间特征(提取空间特征的核大小保持不变),那么提取相同时长特征的卷积核大小会缩小为原来的四分之一(呈负相关关系)。
1.2.2 block 2
该模块与前一个模块组织一致。它由3个分支组成,在500ms、250ms和125ms的3个时间尺度上处理EEG信号。
注意的是,在第一个块的平均池化层之后,这些尺度对应于16×1、8×1和4×1的核大小。该模块在更高层次的抽象中提取额外的时间特征,考虑所有EEG通道。如前所述,卷积块C4、C5和C6的输出被级联。然后,还应用了用于降维的平均池。

Block - 2解析:
一、三个时间卷积(C4、C5、C6 )采用堆叠的方式,在更高层次、更抽象的层面上,提取500ms、250ms、125ms这三个时间尺度下额外且更精细化的时间信息。由于上一个block的平均池化核大小为4*1,所以这三层卷积的卷积核大小相较于block - 1的三个时间卷积核,分别除以4。
二、卷积填充方式为same,滤波器数量F=8(等于通道数channel),卷积核大小分别为16*1、8*1、4*1 ,每层卷积输出的shape相同,均为32*1*8 。
三、经过N1操作,合并三次时间特征信息后,输出的shape为32*1*24 。
四、进行池化操作,池化核大小为2*1(依旧是偶数,按倍数增减),池化后输出的shape变为16*1*24 。
1.2.3 block 3
最后两个卷积层被设计用于提取最有意义的模式以进行最终分类,将信息压缩成几个特征。值得注意的是,过滤器的数量逐渐减少,这与平均池化层一起降低了维度,以避免过拟合。事实上,只有24个特征被馈送到最终的分类层。最后,softmax输出估计每个类别(目标和非目标)的概率[26]。
该模型使用以下配置进行训练:Adam优化器,默认超参数β1=0.9和β2=0.999[38];分类交叉熵损失函数[39];小批量1024;500个时代。为了加快训练速度并避免过拟合,当验证集的损失在连续10个周期内没有改善时,我们应用了早期停止[29],恢复了最小化该指标的权重。
深度学习模型中超参数的选择对于实现这一目标至关重要。

Block-3解析:
1. 运用2层二维卷积,提取最具价值的特征用于分类。(此处并非提取时间和空间特征,而是在已提取的特征中筛选出有利于分类的特征,纯粹是特征提取操作,与时间、空间相关性无关) 两个卷积核大小分别为8*1和4*1。
2. 二维卷积和二维池化交叉使用,两层池化的核大小均为2*1,起到进一步降低维度的作用。 3. 两层卷积的滤波器数量分别为F = 12、F = 6,F值逐渐减小,这和池化一样能实现降维效果,还可避免过拟合。此前滤波器数量F一直为8,整体来看就经历了8 - 12 - 6这样的变化,符合滤波器倒瓶颈的先进结构。
2.论文复现
相关文章:
论文阅读 EEG-Inception
EEG-Inception: A Novel Deep Convolutional Neural Network for Assistive ERP-Based Brain-Computer Interfaces EEG-Inception是第一个集成Inception模块进行ERP检测的模型,它有效地结合了轻型架构中的其他结构,提高了我们方法的性能。 本研究的主要目…...
基于opencv消除图片马赛克
以下是一个基于Python的图片马赛克消除函数实现,结合了图像处理和深度学习方法。由于马赛克消除涉及复杂的图像重建任务,建议根据实际需求选择合适的方法: import cv2 import numpy as np from PIL import Imagedef remove_mosaic(image_pat…...
计算机毕业设计SpringBoot+Vue.js陕西民俗网(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
【算法方法总结·三】滑动窗口的一些技巧和注意事项
【算法方法总结三】滑动窗口的一些技巧和注意事项 【算法方法总结一】二分法的一些技巧和注意事项【算法方法总结二】双指针的一些技巧和注意事项【算法方法总结三】滑动窗口的一些技巧和注意事项 【滑动窗口】 数组的和 随着 右边指针 移动一定是 非递减 的,就是 …...
IO的概念和标准IO函数
作业: 1.使用标准IO函数,实现文件的拷贝 #include <stdio.h>int main(int argc, char *argv[]) {// 检查是否提供了源文件和目标文件if (argc ! 3) {printf("Usage: %s <source_file> <destination_file>\n", argv[0]);re…...
tauri2+typescript+vue+vite+leaflet等的简单联合使用(一)
项目目标 主要的目的是学习tauri。 流程 1、搭建项目 2、简单的在项目使用leaflet 3、打包 准备项目 环境准备 废话不多说,直接开始 需要有准备能运行Rust的环境和Node,对于Rust可以参考下面这位大佬的文章,Node不必细说。 Rust 和…...
【流程图】在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法
在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法,通常涉及 图形绘制 和 路径计算。常见的连线方式包括 直线、折线 和 贝塞尔曲线。以下是几种方法的介绍和示例代码。 1. 直线连接(最简单) 适用场景: 两个节点之间没有障碍…...
IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题
文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek(Ollama方式)2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…...
【流行病学】Melodi-Presto因果关联工具
title: “[流行病学] Melodi Presto因果关联工具” date: 2022-12-08 lastmod: 2022-12-08 draft: false tags: [“流行病学”,“因果关联工具”] toc: true autoCollapseToc: true 阅读介绍 Melodi-Presto: A fast and agile tool to explore semantic triples derived from …...
详细分析KeepAlive的基本知识 并缓存路由(附Demo)
目录 前言1. 基本知识2. Demo2.1 基本2.2 拓展2.3 终极 3. 实战 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本知识推荐阅读:KeepAlive知识点 从实战中学习,源自实战中vue路由的…...
【Go】Go viper 配置模块
1. 配置相关概念 在项目开发过程中,一旦涉及到与第三方中间件打交道就不可避免的需要填写一些配置信息,例如 MySQL 的连接信息、Redis 的连接信息。如果这些配置都采用硬编码的方式无疑是一种不优雅的做法,有以下缺陷: 不同环境…...
zabbix“专家坐诊”第277期问答
在线答疑:乐维社区 问题一 Q:这个怎么解决呢? A:缺少这个依赖。 Q:就一直装不上。 A:装 zabbix-agent2-7.0.0-releasel.el7.x86 64 需要前面提示的那个依赖才可以装。 问题二 Q:大佬,如果agen…...
大模型工程师学习日记(十一):FAISS 高效相似度搜索和密集向量聚类的库
Facebook AI Similarity Search (Faiss /Fez/) 是一个用于高效相似度搜索和密集向量聚类的库。它包含了在任意大小的向量集合中进行搜索的算法,甚至可以处理可能无法完全放入内存的向量集合。它还包含用于评估和参数调整的支持代码。 Faiss 官方文档:We…...
python学习第三天
条件判断 条件判断使用if、elif和else关键字。它们用于根据条件执行不同的代码块。 # 条件判断 age 18 if age < 18:print("你还是个孩子!") elif age 18:print("永远十八岁!") else:print("你还年轻!")…...
深入解析 Svelte:下一代前端框架的革命
深入解析 Svelte:下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架,与 React、Vue 等传统框架不同,它采用 编译时(Compile-time) 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM,而是…...
C++20 中位移位运算符的统一行为:深入解析与实践指南
文章目录 1. 位移位运算符的基础1.1 左移运算符(<<)1.2 右移运算符(>>) 2. C20 对位移位运算符的统一2.1 移位数量超出操作数位宽2.2 负数移位 3. 实践中的注意事项4. 示例代码5. 总结 在 C 的发展历程中,…...
Linux——基本指令
我们今天学习Linux最基础的指令 ls 指令 语法: ls [选项] [⽬录或⽂件] 功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信 息。 命令中的选项,一次可以传递多个 ,…...
MySql面试总结(二)
WHERE 子句优化 截至2024年7月,MySQL最新稳定版本是8.2,并不存在MySQL 8.4 。下面从常见的几个方面为你介绍 MySQL 8.x 中 WHERE 子句的优化方法: 1. 确保使用索引 原理:索引可以加快数据的查找速度,当 WHERE 子句中的条件列有索引时,MySQL 可以直接定位到符合条件的数…...
Pytorch中的主要函数
目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda;torch.bac…...
Java实现大数据量导出报表
一、实现方式 在Java中,导出数据到Excel有多种方式,每种方式都有其优缺点,适用于不同的场景。以下是常见的几种方式及其特点: 1.1 Apache POI Apache POI 是 Java 中最流行的库,支持读写 Excel 文件(包括…...
前端工程化实战:代码规范、兼容性、调试与项目整合
前言学完 HTML 和 CSS 的核心知识后,如何写出规范、可维护、兼容性好的代码,并高效地调试和构建项目,是很多初学者的薄弱环节。本篇整合 代码书写规范、浏览器兼容性处理、Chrome DevTools 调试技巧、项目目录结构 以及 前端学习路径 等实用技…...
2026年计算机专业就业现状,不想35岁被淘汰?网络安全或许是程序员的最佳转型方向!
计算机专业虽进入分化阶段,但网络安全人才缺口达300万,高端领域供不应求。高校扩招与市场需求脱节导致供需失衡,未来"计算机行业"的复合型人才更具竞争力。建议早做规划,构建"T型能力体系",掌握前…...
AI Agent的协作竞争机制:多智能体博弈与协调
AI Agent的协作竞争机制:多智能体博弈与协调 本文面向中级AI算法工程师、软件架构师与AI产品经理,深度解析多智能体系统的核心原理、博弈机制、协调算法与落地实践,帮助读者掌握下一代AI系统的设计方法论。 一、核心概念与问题背景 1.1 核心概念定义 我们首先明确全文的核…...
基于ssm的精准扶贫管理系统(10061)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
FPGA无人机电源设计:集成PMIC方案如何解决多路供电与空间挑战
1. 项目概述与核心挑战最近在做一个由FPGA控制的无人机项目,其中电源管理系统的设计让我感触颇深。无人机这玩意儿,飞控、图传、传感器一个比一个耗电,但留给电源和PCB的空间却极其有限。更头疼的是,主控用上了高性能的FPGA或SoC&…...
别再只看功率了!用LRS-200-24开关电源给电机供电,我踩过的这个坑你得知道
电机供电实战:LRS-200-24电源选型中那些教科书不会告诉你的细节 深夜的厂房里,两台24V直流电机突然像哮喘发作般间歇性抽搐,伴随开关电源指示灯疯狂闪烁——这个场景让现场工程师血压飙升。当教科书上的功率计算公式遭遇真实世界的电机启动电…...
Windows 11终极优化指南:使用Win11Debloat实现专业级系统调校
Windows 11终极优化指南:使用Win11Debloat实现专业级系统调校 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter…...
EEG情感分析入门:如何用DEAP数据集里的脑电波区分‘开心’和‘平静’?
EEG情感分析实战:从DEAP数据集解码快乐与平静的脑电密码 当你听到最喜欢的歌曲时,大脑会产生怎样的电信号变化?神经科学研究表明,不同的情绪状态会在大脑活动中留下独特的"指纹"。本文将带你探索如何利用DEAP数据集中的…...
SAP顾问实战:给MB51报表加供应商名称和原因代码,完整隐式增强教程
SAP顾问实战:MB51报表增强之供应商与原因代码集成指南 在SAP项目实施过程中,业务用户对标准报表的抱怨几乎成为每个顾问的日常。"为什么不能在一个报表里看到所有信息?"——MB51物料凭证清单作为物料移动的核心查询工具,…...
智慧零售技术架构解析:从智能终端到边缘计算,如何重塑购物体验
1. 智慧零售的“科技感”从何而来?最近,一段关于智能购物车的视频火了。视频里,消费者推着一辆看似普通,实则“暗藏玄机”的购物车在超市里穿梭,无需排队,扫码即走,最后在出口处轻松完成支付。这…...

