63、上海大学:MSConvNet-多尺度卷积神经网络解码大鼠运动疲劳数据[攒劲的模型来喽]

1、介绍:

文章:<A multiscale convolutional neural network based on time-frequency 
features for decoding rat exercise fatigue LFP >,本文由上海大学于2024.4.8日发表于<Biomedical Signal Processing and Control >IF:5.1\JCR:Q1

作者:Guofu Zhang , Banghua Yang *, Xin Dong , Jun Ma ,Peng Zan , Xinxing Xia 

单位:School of Mechatronic Engineering and Automation, Shanghai University, Shanghai, China b School of Medicine, Shanghai University, Shanghai, China 

杨老师及其团队还是强,几乎成了这个一区文章的常客了,在脑机接口领域没有专门的顶刊,这个期刊可以说是BCI的顶刊了,无论是权威性还是含金量都是很高的,之前讲过的这个期刊文章是EEGNex,我拿了两篇博客来讲这个模型,本次我也是边看此文边写本篇博客,看看本创新模型会给我们带来哪些启发呢。

2、实验方法:

看论文我看的多了,一般直接看模型再看其他,比如数据、结论等,在这把实验方法简要介绍一下:

1、设计大鼠运动疲劳的实验范式

2、将LFP(局部场电位)记录电极植入大鼠大脑的M1和M2区域,获得运动疲劳前后静息状态下的LFP

3、对LFP数据进行预处理、功率谱和统计分析

4、根据LFP数据特征设计MSConvNet模型,对运动疲劳前后的LFP进行分类

5、使用一些指标和可视化方法来证明此模型的有效性

3、MSConvNet :

这里,做大鼠实验的可以学习一下本实验在做大鼠疲劳是如何做的,需要关注的是:
1、大鼠麻醉气体、麻醉时间、深度麻醉时间

2、电极植入手术钻头长度、气体麻醉浓度的保持范围

3、手术过程中减少大鼠出血的方法

4、左侧M1、M2;右侧M1、M2精确的电极植入距离(mm)

5、电极固定方法、术后预防炎症方法

6、术后恢复时间(天)

7、LFP记录时间(minutes)

数据处理方法:

1、0.5–100 Hz带通滤波+50 Hz陷波滤波,排除工频干扰

2、通过视屏筛选保留600个LFP样本数据

3、对LFP五个频带(Delta、Theta、Alpha、Beta、Gamma)分别提取PSD特征用于模型计算

模型搭建:

前提:鉴于之前的研究:大鼠运动疲劳后,ECoG的Theta、Alpha和Beta波段的功率谱降低,在频域上表现出显著特征。有鉴于此,为了使模型学习更多的时间特征和频率特征,本文提出了一种多尺度CNN,MSConvNet,用于通过设置不同长度的滤波器来提取疲劳前和疲劳后LFP的时间和多频带特征

MSConvNet

本模型一共三个Module,分别是:

 1、Temporal Feature Module(时间特征模块)

 2、Narrow Frequency Feature Module(窄频特征模块)

3、Wide Frequency Feature Module(宽频特征模块)

看到这里,跟着我学习的同学会想到EEGNet,对的,本模型也是在已有的EEGNet等sota模型上总结出的一些规律进行设计的,按照Block进行设计搭建,但是上述每个Module中还包含4个小的block,所以本模型总共12个block,下面跟随我的步伐咱们对每个模块细细的解读。

 1、Temporal Feature Module

咱们来看第一个大的Block,它里面有4个小的ConvPoolBlock,其中:

ConvPoolBlock1:

Conv2d:kernel_size=1*10,filter=25,padding='same'

Conv2d:kernel_size=4*1,filter=25,padding='valid'

BN+ELU

MaxPooling:kernel_size=1*3,stride=1*3

Dropout:p=0.25

这里我直接说我们可以得到哪些经验,看了这么多论文模型,其实都差不多的规律(好好看,好好学,都是重点,别怪我没提醒你哦):

1、先时间卷积后空间卷积,效果最好

2、凡是时间卷积核padding都是same,空间卷积都是valid,两者stride都是1

3、时间卷积核要小,但其设计也需要参考采样率以及采集的时间点,比如这里是1*10的卷积核,采样率是1000Hz,那就是在10ms的时间尺度上提取时间特征。

4、该模型时间空间卷积堆叠再激活,中间没其他东西

5、卷积+BN+激活函数这顺序不能乱

6、丢弃层放在BN和激活之后,一般放在池化之后,不跨被试丢弃率p=0.25,跨被试p=0.5

7、池化的k和s也需要根据采样率设计

8、这个皮层电图(ECoG)数据它的输入这里显示的是1,4,1000,其实完整的是(batch_size,1,C,T)也是原本的3维数据扩了一维度1,作为模型新的输入通道,这种数据以及完全侵入式的Spikes的数据,只要是输入到卷积模型中,都是这种4维输入!!!


ConvPoolBlock2:

Conv2d:k=1*10,f=50

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock3:

Conv2d:k=1*10,f=100

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock4:

Conv2d:k=1*10,f=32

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


总结:

时间特征提取模块,一共4个小的block,每个block都有一层二维时间卷积来提取不同的时间尺度特征,最重要的是ConvPoolBlock1,里面还有一层空间卷积,可以学习全局空间信息。


 2、Narrow Frequency Feature Module

攒劲的节目来了,让咱们看第二个大的Block,它里面也有4个小的ConvPoolBlock,其中:

ConvPoolBlock1:

Conv2d:kernel_size=1*500,filter=25,padding='same'

Conv2d:kernel_size=4*1,filter=25,padding='valid'

BN+ELU

MaxPooling:kernel_size=1*3,stride=1*3

Dropout:p=0.25

窜劲儿的知识点有:

时间卷积核=1*500,是采样率的一半,大的卷积核可提取LFP数据的频率特征。也可以捕获2 Hz及以上的频率信息。


ConvPoolBlock2:

Conv2d:k=1*166,f=50

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock3:

Conv2d:k=1*55,f=100

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock4:

Conv2d:k=1*18,f=32

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


3、Wide Frequency Feature Module

 ConvPoolBlock1:

Conv2d:kernel_size=1*250,filter=25,padding='same'

Conv2d:kernel_size=4*1,filter=25,padding='valid'

BN+ELU

MaxPooling:kernel_size=1*3,stride=1*3

Dropout:p=0.25


ConvPoolBlock2:

Conv2d:k=1*83,f=50

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock3:

Conv2d:k=1*27,f=100

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


ConvPoolBlock4:

Conv2d:k=1*9,f=32

BN+ELU

MaxPooling2d:k=1*3,S=1*3

Dropout:p=0.25


总结:

这个窄频和宽频block的设计不同之处是卷积核的设计宽是窄的1/2,ConvPoolBlock1的第一卷积也是卷积核大小为(1*250)的时间卷积,对应于4Hz的频率分辨率。这种设置是由大脑节律(德尔塔、西塔、阿尔法、贝塔和伽马)的划分驱动的,有文献表明,大鼠在运动疲劳前后的ECoG频带存在显著差异。此外,FBCNet和FBCSP也使用4H划分的频带组来提取特征,结果良好。ConvPoolBlock1-4的卷积核长度定义为:

4、训练:

Adam优化器,LR=0.001,最小化分类交叉熵损失函数,batch_size=2(共600样本),2分类(0:疲劳前;1:疲劳后),5折交叉验证,一折100个epochs,在Pytorch1.9.1中的NVIDIA GTX1660Ti GPU和CUDA10.2上训练。

5、实验结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音翻译软件app排名来啦,这些工具让旅游畅通无阻

#这个夏天我们一定要去看海# 出国旅行时&#xff0c;语言障碍常常是最让人头疼的问题之一。 特别是在像缅甸这样英语并不普及的国家&#xff0c;基本的日常交流&#xff0c;比如用餐或问路&#xff0c;都可能成为难题。 然而&#xff0c;随着技术的进步&#xff0c;现在有了…

全功能知识付费小程序源码系统 界面支持万能DIY装修 带完整的安装代码包以及搭建部署教程

系统概述 在当今数字化时代&#xff0c;知识付费已经成为一种重要的商业模式。为了满足市场对于便捷、高效、个性化的知识付费解决方案的需求&#xff0c;小编给大家分享一款全功能知识付费小程序源码系统。这一系统不仅具备界面支持万能 DIY 装修的独特优势&#xff0c;还配备…

游戏开发丨基于PyGame的消消乐小游戏

文章目录 写在前面PyGame消消乐注意事项系列文章写在后面 写在前面 本期内容&#xff1a;基于pygame实现喜羊羊与灰太狼版消消乐小游戏 下载地址&#xff1a;https://download.csdn.net/download/m0_68111267/88700193 实验环境 python3.11及以上pycharmpygame 安装pygame…

Cocos2dlua棋牌Lua解密

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ 介绍使用libcocos2dlua.so库的游戏的解密分析方法。” Cocos2dlua是一款流行的游戏引擎&#xff0c;常用于开发棋牌游戏。为了保护游戏代码&#xff0c;Cocos2dlua通常会对游戏脚本lua文件进行加密&#xff0c;生成Luac文件&…

电脑已删除的文件在回收站找不到怎么办?数据恢复办法分享!

电脑中的数据已经成为了我们生活和工作的重要部分。无论是珍贵的照片、重要的文档&#xff0c;还是日常的工作文件&#xff0c;我们都希望能够妥善保存很久。 然而&#xff0c;误删除文件的情况时有发生&#xff0c;而当我们急切地打开回收站试图找回这些文件时&#xff0c;却…

这些已经死去的软件,依旧无可替代

互联网这条长河里&#xff0c;软件们就像流星一样&#xff0c;一闪而过。有的软件火过一段时间&#xff0c;然后就慢慢消失了。 说不定有些软件你以前天天用&#xff0c;但不知道从什么时候开始就不再用了。时间一天天过去&#xff0c;我们的热情、记忆都在消退&#xff0c;还…

[巨详细]使用HBuilder-X新建uniapp项目教程

文章目录 安装HBuilder-X启动uniapp项目其他&#xff1a;下载预览浏览器下载终端插件 安装HBuilder-X 详细步骤可看上文》》 启动uniapp项目 先打开HBuilder-X 点击新建项目 选择uniapp侧边栏&#xff0c;mian中的点击浏览 选择已经安装到本地的uniapp项目&#xff0c;并输…

数据分析中的数学:从基础到应用20240617

数据分析中的数学&#xff1a;从基础到应用 数据分析离不开数学的支持&#xff0c;统计学和概率论是其重要组成部分。本文将通过几个具体的实例&#xff0c;详细讲解数据分析中常用的数学知识&#xff0c;并通过Python代码演示如何应用这些知识。 1. 描述性统计 基本概念和用…

运营一个商城网站需要办理什么许可证?

搭建一个商城网站以下资质是必须要办理的&#xff1a;网站ICP备案以及增值电信业务经营许可证。 一、网站ICP备案 国家对提供互联网信息服务的ICP实行许可证制度。从而&#xff0c;ICP证成为网络经营的许可证&#xff0c;经营性网站必须办理ICP证&#xff0c;否则就属于非法经营…

做好六西格玛项目,效率翻倍不是事!——张驰咨询

六西格玛作为一种数据驱动、客户为中心的持续改进方法&#xff0c;旨在通过减少过程变异和缺陷&#xff0c;提升业务效率和产品质量。以下是六西格玛项目执行的专业流程&#xff1a; 1. 定义阶段&#xff08;Define&#xff09; 识别机会&#xff1a;明确项目范围和目标&#…

Stable Diffusion 3 Medium 正式开源,用户对此产品评价如何?

前两天 Stability.AI 终于开源了 Stable Diffusion 3&#xff0c;虽然只是中杯的 Medium 版本&#xff0c;没有放出当初宣布的 8B 版本[1]&#xff0c;但也在很多方面取得了进步。本想第一时间尝鲜测试&#xff0c;但这几天出差在外&#xff0c;使用颇不方便。 正好老朋友揽睿…

【大分享05】动态容差归档,打通不动产登记管理“最后一公里”

关注我们 - 数字罗塞塔计划 - 本篇是参加由电子文件管理推进联盟联合数字罗塞塔计划发起的“大分享”活动投稿文章&#xff0c;来自上海涵妍档案信息技术有限责任公司&#xff0c;作者&#xff1a;陈雪。 一、政策背景 在“互联网政务服务”的浪潮下&#xff0c;各级政府机构…

镭眸T51三维深度成像激光雷达为移动叉车导航及避障保驾护航

如今&#xff0c;移动叉车在智慧工厂里应用非常广泛&#xff0c;因此移动叉车如何做到准确导航及精准避障显得至关重要&#xff01;镭眸 T51 三维深度成像激光雷达为移动叉车的导航及避障提供了解决方案&#xff01; 镭眸 T51 三维深度成像激光雷达具有高精度、自适应自动曝光、…

如何使用ChatGPT等大模型翻译视频?2024最新翻译技巧分享

随着全球化的浪潮&#xff0c;跨语言沟通的需求日益增长。视频&#xff0c;作为一种生动直观的表达方式&#xff0c;也越来越需要跨越语言的障碍&#xff0c;触达更广泛的受众。因此&#xff0c;视频翻译成为了一个重要的领域&#xff0c;为不同语言背景的人们打开了理解彼此、…

MyBatis Plus Generator代码生成

一、MyBatis Plus Generator MyBatis Plus是一个功能强大的持久层框架&#xff0c;它简化了MyBatis的使用&#xff0c;提供了许多便捷的功能。其中&#xff0c;MyBatis Plus Generator是一个强大的代码生成器&#xff0c;可以帮助我们快速地根据数据库表结构生成对应的实体类、…

Java基础-案例练习-全是干货

目录 案例&#xff1a;卖飞机票 案例&#xff1a;找质数&#xff1a; 案例&#xff1a;开发验证码 案例&#xff1a;评委打分 案例&#xff1a;卖飞机票 package anlixunlian;import java.util.Scanner;/*机票价格按照淡季旺季、头等舱和经济舱收费、 输入机票原价、月份和…

使用Ollama+OpenWebUI本地部署阿里通义千问Qwen2 AI大模型

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;AI大模型部署与应用专栏&#xff1a;点击&#xff01; &#x1f916;Ollama部署LLM专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月17日22点50分 &#x1f004;️文章质量&#xff…

探索设计模式——单例模式详解

前言&#xff1a;设计模式的作用主要是为了——利用设计方式的重用来自动地提高代码的重新利用、提高代码的灵活性、节省时间&#xff0c; 提高开发效率、低耦合&#xff0c;封装特性显著&#xff0c; 接口预留有利于扩展。 设计模式的种类有很多种&#xff0c;本篇内容主要讲解…

计算机网络5:运输层

概述 进程间基于网络的通信 计算机网络中实际进行通信的真正实体&#xff0c;是位于通信两端主机中的进程。 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务&#xff0c;就是运输层的主要任务。运输层协议又称为端到端协议。 运输层向应用层实体屏蔽了下面网络核心…

【机器学习】机器学习重要分支——集成学习:理论、算法与实践

文章目录 引言第一章 集成学习的基本概念1.1 什么是集成学习1.2 集成学习的类型1.3 集成学习的优势 第二章 集成学习的核心算法2.1 Bagging方法2.2 Boosting方法2.3 Stacking方法 第三章 集成学习的应用实例3.1 图像分类3.2 文本分类 第四章 集成学习的未来发展与挑战4.1 模型多…