【导读】近日,Devin Soni撰写了一篇博文,讲解了第三代神经网络的构思,脉冲神经网络(Spiking Neural Networks, SNN),目的是在填补神经科学和机器学习之间的鸿沟,能够使用仿真生物的神经元模型进行计算。脉冲神经网络(SNN)与机器学习大众所熟知的神经网络有着本质上的区别。文章中,作者会讲解脉冲神经网络的意义和当前机器学习中神经网络的区别和联系,也探讨了未来脉冲神经网络在实际应用中的可能性。希望通过阅读本文,给您带来新的感悟。专知内容组编辑整理。
Spiking Neural Networks, the Next Generation of Machine Learning
脉冲神经网络,下一代机器学习
每个对机器学习方面的最新进展有所了解的人都听说过目前用于机器学习的第二代人工神经网络,这个网络通常是全连接的,输入连续的值,并输出连续的值。虽然这让我们在许多领域都取得了突破性进展,但它们在生物学上是不准确的,而且并没有模拟我们大脑神经元的实际机制。
第三代神经网络,脉冲(spiking)神经网络,旨在填补神经科学和机器学习之间的鸿沟,使用仿真生物的神经元模型进行计算。脉冲神经网络(SNN)与机器学习大众所熟知的神经网络有着本质上的区别。SNN使用脉冲来运行,脉冲是在时间点发生的离散事件,而不是连续的值。脉冲的产生是由表示各种生物过程的微分方程决定的,其中最重要的是神经元的膜电位(membrane potential)。从本质上说,一旦神经元达到一定的电位,它就会出现峰值,并且神经元的电位就会被重置。最常见的模型是Leaky integrate-and-fire (LIF) 模型。另外,SNN通常是稀疏的连接,并且利用了专门化的网络拓扑。
图:LIF模型中膜电位的微分方程
乍一看,这似乎是一种倒退。我们从连续的输出变成了二进制,这些脉冲不是很容易解释的。然而,脉冲序列(spike trains)为我们提供了更强大的处理时空数据的能力,换句话说,就是处理现实世界的感官数据的能力。空间方面是指神经元只与它们本地的神经元连接,因此它们固有地各自单独处理输入块(类似于CNN使用滤波器的方法)。时间方面指的是,脉冲序列(spike trains)会随着时间的推移而发生,所以我们在二进制编码中丢失的东西,会在峰值的时间信息中得到。这使我们能够自然地处理时间数据,而不需要RNNs增加的额外的复杂性。事实证明,与传统的人工神经元相比,spiking神经元是更强大的计算单元。
图:峰值期间的膜电位行为
图:一个由3个神经元组成的网络的尖峰信号(脉冲)序列
图: 一个完整的spiking神经网络
鉴于这些SNNs在理论上比第二代网络更强大,所以很自然地想知道为什么我们看不到它们的广泛使用。目前在SNNs实际使用中的主要问题是训练。虽然我们有无监督的生物学习方法,如Hebbian学习和STDP,但是暂时没有有效的监督训练方法来训练SNNs能够比第二代网络性能更好。由于脉冲序列(spike trains)是不可微的,所以我们不能使用梯度下降而不丢失脉冲序列中精确时间信息的方法来训练SNNs。因此,为了正确地将SNNs用于现实世界的任务,我们需要开发一种有效的监督学习方法。这是一项非常困难的任务,因为需要考虑到在这些网络中的生物现实主义,这将涉及到探究人类大脑如何真正地学习。
另一个我们更需要尽快解决的问题是,在普通硬件上模拟SNN是一项非常计算密集型的任务,因为它需要模拟微分方程。然而,像IBM的TrueNorth这样的神经形态硬件的目标是通过使用专门的硬件来模拟神经元来解决这一问题,这些硬件可以利用神经元脉冲信号的离散性和稀疏性的。
因此,脉冲神经网络的未来仍不明朗。一方面,它们是我们目前神经网络的理所当然的继承者,但另一方面,对于大多数任务来说,它们还不是实用的工具。目前,SNNs在实时图像和音频处理方面的实际应用还比较多,但实际应用的文献仍然很少。大多数关于SNNs的论文要么是理论上的,要么是在一个简单的完全连接的第二代网络中表现出来的。然而,有许多团队正在开发SNN监督学习规则,我仍然对SNN的未来持乐观态度。
参考链接:
https://towardsdatascience.com/spiking-neural-networks-the-next-generation-of-machine-learning-84e167f4eb2b
-END-
专 · 知
人工智能领域主题知识资料查看获取:【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)
同时欢迎各位用户进行专知投稿,详情请点击:
【诚邀】专知诚挚邀请各位专业者加入AI创作者计划!了解使用专知!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!
点击“阅读原文”,使用专知!