CN116468090A - 一种基于忆阻器实现的硬件卷积神经网络模型 - Google Patents
一种基于忆阻器实现的硬件卷积神经网络模型 Download PDFInfo
- Publication number
- CN116468090A CN116468090A CN202310297925.6A CN202310297925A CN116468090A CN 116468090 A CN116468090 A CN 116468090A CN 202310297925 A CN202310297925 A CN 202310297925A CN 116468090 A CN116468090 A CN 116468090A
- Authority
- CN
- China
- Prior art keywords
- memristor
- neural network
- network model
- convolutional neural
- memristors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000013528 artificial neural network Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 7
- 239000004065 semiconductor Substances 0.000 claims abstract description 5
- 229910044991 metal oxide Inorganic materials 0.000 claims abstract 3
- 150000004706 metal oxides Chemical class 0.000 claims abstract 3
- 230000000295 complement effect Effects 0.000 claims abstract 2
- 239000010410 layer Substances 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000013139 quantization Methods 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000003062 neural network model Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 238000011049 filling Methods 0.000 claims description 3
- 239000011229 interlayer Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 claims 1
- 210000005036 nerve Anatomy 0.000 claims 1
- 230000010354 integration Effects 0.000 abstract description 2
- 238000007667 floating Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0026—Bit-line or column circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0028—Word-line or row circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0038—Power supply circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种利用忆阻器所构建的卷积神经网络模型,涉及半导体集成电路和神经网络领域。所提出的卷积神经网络系统核心为忆阻器组成的卷积层和全连接层,以及与之配套的数据编码方法。本发明利用了忆阻器可实现多电阻态的特性,将卷积神经网络中的权重映射为忆阻器的电导,将卷积神经网络中的输入映射为忆阻器两端的电压,读取流经忆阻器的电流即可得到卷积层和全连接层运算之后的结果。相较于传统的卷积神经网络,本发明提出的网络可基于硬件实现,充分利用了忆阻器的多电阻态特性,具有功耗低、效率高、集成度高、与CMOS工艺兼容性好等优点。
Description
技术领域
本发明涉及半导体集成电路和神经网络领域,具体涉及到一种基于忆阻器实现的卷积神经网络在图像识别中的应用。
背景技术
在卷积神经网络中,存在大量的卷积(或乘加)运算,这部分消耗了网络运行中绝大部分的资源,也是影响网络运行速度的最主要的原因。目前,神经网络中的卷积(或乘加)运算多在软件中完成。
忆阻器——或RRAM(Resistive Random Access Memory,电阻式随机存取存储器)——的电导值会随着施加在上下极的电压而发生变化,且在不施加电压时保持之前的电导值。忆阻器是双端无源器件,与CMOS工艺兼容,目前较为成熟的工作模式为:在两个区分度很高的电导态HRS与LRS之间进行切换,用以作为非易失性存储器进行数据存储;或利用其两个电导态构建二值神经网络等。不过,忆阻器的电导并非仅在两个状态之间跳变,而是存在一个随电压连续地单调增长/降低的过程。考虑到其高集成度、无源、非易失性、与CMOS工艺兼容的特点,可以利用忆阻器的电导值表示神经网络训练后的权重,从而利用基尔霍夫定律在硬件层面进行高速度低功耗的卷积(或乘加)运算。
发明内容
为了实现利用忆阻器在硬件层面对卷积神经网络的计算进行优化,本发明旨在提供一种基于忆阻器实现的硬件卷积神经网络模型,可以用于(但不仅限于)对MNIST数据集进行图像识别,包括如下模块。
忆阻器阵列模块。该模块为整个模型的核心计算单元,通过控制WL、BL、WL上的电压来选定目标忆阻器,进而通过在BL上施加脉冲电压来对目标忆阻器的电导进行编程或通过读取SL上的电流以完成利用基尔霍夫定律对输入数据进行卷积运算。
与忆阻器阵列搭配的外围电路模块。该模块为忆阻器阵列模块服务,包含生成特定电压值的电压生成模块与数模转换模块等,用于生成特定的电压以驱动忆阻器阵列以及实现忆阻器阵列与FPGA和计算机的通讯。
FPGA模块。该模块主要作用为控制功能,控制忆阻器阵列模块和外围电路模块的工作,以及实现其与计算机的通讯。
计算机模块。该模块主要作用为数据处理,包括权重的编码,层间数据的量化,以及神经网络运行过程中所需要的池化、填充、分类等操作。
附图说明
图1为用RRAM差分对表示权重的方法。
图2为卷积计算的电路实现示意图。
图3为通过电压编码表示灰度值的方法。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述。为了方便理解,接下来的描述以针对MNIST数据集的卷积神经网络为例,应当理解,此处所描述的实施示例仅用于说明和解释本发明,但本发明不仅限用于实现基于MNIST数据集的卷积神经网络。
权重与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,以此类推即得到了用硬件电导表示网络权重的方法。
RRAM电导的编程方法。可以通过连续施加较大脉冲电压的形式实现RRAM电导值的连续变化,对于SET操作而言,WL、BL、SL上的电压分别为1.8V、2.0V(50ns脉冲)、0V;对于RESET操作而言,WL、BL、SL上的电压分别为4.7V、0V、1.8V(50ns脉冲)。
卷积计算与硬件电路的映射,参见图2。对于图中的卷积窗口而言,x2-2等为原始输入图像的灰度值,w2-2等为卷积核的权重。按照上文所述的方法将RRAM的电导值编程为对应卷积核的权重后,在各条BL上输入代表图像不同像素点灰度值的电压,则SL+与SL-的差分电流即为该卷积核对所覆盖的九个点卷积的结果。将电流值采样后既可用于后续池化和其他层网络的计算。全连接层同理。
卷积层/全连接层输入数据通过电压传递的方法,参见图3。以卷积层为例,对于某个卷积窗口而言,9个输入值分别对应为9条BL上的电压。对某个输入而言,其数值会被编程为对应的8位二进制值,并以8个周期的脉冲电压(0.2V)表示,二进制中的某位的“1”和“0”分别表示脉冲电压中此周期有无脉冲。如倘若图2中x2-2处的输入值为109,则其对应的二进制值为01101101,在计算时,输入RRAM阵列的脉冲电压波形如图3所示。设第k个周期SL上采集到的电流为Ik,分别采样8个周期SL上的电流,将电流移位相加后得到的电流ISL即为该卷积窗口对应的卷积之后的结果,如公式(1)所示。
在实际应用中,后续层的神经网络会有更大的输入范围,针对这个更大的输入范围,则会再次将其量化压缩为8bit定点数送给下一层,量化方法见[0019]段描述。例如,倘若某层的输出是0-2550,那么将以10为步长,将其重新转化为一个0-255的定点数作为下层输入。
层间数据量化的方法。由于本发明中的硬件神经网络模型每层的输入是通过电压表示的,因此无法实现软件神经网络般高精度的输入,故而采用量化的方法,将每层的输出(通过[0006]段中提到的外围电路采样到电流后,将电流值输入计算机进行量化)量化为8bit后再通过[0016]段中提到的方法输入下层,量化也可以在保证精度的同时大幅简化运算。设某层输出的数据为高精度的浮点数r(r1、r2、r3……),量化之后得到的定点数为q(q1、q2、q3……),则可以通过以下的公式(1)建立量化关系。
其中,S为缩放系数,是量化前的浮点数和量化后的定点数值域之间的比例关系;Z为定点零点,表示实数中的0经过量化后对应的整数。S和Z分别由如下公式(2)和公式(3)计算得到。
与RRAM阵列搭配的外围电路模块的作用。在FPGA的驱动下,外围电路产生对应的编程电压对RRAM电导进行编程、在计算操作时输入对应的脉冲序列使阵列进行卷积运算并读取计算结果、并通过ADC和DAC模块与FPGA进行通讯。
FPGA开发板的作用。FPGA开发板在模型中承担RRAM阵列以及外围电路组成的硬件电路部分和计算机交互的作用,同时产生控制信号驱动硬件电路部分各个模块的有序运作。
计算机的作用。计算机在模型中承担除卷积外的其他计算的作用:[0013]段落中描述的权重与RRAM电导的映射需要计算机将训练后的权重重写后编程为对应RRAM差分对的电导;[0019]段落中描述的量化需要在计算机中完成;神经网络每层计算后的池化、填充需要在计算机中完成;全连接层中的激活函数和全连接层最后的分类函数的计算也需要在计算机中完成。
以上各部分配置齐全后,即可实现一个完整的卷积计算在RRAM组成的硬件电路中完成的卷积神经网络。
Claims (4)
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工艺兼容,可以很方便地与其他电路部分进行耦合,有利于集成到超大规模的数字神经形态硬件架构中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297925.6A CN116468090A (zh) | 2023-03-24 | 2023-03-24 | 一种基于忆阻器实现的硬件卷积神经网络模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297925.6A CN116468090A (zh) | 2023-03-24 | 2023-03-24 | 一种基于忆阻器实现的硬件卷积神经网络模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116468090A true CN116468090A (zh) | 2023-07-21 |
Family
ID=87179782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310297925.6A Pending CN116468090A (zh) | 2023-03-24 | 2023-03-24 | 一种基于忆阻器实现的硬件卷积神经网络模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468090A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882469A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 用于情感识别的脉冲神经网络部署方法、装置及设备 |
-
2023
- 2023-03-24 CN CN202310297925.6A patent/CN116468090A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882469A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 用于情感识别的脉冲神经网络部署方法、装置及设备 |
CN116882469B (zh) * | 2023-09-06 | 2024-02-02 | 苏州浪潮智能科技有限公司 | 用于情感识别的脉冲神经网络部署方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183739B (zh) | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 | |
CN110209375B (zh) | 一种基于radix-4编码和差分权重存储的乘累加电路 | |
CN111507464B (zh) | 一种基于忆阻器阵列的方程求解器及其操作方法 | |
CN107545305B (zh) | 一种基于cmos工艺的、数模混合的、电荷域的神经元电路 | |
CN116468090A (zh) | 一种基于忆阻器实现的硬件卷积神经网络模型 | |
Milo et al. | Optimized programming algorithms for multilevel RRAM in hardware neural networks | |
CN110569962B (zh) | 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法 | |
CN110378475A (zh) | 一种基于多位并行二进制突触阵列的神经形态计算电路 | |
WO2023123973A1 (zh) | 实现卷积运算的电路及其方法 | |
CN113157034A (zh) | 一种被动稳压电路实现的高线性度神经形态计算电路 | |
CN112488308A (zh) | 基于动态忆阻器的储备池计算系统 | |
CN111464764B (zh) | 一种基于忆阻器的图像传感器及其进行卷积运算的方法 | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
CN115376581A (zh) | 一种基于忆阻器的存内计算阵列结构 | |
CN113672855A (zh) | 一种存内运算方法、装置及其应用 | |
Shi et al. | Adaptive quantization as a device-algorithm co-design approach to improve the performance of in-memory unsupervised learning with SNNs | |
CN115879530B (zh) | 一种面向rram存内计算系统阵列结构优化的方法 | |
CN110163364B (zh) | 一种基于忆阻桥突触的神经网络单元电路 | |
CN109977470B (zh) | 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 | |
CN115906976A (zh) | 一种全模拟向量矩阵乘法存内计算电路及其应用 | |
CN114254743B (zh) | 一种基于rram阵列构成的二进制神经网络中并行乘累加运算的电路 | |
CN112734022B (zh) | 一种具有识别和排序功能的四字符忆阻神经网络电路 | |
CN117010466A (zh) | 一种适合在fpga上实现的基于忆阻器的硬件卷积神经网络模型 | |
Doevenspeck et al. | Noise tolerant ternary weight deep neural networks for analog in-memory inference | |
CN113870921A (zh) | 一种忆阻器阵列上符号数映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |