没有合适的资源?快使用搜索试试~ 我知道了~
软件X 17(2022)100951原始软件出版物MNEflow:用于EEG/MEG解码和解释的Ivan Zubareva, Mr. Gavriela Vranoua,Lauri Parkkonena,ba芬兰阿尔托大学科学院神经科学和生物医学工程系,FI-00076,阿尔托b芬兰阿尔托神经影像中心ar t i cl e i nf o文章历史记录:接收21十二月2020收到修订版2021年11月17日接受2021年保留字:神经网络脑电图脑磁图Tensorflow机器学习a b st ra ctMNEflow是一个Python包,用于将深度神经网络应用于多通道脑电图(EEG)和脑磁图(MEG)测量。该软件包括基于Tensorflow的几种流行的卷积神经网络(CNN)模型的实现,用于该软件旨在节省将神经网络应用于EEG和MEG数据分析所需的版权所有©2021作者。由爱思唯尔公司出版这是CC BY-NC-ND下的开放获取文章许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。代码元数据当前代码版本0.3.1用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00108Code Ocean computecapsule7934771法律代码许可证BSD-3使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求,操作环境依赖Python >=3.6Tensorflow>= 2.1.0MNE-Python >=0.19NumPy,SciPy,MatPlotLib如果可用,链接到开发人员文档/手册https://mneflow.readthedocs.io问题支持电子邮件ivan. aalto.fi1. 动机和意义深度神经网络在分析大脑电磁活动的测量中变得越来越受欢迎[1]。虽然在许多其他领域优于传统方法,但它们在解码脑信号方面的成功主要是由于数据集大小小和测量的高维数而受到限制。然而,随着数据共享计划的进步,大型标准化神经成像数据集变得越来越可用。然而,除了数据之外,一项成功的大脑解码研究还需要一个强大且可重复的机器学习工作流程,该工作流程将考虑测量技术的特殊性,实验设计和其他因素。*通讯作者。电子邮件地址:ivan. aalto.fi(Ivan Zubarev).https://doi.org/10.1016/j.softx.2021.100951方法特定因素。换句话说,这些研究需要结合机器学习和神经成像的专业知识。MNEflow背后的动机是为神经科学家提供一个强大的,可重复的,高效的工具,用于将神经网络有效地应用于大型EEG和MEG数据集。实现(深度)卷积神经网络(CNN)涉及许多设计选择,例如选择模型架构,目标函数和评估方法。除非用户在机器学习领域消息灵通,否则探索所有可能的选项需要相当多的时间投资。此外,由于许多神经成像研究寻求发现新知识,因此通常期望获得机器学习模型从数据中提取的模式的见解。然而,解释神经网络学习从数据中提取的模式是一项重要的任务,并且仍然是一个活跃的研究领域[22352-7110/©2021作者。由爱思唯尔公司出版。这是一篇开放获取的文章,使用CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxIvan Zubarev、Gavriela Vranou和Lauri Parkkonen软件X 17(2022)1009512Fig. 1. MNEflow架构和工作流。MNEflow旨在通过为模型开发、优化和解释提供通用的、简化的工作流程所提出的工作流程旨在优化内存使用和最小重复操作,这是通过将中间结果,训练模型和训练日志存储在PC存储设备上,并允许访问,复制和检查结果来实现的MNEflow允许在完全相同的训练、验证和测试集上运行不同的模型,从而实现公平的基准测试。此外,软件的模块化结构允许轻松实现新模型。因此,我们希望MNEflow也有助于科学的再现性。最近的审查确定了应用深度学习技术的EEG研究的低再现性是核心挑战之一的领域[1]。关键的影响因素包括数据、代码的不可用,以及描述实验管道的整体透明度低。2. 软件描述机器学习方法通常用于探测实验设计编码的信息是否可以从大脑活动的测量中解码。实验的目标通常是区分一组离散条件,从而导致分类问题。或者,目标可能是预测连续变量的值,导致回归问题。一旦模型被训练,通常希望能够探索允许模型进行成功预测的模式[4MNEflow提供的实用程序允许简化EEG/MEG数据的处理,方法是使用社区支持的和扩展的(深度)神经网络实现池和用于预处理、评估和解释结果的几个特定领域实用程序来解决分类或回归2.1. 软件构架MNEflow的功能可以分为两个主要模块:预处理包括旨在为神经网络预处理EEG/MEG数据的各种操作,包括缩放、重定位、划分为训练/验证/测试集、测量数据的增强以及目标变量的变换(例如,对数变换)。实验包括选择神经网络的架构,调整超参数,训练和评估性能。由于这个过程通常需要多次迭代,MNEflow还保留了训练运行的记录,便于参数优化。EEG/MEG测量通常包括大量多维数据,并且需要预处理,这可 能 非 常 耗 时 。 MNEflow 使 用 本 地 文 件 系 统 来 存 储 使 用Tensorflow序列化记录(TFRecord)格式[8]处理的测量数据以及相关的元数据。存储中间结果避免了预处理管道的不必要的重新运行,优化了内存使用,并以使用磁盘空间为代价加快了模型训练这种方法的其他好处来自这样一个事实,即可以使用数据集的完全相同的分区来比较不同的模型。经训练的模型也被保存到文件中,并且可以容易地用不同的数据集进行测试,应用于正在进行的MEG/EEG的实时解码,或者用于调查告知模型性能的大脑活动的模式。2.2. 软件功能导入. MNEflow支持多种输入数据格式。EEG/MEG数据可以直接从MNE-Python [9]导入,方法是将mne.Epochs对象作为参数提供给MNEflow。当使用其他EEG/MEG信号处理软件时,数据可以作为具有结构[试验,传感器,时间点]的3D阵列提供。或者,也可以提供路径到存储在图1所示的任何支持格式中的数据文件。1.一、预处理。MNEflow实现了几个基本的预处理函数,可以在生成TFRecord数据集时应用于数据。这些包括滤波、缩放、选择通道子集和重新缩放。虽然所有这些实用程序都已经在MNE-Python中实现了,但完成这一步骤是为了将最基本的预处理技术也应用于从其他软件包导出的数据。特定于机器学习的预处理工具包括将数据集划分为训练/验证/测试集,将数据拆分为较小且可能重叠的片段(增强),为RNN类型模型生成序列,以及使用目标变量操纵数据。这些预处理函数的一部分也可以在TFRecord文件生成后应用这样做是为了最大限度地减少时间和磁盘空间,以防用户想要尝试不同的预处理方法。模型开发。MNEflow实现了几种已发表的模型,这些模型已被证明可有效地对EEG和MEG数据执行[4这些模型继承相同的父类(mne-flow.BaseModel),因此仅在计算图和超参数规范方面有所不同。这样的结构确保了相同的优化器、数据集和验证例程可以在不同的模型上互换使用。类似地,用户可以通过例如只设计一个定制的计算图,同时重用其他组件。这节省了试验新模型设计的时间。··Ivan Zubarev、Gavriela Vranou和Lauri Parkkonen软件X 17(2022)1009513−图二. 递归消去法的图解。输出层(红色圆圈)的每个节点的权重设置为零,有效地禁用相应的空间滤波器wk和时间滤波器ak包括关于分类性能的第k个(For对本图图例中所指颜色的解释,读者可参考本文的网络版培训和评价。优化和训练包括指定目标函数、性能度量和优化算法。当前版本的MNEflow(0.3.1)需要Tensorflow 2.1.0或更高版本,并依赖于Keras API。所有MNEflow模型使用的优化器是Adam [10],分类交叉熵[11]作为分类任务的默认目标函数,均方误差(MSE)[12] -用于回归任务。早期停止被用作默认的模型训练方法。通过向www.example.com()提供额外的参数,可以指定不同的优化器、目标函数和性能指标model.build。模型检查。MNEflow旨在为用户提供一组工具来检查模型从数据中学习的模式。这些方法,虽然可能非常有用,是高度特定的模型,仍然需要研究和验证。目前,模型解释仅适用于LF-CNN[4],并且包括几种启发式方法来识别有助于一维目标变量的信号分量的空间LF-CNN在从数据中学习的潜在成分上引入了条件独立性假设。因此,特征被分组为少量的条件独立的到目前为止,已经采用了三种确定相关特征的一般方法:递归消除。对应于每个潜在分量的网络节点通过将其对应的权重设置为零而被关闭。然后在验证集上评估具有n1个潜在组件的网络的性能[13]。特征相关性基于其移除对损失函数的值的影响进行排名。 这种方法如图所示。 二、与目标变量的相关性,为每个特征单独计算。对于回归问题,特征相关性通过其与目标变量的(绝对)斯皮尔曼相关系数进行排名。对于分类问题,分类交叉熵[11]被用作距离度量。基于权重的贡献。特征相关性通过相应权重的值进行排名。图1是根据其权重的l2范数选择元件的例子. 3 .第三章。3. 说明性实例正在生成TF记录和元数据。如果使用MNE-Python导入和处理测量数据,用户只需提供一个mne.Epochs对象(或mne.Epochs对象列表)到produce_tfrecords实用程序,指定保存序列化TFRecord文件的数据ID和路径。也可以指定其他导入和预处理参数。或者,可以使用produe_tfrecords,它采用保存到磁盘的其他兼容格式的文件的路径。导入以*.mat或*.npz格式保存的数据集时,可能需要额外的关键字参数array_keys来标识测量数据和目标变量。最后,在更复杂的预处理管道中,可以将数据和标签作为numpy数组的元组提供。123456789101112131415161718清单1:数据导入和预处理。调用mneflow.produce_tfrecords将返回一个元数据文件,该文件与TFRecord文件一起保存到磁盘。如果元数据文件已经存在于指定的路径和data_id中,除非指定了overwrite选项,否则MNEflow将加载现有的TFRecords这样做是为了避免为同一数据集多次重新运行耗时的produce_tfrecords。正在初始化数据集对象。然后使用元数据文件初始化Dataset对象。该对象包括几种方法,这些方法允许对数据集进行实验,而无需每次重复预处理或重新配置TFRecord文件。例如,可以使用类别、通道的任何子集来训练分类器模型,或者通过在时域中抽取来降低采样率。#ReandMEG/EEGepochsfromromafileeimportmneimportmneflowepochs=mne. read_epochs(文件名)#Specify 我很抱歉 选择tionsimport_opt=dict(savepath=out_name =input_type =#Process 输入和写入TFRECORD文件,并将数据文件转换为磁盘meta=mneflow. produce_tfrecords(epochs,**import_opt)···Ivan Zubarev、Gavriela Vranou和Lauri Parkkonen软件X 17(2022)1009514计算图。MNEFlow实现了几种已发布的神经网络架构,这些架构是为EEG/MEG解码而设计的。在最基本的情况下,用户可以从mneflow.models中选择其中一个模型。 由于所有的models都继承自相同的mneflow.BaseModel父类,因此从一个模型切换到另一个模型只需要相应地更改计算图。此外,在MNEflow中设计这可以通过覆盖父类中的默认计算图来完成(有关详细信息,请参阅文档中的高级示例)。正则化参数可以包括对可训练权重的l1和l2惩罚,其可以单独应用于不同的层(例如,卷积核、密集层权重等)。一旦指定了所有参数,模型就被编译并可以进行训练。1234567891011121314151617181920清单2:构建和训练模型。研究模型参数。因为 方法在MNEflow中实现的方法属于判别式(与生成式相反)学习技术,它们的主要目标是近似给定测量的目标变量的一组条件分布。因此,一般来说,没有理由相信这些模型从数据中提取的模式可以用来充分描述潜在的数据生成(在我们的情况下-神经生理学)过程。然而,在某些情况下,检查这些参数可以产生有用的见解,特别是当与标准编码方法结合使用时[14]。可替代地,特征解释可以用于例如估计生理伪影在模型性能中的贡献,或者作为用于识别生理伪影的工具。在设计新的实验方案时进行快速的探索性分析。然而,在任何一种情况下,判别模型用于产生其预测的解释特征总是取决于这些预测的质量,并且只有在模型性能接近最佳时才产生有用的信息。MNEflow为一些已实现的模型实现了基本的解释工具。这些可以包括通知模型的活动的空间模式、延迟或频率内容在这个例子中,我们将使用LF-CNN [4],一种遵循EEG/MEG信号生成模型的可解释神经网络,来探索大脑活动的模式,为每类刺激提供最大的贡献。123456清单3:检查信息模式。4. 影响MNEflow旨在为研究人员提供一种工具,用于神经网络的可再现、时间高效和流线型应用,以从EEG/MEG测量结果中解码大脑状态。这一目标是通过提供一个通用的工作流程来实现的,该工作流程最大限度地降低了陷入最常见陷阱的风险,从而最终优化了进行有意义研究所花费的时间。MNEflow实现了许多特定于领域的实用程序,以简化标准M/EEG处理和机器学习管道之间的接口这些包括各种预处理,缩放和数据增强方法,记录训练迭代的有效方法以及典型交叉验证程序的实用程序,如leave-one-subject-out等。使用有效的中间数据存储格式避免了重复相同的耗时的预处理操作,并允许在开始出现在该领域的大量开放数据集上运行分析。MNEflow实现了一个不断扩展的流行神经网络模型池,可以轻松地应用于分类和回归任务,并用作单个API中使用递归神经网络进行长期序列建模的特征提取方法[4除了使用已实现的模型外,还可以有效地在MNEflow中设计自定义模型。用户只能指定计算图,同时利用现有的数据处理,优化,性能测量和模型检查管道。实现的模型池可以方便地用作比较的基准由于知识发现对大脑数据的解码特别感兴趣,MNEflow为此实现了几种方法,允许方便地探索告知模型的空间和时间5. 结论总之,我们相信MNEflow将有助于促进(深度)神经网络作为成像神经科学,特别是脑机接口中的一般研究和知识发现工具的使用竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢作者要感谢Alexandre Gramfort对开发过程和实施的宝贵意见。该研究得到了欧洲研究理事会的支持,批准号为678578。#Initializehedataset 奥布杰科特datatasett=mneflow. Dataset( meta,train_batch=100)#Specify ParametersforLF-CNNlf_params=dict(n_latent =32,#Nbfaten t e nt因素filter_legth =17,#Convolterlegthimmesalfiltnnnlin=tf. nn.relu,padding=model_path= import_opt[' s a v e p a t h' ],d r opou t = 0。五,l1_scope=[“weights“],l1=3e-4)#在我的脑海里model=mneflow.我的天。 LFCNN(dataset,lf_params)模型。布日德莫德湖train(n_epochs =10,eval_step =100,early_stoping=3)#Commputeandshowtheinformartivepatternsmodel. compute_paterns()f1=model. plot_paterns(sensor_layut =sorting=f2=model. spectra(sorting=Ivan Zubarev、Gavriela Vranou和Lauri Parkkonen软件X 17(2022)1009515图三. 来自MNE-Python的“多模态”示例数据集的模型检查输出示例。信息特征被分组为时空分量,允许可视化其地形(顶行)和光谱特性(中间行和底行)。在该示例中,选择具有其空间和时间权重向量的最大l2范数的分量,以分别针对每个类别进行显示引用[1] Roy Y,Banville H,Albuquerque I,Gramfort A,Falk TH,Faubert J.基于深 度 学 习 的 脑 电 图 分 析 : 系 统 综 述 。 J Neural Eng 2019;16 ( 5 ) .http://dx.doi.org/10.1088/1741-2552/ab260c网站。[2] Haufe S, Meinecke F,Görgen K,Dähne S, Haynes J-D ,BlankertzB , et al. On the interpretation of weight vectors of linear models inmultivariate吃 神 经 成 像 。 神 经 影 像 2014;87 : 96-110 。http://dx.doi.org/10.1016/j.neuroimage.2013.10.067.[3] Kindermans PJ,Schütt KT,Alber M,Müller KR,Erhan D,Kim B等,学习如何解释神经网络:Patternnet和Patternatum。 在:第六届国际会议上学习 表 示 , ICLR2018- 会 议 跟 踪 程 序 。 2018 年 , URLhttps://arxiv.org/pdf/1705.05598。PDF.[4] Zubarev I,Zetter R,Halme HL,Parkkonen L.用于脑磁图信号解码的自适应神经网络分类器。神经影像2019;197:425-34.http://dx.doi.org/10.1016/j.neuroimage.2019.04.068、http://www.ncbi。nlm.nih.gov/pubmed/31059799网站。http://www.pubmedcentral.nih.gov/articlerender.fcgi?编号=PMC6609925。[5] Schlemmeister RT , Springenberg JT , Fiederer LDJ , Schlemstetter M ,Eggensperger K,Tangermann M等人,使用卷积神经网络进行EEG解码和可视化的深度学习。嗡嗡声大脑Mapp2017;38(11):5391-420。http://dx.doi.org/10.1002/hbm.23730,URLhttp://doi.wiley.com/10.1002/hbm.23730。[6] Lawhern VJ,Solon AJ,Waytowich NR,Gordon SM,Hung CP,LanceBJ。EEGNet:一个用于基于EEG的脑机接口的紧凑卷积神经网络。J NeuralEng 2018;15(5):056013. http://dx.doi.org/10.1088/1741-2552/aace8c,URLhttp://stacks.iop.org/1741-2552/15/i=5/a=056013?key=crossref.926d8be8d11477a9c1ce0a164d5c869a。[7]Giovannetti A,Susi G,Casti P,Mencattini A,Pusil S,López ME,etal.Deep-MEG:时空CNN特征和多波段集成分类用于用脑磁图预测阿尔茨海默病 的 早 期 体 征 。 神 经 计 算 应 用 2021;33 ( 21 ) : 14651-67.http://dx.doi.org/10.1007/S00521-021-06105-4/TABLES/4,URL https://link.springer.com/article/10.1007/s00521-021-06105-4网站。[8]Abadi M , Agarwal A , Barham P , Brevdo E , Chen Z , Citro C , etal.TensorFlow : 异 构 分 布 式 系 统 上 的 大 规 模 机 器 学 习 。 2016 年 ,URLhttp://arxiv.org/abs/1603.04467。[9]Gramfort A , Luessi M , Larson E , Engemann DA , Strohmeier D ,Brodbeck C , et al. MEG And EEG data analysis with MNE-python. FrontNeurosci 2013;7(7 DEC):267。http://dx.doi.org/10.3389/fnins.2013.00267网站。[10]Kingma DP , Ba JL. Adam : 随 机 最 佳 化 的 方 法 。 In : 3rd InternationalConference on Learning Representations , ICLR 2015 - Conference TrackProceedings.国际学习表征会议;2015年,网址https://arxiv.org/abs/1412.6980v9。[11]TensorFlowAPI:tf.keras.losses.CategoricalCrossentropy.2016年,URLhttps://www.tensorflow.org/api_docs/python/tf/keras/losses/CategoricalCrossentropy。[12]Tensorflow API:tf.keras.losses.MeanSquaredError。2016年,网址https://www.tensorflow.org/api_docs/python/tf/keras/losses/MeanSquaredError网站。[13]布雷曼湖随机森林MachLearn2001;45(1):5-32.http://dx.doi.org/10.1023/A:1010933404324。[14]Weichwald S , Meyer T , Özdenizci O , Schölkopf B , Ball T , Grosse-Wentrup M.神经影像学中编码和解码模型的因果解释规则。神经影像学2015;110:48-59。http://dx.doi.org/10.1016/j.neuroimage.2015.01.036.
下载后可阅读完整内容,剩余1页未读,立即下载
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 谷歌文件系统下的实用网络编码技术在分布式存储中的应用
- 跨国媒体对南亚农村社会的影响:以斯里兰卡案例的社会学分析
- RFM2g接口驱动操作手册:API与命令行指南
- 基于裸手的大数据自然人机交互关键算法研究
- ABAQUS下无人机机翼有限元分析与局部设计研究
- TCL基础教程:语法、变量与操作详解
- FPGA与数字前端面试题集锦:流程、设计与Verilog应用
- 2022全球互联网技术人才前瞻:元宇宙驱动下的创新与挑战
- 碳排放权交易实战手册(第二版):设计与实施指南
- 2022新经济新职业洞察:科技驱动下的百景变革
- 红外与可见光人脸融合识别技术探究
- NXP88W8977:2.4/5 GHz 双频 Wi-Fi4 + Bluetooth 5.2 合体芯片
- NXP88W8987:集成2.4/5GHz Wi-Fi 5与蓝牙5.2的单芯片解决方案
- TPA3116D2DADR: 单声道数字放大器驱动高达50W功率
- TPA3255-Q1:315W车载A/D类音频放大器,高保真、宽频设计
- 42V 输入 5A 降压稳压器 TPS54540B-Q1 的特点和应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)