当前位置: 首页 > 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;包括…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...