基于忆阻器的低功耗脉冲卷积神经网络的硬件架构制造技术

技术编号:26971983 阅读:24 留言:0更新日期:2021-01-06 00:03
本发明专利技术公开了一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,相较于现有的神经网络加速硬件架构采用的数字电路乘法器和数模、模数转换器,带来的硬件功耗和面积的巨大消耗,以及传统神经网络加速硬件架构很难再适配网络规模和计算复杂度不断上升的要求,本方案采用低功耗忆阻器阵列完成模拟乘累加运算,具有运算效率高、功耗低的优点;并且使用阵列和灵敏放大器模拟脉冲卷积神经网络的IF神经元,省去了数模、模数转换器,节约了大量硬件面积消耗。再者,脉冲卷积神经网络相较于传统卷积神经网络运算量大、能耗过高的缺陷,具有高能效计算的特性,本发明专利技术提出的基于忆阻器的脉冲卷积神经网络硬件架构相较于现有技术,有很大的性能提升。

【技术实现步骤摘要】
基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
本专利技术涉及神经网络
,尤其涉及一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构。
技术介绍
近年来,人工神经网络目前已经成为人工智能领域研究的热门方向。得益于大数据和高性能计算硬件的发展,卷积神经网络在图像识别、目标检测和模式识别等领域取得了举世瞩目的成就。但是当今计算处理器(CPU)和图形处理器(GPU),是以传统的冯诺依曼计算体系为基础,在数据从内存至处理器之间的搬运上消耗了很大代价。随着神经网络的处理数据量和计算量越来越大,传统冯诺依曼计算体系在处理大量乘累加运算时,将会消耗非常大的硬件能耗。很难将其应用到嵌入式设备、随身携带移动设备等低功耗设备中。采用与生物神经网络更加接近的脉冲神经网络(SNN)和新型非易失行存储器件忆阻器(RRAM)来设计硬件,有望成为解决硬件能耗问题的一个突破口,近年来不断受到国内外学者的广泛关注。脉冲卷积神经网络(SCNN),由于其基于脉冲神经网络的原理,实现了更高级的生物神经模拟水平,并采用了卷积神经网络(CNN)的网络结构,具有局部感知和参数共享的特点。除了传统卷积神经网络中已有的神经元和突触状态之外,脉冲卷积神经网络还将时间概念纳入了其操作之中旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。和传统卷积神经网络相比,脉冲卷积神经网络结合了卷积神经网络识别精度高和脉冲神经网络能耗低的优点,非常适合用来设计神经网络加速器和神经形态硬件。由于对生物神经网络采用的具体学习方法了解还不够深入,脉冲卷积神经网络目前还缺少高效的训练算法,且缺乏一定的生物学依据,因而在图像识别等领域的识别效果与传统卷积神经网络相比还有一定差距。而且,传统冯诺依曼架构的硬件设计功耗和资源消耗很大。因此,设计一种基于非易失性存储器来实现脉冲卷积神经网络的硬件架构,可以采用新型非冯诺依曼架构,并兼顾卷积神经网络的高准确率和脉冲神经网络的低能耗,有望将其应用到随身携带移动设备等对能耗需求比较高的应用场景中。
技术实现思路
本专利技术的目的是提供一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,能够以较低的功耗实现脉冲卷积神经网络硬件架构,并适配不同的网络结构。本专利技术的目的是通过以下技术方案实现的:一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,包括:输入缓冲器、忆阻器控制模块、忆阻器阵列、灵敏放大器模块、以及输出缓冲器;所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。由上述本专利技术提供的技术方案可以看出,采用了低功耗的忆阻器阵列并使用高效率模拟计算且在硬件上模拟了脉冲卷积神经网络的神经元功能。解决了现有神经网络硬件加速架构计算复杂,能耗较低,面积较大等缺陷,提供了一种使用新型非易失器件忆阻器作为计算和存储单元的硬件架构,实现了脉冲卷积神经网络的硬件加速,降低了功耗。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构的示意图;图2为本专利技术实施例提供的输入数据转换为脉冲输入示意图;图3为本专利技术实施例提供的忆阻器控制模块示意图;图4为本专利技术实施例提供的忆阻器进行脉冲模拟计算的示意图;图5为本专利技术实施例提供的忆阻器阵列架构示意图;图6为本专利技术实施例提供的脉冲卷积神经网络示意图;图7为本专利技术实施例提供的IF神经元示意图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术实施例提供一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,如图1所示,其主要包括:输入缓冲器(INPUT缓冲器)、忆阻器控制模块(RRAM控制模块)、忆阻器阵列(RRAM阵列)、灵敏放大器(SA)模块、以及输出缓冲器(OUTPUT缓冲器);所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。为了便于理解,下面针对硬件架构中各个部分做详细的介绍。一、输入缓冲器。输入缓冲器将图片输入数据存储在片外或片内的存储器中,并在计算时控制存储器的地址与时序,将输入数据依次送入忆阻器阵列中进行计算。所述输入缓冲器包括:存储器与控制器。1)存储器。所述存储器用于存储图片输入数据,所述图片输入数据是通过对浮点数据形式的原始输入(Orignallnput))图片进行转换后得到的由0/1比特数据存储的脉冲输入(Spikelnput)图片。图像转换的过程如图2所示,原理为:原始输入图像中的每个像素通过频率编码方式转换为放电频率与该像素的灰度值成正比的脉冲序列。转换过程为:原始输入图片中的每个像素与一个随机数比较,该随机数的范围是0至Max,Max是像素最大值,通常情况下是255。对浮点数据形式的图片进行转换的公式由以下判断表达式表示:Spikeinput(x,y)=(Orignalinput(x,y)>Random(0,Max))?1∶0其中,Spikeinput(x,y)是二值输入数据的第x行、第y列像素值,Orignalinput(x,y)是原始输入图片的第x行、第y列像素值,Max是像素最大值,Random(0,Max)是0至像素最大值之间的随机数;等号之后问号之前的部分是判断式,当判断式成立时,该表达式结果为1;当判断式不成立时,该表达式结果为0。基于以上公式,对于一幅原始输入图片能转换为多幅脉冲输入图片,每幅脉冲输入图片都是二值图片,多幅脉冲输入图片累加的结果与原始图片相近,可以作为脉冲卷积神经网络的输入脉冲序列。2)控制器。所述控制器,本文档来自技高网
...

【技术保护点】
1.一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,包括:输入缓冲器、忆阻器控制模块、忆阻器阵列、灵敏放大器模块、以及输出缓冲器;/n所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;/n所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;/n所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;/n所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;/n所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。/n

【技术特征摘要】
1.一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,包括:输入缓冲器、忆阻器控制模块、忆阻器阵列、灵敏放大器模块、以及输出缓冲器;
所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;
所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;
所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;
所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;
所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。


2.根据权利要求1所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,所述输入缓冲器包括:存储器与控制器;
所述存储器,用于存储图片输入数据,所述图片输入数据是通过对浮点数据形式的原始输入图片进行转换后得到的由0/1比特数据存储的脉冲输入图片;
所述控制器,用于为忆阻器控制模块提供译码总线信号和控制总线信号。


3.根据权利要求2所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,对浮点数据形式的图片进行转换的公式为:
Spikeinput(x,y)=(Orignalinput(x,y)>Random(0,Max))?1:0
其中,Spikeinput(x,y)是二值输入数据的第x行、第y列像素值,Orignalinput(x,y)是原始输入图片的第x行、第y列像素值,Max是像素最大值,Random(0,Max)是0至像素最大值之间的随机数;等号之后问号之前的部分是判断式,当判断式成立时,表达式结果为1;当判断式不成立时,表达式结果为0;
基于以上公式,对于一幅原始输入图片能转换为多幅脉冲输入图片,并以此作为脉冲卷积神经网络的输入脉冲序列。


4.根据权利要求1所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,所述忆阻器控制模块包括:BL模块、SL模块和WL模块;三个模块接收输入缓冲器输出的译码总线信号和控制总线信号,分别控制忆阻器阵列的位线、源线和字线。


5.根据权利要求1所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,所述忆阻器阵列中,由单个忆阻器和NMOS管串联形成的1T1R三端器件单元作为基本单元,用于完成乘法计算;由图片输入数据控制1T1R三端器件单元中NMOS管的导通或闭合;
单个1T1R三端器件单元中,NMOS管的栅极为字端,NMOS管的源级为源端,NMOS管的漏级连接忆阻器的一端,忆阻器的另一端则为位端;将不同1T1R三端器件单元的字端、源端、位端各自连接,构成忆阻器阵列位线、源线和字线。


6.根据权利要求1或5所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,忆阻器阵列的每一列忆阻器各自连接一个灵敏放大器及相应的电容;每一列忆阻器、灵敏放大器及相应的电容构成一个脉冲神经计算单元,其计算公式为:



其中,Ij(t-1)为忆阻器阵列第j列在t-1时刻的汇集电流,Gij为忆阻器阵列第i行、第j列忆阻器的电导值,Si(t-1)为第i行在t-1时刻的输入,VREAD为读操作电压值,Vc(t)和Vc(t-1)分别是电容在t...

【专利技术属性】
技术研发人员:吴启樵孙文浩蔡元鹏陈松
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1