CN112183739B - 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 - Google Patents

基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 Download PDF

Info

Publication number
CN112183739B
CN112183739B CN202011203894.6A CN202011203894A CN112183739B CN 112183739 B CN112183739 B CN 112183739B CN 202011203894 A CN202011203894 A CN 202011203894A CN 112183739 B CN112183739 B CN 112183739B
Authority
CN
China
Prior art keywords
memristor
pulse
neural network
input
neuron
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.)
Active
Application number
CN202011203894.6A
Other languages
English (en)
Other versions
CN112183739A (zh
Inventor
吴启樵
孙文浩
蔡元鹏
陈松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chen Song
Cheng Lin
Hefei Chengling Microelectronics Co ltd
Wu Feng
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202011203894.6A priority Critical patent/CN112183739B/zh
Publication of CN112183739A publication Critical patent/CN112183739A/zh
Application granted granted Critical
Publication of CN112183739B publication Critical patent/CN112183739B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
技术领域
本发明涉及神经网络技术领域,尤其涉及一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构。
背景技术
近年来,人工神经网络目前已经成为人工智能领域研究的热门方向。得益于大数据和高性能计算硬件的发展,卷积神经网络在图像识别、目标检测和模式识别等领域取得了举世瞩目的成就。但是当今计算处理器(CPU)和图形处理器(GPU),是以传统的冯诺依曼计算体系为基础,在数据从内存至处理器之间的搬运上消耗了很大代价。随着神经网络的处理数据量和计算量越来越大,传统冯诺依曼计算体系在处理大量乘累加运算时,将会消耗非常大的硬件能耗。很难将其应用到嵌入式设备、随身携带移动设备等低功耗设备中。采用与生物神经网络更加接近的脉冲神经网络(SNN)和新型非易失行存储器件忆阻器(RRAM)来设计硬件,有望成为解决硬件能耗问题的一个突破口,近年来不断受到国内外学者的广泛关注。
脉冲卷积神经网络(SCNN),由于其基于脉冲神经网络的原理,实现了更高级的生物神经模拟水平,并采用了卷积神经网络(CNN)的网络结构,具有局部感知和参数共享的特点。除了传统卷积神经网络中已有的神经元和突触状态之外,脉冲卷积神经网络还将时间概念纳入了其操作之中旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。和传统卷积神经网络相比,脉冲卷积神经网络结合了卷积神经网络识别精度高和脉冲神经网络能耗低的优点,非常适合用来设计神经网络加速器和神经形态硬件。
由于对生物神经网络采用的具体学习方法了解还不够深入,脉冲卷积神经网络目前还缺少高效的训练算法,且缺乏一定的生物学依据,因而在图像识别等领域的识别效果与传统卷积神经网络相比还有一定差距。而且,传统冯诺依曼架构的硬件设计功耗和资源消耗很大。因此,设计一种基于非易失性存储器来实现脉冲卷积神经网络的硬件架构,可以采用新型非冯诺依曼架构,并兼顾卷积神经网络的高准确率和脉冲神经网络的低能耗,有望将其应用到随身携带移动设备等对能耗需求比较高的应用场景中。
发明内容
本发明的目的是提供一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,能够以较低的功耗实现脉冲卷积神经网络硬件架构,并适配不同的网络结构。
本发明的目的是通过以下技术方案实现的:
一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,包括:输入缓冲器、忆阻器控制模块、忆阻器阵列、灵敏放大器模块、以及输出缓冲器;
所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;
所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;
所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;
所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;
所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。
由上述本发明提供的技术方案可以看出,采用了低功耗的忆阻器阵列并使用高效率模拟计算且在硬件上模拟了脉冲卷积神经网络的神经元功能。解决了现有神经网络硬件加速架构计算复杂,能耗较低,面积较大等缺陷,提供了一种使用新型非易失器件忆阻器作为计算和存储单元的硬件架构,实现了脉冲卷积神经网络的硬件加速,降低了功耗。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构的示意图;
图2为本发明实施例提供的输入数据转换为脉冲输入示意图;
图3为本发明实施例提供的忆阻器控制模块示意图;
图4为本发明实施例提供的忆阻器进行脉冲模拟计算的示意图;
图5为本发明实施例提供的忆阻器阵列架构示意图;
图6为本发明实施例提供的脉冲卷积神经网络示意图;
图7为本发明实施例提供的IF神经元示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,如图1所示,其主要包括:输入缓冲器(INPUT缓冲器)、忆阻器控制模块(RRAM控制模块)、忆阻器阵列(RRAM阵列)、灵敏放大器(SA)模块、以及输出缓冲器(OUTPUT缓冲器);所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考阈值电流,输出高电平电压或低电平电压;所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出。
为了便于理解,下面针对硬件架构中各个部分做详细的介绍。
一、输入缓冲器。
输入缓冲器将图片输入数据存储在片外或片内的存储器中,并在计算时控制存储器的地址与时序,将输入数据依次送入忆阻器阵列中进行计算。
所述输入缓冲器包括:存储器与控制器。
1)存储器。
所述存储器用于存储图片输入数据,所述图片输入数据是通过对浮点数据形式的原始输入(Orignal lnput))图片进行转换后得到的由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)控制器。
所述控制器,用于为忆阻器控制模块提供译码总线信号和控制总线信号,从而将数据写入忆阻器阵列中。
二、忆阻器控制模块。
忆阻器控制模块是根据忆阻器阵列的架构和性能来配套设计的模块。通常情况下,忆阻器有四种操作模式,分别是初始化(FORM)、写1(SET)、写O(RESET)和读(READ)。分别可以完成忆阻器的初始化、降低忆阻器的阻值、升高忆阻器的阻值和读出忆阻器上的电流值。忆阻器控制模块使用多个传输门来传输四种不同操作模式下的忆阻器阵列的字线(Word Line)、位线(Bit Line)、源线(Source Line)的模拟电压,传输门的个数与忆阻器阵列的大小相适配,通过改变译码信号和控制信号来选择某一个或某几个传输门的导通。因此忆阻器控制模块的输入包含多种不同的模拟信号和一系列控制信号,控制信号通常是根据忆阻器阵列的架构的不同来选择的译码信号。忆阻器控制模块的输出则是将模拟信号传输至忆阻器阵列中。
如图3所示,所述忆阻器控制模块包括:BL模块、SL模块和WL模块;三个模块接收输入缓冲器输出的译码总线信号和控制总线信号,分别控制忆阻器阵列的位线、源线和字线。图3中实线箭头代表是数字信号,空心箭头代表的是模拟信号。三个模块接收上一级传入的译码总线信号和控制总线信号,控制传输门的开闭,从而控制模拟信号的传输。每个模块的模拟信号输入分为VFROM、VSET、VRESET和VREAD四种不同工作模式下的输入电压。对于忆阻器来说,FROM电压通常需要3~4V,SET和RESET电压需要2~3V,而READ电压为了在读操作时不改变RRAM的阻值,选取几百毫伏左右的电压即可。
三、忆阻器阵列。
为了消除潜行电流的影响,所述忆阻器阵列中,由单个忆阻器和NMOS管串联形成的1T1R三端器件单元作为基本单元,用于完成乘法计算。单个1T1R三端器件单元中,NMOS管的栅极为字端,NMOS管的源级为源端,NMOS管的漏级连接忆阻器的一端,忆阻器的另一端则为位端;将不同1T1R三端器件单元的字端、源端、位端各自连接,构成忆阻器阵列位线、源线和字线。
如图4所示,将两个1T1R三端器件单元的位端相连就构成一个简单的脉冲卷积神经网络乘累加计算单元。脉冲卷积神经网络的输入数据是逻辑0或者逻辑1的脉冲序列,将输入施加至1T1R三端器件单元的字端;网络的权重则存储至忆阻器中,由忆阻器的电导值表示。根据基尔霍夫定律,忽略NMOS源漏之间的压降,计算两单元汇集电流为Iout=Vread(G1*0/1+G2*0/1),其中,Vread是在乘累加计算过程中1T1R器件字端与源端之间的压降,G1和G2分别是两个1T1R三端器件中忆阻器的电导值。真值如表1所示:
输入 lout
00 0
01 Vread*G1
10 Vread*G2
11 Vread*G1+Vread*G2
表1各输入下的真值
本发明实施例中,忆阻器阵列为低功耗忆阻器阵列,它与传统的忆阻器阵列的计算方法不同。传统的计算方法是通过字线控制忆阻器阵列中的忆阻器单元的选通,输入数据通过给源线施加电压从而传入忆阻器阵列,并根据基尔霍夫定律,通过检测位线上的电流大小,完成源线电压值和忆阻器电导值的乘法计算。在低功耗忆阻器阵列模块中,输入数据是通过给字线施加电压而传输的。
本发明实施例中,基于忆阻器的脉冲卷积神经网络的硬件架构将忆阻器的模拟计算功能和脉冲卷积神经网络传导二进制的0、1数据的特性相结合,可以不使用传统忆阻硬件架构中数字模拟转换器(DAC)和模拟数字转换器(ADC),可以很大程度上减小硬件功耗和面积消耗。并且可以根据阵列中选通的行数来设置卷积层计算、池化层计算和全连接层计算,在网络结构的选择上有很强的灵活性。
如图5所示,为本发明提供的忆阻器阵列的结构。与传统的忆阻器阵列相比,在硬件功耗和硬件面积上都有很大的减小。首先,在功耗上,当输入为0时,NMOS管保持断开而传统的忆阻器阵列架构无论输入多少,NMOS管都保持连通。在脉冲卷积神经网络的计算过程中,数据集转换为脉冲序列输入中0的个数越多,本发明提供的忆阻器阵列在计算上消耗的功耗越少;在面积上,传统忆阻器阵列需要使用数模转换器和模数转换器作为数据的输入输出接口,而本发明提供的忆阻器阵列设计的输入由于是脉冲序列,无需数模转换,输出也是脉冲序列,输出电流是由电容采集,并通过灵敏放大器,输出高低逻辑电平,无需模数转换,因此节约了硬件面积。
四、灵敏放大器模块。
如图5所示,忆阻器阵列的每一列忆阻器各自连接一个灵敏放大器及相应的电容;所有的灵敏放大器及相应的电容构成灵敏放大器模块。
灵敏放大器模块是非易失性器件输出模拟信号转换至数字信号的必要模块。该灵敏放大器模块的功能是比较两端输入电压的大小,从而输出高电平电压或低电平电压。该灵敏放大器模块可以模拟脉冲卷积神经网络中的神经元的计算功能。脉冲神经元通过汇集前级神经元的输出,当汇集量超过阈值时,便发射一个脉冲;灵敏放大器模块中的电容可以汇集多个忆阻器单元的电流值,并转换为电压,当总电压值超过阈值电压时,便输出一个高电平,同时,电容放电。
本发明实施例中,忆阻器阵列设计完成的是模拟乘累加计算,忆阻器阵列中每一列忆阻器、灵敏放大器及相应的电容构成一个脉冲神经计算单元,其计算公式为:
Figure BDA0002756381180000061
其中,Ij(t-1)为忆阻器阵列第j列在t-1时刻的汇集电流,Gij为忆阻器阵列第i行、第j列忆阻器的电导值,Si(t-1)为第i行在t-1时刻的输入,VREAD为读操作电压值,Vc(t)和Vc(t-1)分别是电容在t时刻和t-1时刻的电压值,C为电容容值,Δt为t时刻与t-1时刻的时间差,Vj为第j列灵敏放大器输出,Vrefj为提供给第j列灵敏放大器的参考电压。Vj式子中的等号与问号之间的式子为判断式,如果t时刻下Vc(t)大于Vrefj,则第j列灵敏放大器输出数字电平1;相反情况下,第j列灵敏放大器输出数字电平0。
脉冲神经计算单元能够计算n输入n权重的乘累加运算;n输入记为S1~Sn,作为忆阻器阵列第1至第n行的输入,n个权重是忆阻器阵列中第j列,第1至第n行的忆阻器的电导值;假设输入的总时间长度为T,即每行的输入均是总长度为T的0、1序列;每个时钟周期内,忆阻器阵列的第j列经过模拟计算,得到该列的汇集电流,并给电容充电,电容的电压值增大;若在t时刻时,电容上的电压值超过了灵敏放大器的参考电压,灵敏放大器输出一个高电平脉冲,并导致NMOS管导通,使电容放电,实现电容的电压值复位。
本发明实施例中,所述忆阻器阵列能够适配不同网络结构;一般的人工神经网络中包括卷积层、池化层和全连接层。图6是一个可适配的脉冲卷积神经网络结构实例,该网络结构包含两个卷积层、两个下采样(池化)层、三个全连接层(包括一层高斯连接)。
对于卷积层,卷积核大小即为K×K,则单次卷积计算完成的是K×K个输入数据和K×K个权重数据的乘累加计算;将K×K个权重数据写入忆阻器阵列的某一列中,并将K×K个输入数据转换成脉冲序列后送至对应的K×K个行,从而完成K×K的卷积运算。示例性的,K可以为3、5、11等。
对于池化层,池化的区域大小记为P×P,池化运算则对应于P×P个输入数据和P×P个权重数据。示例性的,P可以为2,此时权重值为0.25。
对于全连接层,记该全连接层有a个输入和b个输出,则该全连接层一共有a×b个权重数据,将a×b个权重数据写入阵列中第i+1至第i+a行、第j+1至第j+b列的a行×b列的阵列空间中,并将a个输入送至第i+1至第i+a行,全连接层的b个计算结果则从第j+1至第j+b列读出。
脉冲卷积神经网络是具有卷积层的脉冲神经网络,目前,还没有一种较好的训练方法可以训练脉冲卷积神经网络,因此,网络的训练是在传统卷积神经网络上进行的,之后需要进行网络模型的转换,脉冲卷积神经网络才能正常工作。但是并不是所有的卷积神经网络都可以转换为脉冲卷积神经网络。通常,卷积核没有偏置,激活函数是ReLU,池化层是平均值池化的卷积神经网络是转换成脉冲卷积神经网络的一个较好的网络。网络的转换算法有两种:1、对训练好的网络模型进行归一化;2、对网络处理数据集时进行归一化。相比于基于模型的算法,基于数据集的算法时延更低。因此在本实施例中,使用基于数据集的转换算法将卷积神经网络转换为脉冲卷积神经网络。
利用脉冲神经计算单元模拟IF神经元,如图7所示,单个IF神经元工作方式如下:
Figure BDA0002756381180000081
其中,V(t)是IF神经元在时刻t的膜电位,Vr是IF神经元复位后的膜电位,wk是此IF神经元与其突触前神经元k之间的突触连接强度,S(t)是时刻t由突触前IF神经元k传输至此IF神经元的脉冲值,Vref是IF神经元发射脉冲的膜电位阈值;S(t)式子中的等号与问号之间的式子为判断式,如果t时刻下V(t)大于Vref,则S(t)的值为1,相反情况下,S(t)的值为0。
当IF神经元的膜电位超过膜电位阈值时,IF神经元发射一个脉冲,膜电位便进行复位,通过设置灵敏放大器参考电压的方式来模拟IF神经元的复位电压;复位后,前级IF神经元发射的脉冲与和当前IF神经元的突触连接强度相乘的值累加至膜电压上,直到膜电压超过膜电压阈值,IF神经元再次发射脉冲,重复上述过程;S(t)的值为1时,表示IF神经元发射脉冲;为0,则表示IF神经元不发射脉冲。
将IF神经元的工作方式和忆阻器阵列构成的脉冲神经元的计算方式相比较,可见,本发明的忆阻器阵列和灵敏放大器模块构成的脉冲神经计算单元可以很好的模拟IF神经元的工作方式。
五、输出缓冲器。
输出缓冲器是存储中间计算结果和输出数据的存储器。输入信号为灵敏放大器的输出和外部数字控制信号,将接收的数据通过控制存储器的地址与时序写入存储器中。
下面结合实例进一步说明本发明的工作过程。
首先,根据需要选择网络结构和训练网络使用的数据集,网络结构以包含卷积层、池化层和全连接层的卷积神经网络为例。在卷积神经网络转换至脉冲卷积神经网络时,通常需要将卷积核的偏置项去除、使用ReLU激活函数而且在池化层中使用平均值池化。因此在训练卷积神经网络时,便按如上设置。在得到较好的验证精度后,将网络中的参数和权重保存起来。然后使用基于数据集的归一化算法更新卷积神经网络训练好的权重,更新后值作为脉冲卷积神经网络的突触权值。
第二步,将突触权值写入输入缓冲器中,并对应为忆阻器阵列中的忆阻器电导值。对阵列中所有的忆阻器器件进行初始化后,再通过忆阻器写电压脉冲和其阻值的关系,生成忆阻器控制模块的控制信号,并对忆阻器阵列进行写操作,使忆阻器阵列中对应位置的器件电导值对应为突触权值。
第三步,使用上述硬件架构对脉冲卷积神经网络进行前向推理验证。将所使用的数据集的原始图片转换成多幅二值图片,以此构成脉冲序列,作为网络的输入。转换的二值图片数量越多,验证的精度越高,但延时也会越长。在忆阻器阵列中完成模拟乘累加操作,包括卷积层、池化层和全连接层的计算。阵列输出电流给电容充电,并由灵敏放大器采集电容电压值,在灵敏放大器输出高电平时,晶体管导通,电容放电并复位。将灵敏放大器的输出脉冲序列存储至输出缓冲器,作为中间计算结果,并不断重复上述过程,直到整个网络计算完成。
本发明基于忆阻器的脉冲卷积神经网络硬件架构,相较于现有的神经网络加速硬件架构采用的数字电路乘法器和数模、模数转换器,带来的硬件功耗和面积的巨大消耗,以及传统神经网络加速硬件架构很难再适配网络规模和计算复杂度不断上升的要求,本方案采用低功耗忆阻器阵列完成模拟乘累加运算,具有运算效率高、功耗低的优点;并且使用阵列和灵敏放大器模拟脉冲卷积神经网络的IF神经元,省去了数模、模数转换器,节约了大量硬件面积消耗。再者,脉冲卷积神经网络相较于传统卷积神经网络运算量大、能耗过高的缺陷,具有高能效计算的特性,本发明提出的基于忆阻器的脉冲卷积神经网络硬件架构相较于现有技术,有很大的性能提升。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (9)

1.一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,包括:输入缓冲器、忆阻器控制模块、忆阻器阵列、灵敏放大器模块、以及输出缓冲器;
所述输入缓冲器,用于存储图片输入数据,并在计算时输出译码总线信号和控制总线信号;
所述忆阻器控制模块,用于根据译码总线信号和控制总线信号将相应的图片输入数据写入忆阻器阵列中;
所述忆阻器阵列的内部存储有权重数据,结合图片输入数据进行存内计算,输出汇集电流值;
所述灵敏放大器模块,用于结合忆阻器阵列输出的汇集电流值与参考电压,输出高电平电压或低电平电压;
所述输出缓冲器,接收并灵敏放大器模块的输出结果,存储或者向外输出;
其中,忆阻器阵列的每一列忆阻器各自连接一个灵敏放大器及相应的电容;每一列忆阻器、灵敏放大器及相应的电容构成一个脉冲神经计算单元,其计算公式为:
Figure FDA0003699639080000011
其中,Ij(t-1)为忆阻器阵列第j列在t-1时刻的汇集电流,Gij为忆阻器阵列第i行、第j列忆阻器的电导值,Si(t-1)为第i行在t-1时刻的输入,VREAD为读操作电压值,Vc(t)和Vc(t-1)分别是电容在t时刻和t-1时刻的电压值,C为电容容值,Δt为t时刻与t-1时刻的时间差,Vj为第j列灵敏放大器输出,Vrefj为提供给第j列灵敏放大器的参考电压;Vj式子中的等号与问号之间的式子为判断式,如果t时刻下Vc(t)大于Vrefj,则第j列灵敏放大器输出数字电平1;相反情况下,第j列灵敏放大器输出数字电平0。
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所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,脉冲神经计算单元能够计算n输入n权重的乘累加运算;n输入记为S1~Sn,作为忆阻器阵列第1至第n行的输入,n个权重是忆阻器阵列中第j列,第1至第n行的忆阻器的电导值;假设输入的总时间长度为T,即每行的输入均是总长度为T的0、1序列;每个时钟周期内,忆阻器阵列的第j列经过模拟计算,得到该列的汇集电流,并给电容充电,电容的电压值增大;若在t时刻时,电容上的电压值超过了灵敏放大器的参考电压,灵敏放大器输出一个高电平脉冲,并导致NMOS管导通,使电容放电,实现电容的电压值复位。
7.根据权利要求1所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,所述忆阻器阵列能够适配不同网络结构;
对于卷积层,卷积核大小即为K×K,则单次卷积计算完成的是K×K个输入数据和K×K个权重数据的乘累加计算;将K×K个权重数据写入忆阻器阵列的某一列中,并将K×K个输入数据转换成脉冲序列后送至对应的K×K个行,从而完成K×K的卷积运算;
对于池化层,池化的区域大小记为P×P,池化运算则对应于P×P个输入数据和P×P个权重数据;
对于全连接层,记该全连接层有a个输入和b个输出,则该全连接层一共有a×b个权重数据,将a×b个权重数据写入阵列中第i+1至第i+a行、第j+1至第j+b列的a行×b列的阵列空间中,并将a个输入送至第i+1至第i+a行,全连接层的b个计算结果则从第j+1至第j+b列读出。
8.根据权利要求1所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,使用基于数据集的转换算法将训练完成的卷积神经网络转换为脉冲卷积神经网络;利用脉冲神经计算单元模拟IF神经元,单个IF神经元工作方式如下:
Figure FDA0003699639080000031
其中,V(t)是IF神经元在时刻t的膜电位,Vr是IF神经元复位后的膜电位,wk是此IF神经元与其突触前神经元k之间的突触连接强度,S(t)是时刻t由突触前IF神经元k传输至此IF神经元的脉冲值,Vref是神经元发射脉冲的膜电位阈值;S(t)式子中的等号与问号之间的式子为判断式,如果t时刻下V(t)大于Vref,则S(t)的值为1,相反情况下,S(t)的值为0;
当IF神经元的膜电位大于膜电位阈值时,IF神经元发射一个脉冲,膜电位便进行复位,通过设置灵敏放大器参考电压的方式来模拟IF神经元的复位电压;复位后,前级IF神经元发射的脉冲与和当前IF神经元的突触连接强度相乘的值累加至膜电压上,直到膜电压超过膜电压阈值,IF神经元再次发射脉冲,重复上述过程;S(t)的值为1时,表示该IF神经元发射脉冲;为0,则表示该IF神经元不发射脉冲。
9.根据权利要求8所述的一种基于忆阻器的低功耗脉冲卷积神经网络的硬件架构,其特征在于,脉冲卷积神经网络的突触权值对应于忆阻器阵列中忆阻器的电导值,通过控制写电压脉冲,将忆阻器阵列中忆阻器的阻值写为对应值,再进行网络的推理验证。
CN202011203894.6A 2020-11-02 2020-11-02 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 Active CN112183739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011203894.6A CN112183739B (zh) 2020-11-02 2020-11-02 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011203894.6A CN112183739B (zh) 2020-11-02 2020-11-02 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构

Publications (2)

Publication Number Publication Date
CN112183739A CN112183739A (zh) 2021-01-05
CN112183739B true CN112183739B (zh) 2022-10-04

Family

ID=73917412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011203894.6A Active CN112183739B (zh) 2020-11-02 2020-11-02 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构

Country Status (1)

Country Link
CN (1) CN112183739B (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
CN112819036B (zh) * 2021-01-12 2024-03-19 华中科技大学 一种基于忆阻器阵列的球形数据分类装置及其操作方法
CN112766469B (zh) * 2021-01-22 2024-01-30 北京灵汐科技有限公司 产生脉冲信号的方法及装置
CN112949819B (zh) * 2021-01-26 2023-11-24 首都师范大学 基于忆阻器的自供能设备及其脉冲神经网络优化方法
CN113159276B (zh) * 2021-03-09 2024-04-16 北京大学 模型优化部署方法、***、设备及存储介质
CN113159277B (zh) * 2021-03-09 2022-12-23 北京大学 目标检测方法、装置及设备
CN113011574B (zh) * 2021-03-22 2022-11-04 西安交通大学 一种卷积神经网络***、忆阻器阵列和卷积神经网络
CN113033795B (zh) * 2021-03-29 2022-10-14 重庆大学 基于时间步的二值脉冲图的脉冲卷积神经网络硬件加速器
CN113222131B (zh) * 2021-04-30 2022-09-06 中国科学技术大学 基于1t1r的可实现带符号权重系数的突触阵列电路
CN113255905B (zh) * 2021-07-16 2021-11-02 成都时识科技有限公司 脉冲神经网络中神经元的信号处理方法及该网络训练方法
CN113642723B (zh) * 2021-07-29 2024-05-31 安徽大学 一种实现原-异位训练的gru神经网络电路
CN113688984B (zh) * 2021-08-25 2024-01-30 东南大学 一种基于磁性随机存储器的存内二值化神经网络计算电路
CN113987985B (zh) * 2021-11-15 2024-04-16 武汉理工大学 基于忆阻器交叉阵列神经网络加速器热效应优化方法
CN114638349B (zh) * 2022-01-27 2024-05-28 清华大学 光敏神经元、感存算一体化智能感知装置、方法及介质
CN114399037B (zh) * 2022-03-24 2022-07-15 之江实验室 基于忆阻器的卷积神经网络加速器核心的模拟方法及装置
CN115424646A (zh) * 2022-11-07 2022-12-02 上海亿铸智能科技有限公司 面向忆阻器阵列的存算一体稀疏感知灵敏放大器及方法
CN115879530B (zh) * 2023-03-02 2023-05-05 湖北大学 一种面向rram存内计算***阵列结构优化的方法
CN116720551B (zh) * 2023-08-02 2023-09-29 苏州浪潮智能科技有限公司 脉冲神经网络的卷积加速方法及卷积加速器
CN118014818A (zh) * 2024-02-27 2024-05-10 国科大杭州高等研究院 一种用于红外感存算一体***的激活函数硬件电路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015001697A1 (ja) * 2013-07-04 2015-01-08 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路、およびその学習方法
KR20180110080A (ko) * 2016-02-08 2018-10-08 스페로 디바이시즈 인코포레이티드 아날로그 코-프로세서
US11354568B2 (en) * 2017-06-30 2022-06-07 Intel Corporation In-memory spiking neural networks for memory array architectures
WO2019019920A1 (en) * 2017-07-26 2019-01-31 The Hong Kong University Of Science And Technology FIELD EFFECT / HYBRID MEMORY TRANSISTOR MEMORY CELL AND ITS INFORMATION CODING SCHEME
US11586884B2 (en) * 2018-02-08 2023-02-21 University Of Massachusetts Artificial neurons using diffusive memristor
CN110797063B (zh) * 2019-09-17 2021-05-25 华中科技大学 忆阻器存储芯片及其操作方法

Also Published As

Publication number Publication date
CN112183739A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112183739B (zh) 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
CN111656368B (zh) 硬件加速的离散式神经网络
US10692570B2 (en) Neural network matrix multiplication in memory cells
US11501130B2 (en) Neural network hardware accelerator architectures and operating method thereof
US11604974B2 (en) Neural network computation circuit including non-volatile semiconductor memory element
US20190164046A1 (en) Neural network circuits having non-volatile synapse arrays
US11615299B2 (en) Neural network computation circuit including non-volatile semiconductor memory element
JP2021500646A (ja) 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練)
US11531898B2 (en) Training of artificial neural networks
US11620505B2 (en) Neuromorphic package devices and neuromorphic computing systems
CN109165730B (zh) 交叉阵列神经形态硬件中状态量化网络实现方法
CN111967586B (zh) 一种用于脉冲神经网络存内计算的芯片及计算方法
CN110852429B (zh) 一种基于1t1r的卷积神经网络电路及其操作方法
CN111656371A (zh) 具有非易失性突触阵列的神经网络电路
WO2023217021A1 (zh) 基于忆阻器阵列的数据处理方法和数据处理装置
Vianello et al. Resistive memories for spike-based neuromorphic circuits
Dbouk et al. KeyRAM: A 0.34 uJ/decision 18 k decisions/s recurrent attention in-memory processor for keyword spotting
Zhou et al. QuantBayes: Weight optimization for memristive neural networks via quantization-aware Bayesian inference
Liu et al. A 40-nm 202.3 nJ/classification neuromorphic architecture employing in-SRAM charge-domain compute
CN112734022B (zh) 一种具有识别和排序功能的四字符忆阻神经网络电路
Wei et al. Emerging Memory-Based Chip Development for Neuromorphic Computing: Status, Challenges, and Perspectives
Saraswat et al. Hardware-friendly synaptic orders and timescales in liquid state machines for speech classification
Lu et al. NVMLearn: a simulation platform for non-volatile-memory-based deep learning hardware
CN115796252A (zh) 权重写入方法及装置、电子设备和存储介质
CN114861902A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220124

Address after: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Applicant after: University of Science and Technology of China

Applicant after: Cheng Lin

Applicant after: Wu Feng

Applicant after: Chen Song

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Applicant before: University of Science and Technology of China

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221028

Address after: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee after: Cheng Lin

Patentee after: Wu Feng

Patentee after: Chen Song

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee before: University of Science and Technology of China

Patentee before: Cheng Lin

Patentee before: Wu Feng

Patentee before: Chen Song

Effective date of registration: 20221028

Address after: Room 1216, Main Building, Future Center, Advanced Technology Research Institute, University of Science and Technology of China, No. 5089, West Wangjiang Road, High tech Zone, Hefei, Anhui 230031

Patentee after: Hefei Chengling Microelectronics Co.,Ltd.

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee before: Cheng Lin

Patentee before: Wu Feng

Patentee before: Chen Song