48

非冯诺依曼新架构:IBM100万忆阻器大规模神经网络加速AI

 5 years ago
source link: http://www.10tiao.com/html/511/201807/2652021869/4.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.




  新智元推荐  

来源:Nature Communications

编译:金磊


【新智元导读】众所周知,目前将深度神经网络和生物神经网络进行匹配的研究正处于瓶颈期。而近期,IBM公司Irem Boybat等人在《Nature Communication》中发表的文章,有望改善此难题:他们设计了多记忆突触结构(multi-memristive synaptic architecture),能够在不增加功率密度的情况下提高突触的精度,并在一个拥有100多万台相变存储器(PCM)器件的脉冲神经网络(SNN)中对多记忆突触结构进行了实验演示。



我们人类的大脑可以用低于20瓦的能量来驱动,再想想我们的笔记本电脑,大约需要消耗80瓦的能量。在能源效率和体积方面,我们的大脑比最先进的超级计算机要多出几个数量级。自然,最先进的神经网络与生物的神经网络是完全无法抗衡的。造成这个结果的其中一个原因是现今的计算机的架构还是依照冯·诺依曼的思想,即内存和处理工作是分开的。这意味着数据需要不断来回穿梭,产生热量并且需要大量的能量——这是一个效率瓶颈。当然,大脑是不存在这个问题的。那么这便是改善该问题的一个突破口。


多记忆突触(Multi-Memristive Synapse)


多记忆突触的结构如下图所示:


多记忆突触概念


a.一个多记忆突触的突触净权重(net synaptic weight)是由多记忆设备(multiple memristive devices)电导累加和()表示。为了实现突触效能(synaptic efficacy),所有设备都使用电压读取信号(read voltage signal),V。通过每个设备产生的电流被汇总起来,由此产生突触输出(synaptic output)。


b.为了捕捉突触可塑性(synaptic plasticity),在任何突触更新时,都只选择一个装置。而突触的更新是通过改变被选择设备的电导率来决定的。这个过程是由对所选设备应用恰当的编程脉冲(programming pulse)来实现的。


c.采用一种基于计数的仲裁机制(counter-based arbitration scheme)来选择用来编程以实现突触可塑性的设备。此处使用一个最大值等于(表示一个突触的)设备数量的全局选择计数器。在任何突触更新的情况下,被选择计数器指向的设备将被编程。随后,选择计数器增加一个固定的量。除了选择计数器之外,设置独立的增强计数器和衰减计数器用来控制增强或衰减事件发生的频率。


基于PCM设备的多记忆突触



基于相变存储器(PCM)的突触


a.PCM器件由夹在顶部和底部电极之间的相变材料层组成。增强脉冲(potentiation pulses)的应用可以逐渐增加晶区(crystalline region)。衰弱脉冲(depression pulse)会产生一个非晶区,不论设备的原始状态如何都会导致电导的骤然下降。


b.平均电导会随着不同电流振幅(current amplitude)的脉冲数而产生变化。每条曲线都是9700个设备电导测量值的平均。插图显示了本研究中使用的一种特征化PCM装置的透射电子显微图。


c.当重复增强和衰弱脉冲时观察得到的平均累积电导变化。设备的初始电导为~5μS。


d.当脉冲为=100μA时,给9700台设备测量电导值的平均和标准误差(1σ),相应的模型也对应相同的设备数量。插图显示了在第20个增强脉冲后电导的分布,以及由模型所得到的对应分布。


e.左图显示了在同一个PCM设备上应用1000次的单个脉冲所引起的电导变化的典型分布。该脉冲作为第四个增强脉冲,应用到设备上。用同样的测量方式在不同的1000台PCM设备上重复,并在插图显示这1000个设备的平均和标准误差。右图显示了单个脉冲在1000个设备上引起的电导变化的典型分布。该脉冲作为第四个增强脉冲应用到设备上。同样的测量在1000个电导变化中重复进行,插图显示了1000个电导变化中的平均和标准误差。可以看出,设备间和设备内的可变性是可以比较的。


基于PCM的多记忆突触


a.对第1、3和7PCM设备进行实验,得到突触的平均累积电导变化。测量是基于1000个突触,每个设备的电导都初始化为~5μS。对于增强实验,脉冲值选择=100μA,而衰弱实验中,脉冲值选择=450μA。

b.分别用10、30和70个增强脉冲对第1、3和7个PCM突触进行应用后,得到累积电导变化的分布。均值和方差几乎与每个突触设备数量呈线性关系,可引出一种改良的权重更新解决方案。


手写体数字分类的仿真效果



多记忆突触在神经网络中的应用


a.利用反向传播训练人工神经网络进行手写数字分类。在输入层和隐藏层中使用偏置神经元(bias neurons)(白色)。利用PCM器件的非线性电导响应,建立了一种多模态突触模型,用于表征这些模拟中的突触权重。增加多记忆突触装置的数量(包括有差别结构和无差别结构)可以提高测试的准确性。对五种不同的初始化权重进行了重复模拟。误差条(error bars)表示标准偏差。虚线显示了在双精度浮点软件上实验得到的测试精度。

b.使用基于STDP的学习规则对手写数字分类任务进行了脉冲神经网络(SNN)的训练。同样地,在该模拟中一个多记忆突触模型表示突触权重(设备存在有差别和无差别)。网络的分类精度随着每个突触的设备数量而增加。对五种不同的初始化权重进行了重复模拟。误差条(error bars)表示标准偏差。虚线显示了在双精度浮点软件上实验得到的测试精度。


时间相关性检测的实验结果



多记忆突触在神经网络中的实验演示


a.通过无监督学习训练了脉冲神经网络,完成时间相关检测任务。我们的网络由1000个多PCM突触(在硬件上)组成,连接到一个Integrate-And-Fire(I&F)神经元上。突触接收到由泊松分布产生的基于事件的数据流,作为前突触(presynaptic)输入峰值。100个突触接收到相关数据流,相关系数为0.75,而其他突触则接收到不相关的数据流。相关的和非相关的数据流都有相同的速率。由此产生的后突触(postsynaptic)输出在神经元膜上累积。基于输入峰值和神经元峰值的时间,使用指数STDP规则进行权重更新的计算。如果期望的权重变化大于(小于)阈值,则应用具有固定振幅的增强(衰弱)脉冲。



b.在实验结束时,显示了由N = 1、3和7个PCM设备组成的突触权重。可以看出,接受相关输入的突触的权重往往大于接受不相关输入的突触的权重。随着N的增加,权重分布更加清晰。


c.在实验的前300个步骤中,是六个突触权重的变化。随着每个突触的设备数量的增加,权重也逐渐增加。


d.在最后的实验中,显示的是由144000多元PCM突触(每个突触有7台设备)组成的一个SNN的突触权重分布。14400个突触接收到相关的输入数据流,相关系数为0.75。这次大规模实验共使用了1008000个PCM设备。下方板显示了PCM设备模型预测的突触权重分布。


想要了解更多,可阅读下方原文文献:

https://www.nature.com/articles/s41467-018-04933-y#Sec2



【加入社群】


新智元 AI 技术 + 产业社群招募中,欢迎对 AI 技术 + 产业落地感兴趣的同学,加小助手微信号: aiera2015_3  入群;通过审核后我们将邀请进群,加入社群后务必修改群备注(姓名 - 公司 - 职位;专业群审核较严,敬请谅解)。





About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK