作者:Devin Soni
原文:Spiking Neural Networks, the Next Generation of Machine Learning
译者:TalkingData研发副总裁 闫志涛
本译文禁止商用,转载请注明来源与译者!
译者注:
现在的深度学习基本上是基于第二代神经网络的学习。第二代神经网络能够解决一些问题,不过离我们想要达到的未来还有很多的路要走,而已经有很多人在研究新一代的神经网络,也就是脉冲神经网络。让我们先对它有一个粗浅的了解。
每个对机器学习近期进展有所了解的人,都应该听说过目前用于机器学习的第二代人工神经网络。第二代人工神经网络通常是全连通的神经网络,它们输入连续的值,然后输出连续的值。 虽然其让我们在许多领域取得了突破性的进展,但其在生物学上并不是非常的准确,并没有模仿到我们大脑神经元的实际机制。
第三代神经网络——脉冲神经网络(spiking neural networks),旨在弥合神经科学与机器学习之间的鸿沟,使用接近真实的生物神经模型来进行计算。脉冲神经网络(SNN)与机器学习社区所了解的神经网络具有根本性的不同。SNN使用脉冲来进行操作,脉冲是在时间点上发生的离散的事件,而不是连续的值。脉冲的出现是由代表不同生物过程的微分方程决定的,其中最重要的是神经元的膜电位。当神经元的膜电位到达特定值的时候,脉冲会被触发,然后该神经元的值会被重置。最常见的模型是LIF(Leaky Integrate-and-fire)模型。另外,SNN通常是稀疏连接的,并且通过特殊的网络拓扑结构来实现。
乍一看起来,SNN似乎是一种倒退,我们现在的神经网络已经从连续的输出转变为了二元输出,并且这些脉冲训练不容易解释。
然而,脉冲训练给了我们更强大的处理时空数据的能力,而这些时空数据通常就是我们的真实世界的感官数据。
空间方面指的是神经元只与其本地的神经元相连接,因此它可以分别处理输入块的输入(类似于CNN使用过滤器一样)。
时间方面指的是脉冲训练是随着时间发生的,因此我们损失了二进制编码,但是获得了脉冲发生时间相关的信息。
这使得我们可以非常自然的处理时间相关的数据而不需要引入RNN而带来复杂性。实际上已经证明,脉冲神经元从根本上来讲,是比传统的人工神经元更为强大的计算单元。
既然SNN理论上比第二代人工神经网络更为强大,我们自然会问为什么它们没有被广泛的使用呢?SNN目前的主要问题是如何训练。尽管我们有无监督的生物学习方法,比如Hebbian和STDP,但是还没有找到比第二代生成网络更为高效的有监督的SNN训练方法。由于脉冲训练是不可微分的,我们不能在SNN训练中使用梯度下降而不丢失脉冲的精确时间信息。因此,为了使得SNN能够应用于现实世界的任务,我们需要开发一个有效的监督学习方法。这是一个非常难的任务,因为我们需要了解人类大脑如何真正的进行学习,从而给定这些网络生物的现实性。
另外一个我们将要解决的问题是,在通用硬件上模拟SNN是非常的计算密集型的,因为它需要模拟不同的微分方程。但是类似于IBM的TrueNorth等模拟神经元的硬件通过特殊的模拟神经元的硬件可以来解决这个问题,它可以利用神经元脉冲的离散和稀疏的特性。
SNN的未来仍旧不清晰,一方面,它是我们目前的神经网络的天然继承者。但是,另外一方面,对于大部分的任务来讲,它还不是一个可以实用的工具。在实时图像和音频处理方面有一些SNN的实际应用,但是相关的实际应用的资料还非常少。SNN的大多数论文要么太理论化,要么就是比一个简单的全连接的二代网络性能还差。然而,有很多团队正在开发SNN的监督学习规则,我对SNN的未来仍就保持乐观。
领取专属 10元无门槛券
私享最新 技术干货