Daily Paper(4):Online-Learning Digital Spiking Neuromorphic Processor in 28nm CMOS

Frenkel C , Lefebvre M , Legat J D , et al. A 0.086-mm 2 ^2 2 12.7-pJ/SOP 64k-Synapse 256-Neuron Online-Learning Digital Spiking Neuromorphic Processor in 28-nm CMOS[J]. IEEE Transactions on Biomedical Circuits and Systems, 2019, 13(1):145-158.

A 0.086-mm2 12.7-pJ/SOP 64k-Synapse 256-Neuron Online-Learning Digital Spiking Neuromorphic Processor in 28nm CMOS

中文名:一种基于28nm CMOS工艺的0.086mm2 12.7-pJ/SOP 64k个突触 256个神经元在线学习的数字脉冲神经形态处理器

该篇文章算神经形态芯片领域还不错的一篇了,同时HDL工程也已经发布到GitHub上了。

https://github.com/ChFrenkel/ODIN

先读摘要:计算机架构从冯·诺伊曼架构到基于事件的脉冲神经网络(SNNs),为视觉或感知运动控制等应用领域的低功耗感知数据处理带来了新的机会。探索认知性的SNNs需要设计紧凑,低功耗和多功能的实验平台,以在线学习为关键,以便在不受控制的环境中适应和学习新特征。然而,在SNNs中进行嵌入式在线学习存在较高的复杂性和区域的开销。在这个工作中,我们提出了ODIN,一个0.086mm2 64k个突触,256个神经元在线学习的数字脉冲神经形态处理器使用28nm的FDSOI CMOS工艺实现了每个突触操作的最小能量为12.7pJ。它利用的一种有效实现SDSP学习规则为高密度嵌入式在线学习只有0.68µm2 / 4比特突触。神经元可以被单独的配置成LIF神经元或者自定义的拥有20种现象的Izh模型。将6K的16×16 MNIST训练图像单独呈现到一个单层的全连接10个神经元的片上网络基于SDSP的学习,ODIN实现了分类的准确性84.5%,而在0.55V下使用顺序编码仅消耗15nJ/推理。因此,ODIN能够进一步发展认知神经形态设备,实现低功耗、自适应和低成本的处理。

先记录一下全文:
II.ARCHITECTURE AND IMPLEMENTATION
这款SNN处理器的片上网络是基于crossbar的,同时根据题目该处理器实现256个神经元,主要是通过分时复用将1个神经元复用成256个神经元。由于用到了分时复用,即对一个神经元硬件模块进行复用,所以文章提出将神经元状态以及突触权重都存储在SRAM中。文章也提出,外部的脉冲事件是通过AER总线传送到处理单元进行处理。由于AER是基于事件的,所以作者团队在实现了多个事件种类:
(1)神经元脉冲事件:就是一个突触前神经元脉冲,如果采用全连接,也就是1-256,会导致后面的256个神经元更新状态,这里可以记录一下时序,更新后面的256个神经元,即要读取256次神经元状态以及32(256/8)次突触存储器作者在设计中采用的时序为依次读取,即需要512个时钟周期,如下图;
在这里插入图片描述
(2)单突触事件: 就是两个神经元通过一个突触连接时,当产生一个单突触事件,就会使突触后神经元更新状态。
(3)虚拟突触事件: 个人感觉就是模拟一个突触后神经元,需要在AER总线中给出突触后神经元地址,以及突触权值。所以这个过程不需要读取读取突触以及更新突触。
(4)神经元事件参考事件: 就是一个时间戳事件,它定义了时间常数Izh神经元行为。需要更新所有神经元。
(5)双稳态时间参考事件: 一个特定的地址触发所有突触的双稳机制。

处理器网络架构:(CrossBar)
在这里插入图片描述

关于SRAM或者内存的大小

由于实现了256个神经元以及64k突触。(每个神经元状态128bit,一个突触权重4bit,八个突触权重合到一起,即32bit),所以神经元的SRAM占据256×128bit = 32768bit/8=4KB,突触的SRAM占据65536/8 = 8192,8192×32bit=262144bit/8 = 32KB。

突触权重学习采用的是SDSP算法

看公式和图就可以了,主要是与膜电位的大小以及钙离子的浓度有关:
在这里插入图片描述
在这里插入图片描述

神经元相关处理

作者提出了两种神经元模型,分别是LIF模型和Izh模型。作者在Neuron array中提出,LIF神经元仅仅表现为一个积分器,缺乏对时间信息的利用。因此补充了可以实现Izh神经元模型的20种行为的形态学模型。但其实我认为LIF神经元是可以利用时间信息的,不过要结合突触延时以及时间参考完成LIF的积分以及泄露。Izh神经元巧就巧在其中有一个行为就是spike latency,可以同化为axonal delays。所以在ODIN中我们可以配置来选择LIF以及Izh模型。其实Izh模型也是基于LIF神经元实现的,具体的实现在作者2017年的一篇文献也有提出。

C. Frenkel, J. Legat and D. Bol, “A compact phenomenological digital neuron implementing the 20 Izhikevich behaviors,” 2017 IEEE Biomedical Circuits and Systems Conference (BioCAS), Turin, 2017, pp. 1-4, doi: 10.1109/BIOCAS.2017.8325231.
一种实现了20种Izh模型行为的形态学数字神经元

调度器设计

文章提出提出了一种调度机制,分为单脉冲形式以及Burst形式,在使用LIF神经元的时候,产生的均为单脉冲。如果使用Izh模型,根据其20中形态学的behaviors,可以出现burst spikes。
文章中提到,该调度器可以当成一个基于优先级的FIFO,它的作用是处理来自所有神经元的脉冲以及burst事件,并且在外部的和内部产生的神经元事件进行仲裁。结构如下:
在这里插入图片描述
其中有一个必须理解的数值57,文章提出在ODIN中的burst spikes依次最多8个spike,同时实现每两个spike之间世家间隔可以达到7个时间步,则最大需要8*7+1 = 57个FIFO。

作者也在后面继续提到了流片的参数以及流片之后的功耗测试等。

测试ODIN

文章中提出,使用MNIST数据集来比较在线学习的SDSP与基于梯度的有监督学习离线学习之间的差别。结果如下:
在这里插入图片描述
总结:这篇最有意义的工作应该是在与使用了嵌入的在线学习的SDSP非监督学习算法,应该第一款使用了该算法的神经形态计算芯片,同时也成功流片(主流的非监督主要还是集中在STDP学习规则)。以及权值是可配置的,所以可以实现在线以及配置离线学习的权重。该处理器上可配置的思想遍布整体,神经元所有参数均可配置,突触权值可配置,神经元模型选择以及突触学习使能等,包括Izh神经元模型的20种behaviors。但作者在文章着重提出的是芯片面积小,功耗小以及嵌入的在线学习实现,但在整体性能分析上并不深入,且测试结果并不是十分高效。但作者在GitHub公布工程Code,是非常值得刚接触神经形态计算芯片的研究人员参考与学习的,同时作者在流片之后组成了一个集群的类脑计算平台,基于ODIN芯片实现的,那片文章就会涉及到芯片之间通信及数据交换,如路由机制,有时间会继续读。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值