跳到主要内容
起居室老虎
返回

Towards spike-based machine intelligence with neuromorphic computing

1,567 字约 6 分钟

原文:doi:10.1038/s41586-019-1677-2 · Roy et al., Nature 2019

0. Main

人脑在完成一系列复杂任务的同时只需要 2W 左右的功耗,而电脑实现的简单的目标分类都需要约 250W 能耗。目前的神经网络和人脑的原理有相似之处,但实际上相差甚远。今天,算法设计师们正在积极探索(特别是 “学习”)脉冲驱动型计算的优缺点,去推动有可扩展性、高能效的 “脉冲神经网络”(spiking neural networks ,SNN)。在这种情况下,我们可以将神经形态计算领域描述为一种协同工作,它在硬件和算法域两者中权重相同,以实现脉冲型人工智能。我们首先强调了 “智能”(算法)方面,包括不同的学习机制(无监督以及基于脉冲的监督,或梯度下降方案),同时突出显示了要利用基于时空事件的表征。本文讨论的重点是视觉相关的应用任务,例如图像识别和检测。然后我们将探索 “计算”(硬件)方面,包括模拟计算、数字神经运动系统,它们都超越了冯・诺依曼(数字计算系统的最新架构)和芯片技术(代表了基本的场效应晶体管设备,它们是当下计算平台的基础)。最后,我们将讨论算法的硬件协同设计前景,说明算法具有用于对抗硬件漏洞的鲁棒性,可以实现能耗和精度之间的最佳平衡。

1. Algorithmic outlook

按照神经元的功能,将神经网络分为三个代际。第一个代际称为 McCulloch-Pitt 感知机,执行阈值运算然后最终输出 0 或 1;第二代中基于 sigmoid、RELU 等方法引入了非线性,使得网络可以表征更加复杂的特征、设计为更加复杂的结构和更加深的网络。SNN 就是第三代神经网络,因为其中还包含了时间信息。SNN 是事件驱动的,同时输入只有 0 和 1,减少了点积运算,能耗和计算量都很低。

SNN 的目前面临的问题包括:

1. SNN具有不可导的性质,没有办法通过目前的梯度下降的方法进行反向传播的训练,无法受益于目前已经很成熟的相关研究;
2. 目前基于脉冲的数据很少,目前常见的数据都是基于静态数据集(CIFAR,ImageNet),没有一个很好的benchmark来评估符合现实条件的SNN性能;

2. Learning in SNNs

2.1. Conversion-based approaches

对于一个特定结构的神经网络,用某种算法将它映射为 SNN 的连接结构 + 各种权重,使得它们具有类似的输出。优点是不用考虑 SNN 不连续的训练问题等,可以利用目前已经存在的 DNN 的训练算法。缺点是直接通过转化的方法不好处理类似 tanh 之类的函数(常见的 spike neuron 一般只能处理正值,会丢弃负值),同时这种转化总是会造成精度的下降的。最近的工作还会在训练 DNN 的时候加入一些约束,使得这些 DNN 在转化为 SNN 之后能够更好地保持原有的性能。第三个问题是转化过来的 SNN 的推理 time step 都很高,有的需要几千个 time step 才能推理出结果,这样会造成能耗的升高。

2.2. Spike-based approaches

“Two main directions”: 无监督和有监督。

有监督:

Most works that rely on backpropagation estimate a differentiable approximate function for the spiking neuronal functionality so that gradient descent can be performed. However, supervised learning—although more computationally efficient—has not been able to outperform conversion-based approaches in terms of accuracy for large-scale tasks.

无监督:

This architecture turns out to be more brain-like, as well as suitable for energy-efficient on-chip implementations.

如果 SNN 变深,训练的时候深层的网络 spike 的概率越来越小,解决方法是 local-global 训练,layer-wise 训练,但是精度一般,不如 conversion。

Untitled.png

2.3. Implications for learning in the binary regime

主要是介绍了一下 Binary/Ternary NN 这种超低量化的兴起,看起来能和 SNN 结合,但是具体的工作还是 “remains to be seen”

3. Other underexplored directions

3.1. Beyond vision tasks

SNN 理论上更适合处理天然有时序的数据,比如 robotic 中的传感器数据等。

3.2. Lifelong learning and learning with fewer data

目前的 DNN 在持续学习的能力上很差,学习了一个任务就会忘掉之前的任务,但是人不是这样的,SNN 与人相似之处让人期待它的持续学习能力。

从神经科学中学到的结构与 neuron 对这个领域可能会有新的启发。

4. Hardware outlook

4.1. The emergence of neuromorphic computing

1980s,Carver Mead

4.2. The advent of parallel-processing GPUs

GPU 不能事件驱动,能耗太高

4.3. The “Big Brain” chips

Neurogrid,TrueNorth 等,总体特点:

Untitled.png

4.4. Beyond-von-Neumann computing

晶体管慢慢接近了物理极限,同时传统的冯诺依曼架构逐渐遇到了内存墙等问题。但是 SNN 可以受益于 crossbar、忆阻器等新技术实现新的超越冯诺依曼的计算模型。

Untitled.png

Non-volatile technologies

忆阻器类的新器件,可以根据历史信息改变自己的电阻值,然后根据欧姆定律可以在原地实现计算。

问题主要在于非理想型、本身具有一定的随机性导致写入不可靠、需要的能耗相对高等问题。

Silicon (in-memory) computing

就是各种传统的存内计算

5. Algorithm-hardware codesign

5.1. Mixed-signal analog computing

传统的纯模拟计算搜到噪声太大,最近的部分方案引入数字 - 模拟的混合方案,包括近似模数转换器等,旨在降低能耗的同时减少引入的模拟电路部分对准确度的影响。

5.2. Memristive dot products

基于忆阻器电路的点乘,收到非理想效应影响太大。

5.3. Stochasticity

使用类似 STDP 的随机局部学习的方法更新权重,实现随机二值 SNN。认为 STDP 学习中的 timestep 维度提供了额外的准确度。可以尝试与基于梯度下降的方法结合,更好地利用硬件上的随机性。

5.4. Hybrid design approaches

包括计算数据的重要性驱动隔离、混合精度计算、将传统硅存储器重新配置为按需存内近似加速器、局部同步和全局异步设计、局部模拟和全局数字系统。

6. Conclusion