EEG前沿探索:强化学习(reinforce learning),终身学习(lifelong learning),脉冲神经网络(SNN)

2023/3/21 -3/26 脑机接口学习内容一览:

        这篇博客主要展示在导师的指导下,我在脑机接口前沿领域做的一些探索、调研以及记录对于这些方法的一些自己的思考。


一、强化学习 (reinforce learning)

        首先是强化学习,细节不再赘述,csdn上的一些教程已经讲的很详细了。这里稍微总结一下要点:

        马尔可夫决策过程:只注重于过去的一个state,当下的一个action,未来的一个state。

        一开始模型可能不知道value,这时候根据不断学习试探得到每一步action到state的value。

        强化学习在我的眼中显得更像贪心算法和穷举法一点,一方面它要选取最优的方案,另一方面它要遍历几乎所有的action,某个行为的后果好则加强该行为,后果坏则减弱该行为。

        强化学习在脑机接口一般用于特征选择和特征降维方面,这里拿参考资料【3】当一个例子,此论文基于深度强化学习提出了一种睡眠信号特征选择模型,以睡眠分期实验的准确率作为强化学习中评判家给出的奖励,每一次迭代都随着上一次的奖励对动作序列进行优化,而动作序列可以选择出更适合睡眠分期的特征选择结果,但是让我疑惑的一点是这个模型的action似乎只有一个,那就是对特征的随机选取,即所谓“通过搜索所有可能成为关键特征的信号子序列方式,以分类结果为指导,建立一个不需要人工参与的特征选取模型实现睡眠监测信号中关键特征的提取”;reward也只有试验的准确率一个,“以这些(特征)向量作为输入,通过不同的动作选择后与分类结果的交互实现特征的选择”。似乎有些不太妥当,但是我确实没能想到更好的选择方式。

        参考资料【2】的方向比较出乎意料,是通过eeg中ErrP的反馈来作为强化学习人物的reward来进一步提高强化学习的效果,并且取得了不错的成绩。当用户在一组不同的任务中看到不一致(或错误)的刺激时,错误电位就会被引出,这意味着错误处理系统是通用的(即,不特定于任务或感觉器官),这意味着错误相关电位可能成为学习人脑智能的重要方法,errp的定义可以在不同的环境中以零机会的方式学习,从而消除了在新的和未见过的环境中重新训练的需要。

        参考资料【4】纠正了我对参考资料【3】的印象。在【3】中,特征选择应该是一个逐步选择的action,而不是直接随机排列选取,每 100 个信号(1s 数据)作为输入的特征向量。


二、终身学习(lifelong learning)

        一开始我没有分清迁移学习和终身学习的区别。

迁移学习(Transfer learning) 顾名思义就是把已训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务都是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习。通过使用一个适用于不同但是相关的任务的模型,以一种有利的方式缩小可能模型的搜索范围。

        为了分清两者的区别,我特意去看了一下迁移学习的相关文章,特别是知识蒸馏方面的,发现知识蒸馏迁移学习的重点主要在于用与当前问题存在一定联系的数据集训练的teacher神经网络(较大)训练后所得到的参数来当作现有的“知识”,用来训练较小的student神经网络从而得到想要的预训练效果,是网络之间相关知识的迁移。这个方法的前提是teacher神经网络不能较好地解决问题,或者研究者存在模型压缩的需求。 

 连续学习(终身学习)的意义在于高效地转化和利用已经学过的知识来完成新任务的学习,并且能够极大程度地降低遗忘带来的问题.连续学习研究对智能计算系统自适应地适应环境改变具有重要的意义.

        从这里我们可以看出两者的区别,迁移学习主要着重于相似知识在不同网络的迁移与分类性能保持 ,而终身学习着重保持对不同任务的分类记忆,利用之前的知识,也就是训练所得到的参数,并且尽可能弱化灾难遗忘问题。两者有相同的部分也有不同的部分,迁移学习甚至可以算作终身学习中的一个重要领域。

        参考资料【5】为我们提供了一个终身学习思想在脑机接口领域使用的一个范本,在这篇论文中,研究者甚至发现,对于各自的主题 ID,跨主题场景比主题内场景具有更高的准确性。


三、脉冲神经网络(SNN)

第三代神经网络初探:脉冲神经网络(Spiking Neural Networks)

        通过“整合放电”(integrate-and-fire)机制进行数据传递的尖峰神经元,通过脉冲交换信息,因此称为脉冲神经网络(SNN)。第二代和第三代神经网络之间最大的区别在于信息处理性质。第二代神经网络使用了实值计算(real-value)(例如,信号振幅),而SNN则使用信号的时间(脉冲)处理信息。SNNs中的神经元单元只有在接收或发出尖峰信号时才处于活跃状态,因此它是事件驱动型的,因此可以使其节省能耗。

  • SNN脉冲神经网络增加了时间的维度,有利于持久学习不遗忘
  • SNN以脉冲的形式,可以以二进制进行学习,更节省能耗

        在这三种方法中,脉冲神经网络是最让我头疼的一个,基本看不懂它的实现,而且关于这个网络也存在较多的争议 。我唯一能够理解的是这个网络的实现比常见的神经网络更加接近于人脑的工作机理,能够大大减少能量消耗,或许在获得更多认知科学方面的知识之后我能对其有进一步的了解。

        我找到的参考资料【6】中对以SNN处理脑电信号有较为详尽的描述,比较友好的是研究者提供了以python写就的github项目文件。该网络由空间卷积层,时间卷积层以及循环层构成,部署在英特尔的Loihi神经形态处理器上时有很好的节能效果。

        下图是在colab平台运行train.py的结果。

 


参考文献         

【1】Reinforcement learning-based feature selection for improving the performance of the brain–computer interface system

【2】Accelerating Reinforcement Learning using EEG-based implicit human feedback

【3】基于强化学习的睡眠监测信号特征选择方法的研究

【4】基于强化学习的特征选择算法

【5】Continual Learning for EEG based Brain Computer Interfaces

【6】Decoding EEG With Spiking Neural Networks on Neuromorphic Hardware

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于 EEG(脑电图)特征提取,可以使用神经网络来实现。神经网络是一种模拟人脑神经元之间相互连接的数学模型,可以用来学习和提取数据中的特征。 在 EEG 特征提取方面,常用的神经网络包括卷积神经网络(CNN)和循环神经网络(RNN)。 1. 卷积神经网络(CNN):CNN 可以有效地提取时域和空域特征。对于 EEG 数据,可以将电极通道作为输入,并使用卷积层来捕捉时域特征。卷积层之后可以添加池化层来减少维度,并通过全连接层进行最终的分类或回归任务。 2. 循环神经网络(RNN):RNN 是一种能够处理序列数据的神经网络。对于 EEG 数据,可以将每个时间点的电极通道作为序列输入,并使用 RNN 单元(如 LSTM 或 GRU)来建模序列之间的依赖关系。RNN 可以捕捉到时间上的动态变化,适用于时序数据的特征提取。 除了 CNN 和 RNN,还可以结合两者的优势,使用卷积神经网络和循环神经网络的结合模型,如 Convolutional Recurrent Neural Network (CRNN)。CRNN 可以同时捕捉时域和空域特征,并具有较强的特征提取能力。 需要注意的是,在使用神经网络进行 EEG 特征提取时,需要预处理和标准化数据,选择合适的损失函数和优化算法,并进行适当的超参数调整,以获得较好的性能。此外,数据量的大小和质量也会对神经网络的训练和泛化能力产生影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值