CN115719087A - 长短期记忆神经网络电路及控制方法 - Google Patents
长短期记忆神经网络电路及控制方法 Download PDFInfo
- Publication number
- CN115719087A CN115719087A CN202211097869.3A CN202211097869A CN115719087A CN 115719087 A CN115719087 A CN 115719087A CN 202211097869 A CN202211097869 A CN 202211097869A CN 115719087 A CN115719087 A CN 115719087A
- Authority
- CN
- China
- Prior art keywords
- input
- memristor
- circuit
- dynamic
- neural network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 title claims description 44
- 230000006870 function Effects 0.000 claims abstract description 47
- 230000004913 activation Effects 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 23
- 230000006403 short-term memory Effects 0.000 claims abstract description 12
- 230000007787 long-term memory Effects 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract 2
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims 1
- 230000008713 feedback mechanism Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- KDLHZDBZIXYQEI-UHFFFAOYSA-N Palladium Chemical compound [Pd] KDLHZDBZIXYQEI-UHFFFAOYSA-N 0.000 description 4
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 4
- GWEVSGVZZGPLCZ-UHFFFAOYSA-N Titan oxide Chemical compound O=[Ti]=O GWEVSGVZZGPLCZ-UHFFFAOYSA-N 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- OGIDPMRJRNCKJF-UHFFFAOYSA-N titanium oxide Inorganic materials [Ti]=O OGIDPMRJRNCKJF-UHFFFAOYSA-N 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910052763 palladium Inorganic materials 0.000 description 2
- 229910052697 platinum Inorganic materials 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 229910052719 titanium Inorganic materials 0.000 description 1
- 239000010936 titanium Substances 0.000 description 1
Images
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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- 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
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 Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请一种长短期记忆神经网络电路及控制方法,包括:依次电连接的输入电路、权重电路和激活函数电路。输入电路中的动态忆阻器将当前时刻的输入和上一时刻存储的状态量叠加,得到不同时刻的叠加输入量;权重电路将所存储的权重矩阵向量和每个经过动态忆阻器叠加的输入电路输出进行矩阵向量的乘加运算,得到权重矩阵的初始输出量;激活函数电路对权重矩阵的初始输出量进行非线性计算,得到长短期记忆神经网络电路的电压输出结果。解决为满足动态反馈机制的需求,增加额外的权重和偏置配置,导致系统损耗增大和时间延迟的问题,减少了网络的权重、偏置参数和缓存使用,减少数据的写入和读取次数,从而减少了系统的硬件开销和时间延迟。
Description
技术领域
本申请涉及神经网络技术领域,特别涉及一种长短期记忆神经网络电路及控制方法。
背景技术
由于手机、个人电脑和监控视频等智能终端的大量兴起,其所生成的海量影像数据对信息处理的架构、算法以及硬件系统都提出了更高的要求。传统冯诺依曼信息处理系统由于数据需要在计算单元和存储单元之间来回搬运,计算单元和存储单元也存在严重的速度不匹配问题,由此产生的额外功耗和时间延迟成为其在大数据时代的瓶颈问题。模拟生物神经网络的神经元-突触级联结构的人工神经网络,由于其高度并行和存算融合的架构,在图像和语音识别领域取得了极大的成功。长短程记忆神经网络LSTM(Long Short-Term Memory,长短程记忆神经网络)由于引入了遗忘门和输出反馈模式成为了具有上下文语义关联场景,在处理具有上下文语义关联的语音识别,视频图像处理等任务方面具有得天独厚的优势。
由于LSTM网络在每个单元都增加了遗忘门、输入门、输出门和输出到输入的反馈,在硬件实现时不但内部参数量大大增加了,还需要将上一时间段的输出暂存,等下一时刻输入到来时,读取所存输出并与当前时刻输入相加作为新的输入,所以当前基于晶体管基本单元的CPU(Central Processing Unit,中央处理器)和GPU(Graphics ProcessingUnit,图形处理器)在运行LSTM网络时的功耗和时间延迟非常高。举例来说假设一个长短程记忆神经网络的输入是64,隐层是32,那么网络的实际输入就是64+32=96。网络需要训练的权重参数为96×32=3072,需要训练的偏置参数是32。由于长短程记忆神经网络是由遗忘门、输入门、输出门组成,其中输入门有两组权重。因此所假设长短程神经网络的参数量就是(3072+32)×4=12416。实际应用中长短程记忆神经网络的输入和隐层往往是成百上千,甚至是成千上万的,其参数量将会是非常庞大的。所以在传统硬件平台上运行长短程记忆神经网络,硬件规模、功耗和时间延迟的开销都是极其高的。这也限制了这种先进神经网络的普及应用。在硬件系统中引入具有丰富内部微观动态特性的忆阻器,利用离子的电化学动态过程对信号进行加工,相对于仅仅依靠电子和空穴实现开关功能的晶体管能大大减少硬件单元的使用,从而减小系统功耗等硬件资源的消耗。
发明内容
本申请提供一种长短期记忆神经网络电路及控制方法,解决了为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟等问题,大大减少网络的权重、偏置参数和缓存使用,还减少数据的写入和读取次数,从而极大的减少了系统的硬件开销和时间延迟。
本申请实施例提供一种长短期记忆神经网络电路,包括:依次电连接的输入电路、权重电路和激活函数电路,其中,所述输入电路集成有动态忆阻器阵列,所述输入电路通过所述动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将所述每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;所述权重电路用于确定每个非挥发忆阻器对应的矩阵向量,并将所述每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;所述激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对所述每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。
可选地,所述输入电路包括:第一电阻,所述第一电阻的一端为信号输入端;第二电阻,所述第二电阻的一端与所述第一电阻的另一端相连;放大器,所述放大器的第一输入端连接于所述第一电阻和所述第二电阻之间的连接线上,所述放大器的第二输入端与所述放大器的输出端相连,用于输出所述叠加输入量。
可选地,所述输入电路还用于通过预设的转换公式,将所述动态忆阻器阵列的输出电流非线性的转换为电压信号。
可选地,所述预设的转换公式为:
Vi=It×R;
其中,It为动态忆阻器输出电流,Vi为来自输入模块的输入电压,R为电阻,i为input缩写,t为时间。
可选地,所述权重电路包括忆阻器交叉阵列,其中,所述忆阻器交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交叉但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过包括忆阻器组成的电路单元连接到一起。
可选地,所述叠加输入量与所述当前时刻和所述上一时刻的时间间隔呈负相关。
可选地,所述输入电路还用于:基于预设的时序,对上一时刻的遗忘程度进行编码,所述上一时刻的遗忘程度用于表征所述上一时刻的存储的状态量。
本申请第二方面实施例提供一种长短期记忆神经网络电路控制方法,包括:所述输入电路通过所述动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将所述每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;通过所述权重电路确定每个非挥发忆阻器对应的矩阵向量,并将所述每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;通过所述激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对所述每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。
可选地,所述叠加输入量与所述当前时刻和所述上一时刻的时间间隔呈负相关。
可选地,上述的长短期记忆神经网络电路控制方法,还包括:基于预设的时序,对上一时刻的遗忘程度进行编码,其中,所述上一时刻的遗忘程度用于表征所述上一时刻的存储的状态量。
本申请实施例的输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量,权重电路将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量,激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。由此,解决了为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟等问题,大大减少网络的权重、偏置参数和缓存使用,还减少数据的写入和读取次数,从而极大的减少了系统的硬件开销和时间延迟。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种短期记忆神经网络电路的方框示意图;
图2为根据本申请一个实施例的长短程记忆神经网络硬件电路原理的示意图;
图3为根据本申请一个实施例的输入模块的电路结构示意图;
图4为根据本申请一个实施例的输入模块中动态忆阻器输出电流It和输入电压时序的关系测试的示意图;
图5为根据本申请一个实施例的权重模块电路的结构示意图;
图6为根据本申请一个实施例的惰性电极(钯/铂)-氧化钛-钛-惰性电极(钯/铂)器件的测量结果的示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的长短期记忆神经网络电路及控制方法。针对上述背景技术中心提到的为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟的问题,本申请提供了一种长短期记忆神经网络电路,在该电路中,输入电路集成有动态忆阻器阵列,输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;权重电路用于确定每个非挥发忆阻器对应的矩阵向量,并将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。由此,解决了为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟等问题,大大减少网络的权重、偏置参数和缓存使用,还减少数据的写入和读取次数,从而极大的减少了系统的硬件开销和时间延迟。
具体而言,图1为本申请实施例所提供的一种长短期记忆神经网络电路的方框示意图。
如图1所示,该长短期记忆神经网络电路10包括:依次电连接的输入电路100、权重电路200和激活函数电路300。
可选地,在一些实施例中,输入电路100集成有动态忆阻器阵列,输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量。其中,输入电路100由动态忆阻器实现,能够实现当前时刻和前期存储状态的叠加以及非线性以往功能。
具体地,输入电路100的功能是接收当前时刻的输入量,并将当前时刻的输入量与上一时刻的所关联的状态量进行叠加,叠加量受当前时刻与上一时刻输入时间间隔影响,输入电路100的输出与训练好的权重电路200进行乘加运算后经过非线性激活函数电路300,之后再经过一系列乘加运算输出。其中,长短程记忆神经网络硬件电路的原理如图2所示,其中,Wi和Wa为LSTM网络输入门所对应的权重模块,Wo为输出门对应的权重模块,σ代表sigmoid激活函数,tanh代表双曲正切函数模块,Ct和Ct-1为单元的内部参数,ht为输出。
可选地,在一些实施例中,输入电路100包括:第一电阻、第二电阻和放大器。其中,第一电阻的一端为信号输入端,第二电阻的一端与第一电阻的另一端相连,放大器的第一输入端连接于第一电阻和第二电阻之间的连接线上,放大器的第二输入端与放大器的输出端相连,用于输出叠加输入量。其中,在一些实施例中,叠加输入量与当前时刻和上一时刻的时间间隔呈负相关。
具体地,如图3所示,其中,Xt为当前时刻的输入,其表现形式为电压脉冲,输入与存储在动态忆阻器上的上一时刻状态ht-1叠加。一般在施加电压的条件下,动态忆阻器的输出是电流信号,输入电路100通过预设的转换公式将电流信号转换成电阻R上的分压Vt,经过一个源跟随电路生成模块的输出Vi,将Vi作为权重模块的输入,进行矩阵向量的乘加运算。
可选地,在一些实施例中,输入电路100还用于通过预设的转换公式,将动态忆阻器阵列的输出电流非线性的转换为电压信号。
可选地,在一些实施例中,预设的转换公式为:
Vi=It×R;
其中,It为动态忆阻器输出电流,Vi为来自输入模块的输入电压,R为电阻,i为input(输入)缩写,t为时间。
可选地,在一些实施例中,输入电路100还用于:基于预设的时序,对上一时刻的遗忘程度进行编码,上一时刻的遗忘程度用于表征上一时刻的存储的状态量。
进一步地,图4为输入信号为不同时间间隔的情况下,动态忆阻器的输出电流It的测试结果的示意图,测试结果表明,在输入信号间隔比较短的情况下(输入类型1)动态忆阻器的输出电流会比输入信号间隔比较长的情况下(输入类型2)的输出电流大,动态忆阻器的输出能反应出两个输入之间的时间间隔,间隔越长,由于动态忆阻器的短期记忆特性,动态忆阻器会将上一时刻状态遗忘,本申请实施例的输入电路不但可以实现当前时刻输入和上一时刻状态的叠加,还可以根据输入时序对上一时刻状态的遗忘程度进行编码。
可选地,在一些实施例中,权重电路200用于确定每个非挥发忆阻器对应的矩阵向量,并将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量。其中,权重电路200由非挥发忆阻器实现,可以被训练,存储训练好的网络参数。
可选地,在一些实施例中,权重电路200包括忆阻器交叉阵列,其中,忆阻器交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交叉但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过包括忆阻器组成的电路单元连接到一起。
具体地,网络的权重参数存储在由晶体管和非挥发性忆阻器串联组成的存储单元上。通过调整忆阻器的电阻,网络的权重参数也可以被训练。其中,WL为阵列的行信号线,Vi为阵列的列信号线,对阵列中的单元进行选址,Vi为来自输入模块的输入,Is为阵列的输出电流。权重存储电路也可以由商用的DRAM(Dynamic Random Access Memory,动态随机存取内存),SRAM(Static Random Access Memory,静态随机存储器),闪存FLASH等存储单元组成。其中,权重模块电路的结构如图5所示。
可选地,在一些实施例中,激活函数电路300基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。
具体地,由于基于氧化钛的忆阻器能够直接接受来自权重存储模块的电流信号,并且能够实现类似sigmoid、tanh的非线性处理。因此,本申请实施例基于氧化钛的忆阻器在以电流为输入的操作模式下,其输出端测到的电压具有类似sigmoid的特性,如图6所示。图6(a)为正向小电流输入情况下的电压输出,(b)为在器件上分别施加正向和负向电流时,器件的电压输出。本申请实施例采用基于氧化钛的忆阻器作为神经网络的激活函数电路模块,将所制备的动态忆阻器串联到非挥发忆阻器阵列末端,将忆阻器阵列的输出电流非线性的转换成电压信号,如图2中,对应不同权重的非易失性忆阻器阵列的输出对应不同的非挥发忆阻器激活函数模块,非挥发忆阻器的输出电压再经过乘加运算后,输出ht。
根据本申请实施例提出的长短期记忆神经网络电路,输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量,权重电路将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量,激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。由此,解决了为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟等问题,大大减少网络的权重、偏置参数和缓存使用,还减少数据的写入和读取次数,从而极大的减少了系统的硬件开销和时间延迟。
本申请实施例提供一种长短期记忆神经网络电路控制方法,包括以下步骤:输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,动态忆阻器将前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;通过权重电路确定每个非挥发忆阻器对应的矩阵向量,并将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;通过激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。
可选地,在一些实施例中,叠加输入量与当前时刻和上一时刻的时间间隔呈负相关。
可选地,在一些实施例中,上述的长短期记忆神经网络电路控制方法,还包括:基于预设的时序,对上一时刻的遗忘程度进行编码,其中,上一时刻的遗忘程度用于表征上一时刻的存储的状态量。
根据本申请实施例提出的长短期记忆神经网络电路控制方法,输入电路通过动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量,权重电路将每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量,激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。由此,解决了为满足长短程记忆神经网络的动态反馈机制的需求,需要增加额外的权重和偏置配置,导致系统损耗增大和时间延迟等问题,大大减少网络的权重、偏置参数和缓存使用,还减少数据的写入和读取次数,从而极大的减少了系统的硬件开销和时间延迟。
在本说明书的描述中,参考术语“个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N”个的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
Claims (10)
1.一种长短期记忆神经网络电路,其特征在于,包括:依次电连接的输入电路、权重电路和激活函数电路,其中,
所述输入电路集成有动态忆阻器阵列,所述输入电路通过所述动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将所述每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;
所述权重电路用于确定每个非挥发忆阻器对应的矩阵向量,并将所述每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;
所述激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对所述每个非挥发忆阻器的初始输出量进行非线性计算,得到长短期记忆神经网络电路的电压输出结果。
2.根据权利要求1所述的长短期记忆神经网络电路,其特征在于,所述输入电路包括:
第一电阻,所述第一电阻的一端为信号输入端;
第二电阻,所述第二电阻的一端与所述第一电阻的另一端相连;
放大器,所述放大器的第一输入端连接于所述第一电阻和所述第二电阻之间的连接线上,所述放大器的第二输入端与所述放大器的输出端相连,用于输出所述叠加输入量。
3.根据权利要求2所述的长短期记忆神经网络电路,其特征在于,所述输入电路还用于通过预设的转换公式,将所述动态忆阻器阵列的输出电流非线性的转换为电压信号。
4.根据权利要求3所述的长短期记忆神经网络电路,其特征在于,所述预设的转换公式为:
Vi=It×R;
其中,It为动态忆阻器输出电流,Vi为来自输入模块的输入电压,R为电阻,i为input缩写,t为时间。
5.根据权利要求1所述的长短期记忆神经网络电路,其特征在于,所述权重电路包括忆阻器交叉阵列,其中,
所述忆阻器交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交叉但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过包括忆阻器组成的电路单元连接到一起。
6.根据权利要求1-5任一项所述的长短期记忆神经网络电路,其特征在于,所述叠加输入量与所述当前时刻和所述上一时刻的时间间隔呈负相关。
7.根据权利要求6所述的长短期记忆神经网络电路,其特征子在于,所述输入电路还用于:
基于预设的时序,对上一时刻的遗忘程度进行编码,所述上一时刻的遗忘程度用于表征所述上一时刻的存储的状态量。
8.一种长短期记忆神经网络电路控制方法,其特征在于,基于根据权利要求1-7任一项所述的长短期记忆神经网络电路,所述方法包括以下步骤:
所述输入电路通过所述动态忆阻器阵列中每个动态忆阻器接收当前时刻的输入量,并将所述每个动态忆阻器当前时刻的输入和上一时刻的存储的状态量叠加,得到不同时刻的叠加输入量;
通过所述权重电路确定每个非挥发忆阻器对应的矩阵向量,并将所述每个非挥发忆阻器对应的矩阵向量和每个经过动态忆阻器叠加的输入量进行矩阵向量的乘加运算,得到每个非挥发忆阻器的初始输出量;
通过所述激活函数电路基于预设的sigmoid激活函数、双曲正切函数模块和预设的参数对所述每个非挥发忆阻器的初始输出量进行非线性运算,得到长短期记忆神经网络电路的电压输出结果。
9.根据权利要求8所述的方法,其特征在于,所述叠加输入量与所述当前时刻和所述上一时刻的时间间隔呈负相关。
10.根据权利要求9所述的方法,其特征在于,还包括:
基于预设的时序,对上一时刻的遗忘程度进行编码,其中,所述上一时刻的遗忘程度用于表征所述上一时刻的存储的状态量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211097869.3A CN115719087A (zh) | 2022-09-08 | 2022-09-08 | 长短期记忆神经网络电路及控制方法 |
PCT/CN2023/115473 WO2024051525A1 (zh) | 2022-09-08 | 2023-08-29 | 长短期记忆神经网络电路及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211097869.3A CN115719087A (zh) | 2022-09-08 | 2022-09-08 | 长短期记忆神经网络电路及控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115719087A true CN115719087A (zh) | 2023-02-28 |
Family
ID=85253991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211097869.3A Pending CN115719087A (zh) | 2022-09-08 | 2022-09-08 | 长短期记忆神经网络电路及控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115719087A (zh) |
WO (1) | WO2024051525A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051525A1 (zh) * | 2022-09-08 | 2024-03-14 | 清华大学 | 长短期记忆神经网络电路及控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172937A1 (en) * | 2012-12-19 | 2014-06-19 | United States Of America As Represented By The Secretary Of The Air Force | Apparatus for performing matrix vector multiplication approximation using crossbar arrays of resistive memory devices |
CN108510065A (zh) * | 2018-03-30 | 2018-09-07 | 中国科学院计算技术研究所 | 应用于长短时记忆神经网络的计算装置和计算方法 |
CN110348570A (zh) * | 2019-05-30 | 2019-10-18 | 中国地质大学(武汉) | 一种基于忆阻的神经网络联想记忆方法 |
WO2020052342A1 (zh) * | 2018-09-11 | 2020-03-19 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN111680792A (zh) * | 2020-06-18 | 2020-09-18 | 中国人民解放军国防科技大学 | 激活函数电路、忆阻神经网络及忆阻神经网络的控制方法 |
CN112488308A (zh) * | 2020-12-18 | 2021-03-12 | 清华大学 | 基于动态忆阻器的储备池计算系统 |
CN113311702A (zh) * | 2021-05-06 | 2021-08-27 | 清华大学 | 一种基于Master-Slave神经元的人工神经网络控制器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452472B1 (en) * | 2018-06-04 | 2019-10-22 | Hewlett Packard Enterprise Development Lp | Tunable and dynamically adjustable error correction for memristor crossbars |
CN113988281A (zh) * | 2021-10-26 | 2022-01-28 | 重庆因普乐科技有限公司 | 基于忆阻器结构的长短时记忆网络实现方法 |
CN115719087A (zh) * | 2022-09-08 | 2023-02-28 | 清华大学 | 长短期记忆神经网络电路及控制方法 |
-
2022
- 2022-09-08 CN CN202211097869.3A patent/CN115719087A/zh active Pending
-
2023
- 2023-08-29 WO PCT/CN2023/115473 patent/WO2024051525A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172937A1 (en) * | 2012-12-19 | 2014-06-19 | United States Of America As Represented By The Secretary Of The Air Force | Apparatus for performing matrix vector multiplication approximation using crossbar arrays of resistive memory devices |
CN108510065A (zh) * | 2018-03-30 | 2018-09-07 | 中国科学院计算技术研究所 | 应用于长短时记忆神经网络的计算装置和计算方法 |
WO2020052342A1 (zh) * | 2018-09-11 | 2020-03-19 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN110348570A (zh) * | 2019-05-30 | 2019-10-18 | 中国地质大学(武汉) | 一种基于忆阻的神经网络联想记忆方法 |
CN111680792A (zh) * | 2020-06-18 | 2020-09-18 | 中国人民解放军国防科技大学 | 激活函数电路、忆阻神经网络及忆阻神经网络的控制方法 |
CN112488308A (zh) * | 2020-12-18 | 2021-03-12 | 清华大学 | 基于动态忆阻器的储备池计算系统 |
CN113311702A (zh) * | 2021-05-06 | 2021-08-27 | 清华大学 | 一种基于Master-Slave神经元的人工神经网络控制器 |
Non-Patent Citations (2)
Title |
---|
WENQIANG ZHANG: "Array-level boosting method with spatial extended allocation to improve the accuracy of memristor based computing-in-memory chips", 《SCIENCE CHINA INFORMATION SCIENCES》, vol. 64, 30 June 2021 (2021-06-30), pages 1 - 9 * |
肖建: "一种基于多态忆阻器的电压型神经网络电路", 《微电子学》, vol. 50, no. 3, 30 June 2020 (2020-06-30), pages 331 - 338 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051525A1 (zh) * | 2022-09-08 | 2024-03-14 | 清华大学 | 长短期记忆神经网络电路及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2024051525A1 (zh) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10692570B2 (en) | Neural network matrix multiplication in memory cells | |
JP7173709B2 (ja) | ニューラルネットワーク回路 | |
Holler et al. | An electrically trainable artificial neural network (ETANN) with 10240'floating gate'synapses | |
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
US5165009A (en) | Neural network processing system using semiconductor memories | |
CN111967586B (zh) | 一种用于脉冲神经网络存内计算的芯片及计算方法 | |
WO2020093726A1 (zh) | 一种基于1t1r存储器件的最大池化处理器 | |
KR20220088943A (ko) | 멤리스터 기반 신경망 병렬 가속 방법, 프로세서 및 장치 | |
US20200202203A1 (en) | Neural network computation circuit including semiconductor storage elements | |
WO2024051525A1 (zh) | 长短期记忆神经网络电路及控制方法 | |
TW202006609A (zh) | 用於類神經網路的記憶體內運算裝置 | |
CN112199234A (zh) | 一种基于忆阻器的神经网络容错方法 | |
CN114861900A (zh) | 用于忆阻器阵列的权重更新方法和处理单元 | |
CN113362872B (zh) | 一种基于忆阻器的完备非易失布尔逻辑电路及操作方法 | |
JP3353786B2 (ja) | 情報処理装置 | |
US20220319596A1 (en) | Compute-in-memory array and module, and data computing method | |
CN114048846A (zh) | 一种实现文本分析的bi-gru神经网络电路及训练方法和使用方法 | |
CN116523011B (zh) | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 | |
KR102511526B1 (ko) | 하드웨어 기반 인공 신경망 제공 장치 | |
KR102514655B1 (ko) | 스파이크 신호를 병렬처리하는 뉴로모픽 장치 | |
US20230153588A1 (en) | Neuromorphic device for parallel processing of spike signals | |
CN113724764B (zh) | 基于非易失存储器的乘法装置 | |
Kaneko et al. | On the Control of Computing-in-memory Devices with Resource-efficient Digital Circuits towards their On-chip Learning | |
KR20220015680A (ko) | 딥러닝 연산 수행 방법 및 장치 | |
KR20240014147A (ko) | Mac 연산 동작을 수행하는 반도체 장치 |
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 |