一种基于忆阻器实现的硬件卷积神经网络模型

未命名 07-27 阅读:107 评论:0


1.本发明涉及半导体集成电路和神经网络领域,具体涉及到一种基于忆阻器实现的卷积神经网络在图像识别中的应用。


背景技术:

2.在卷积神经网络中,存在大量的卷积(或乘加)运算,这部分消耗了网络运行中绝大部分的资源,也是影响网络运行速度的最主要的原因。目前,神经网络中的卷积(或乘加)运算多在软件中完成。
3.忆阻器——或rram(resistive random access memory,电阻式随机存取存储器)——的电导值会随着施加在上下极的电压而发生变化,且在不施加电压时保持之前的电导值。忆阻器是双端无源器件,与cmos工艺兼容,目前较为成熟的工作模式为:在两个区分度很高的电导态hrs与lrs之间进行切换,用以作为非易失性存储器进行数据存储;或利用其两个电导态构建二值神经网络等。不过,忆阻器的电导并非仅在两个状态之间跳变,而是存在一个随电压连续地单调增长/降低的过程。考虑到其高集成度、无源、非易失性、与cmos工艺兼容的特点,可以利用忆阻器的电导值表示神经网络训练后的权重,从而利用基尔霍夫定律在硬件层面进行高速度低功耗的卷积(或乘加)运算。


技术实现要素:

4.为了实现利用忆阻器在硬件层面对卷积神经网络的计算进行优化,本发明旨在提供一种基于忆阻器实现的硬件卷积神经网络模型,可以用于(但不仅限于)对mnist数据集进行图像识别,包括如下模块。
5.忆阻器阵列模块。该模块为整个模型的核心计算单元,通过控制wl、bl、wl上的电压来选定目标忆阻器,进而通过在bl上施加脉冲电压来对目标忆阻器的电导进行编程或通过读取sl上的电流以完成利用基尔霍夫定律对输入数据进行卷积运算。
6.与忆阻器阵列搭配的外围电路模块。该模块为忆阻器阵列模块服务,包含生成特定电压值的电压生成模块与数模转换模块等,用于生成特定的电压以驱动忆阻器阵列以及实现忆阻器阵列与fpga和计算机的通讯。
7.fpga模块。该模块主要作用为控制功能,控制忆阻器阵列模块和外围电路模块的工作,以及实现其与计算机的通讯。
8.计算机模块。该模块主要作用为数据处理,包括权重的编码,层间数据的量化,以及神经网络运行过程中所需要的池化、填充、分类等操作。
附图说明
9.图1为用rram差分对表示权重的方法。
10.图2为卷积计算的电路实现示意图。
11.图3为通过电压编码表示灰度值的方法。
具体实施方式
12.为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述。为了方便理解,接下来的描述以针对mnist数据集的卷积神经网络为例,应当理解,此处所描述的实施示例仅用于说明和解释本发明,但本发明不仅限用于实现基于mnist数据集的卷积神经网络。
13.权重与rram电导的映射,参见图1。在软件训练后得到的神经网络权重为-1~+1之间的浮点数,需要将其与rram的电导建立映射,以便用rram的电导权重进行表示。以能够实现32个相对独立且区分度高的电导态(2μs~20μs,δ=0.58μs)的rram为例,选用其中的7个电导态(2μs~20μs,δ=2.5μs),并用一对rram构成一组差分rram对,通过分别施加正压与负压的方式,通过不同正压和负压进行组合,如此一组差分rram对可以实现-17.5μs~+17.5μs之间的15电导态,δ=2.5μs,即可使一组差分rram对表示神经网络中某两个神经元之间连接的正权重或负权重。将软件训练之后的权重按照区间一一映射到硬件rram的电导值上,如之间的权重对应的rram差分对的电导为0μs,之间的权重对应的rram差分对的电导为2.5μs,以此类推即得到了用硬件电导表示网络权重的方法。
14.rram电导的编程方法。可以通过连续施加较大脉冲电压的形式实现rram电导值的连续变化,对于set操作而言,wl、bl、sl上的电压分别为1.8v、2.0v(50ns脉冲)、0v;对于reset操作而言,wl、bl、sl上的电压分别为4.7v、0v、1.8v(50ns脉冲)。
15.卷积计算与硬件电路的映射,参见图2。对于图中的卷积窗口而言,x
2-2
等为原始输入图像的灰度值,w
2-2
等为卷积核的权重。按照上文所述的方法将rram的电导值编程为对应卷积核的权重后,在各条bl上输入代表图像不同像素点灰度值的电压,则sl
+
与sl-的差分电流即为该卷积核对所覆盖的九个点卷积的结果。将电流值采样后既可用于后续池化和其他层网络的计算。全连接层同理。
16.卷积层/全连接层输入数据通过电压传递的方法,参见图3。以卷积层为例,对于某个卷积窗口而言,9个输入值分别对应为9条bl上的电压。对某个输入而言,其数值会被编程为对应的8位二进制值,并以8个周期的脉冲电压(0.2v)表示,二进制中的某位的“1”和“0”分别表示脉冲电压中此周期有无脉冲。如倘若图2中x
2-2
处的输入值为109,则其对应的二进制值为01101101,在计算时,输入rram阵列的脉冲电压波形如图3所示。设第k个周期sl上采集到的电流为ik,分别采样8个周期sl上的电流,将电流移位相加后得到的电流i
sl
即为该卷积窗口对应的卷积之后的结果,如公式(1)所示。
[0017][0018]
在实际应用中,后续层的神经网络会有更大的输入范围,针对这个更大的输入范围,则会再次将其量化压缩为8bit定点数送给下一层,量化方法见[0019]段描述。例如,倘若某层的输出是0-2550,那么将以10为步长,将其重新转化为一个0-255的定点数作为下层输入。
[0019]
层间数据量化的方法。由于本发明中的硬件神经网络模型每层的输入是通过电压表示的,因此无法实现软件神经网络般高精度的输入,故而采用量化的方法,将每层的输出(通过[0006]段中提到的外围电路采样到电流后,将电流值输入计算机进行量化)量化为8bit后再通过[0016]段中提到的方法输入下层,量化也可以在保证精度的同时大幅简化运
算。设某层输出的数据为高精度的浮点数r(r1、r2、r3……
),量化之后得到的定点数为q(q1、q2、q3……
),则可以通过以下的公式(1)建立量化关系。
[0020][0021]
其中,s为缩放系数,是量化前的浮点数和量化后的定点数值域之间的比例关系;z为定点零点,表示实数中的0经过量化后对应的整数。s和z分别由如下公式(2)和公式(3)计算得到。
[0022][0023][0024]
与rram阵列搭配的外围电路模块的作用。在fpga的驱动下,外围电路产生对应的编程电压对rram电导进行编程、在计算操作时输入对应的脉冲序列使阵列进行卷积运算并读取计算结果、并通过adc和dac模块与fpga进行通讯。
[0025]
fpga开发板的作用。fpga开发板在模型中承担rram阵列以及外围电路组成的硬件电路部分和计算机交互的作用,同时产生控制信号驱动硬件电路部分各个模块的有序运作。
[0026]
计算机的作用。计算机在模型中承担除卷积外的其他计算的作用:[0013]段落中描述的权重与rram电导的映射需要计算机将训练后的权重重写后编程为对应rram差分对的电导;[0019]段落中描述的量化需要在计算机中完成;神经网络每层计算后的池化、填充需要在计算机中完成;全连接层中的激活函数和全连接层最后的分类函数的计算也需要在计算机中完成。
[0027]
以上各部分配置齐全后,即可实现一个完整的卷积计算在rram组成的硬件电路中完成的卷积神经网络。

技术特征:
1.一种基于忆阻器实现的卷积神经网络模型,包括作为整个模型核心的忆阻器阵列模块,为忆阻器阵列服务的、用于生成特定的电压以驱动忆阻器阵列以及实现忆阻器阵列与fpga和计算机的通讯的外围电路模块,用于控制忆阻器阵列模块和外围电路模块的工作、以及实现其与计算机的通讯的fpga模块,用于数据处理(包括权重的编码,层间数据的量化,以及神经网络运行过程中所需要的池化、填充、分类等操作)的计算机模块。其中,忆阻器阵列的结构为crossbar结构,采用1t1r的连接方式,对单一权重对应的一对忆阻器差分对而言,其一段通过一条共用的bl相连,另一端分别连接两个用作开关的mos管,mos管的栅极连接在两条不同的wl上,mos管未连接忆阻器的另一极连接在两条不同的sl上;对一个卷积窗口的多个权重对应的多个忆阻器差分对而言,被施加正电压的忆阻器一端连接在不同的bl上,另一端连接在不同的mos管上,所连接的mos管的栅极连接在同一条wl上,mos管未连接忆阻器的另一极连接在同一条sl上;对一个卷积窗口的多个权重对应的多个忆阻器差分对而言,被施加负电压的忆阻器一端连接在不同的bl上,另一端连接在不同的mos管上,所连接的mos管的栅极连接在同一条wl上,mos管未连接忆阻器的另一极连接在同一条sl上。2.根据权利要求1所述一种基于忆阻器构成的脉冲神经网络模型,其特征在于:利用忆阻器的可变电导表示神经网络中的权重;利用一组分别工作在正电压与负电压下的差分忆阻器对来实现神经网络中的正权重或负权重。3.根据权利要求1所述一种基于忆阻器构成的脉冲神经网络模型,其特征在于,通过量化的方法,将每层数据进行压缩,在保证精度的前提下极大程度上减少了计算量,提高了计算效率;通过脉冲电压的形式,将量化后的数据以数字化的脉冲电压的形式送入忆阻器阵列中进行计算,然后将得到的电流按位进行加权求和得到卷积计算的结果,这与忆阻器目前只能够实现部分区分度较高的电导态而无法做到电导态的精确连续调节的性能相匹配。4.根据权利要求1所述一种基于忆阻器构成的脉冲神经网络模型,其特征在于,利用了基尔霍夫定律,通过为忆阻器施加电压并读取对应电流,在硬件上实现了卷积神经网络中的计算量最大的卷积计算,极大程度上加快了神经网络的计算效率,且忆阻器的工艺与cmos工艺兼容,可以很方便地与其他电路部分进行耦合,有利于集成到超大规模的数字神经形态硬件架构中。

技术总结
本发明公开了一种利用忆阻器所构建的卷积神经网络模型,涉及半导体集成电路和神经网络领域。所提出的卷积神经网络系统核心为忆阻器组成的卷积层和全连接层,以及与之配套的数据编码方法。本发明利用了忆阻器可实现多电阻态的特性,将卷积神经网络中的权重映射为忆阻器的电导,将卷积神经网络中的输入映射为忆阻器两端的电压,读取流经忆阻器的电流即可得到卷积层和全连接层运算之后的结果。相较于传统的卷积神经网络,本发明提出的网络可基于硬件实现,充分利用了忆阻器的多电阻态特性,具有功耗低、效率高、集成度高、与CMOS工艺兼容性好等优点。等优点。等优点。


技术研发人员:翟亚红 王健竹
受保护的技术使用者:电子科技大学
技术研发日:2023.03.24
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐