脉冲神经网络和在线学习的那些事(一)

脉冲神经网络作为第三代神经网络在科研层面研究的较多,因为它最能贴近人脑的记忆和处理信息的能力。本人一直以来在研究脉冲神经网络中的神经元模型和STDP学习规则,做的工作是优化神经元模型和学习算法。在研究过程中发现离线的学习算法已经不能完成大数据集的训练任务。在离线学习中,网络的参数通常在给出整个训练数据集之后进行更新。因此,不重新训练网络就不能添加新的数据样本。训练集中所有例子的总误差在梯度适当权值更新之前累积。离线训练对于中小型数据集和网络来说是快速的,但是对于大型网络和大型数据集来说,它很容易出现局部极小值,效率很低。所以最近准备研究一下脉冲神经网络中的在线学习算法。阅读论文去了解在线学习是如何实现学习能力的,了解在线学习到底比离线学习好在哪里?了解在线学习比较容易实现的算法并且尝试着实现一下。接下来的几篇博客将会记录阅读相关文献的一些笔记·
要接触一个新方向,肯定是从该方向的综述文章入手,因为阅读综述文章可以了解这个方向发展的整个过程并且可以了解到该方向的挑战。
今天主要根据参考文献的两篇文献总结了现有的神经网络离线和在线学习算法:

一、SNN的离线学习-监督模式

1、SpikeProp

介绍:SpikeProp是对经典的反向传播算法的一种改编,是第一个为SNNs开发的监督学习算法。该算法采用基于spike响应模型的快速时间编码。

优点:①可以处理复杂的分类问题 ②具有很强的计算能力。

缺点:

①收敛速度慢对于大数据集

②只有由一个神经元产生的第一个脉冲是相关的,其余的时间过程神经元被忽略。每当一个神经元发出单个脉冲信号时,就不允许它再次发出信号。因此,该方法只适合实现time-to-first spike coding 编码方式。

③当考虑一个高维数据集时,大量的突触连接使得扩展变得困难。

④它们通常被认为是非生物学上可信的,因为它们需要从一个突触到另一个突触的错误信号的非局部传播

⑤无论是最初的SpikeProp方法,还是提出的任何修改,都不允许每个神经元包含一个以上的spike

2、SHL(Supervised Hebbian Learning)

介绍:一个基于尖峰的Hebbian过程被一个额外的“教导”信号监督,这个信号加强了突触后神经元在目标时间激活,在其他时间保持沉默的状态。(该方法通过向神经元注入额外的输入电流,迫使神经元及时向目标神经元发射;神经元将被阻止在其他时间被激活。)

优点:从生物现实的角度来看,这可能是最直接的解决方案。

缺点:在训练(“教学”)过程中,电流信号会抑制所有不希望发射脉冲的神经元,突触前和突触后活动的唯一关联发生在目标放电时间。在其他情况下,这种相关性并不存在,也没有机制去削弱这些突触的权重,使神经元在测试阶段在不希望的时间激活。

3、ReSuMe

介绍:融合了学习窗口的理念和新颖的远程监控理念。实验证明,该方法能够有效地学习所期望的尖峰时间序列,且学习过程收敛速度快。

优点:

①该算法解决了SpikeProp 和SHL 存在的问题。

②它与所使用的的神经元模型无关。

③可以有效地学习期望的脉冲时间和时空模式。

④学习过程收敛速度很快。

缺点:

①尽管它声称适合于OL,但所使用的网络结构是固定的,不适应外来刺激。

②它无法在只展示一次训练样本之后预测输入。

③虽然它使用STDP,这在生物学上是合理的,但它的局部特性限制了它的学习能力。

二、SNN的离线学习-无监督模式

1、STDP 和Hebbian
learning rule

介绍:当突触前神经元发射脉冲时间在突触后神经元发射脉冲之前,突触权值增强;相反,当突触前神经元发射脉冲时间在突触后神经元发射脉冲之后,突触权值减弱。

三、SNN的在线学习方法

1、On-Line Learning with Structural Adaptation
in a Network of Spiking Neurons for Visual Pattern Recognition (doi: https://doi.org/10.1007/11840817_7) 提出了一个简单的在线程序来执行学习的四层递归神经网络的二维IF神经元映射。通过突触可塑性和自适应网络结构进行训练。为了模拟神经元数量大的网络,采用事件驱动的方法优化计算速度,该训练程序应用于一个公开的人脸识别数据集,获得的性能比得上优化离线方法。

2、

Evolving spiking neural networks for taste recognition(doi:10.1109/IJCNN.2008.4634085

)将一种简单的人工味觉模型应用于神经网络中进行味觉识别。提出了一种基于具有编码输入的简单IF神经元的进化学习算法。
上面两篇文献的方法在两个真实数据集上进行了测试。虽然算法简单,但他们可以进行在线学习与自适应结构。然而,这些方法仍然需要解决许多问题,如学习参数的微调,在不断变化的环境中自动更新学习参数(这些是手动设置的),提高大数据集的学习速度,以及处理不平衡数据集对训练性能的影响。

3、
A Spiking Neural Network with dynamic memory for a real
autonomous mobile robot in dynamic environment (doi: 10.1109/IJCNN.2008.4634103)开发了一种新的自适应系统,通过训练大量具有STDP特性的snn来训练一个真实的移动机器人在动态环境中进行最优导航。该系统使用SRM模型,并将训练好的SNN存储在树形记忆结构中作为机器人的经验,以增强其在新的和以前训练过的环境中的导航能力。存储器被设计成有一个简单的搜索机制。采用遗忘和在线动态聚类技术来控制记忆大小。实验结果表明,具有学习记忆能力的机器人能够在复杂动态环境中生存。该系统采用执行避障任务所需的最小网络结构,并在线更改其突触权重。然而,为了展示机器人在动态办公环境中的导航能力,还需要收集更多的实验数据。此外,该系统还需要在更复杂的环境中接受挑战。

四、整理

综上所述,已有相当多的研究集中在为SNNs开发离线学习方法,但在为SNNs开发在线学习方法方面取得的进展甚少。开发有效的在线学习方法SNNs对于提高其在解决现实世界问题方面的适用性,以及创建能够处理连续信息流、扩大规模并适应不断变化的环境的智能系统是非常重要的。今天第一天写博客,希望可以坚持下去,七天养成一个习惯!

参考文献

[1]: J. Wang, A. Belatreche, L. Maguire and M. McGinnity, “Online versus offline learning for spiking neural networks: A review and new strategies,” 2010 IEEE 9th International Conference on Cyberntic Intelligent Systems, Reading, 2010, pp. 1-6, doi: 10.1109/UKRICIS.2010.5898113.
[2]:J. L. Lobo, J. DelSer, A. Bifet, and N. Kasabov, “Spiking Neural Networks and online learning: An overview and perspectives,” Neural Networks, vol. 121, pp. 88–100, 2020.

你可能感兴趣的:(脉冲神经网络,在线学习算法,神经网络,算法,人工智能,机器学习)