当前位置: 首页 > news >正文

论文阅读 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函数

作业&#xff1a; 1.使用标准IO函数&#xff0c;实现文件的拷贝 #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、打包 准备项目 环境准备 废话不多说&#xff0c;直接开始 需要有准备能运行Rust的环境和Node&#xff0c;对于Rust可以参考下面这位大佬的文章&#xff0c;Node不必细说。 Rust 和…...

【流程图】在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法

在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法&#xff0c;通常涉及 图形绘制 和 路径计算。常见的连线方式包括 直线、折线 和 贝塞尔曲线。以下是几种方法的介绍和示例代码。 1. 直线连接&#xff08;最简单&#xff09; 适用场景&#xff1a; 两个节点之间没有障碍…...

IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题

文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek&#xff08;Ollama方式&#xff09;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. 实战 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本知识推荐阅读&#xff1a;KeepAlive知识点 从实战中学习&#xff0c;源自实战中vue路由的…...

【Go】Go viper 配置模块

1. 配置相关概念 在项目开发过程中&#xff0c;一旦涉及到与第三方中间件打交道就不可避免的需要填写一些配置信息&#xff0c;例如 MySQL 的连接信息、Redis 的连接信息。如果这些配置都采用硬编码的方式无疑是一种不优雅的做法&#xff0c;有以下缺陷&#xff1a; 不同环境…...

zabbix“专家坐诊”第277期问答

在线答疑:乐维社区 问题一 Q&#xff1a;这个怎么解决呢&#xff1f; A&#xff1a;缺少这个依赖。 Q&#xff1a;就一直装不上。 A&#xff1a;装 zabbix-agent2-7.0.0-releasel.el7.x86 64 需要前面提示的那个依赖才可以装。 问题二 Q&#xff1a;大佬&#xff0c;如果agen…...

大模型工程师学习日记(十一):FAISS 高效相似度搜索和密集向量聚类的库

Facebook AI Similarity Search (Faiss /Fez/) 是一个用于高效相似度搜索和密集向量聚类的库。它包含了在任意大小的向量集合中进行搜索的算法&#xff0c;甚至可以处理可能无法完全放入内存的向量集合。它还包含用于评估和参数调整的支持代码。 Faiss 官方文档&#xff1a;We…...

python学习第三天

条件判断 条件判断使用if、elif和else关键字。它们用于根据条件执行不同的代码块。 # 条件判断 age 18 if age < 18:print("你还是个孩子&#xff01;") elif age 18:print("永远十八岁&#xff01;") else:print("你还年轻&#xff01;")…...

深入解析 Svelte:下一代前端框架的革命

深入解析 Svelte&#xff1a;下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架&#xff0c;与 React、Vue 等传统框架不同&#xff0c;它采用 编译时&#xff08;Compile-time&#xff09; 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM&#xff0c;而是…...

C++20 中位移位运算符的统一行为:深入解析与实践指南

文章目录 1. 位移位运算符的基础1.1 左移运算符&#xff08;<<&#xff09;1.2 右移运算符&#xff08;>>&#xff09; 2. C20 对位移位运算符的统一2.1 移位数量超出操作数位宽2.2 负数移位 3. 实践中的注意事项4. 示例代码5. 总结 在 C 的发展历程中&#xff0c;…...

Linux——基本指令

我们今天学习Linux最基础的指令 ls 指令 语法&#xff1a; ls [选项] [⽬录或⽂件] 功能&#xff1a;对于⽬录&#xff0c;该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件&#xff0c;将列出⽂件名以及其他信 息。 命令中的选项&#xff0c;一次可以传递多个 &#xff0c…...

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&#xff1b;torch.bac…...

Java实现大数据量导出报表

一、实现方式 在Java中&#xff0c;导出数据到Excel有多种方式&#xff0c;每种方式都有其优缺点&#xff0c;适用于不同的场景。以下是常见的几种方式及其特点&#xff1a; 1.1 Apache POI Apache POI 是 Java 中最流行的库&#xff0c;支持读写 Excel 文件&#xff08;包括…...

低门槛AI视频生成新选择:opensora-hpcai本地部署与优化指南

低门槛AI视频生成新选择&#xff1a;opensora-hpcai本地部署与优化指南 【免费下载链接】opensora-hpcai-1_0_ms MindSpore implementation of OpenSora, an open-source project that aims to foster innovation, creativity, and inclusivity within the field of content cr…...

从科研到工程:为什么我选择用ROS2重构Apollo/autoware的规控算法?

从科研到工程&#xff1a;为什么我选择用ROS2重构Apollo/autoware的规控算法&#xff1f; 在自动驾驶领域&#xff0c;从实验室原型到量产系统的跨越&#xff0c;往往伴随着技术栈的全面升级。三年前&#xff0c;当我第一次将Apollo的规划控制模块移植到ROS1环境时&#xff0c;…...

MozJPEG色彩空间扩展终极指南:支持RGBX、BGRX等32位格式的完整教程

MozJPEG色彩空间扩展终极指南&#xff1a;支持RGBX、BGRX等32位格式的完整教程 【免费下载链接】mozjpeg Improved JPEG encoder. 项目地址: https://gitcode.com/gh_mirrors/mo/mozjpeg MozJPEG作为libjpeg-turbo的增强版本&#xff0c;不仅提供了卓越的JPEG压缩性能&a…...

MAX30102传感器寄存器深度解析与实战配置指南

1. MAX30102传感器核心功能解析 MAX30102是一款集成了红光和红外光LED的光学传感器&#xff0c;专门用于非侵入式心率监测和血氧饱和度(SpO2)测量。这个火柴盒大小的芯片内部藏着精密的模拟前端和数字信号处理单元&#xff0c;能够捕捉到人体脉搏带来的微弱光信号变化。 我第一…...

Notepad4:轻量级编辑器的技术突破与实用指南

Notepad4&#xff1a;轻量级编辑器的技术突破与实用指南 【免费下载链接】notepad2 Notepad2-zufuliu is a light-weight Scintilla based text editor for Windows with syntax highlighting, code folding, auto-completion and API list for many programming languages and…...

试盘Z之主力操盘线

试盘K&#xff0c;以满足特定条件后对该K线标注为试盘字样方便查看。同时通达对9日最低值与9日最高值进行EMA移动平均&#xff0c;得出主力操盘线&#xff01;试盘Z源码:X_1:REF(EMA((HLC)/3,9),1);X_2:EMA(HHV(HIGH,9),3);X_3:EMA(LLV(LOW,9),3);主力操盘线:EMA(X_1*2-X_3,5),…...

Qwen3交互界面开发:利用JavaScript实现网页端字幕编辑器

Qwen3交互界面开发&#xff1a;利用JavaScript实现网页端字幕编辑器 1. 引言 做视频的朋友们&#xff0c;不知道你们有没有过这样的经历&#xff1a;用AI工具生成了视频字幕&#xff0c;时间轴对得总差那么一点&#xff0c;要么是话还没说完字幕就跳了&#xff0c;要么是沉默…...

TurboWarp Packager:让Scratch作品突破平台限制的跨平台打包工具

TurboWarp Packager&#xff1a;让Scratch作品突破平台限制的跨平台打包工具 【免费下载链接】packager Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. 项目地址: https://gitcode.com/gh_mirrors/pack/…...

C++ vcpkg:安装、使用、原理与选型

C vcpkg&#xff1a;安装、使用、原理与选型 vcpkg 是微软与社区维护的开源 C/C 包管理器&#xff0c;目标是统一第三方库的获取、构建与集成流程。它支持 Windows / Linux / macOS&#xff0c;并与 CMake、Visual Studio 等工具链深度协作。本文覆盖&#xff1a;是什么、如何…...

MinerU 2.5-1.2B新手教程:无需深度学习基础,快速上手PDF提取

MinerU 2.5-1.2B新手教程&#xff1a;无需深度学习基础&#xff0c;快速上手PDF提取 1. 引言&#xff1a;为什么选择MinerU&#xff1f; PDF文档是我们日常工作和学习中常见的文件格式&#xff0c;但要从PDF中提取内容却常常让人头疼。特别是遇到学术论文、技术报告这类包含复…...