CN114723025A - 一种忆阻反向传播神经网络电路及其控制方法 - Google Patents
一种忆阻反向传播神经网络电路及其控制方法 Download PDFInfo
- Publication number
- CN114723025A CN114723025A CN202210302472.7A CN202210302472A CN114723025A CN 114723025 A CN114723025 A CN 114723025A CN 202210302472 A CN202210302472 A CN 202210302472A CN 114723025 A CN114723025 A CN 114723025A
- Authority
- CN
- China
- Prior art keywords
- circuit
- amplifier
- neural network
- signal line
- memristor
- 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
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/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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
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 Integrated Circuits (AREA)
Abstract
本发明涉及一种忆阻反向传播神经网络电路及其控制方法,所述忆阻反向传播神经网络电路包括:包括依次电连接的若干层神经网络单元,神经网络单元包括突触电路、与突触电路分别电连接的激活电路、神经元电路,激活电路同时电连接至对应的下一层神经网络单元的突触电路,通过控制突触电路中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算,计算出突触权重调整量之后,所述突触电路可以实现突触权重的同步调整。本发明基于突触电路、激活函数电路的电信号传递,完成矩阵乘法运算,并通过对突触电路的复用和神经元电路的电信号传递,完成突触权重矩阵转置计算,提升运算的速度,利用突触电路实现突触权重的同步调整,加快网络的训练速度。
Description
技术领域
本发明新兴电路技术领域,尤其涉及一种忆阻反向传播神经网络电路及其控制方法。
背景技术
生物神经网络(Biological Neural Networks,BNN),是指由生物的神经元,突触等生物结构组成的神经网络,用于产生生物的意识,帮助生物进行思考和行动,处理一系列可能遇到复杂的问题。受益于目前医学和生物学发展,生物神经网络的相关研究得以飞速发展。但是生物神经网络具体如何运作的相关研究,仍然有待发展。
人工神经网络(Artificial Neural Network,ANN),是近代人工智能领域研究的热点。其主要思想是,通过模仿生物神经网络(Biological Neural Network,BNN)的特性而构建具有强大运算和快速学习能力的运算模型。神经网络由神经元组成,神经元的功能是通过输入向量与突触权重向量的内积得到中间计算结果,计算出的中间结果传递给激活函数,最终得到输出值,检测输出值与目标期望的差距,用来调整神经元的突触权重。最终经过多次迭代训练,反复调整突触权重值,让神经元在接收输入信号后,达到目标期望。蔡少棠在研究电荷、电流、电压和磁通量之间时,通过对称理论提出了忆阻器概念。忆阻器的阻值通过改变忆阻器两端的电压、电流而改变,因此忆阻器很适合用来表示人工神经网络中突触连接的权重的变化。在2008年,惠普实验制造出了第一个忆阻器实物,对忆阻器的相关研究激烈的展开起来。
现有技术中,利用忆阻器设计神经网络电路的方法层出不穷:有专家团队采用4个忆阻器组成桥式电路作为突触电路,进一步设计了神经元电路并构建忆阻神经网络。这种桥式突触电路的突触权重只能在(-1,1)改变,因此限制了对应的忆阻神经网络电路的应用;有学者设计了一个忆阻器组成的交叉阵列,使用忆阻交叉阵列中的一个电路单元作为突触电路。在调整忆阻交叉阵列的忆阻值时,一次可以调节一个忆阻器的阻值,调整速率低下。也有学者设计了一个晶体管与一个忆阻器组成的忆阻交叉阵列,使用两个相同的忆阻交叉阵列中的两个对应的电路单元组成一个突触电路,在调整忆阻交叉阵列的忆阻值时,一次可以调节一行忆阻器的阻值,同样存在限制。综上,现有的基于忆阻器设计的神经网络电路,突触权重的改变存在限制,难以实现复杂的神经网络功能。缺乏将反向传播过程的运算使用电路设计实现的技术。而且,忆阻交叉阵列突触权重的调整速率低下,导致忆阻反向传播神经网络电路的性能存在一定的缺陷。因此,如何设计快速调节突触权重的忆阻反向传播神经网络电路是亟待解决的问题。
发明内容
有鉴于此,有必要提供及一种忆阻反向传播神经网络电路及其控制方法,用以克服现有技术中忆阻反向传播神经网络电路反向传播过程的运算电路实现缺乏,以及突触权重调节效率不高的问题。
为了解决上述技术问题,本发明提供一种忆阻反向传播神经网络电路,包括依次电连接的若干层神经网络单元,所述神经网络单元包括突触电路、以及与所述突触电路分别电连接的激活电路、神经元电路,所述激活电路同时电连接至对应的下一层神经网络单元的突触电路,所述突触电路包括忆阻交叉阵列;
其中,通过控制所述突触电路中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算,在求得突触权重的调整量之后,所述突触电路可以实现突触权重的同步调整。
进一步地,所述突触电路还包括与所述忆阻器阵列电连接的若干运算放大器,所述忆阻交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过四个MOS管和一个忆阻器组成的电路单元连接到一起。
进一步地,所述突触单元包括第一MOS管、第二MOS管、第三MOS管、第四MOS管和忆阻器,其中:
所述第一MOS管的一端电连接至所述行信号线,用于接收所述行信号线输入的行输入信号,所述第一MOS管的另一端电连接至所述忆阻器的正极;
所述第二MOS管的一端连接至所述第一MOS管的一端,所述第二MOS管的另一端连接至所述忆阻器的负极;
所述第三MOS管的一端连接至所述忆阻器的正极,所述第三MOS管的另一端连接至所述列信号线;
所述第四MOS管的一端连接至所述忆阻器的负极,所述第四MOS管的另一端连接至所述列信号线;
所述第一MOS管的控制端、所述第二MOS管的控制端、所述第三MOS管的控制端、所述第四MOS管的控制端分别电连接至第一分流点,所述第一分流点用于接收设定的控制电压信号。
进一步地,所述M条行信号线包括第一行信号线至第二行信号线,所述N条列信号线包括第一列信号线至第二列信号线,所述若干运算放大器包括第一放大器、第二放大器、第三放大器、第四放大器,其中:
所述第一放大器的反向输入端通过第二开关电连接至所述第一列信号线,所述第一放大器的同相输入端接地,所述第一放大器的反相输入端通过第一放大电阻电连接至所述第一放大器的输出端,所述第一放大器的输出端电连接至所述第一激活函数电路,第一放大器和第一激活函数电路构成第一激活电路;
所述第二放大器的反向输入端通过第二开关电连接至所述第二列信号线,所述第二放大器的同相输入端接地,所述第二放大器的反相输入端通过第二放大电阻电连接至所述第二放大器的输出端,所述第二放大器的输出端电连接至所述第二激活函数电路。第二放大器和第二激活函数电路构成第二激活电路;
所述第三放大器的反向输入端在第二开关的控制下,通过第一电阻电连接至所述第一行信号线的输入端、通过第二电阻电连接至所述第二行信号线的输出端,所述第三放大器的同相输入端接地,所述第三放大器的反相输入端通过第三放大电阻电连接至所述第三放大器的输出端,所述第三放大器的输出端通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线;
所述第四放大器的反向输入端在第三开关的控制下,通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线,所述第四放大器的同相输入端接地,所述第四放大器的反相输入端通过第四放大电阻电连接至所述第四放大器的输出端,所述第四放大器的输出端在第三开关的控制下,通过第一电阻电连接至所述第一行信号线、通过第二电阻电连接至所述第二行信号线;
其中,在第一开关的控制下,输入所述第一行输入信号和所述第二行输入信号;或者,输入突触权重调整电压信号;或者,空置第一行信号线、第二行信号线。
进一步地,所述M条行信号线包括第一行信号线至第二行信号线,所述神经元电路包括第五放大器至第六放大器,其中:
所述第五放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第一电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第二电路单元电连接至第二列信号线;所述第五放大器的同相输入端接地,所述第五放大器的反相输入端通过第五放大电阻电连接至所述第五放大器的输出端,所述第五放大器的输出端输出第一电压信号;
所述第六放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第三电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第四电路单元电连接至第二列信号线;所述第六放大器的同相输入端接地,所述第六放大器的反相输入端通过第六放大电阻电连接至所述第六放大器的输出端,所述第六放大器的输出端输出第二电压信号。
进一步地,所述若干运算放大器包括第一放大器和第二放大器,所述M条行信号线包括第一行信号线至第二行信号线,所述激活电路包括第一激活电路和第二激活电路,其中:
所述第一激活函数电路电连接至所述第一放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻器交叉阵列中的第一行信号线;
所述第二激活函数电路电连接至所述第二放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻器交叉阵列中的第二行信号线。
本发明还提供一种忆阻反向传播神经网络电路的控制方法,基于如上所述的忆阻反向传播神经网络电路,所述控制方法包括:
在前向传播过程中,控制每一层神经网络单元依次通过突触电路和激活电路,将对应的输入信号与矩阵权重进行计算,输出相应的输出信号,其中,每一层神经网络单元的输出信号作为下一层神经网路的输入信号;
在反向传播过程中,根据每一层神经网络单元的输出信号,通过忆阻器交叉阵列的复用,完成突触权重的矩阵转置运算,确定突触权重调整量;
在计算出突触权重调整量之后,将突触权重调整量映射为对应的突触电路的控制信号,控制所述突触电路实现突触权重的同步调整。
进一步地,所述输入信号包括第一行输入信号和第二行输入信号,所述控制每一层神经网络单元依次通过突触电路和激活电路,将对应的输入信号与突触权重矩阵进行计算,输出相应的输出信号,包括:
控制第一开关、第二开关闭合,且第三开关断开;
根据突触单元中的忆阻器的电导值,确定突触权重;
根据所述第一行输入信号、所述第二行输入信号和所述突触权重,得到激活电路的输入电信号;
通过所述激活电路,确定所述输出信号。
进一步地,根据所述神经网络的输出信号,通过忆阻器交叉阵列的复用,完成突触权重矩阵转置运算,确定突触权重的调整量,包括:
根据所述输出信号,确定第二层的敏感度值,并将敏感度值映射为第二层的第一列输入信号和第二列输入信号;
控制第一开关空置、第二开关断开且第三开关闭合;
根据所述第一列输入信号、所述第二列输入信号和转置的突触权重,确定第一电压信号和第二电压信号,并根据所述第一电压信号和所述二电压信号,确定第一层神经网络单元的敏感度值;
依次计算出每一层神经网络单元的敏感度值,并确定每一层的突触权重调整量。
进一步地,所述控制方法还包括:
基于所述突触权重与忆阻值之间的映射关系,将所述突触权重的调整量映射成忆阻器的阻值改变量;
控制第一开关接入预设的电压源信号,根据所述阻值改变量,设置忆阻交叉阵列中各个突触单元与忆阻器电连接的控制信号的电压,并持续对应的时间,以改变各个突触单元中忆阻器的忆阻值。
与现有技术相比,本发明的有益效果包括:在忆阻反向传播神经网络电路中,通过设置突触电路,利用其中的忆阻交叉阵列,完成输入信号的矩阵相乘运算,并通过其中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算,是前向传播和反向传播过程的基础;通过设置激活电路,将每一层的神经网络单元进行相应的激活函数处理,并输入至下一层的神经网络单元;在计算出突触权重的调整量之后,由于设计的突触电路具有灵活控制的特点,因此突触电路可以实现突触权重的同步调整。在相关的控制方法中,首先,在前向传播过程中,输入信号送到神经网络电路中,输入信号与突触权重矩阵进行计算,得到的输出信号传递给下一层神经网络;然后,在反向传播过程中,根据神经网络的输出信号,通过忆阻交叉阵列的复用,进行突触权重矩阵的转置运算,进而确定每个突触权重的调整量。综上,本发明基于通过突触电路、神经元电路与激活函数电路的电信号传递,完成输入信号与突触权重的计算,加快相应的运算速度,并通过对突触电路的忆阻交叉阵列进行复用,完成对应的突触权重矩阵转置计算,同样提升了运算的速度。在求得突触权重的调整量之后,通过控制实现突触权重的同步调整,提升忆阻反向传播神经网络电路整体的训练速度。
附图说明
图1为本发明提供的忆阻反向传播神经网络电路一实施例的结构示意图;
图2为本发明提供的忆阻反向传播神经网络电路一具体实施例的结构示意图;
图3为本发明提供的忆阻反向传播神经网络电路的控制方法一实施例的流程示意图;
图4为本发明提供的图3中步骤S301一实施例的流程示意图;
图5为本发明提供的突触权重一实施例的示意图;
图6为本发明提供的图3中步骤S302一实施例的流程示意图;
图7为本发明提供的忆阻反向传播神经网络电路的控制方法另一实施例的流程示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。此外,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明的描述中,提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,所描述的实施例可以与其它实施例相结合。
本发明提供了一种忆阻反向传播神经网络电路及其控制方法,利用忆阻交叉阵列组成突触电路,通过忆阻交叉阵列及其复用,提升相关运算的速度。并且,为进一步提高忆阻反向传播神经网络电路的突触权重调节效率提供了新思路。
在实施例描述之前,对相关词语进行释义:
忆阻器:全称记忆电阻器(Memristor),是表示磁通与电荷关系的电路器件。忆阻具有电阻的量纲,但和电阻不同的是,忆阻的阻值可以根据流经它的电荷改变;需要说明的是,2008年,华人教授蔡少棠(Leon.O.Chua)从电路基本参量对称的角度,在理论上第一次提出了忆阻器。惠普实验室在2008年首次制造出忆阻器的物理器件,极大地推动了忆阻研究的发展。当忆阻器两端施加对应的电压时,忆阻值会发生改变。当忆阻器两端没有电压时,忆阻器的阻值保持不变。忆阻器的阻值变化可以良好地契合神经网络中的突触权重变化,因此使用忆阻器作为突触电路不仅可以减少使用电子器件的数量,而且可以提升突触电路的工作性能。因此,设计忆阻神经网络电路具有非常好的应用前景;
反向传播神经网络:具有反馈训练机制的神经网络,核心理念就是把下一层神经元对于上一层神经元的所有期待汇总,从而指导上一层神经元改变。通过相应的迭代训练,可以使神经网络的输出逐渐接近期望值。
基于上述技术名词的描述,现有技术中,忆阻反向传播神经网络电路的电路结构对整个阵列的突触权重调整,需要很多次的调节,整个神经网络实现反向传播算法需要耗费大量的时间。因而,本发明旨在提出一种高效率调整突触权重的忆阻反向传播神经网络电路。
以下分别对具体实施例进行详细说明:
本发明实施例提供了一种忆阻反向传播神经网络电路,结合图1来看,图1为本发明提供的忆阻反向传播神经网络电路一实施例的结构示意图,包括依次电连接的若干层神经网络单元,所述神经网络单元包括突触电路101、以及与所述突触电路分别电连接的激活电路102、神经元电路103,所述激活电路102同时电连接至对应的下一层神经网络单元的突触电路101,其中,通过控制所述突触电路101中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算。在计算出突触权重的调整量之后,通过所述突触电路101,实现突触权重的同步调整。
在本发明实施例中,在忆阻反向传播神经网络电路中,通过设置突触电路,利用其中的忆阻交叉阵列,完成输入信号与突触权重矩阵相乘运算,并通过其中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算,是前向传播和反向传播过程的基础;通过设置激活电路,将每一层的神经网络单元进行相应的激活函数处理,并输入至下一层的神经网络单元;通过设置忆阻交叉阵列的输入方式,当进行反向传播时,根据神经元电路的输出得到突触权重矩阵转置运算的结果。进而,根据突触权重矩阵转置运算的结果,计算出突触权重的调整量。在计算出突触权重的调整量之后,根据对应的映射关系和控制信号,实现突触权重的同步调整,提升忆阻反向传播神经网络电路整体的训练速率。
作为优选的实施例,结合图2来看,图2为本发明提供的忆阻反向传播神经网络电路一具体实施例的结构示意图,所述突触电路包括忆阻交叉阵列以及与所述忆阻交叉阵列电连接的若干运算放大器,所述忆阻交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交叉但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过四个MOS管和一个忆阻器组成的电路单元连接到一起。
在本发明实施例中,利用忆阻交叉阵列及其复用,完成前向、反向传播过程中的运算,极大地加快运算的速度。
在本发明一个具体的实施例中,每层神经网络结构相同且具有一个4T1M忆阻交叉阵列作为突触电路,并且每层神经网络结构相同。所述4T1M忆阻交叉阵列,具有n个神经元。所述n个神经元由n平方个突触组成。所述n平方个突触通过n条行信号线和n条列信号线连接排列形成矩阵的形式。
作为优选的实施例,仍结合图2来看,所述突触单元包括第一MOS管、第二MOS管、第三MOS管、第四MOS管和忆阻器,其中:
所述第一MOS管的一端电连接至所述行信号线,用于接收所述行信号线输入的行输入信号,所述第一MOS管的另一端电连接至所述忆阻器的正极;
所述第二MOS管的一端连接至所述第一MOS管的一端,所述第二MOS管的另一端连接至所述忆阻器的负极;
所述第三MOS管的一端连接至所述忆阻器的正极,所述第三MOS管的另一端连接至所述列信号线;
所述第四MOS管的一端连接至所述忆阻器的负极,所述第四MOS管的另一端连接至所述列信号线;
所述第一MOS管的控制端、所述第二MOS管的控制端、所述第三MOS管的控制端、所述第四MOS管的控制端分别电连接至第一分流点,所述第一分流点用于接收设定的控制电压信号。
在本发明实施例中,利用第一MOS管、第二MOS管、第三MOS管、第四MOS管和忆阻器,构建4T1M电路单元,形成突触单元,能够通过复用4T1M忆阻交叉阵列,完成突触权重矩阵的转置运算。
作为优选的实施例,仍结合图2来看,所述M条行信号线包括第一行信号线至第二行信号线,所述N条列信号线包括第一列信号线至第二列信号线,所述若干运算放大器包括第一放大器、第二放大器、第三放大器、第四放大器,其中:
所述第一放大器的反向输入端通过第二开关电连接至所述第一列信号线,所述第一放大器的同相输入端接地,所述第一放大器的反相输入端通过第一放大电阻电连接至所述第一放大器的输出端,所述第一放大器的输出端电连接至所述第一激活函数电路,第一放大器和第一激活函数电路构成第一激活电路;
所述第二放大器的反向输入端通过第二开关电连接至所述第二列信号线,所述第二放大器的同相输入端接地,所述第二放大器的反相输入端通过第二放大电阻电连接至所述第二放大器的输出端,所述第二放大器的输出端电连接至所述第二激活函数电路。第二放大器和第二激活函数电路构成第二激活电路;
所述第三放大器的反向输入端在第二开关的控制下,通过第一电阻电连接至所述第一行信号线的输入端、通过第二电阻电连接至所述第二行信号线的输出端,所述第三放大器的同相输入端接地,所述第三放大器的反相输入端通过第三放大电阻电连接至所述第三放大器的输出端,所述第三放大器的输出端通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线;
所述第四放大器的反向输入端在第三开关的控制下,通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线,所述第四放大器的同相输入端接地,所述第四放大器的反相输入端通过第四放大电阻电连接至所述第四放大器的输出端,所述第四放大器的输出端在第三开关的控制下,通过第一电阻电连接至所述第一行信号线、通过第二电阻电连接至所述第二行信号线;
其中,在第一开关的控制下,输入所述第一行输入信号和所述第二行输入信号;或者,输入突触权重调整电压信号;或者,空置第一行信号线、第二行信号线。
在本发明实施例中,通过MOS管与忆阻器的连接结构,可通过改变输入信号大小调整忆阻器的阻值,即改变突触的权重。
在本发明一个具体的实施例中,所述突触分别为突触M111、突触M211、突触M121、突触M221···突触Mijn-1、突触Mijn-1。所述行信号线分别记为行信号线B1、行信号线B2、···行信号线Bn-1、行信号线Bn。所述列信号线分别记为列信号线C1、纵向C2、···列信号线Cn-1、列信号线Cn。行信号线与列信号线交叉排列,行信号线和列信号通过突触形成连接;
其中,所述的突触M111与M121通过行信号线B1、B2、列信号线C1建立连接。所述的突触M211与M221通过行信号线B1、B2、列信号线C2建立连接。所述的突触电路通过行信号线和列信号线连接方式均相似;
其中,更近一步地,突触组成结构均相同由第一PMOS管T1、第二PMOS管T2、第三NMOS管T3、第四NMOS管T4、忆阻器RM组成。所述4个MOS管的栅极连接在一起,用于提供栅极电压,控制晶体管的工作状态。所述第一PMOS管T1的一端与输入信号端相连接,一端与忆阻器RM“+”接口相连接。所述第二PMOS管T2的一端与输入信号端相连接,一端与忆阻器RM“-”接口相连接。所述第三NMOS管T3的一端与输出信号端相连接,一端与忆阻器RM“-”接口相连接。所述第四NMOS管T4的一端与输出信号端相连接,一端与忆阻器RM“+”接口相连接。所述MOS管与忆阻器RM的连接结构,可通过改变输入信号大小调整忆阻器RM的阻值,即改变突触的权重。
作为具体的实施例,忆阻器交叉阵列有n个信号输入端和n个信号输出端。所述的n个信号输入端,包括,输入端Vin1、输入端Vin2···到输入端Vinn。所述n个信号输出端,包括,输出端Vout1、输出端Vout2、···到输出端Voutn。在前向传播过程中,将输入信号与4T1M忆阻交叉阵列表示的突触权重矩阵进行乘法运算。
作为优选的实施例,仍结合图2来看,所述M条行信号线包括第一行信号线至第二行信号线,所述神经元电路包括第五放大器至第六放大器,其中:
所述第五放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第一电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第二电路单元电连接至第二列信号线。所述第五放大器的同相输入端接地,所述第五放大器的反相输入端通过第五放大电阻电连接至所述第五放大器的输出端,所述第五放大器的输出端输出第一电压信号;
所述第六放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第三电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第四电路单元电连接至第二列信号线。所述第六放大器的同相输入端接地,所述第六放大器的反相输入端通过第六放大电阻电连接至所述第六放大器的输出端,所述第六放大器的输出端输出第二电压信号。
在本发明实施例中,通过第五放大器和第六放大器,形成相应的输出第一电压信号、第二电压信号,表示突触权重矩阵转置运算的结果。
作为优选的实施例,仍结合图2来看,所述若干运算放大器包括第一放大器和第二放大器,所述M条行信号线包括第一行信号线至第二行信号线,所述激活电路包括第一激活电路和第二激活电路,其中:
所述第一激活函数电路电连接至所述第一放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻交叉阵列中的第一行信号线;
所述第二激活函数电路电连接至所述第二放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻交叉阵列中的第二行信号线。
在本发明实施例中,通过设置激活电路,进行相应的激活操作得到输出信号,作为下一神经网络单元的有效输入。
在本发明一个具体的实施例中,每层神经网络电路均具有n个激活电路。所述激活电路与4T1M忆阻交叉阵列相连接。输入信号和4T1M忆阻交叉阵列运算的结果送入激活电路。此激活电路可以使用不同的激活函数,如sigmoid,tanh等。激活电路运算完成后得到输出信号,输出信号被送入下一层神经网络电路作为新的输入信号,如此便完成了一次前向传播过程。由于前向传播过程的运算是在电路硬件上通过电信号作用实现的,因此只要输入信号一施加到忆阻反向传播神经网络电路,便可以直接得到输出信号,从而大幅度提升了前向传播过程的运行速度。
作为具体的实施例,在得到忆阻反向传播神经网络的前向传播过程的输出之后,可以求得对应的反向传播的敏感度值,改变忆阻交叉阵列的信号输入方式,对忆阻交叉阵列进行复用,得到突触权重矩阵转置的运算结果,并进一步求得突触权重的调整量。
在计算出所有层的突触权重调整量之后,通过控制信号映射电路,所有的突触权重调整量被映射成为对应的4T1M忆阻交叉阵列中,每个4T1M电路单元的忆阻器阻值的改变量。进一步,将忆阻值改变量转换成对应的控制信号的作用时间。接着,所有的控制信号同时施加到4T1M交叉阵列,同时改变忆阻交叉阵列中所有忆阻器的忆阻值,实现突触权重的同步调整。
下面以两层神经网络层为例,更清楚地说明本发明的电路结构,此处仍以图2进行说明如下:
每层神经网络有一个4T1M忆阻交叉阵列和2个神经元,每个神经元由两个突触通过行信号线和列信号线连接而成,突触分别记为突触M111、突触M211、突触M121、突触M221。行信号线分别为行信号线B1、行信号线B2。列信号线分别为列信号线C1、列信号线C2。突触M111与M121通过行信号线B1、B2、列信号线C1形成第一个神经元N1。突触M211与M221通过行信号线B1、B2、列信号线C2形成第二个神经元N2;
其中,此忆阻神经网络电路使用具有电压阈值的忆阻器,忆阻器的正向阈值电压为0.5V,忆阻器反向阈值电压为-0.5V。同时,使用的PMOS管的阈值电压为-0.6V,NMOS管的阈值电压为0.6V;
其中,每个4T1M突触电路的结构均相同,包括第一PMOS管T1、第二PMOS管T2、第三NMOS管T3、第四NMOS管T4、忆阻器RM组成。所述4个MOS管的栅极与共享信号端Vcon相连接,用于提供栅极电压,控制晶体管的工作状态。所述第一PMOS管T1的一端与输入信号端相连接,一端与忆阻器RM“+”接口相连接。所述第二PMOS管T2的一端与输入信号端相连接,一端与忆阻器RM“-”接口相连接。所述第三NMOS管T3的一端与输出信号端相连接,一端与忆阻器RM“-”接口相连接。所述第四NMOS管T4的一端与输出信号端相连接,一端与忆阻器RM“+”接口相连接。所述MOS管与忆阻器RM的连接结构,可通过改变输入信号大小调整忆阻器RM的阻值,即改变突触的权重;
其中,对于突触M111,由于运算放大器具有虚短效应,运算放大器A1的反相端电压为0V,即列信号线C1上的电压为0V。当行输入信号Vin1为1V,共享信号端Vcon1电压为-2V,PMOS管T1和PMOS管T2此时的栅极与源极之间的电压为-3V,NMOS管T3和NMOS管T4此时栅极与源极之间的电压-2V。受MOS管阈值电压影响,PMOS管T1和NMOS管T3通路,PMOS管T2和NMOS管T4开路。这种情况下,电流流经PMOS管T1,从忆阻器RM的“+”流向“-”,然后流向NMOS管T3,最后流到输出信号端。忆阻器RM阻值增加,即4T1M突触权重减小;
其中,对于突触M111,当行输入信号Vin1为1V,共享信号端Vcon1电压为2V时,PMOS管T1和PMOS管T2此时的栅极与源极之间的电压为1V,NMOS管T3和NMOS管T4此时栅极与源极之间的电压2V。受MOS管阈值电压影响,PMOS管T2和NMOS管T4通路,而PMOS管T1和NMOS管T3开路。这种情况下,电流流经PMOS管T2,从忆阻器RM的“-”流向“+”,然后流向NMOS管T4,最后流到输出信号端。忆阻器RM阻值减小,对应4T1M突触权重增加;
其中,对于突触M111,当行输入信号Vin1为忆阻器负向阈值电压与正向阈值电压之间的一个电压值,即Vin1为-0.5V到0.5V之间的一个电压,共享信号端Vcon1电压为2V时,PMOS管T1和PMOS管T2此时的栅极与源极之间的电压为1.5V到2.5V之间的电压,NMOS管T3和NMOS管T4此时栅极与源极之间的电压2V。受MOS管阈值电压影响,PMOS管T2和NMOS管T4通路,而PMOS管T1和NMOS管T3开路。这种情况下,电流流经PMOS管T2,从忆阻器RM的“-”流向“+”,然后流向NMOS管T4,最后流到输出信号端。但是,此时的输入电压在忆阻器的负向阈值电压与正向阈值电压之间,因此,忆阻器的阻值不变;
其中,忆阻交叉阵列中的4T1M突触电路具有相同的电路结构和电路连接方式,因此其他4T1M突触电路可以使用相同的方式分析。通过设置忆阻交叉阵列中每个4T1M突触电路共享信号端的控制信号的电压,每个4T1M突触电路可以单独地控制实现忆阻值的增大或减小,从而同时调节每个4T1M突触电路的忆阻值,实现同步的突触权重调节;
其中,忆阻反向传播神经网络电路的每一层含有六个运算放大器,包括第一放大器A1、第二放大器A2、第三放大器A3、第四放大器A4、第五放大器A5、第六放大器A6。运算放大器分别与电阻RN1、电阻RN2、电阻RN3、电阻RN4、电阻RN5、电阻RN6相互连接;
其中,第一放大器A1的反向输入端通过开关S2控制,与忆阻交叉阵列的列信号线C1相连,同相输入端接地,电阻RN1连接在反向输入端和运算放大器A1输出端,运算放大器A1的输出端Vout1作为激活函数f的净输端,组成第一层的第一个激活电路;
其中,第二放大器A2的反向输入端通过开关S2控制,与忆阻交叉阵列的列信号线C2相连,同相输入端接地,电阻RN2连接在反向输入端和第二放大器A2输出端,第二放大器A2的输出端Vout2作为激活函数f的输入端,组成第一层的第二个激活电路;
其中,第三放大器A3的反向输入端在开关S2的控制下,经过电阻R1、R2与行输入信号Vin1和Vin2相连接。第三放大器A3的同相输入端接地,所述电阻RN3连接在反向输入端和第三放大器A3输出端。在第三放大器A3的辅助下,忆阻交叉阵列中的4T1M电路单元与电阻R1、R2,经过电路信号的叠加运算,实现负权重、零权重、正权重;
其中,第五放大器A5的反向输入端通过开关S3控制,与忆阻交叉阵列的行信号线B1相连,同相输入端接地,电阻RN5连接在反向输入端和第五放大器A5输出端Vtf1,组成第一个神经元电路;
其中,第六放大器A6的反向输入端通过开关S3控制,与忆阻交叉阵列的行信号线B2相连,同相输入端接地,电阻RN6连接在反向输入端和第六放大器A6输出端Vtf2,组成第二个神经元电路。
其中,第四放大器A4的反向输入端在开关S3的控制下,经过电阻R3、R4与列输入信号Vtin1和Vtin2相连接。
其中,第四放大器A4的同相输入端接地,所述电阻RN4连接在反向输入端和第四放大器A4输出端。在第四放大器A4的辅助下,忆阻交叉阵列中的4T1M电路单元与电阻R3、R4,经过电路信号的叠加运算,实现负权重、零权重、正权重。
其中,在开关S3的控制下,列输入信号Vtin1和Vtin2接入4T1M忆阻交叉后,通过电路信号的叠加作用,得到行输出信号Vtf1、Vtf2;这一操作可以实现突触权重矩阵转置的乘法,突触矩阵转置的乘法是反向传播过程中的重要运算步骤,因此,可以加快反向传播过程的运算速度。
本发明实施例提供了一种忆阻反向传播神经网络电路的控制方法,结合图3来看,图3为本发明提供的忆阻反向传播神经网络电路的控制方法一实施例的流程示意图,基于如上所述的忆阻反向传播神经网络电路,包括步骤S301至步骤S302,其中:
在步骤S301中,在前向传播过程中,控制每一层神经网络单元依次通过突触电路和激活电路,将对应的输入信号与突触权重矩阵进行计算,得到相应的输出信号,其中,每一层神经网络单元的输出信号作为下一层神经网络的输入信号;
在步骤S302中,在反向传播过程中,根据神经网络的输出信号,通过忆阻交叉阵列的复用,完成突触权重矩阵的转置运算。然后,对应的参量层层反向传播,确定每一层的突触权重调整量。根据突触权重的调整量,所述突触电路可以实现突触权重的同步调整。
需要说明的是,一次操作包括前向传播过程、反向传播过程、突触权重调整过程。在前向传播过程中,需要4T1M忆阻交叉阵列中的忆阻器阻值保持不变,从而得到稳定有效的神经网络输出。在反向传播过程中,通过4T1M忆阻交叉阵列的复用,完成突触权重矩阵转置的计算时,仍然需要忆阻器的阻值保持不变。因此,行输入信号Vin1、Vin2和列输入信号Vtin1、Vtin2,在前向、反向传播过程中,分别被设置为-0.5V到0.5V之间的电压。在突触权重调整过程中,4T1M忆阻交叉阵列中的忆阻器要改变忆阻值,实现权重调整。因此选择开关S1连接电压源Vadj,它的电压为1V,进而配合不同的控制信号,实现忆阻值的改变。
作为优选的实施例,结合图4来看,图4为本发明提供的图3中步骤S301一实施例的流程示意图,包括步骤S401至步骤S404,其中:
在步骤S401中,控制第一开关、第二开关闭合,且第三开关断开;
在步骤S402中,根据突触单元中的忆阻器的电导值,确定突触权重;
在步骤S403中,根据所述第一行输入信号、所述第二行输入信号和所述突触权重,确定初始输出信号;
在步骤S404中,通过所述激活电路,将所述初始输出信号做激活函数处理,确定所述输出信号。
在本发明实施例中,通过忆阻电路硬件,完成前向传播过程中的运算,电信号的传递瞬间完成,极大地提升运算的速度。
下面仍以两层神经网络为例,结合图2和图5来看,图5为本发明提供的突触权重一实施例的示意图,更为具体地说明前向传播过程的过程如下:
在前向传播过程中,开关S1、开关S2闭合,开关S3断开,行输入信号Vin1经过开关S1,通过电阻R1,连接至运算放大器A3的反向输入端。行输入信号Vin2经过开关S1,通过电阻R2,连接至第三放大器A3的反向输入端。第三放大器A3的同向输入端接地。根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第三放大器A3的电压为下式:
其中,RN3表示接在运算放大器A3上的电阻的阻值;
其中,第三放大器A3,经过电阻R3,通过列信号线C1,连接至运算放大器A1的反相输入端。行输入信号Vin1经过开关S1,与突触M111相连接,最终连接至运算放大器A1的反相输入端。行输入信号Vin2经过开关S1,与突触M121相连接,也连接至运算放大器A1的反相输入端。同样根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第二放大器A2的电压为下式:
其中,RN1表示接在运算放大器A1上的电阻的阻值,Rm111表示突触M111中忆阻器的阻值,Rm121表示突触M121中忆阻器的阻值;
进一步地,第三放大器A3,经过电阻R4,通过列信号线C2,连接至第二放大器A2的反相输入端。输入信号Vin1经过开关S1,与突触M211相连接,最终连接至第二放大器A2的反相输入端。输入信号Vin2经过开关S1,与突触M221相连接,也连接至第二放大器A2的反相输入端。同样根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第二放大器A2的电压为下式:
其中,RN2表示接在运算放大器A2上的电阻的阻值,Rm211表示突触M211中忆阻器的阻值,Rm221表示突触M221中忆阻器的阻值;
进一步地,将电阻RN3的阻值设置成与电阻R3和电阻R4的阻值相同;将第三放大器A3的电压表达式带入到第二放大器A2的两个电压表达式中推出下式:
Vout1=-(k1Vin1(Gm111-G1)+k1Vin2(Gm121-G2))
Vout2=-(k2Vin1(Gm211-G1)+k2Vin2(Gm221-G2))
其中,Gm111、Gm121、Gm211、Gm221分别表示突触M111、突触M121、突触M211、突触M221中忆阻器的电导值。G1、G2分别表示电阻R1、R2的电导值。因此,突触权重表示为:
wij=k(Gγ-Gmij1)
由上式可知,当电导Gr大于Gmij时,表现为负权重;当电导Gr等于Gmij时,表现为零权重;当电导Gr小于Gmij时,表现为正权重。可将上述输入信号、权重、输出信号通过矩阵乘积的形式简化表示:
其中,W111、W121、W211、W221分别表示突触M111、突触M121、突触M211、突触M221的突触权重;
通过上述输入信号、突触权重矩阵的运算,得到中间的输出信号Vout1与输出信号Vout2,Vout1与Vout2输入激活函数得到当前层的输出信号。当前层的输出信号送入下一层网络中,作为输入信号。由于2层神经网络结构相同,并且此时开关闭合也是相同,便可以通过同样的计算方法得到此时第二层网络的输出信号:
其中,经过上式计算出的输出信号Vout3、输出信号Vout4送至激活函数中,最终得到前向传播过程中神经网络的输出如下:
因此,通过电路信号的传导,得到了前向传播过程中神经网络的第一输出信号N1、第二输出信号N2。由于前向传播过程中的对应运算由电路信号的相互作用实现,只要加上输入信号,可立刻得到输出信号,可以高效提升运算速度。
作为优选的实施例,结合图6来看,图6为本发明提供的图3中步骤S302一实施例的流程示意图,包括步骤S601至步骤S604,其中:
在步骤S601中,根据所述输出信号,确定第二层的敏感度值,并将敏感度值映射为第二层的忆阻交叉阵列的第一列输入信号和第二列输入信号;
在步骤S602中,控制第一开关空置、第二开关断开且第三开关闭合;
在步骤S603中,根据所述第一列输入信号、所述第二列输入信号和转置的突触权重,确定第一电压信号和第二电压信号,并根据所述第一电压信号和所述二电压信号,确定前一层神经网络单元的敏感度值;
在步骤S604中,依次计算出每一层神经网络单元的敏感度值,并确定对应的突触权重的调整量。
在本发明实施例中,复用4T1M忆阻交叉阵列,完成矩阵转置运算,大幅度提升对应的运算速度。
下面仍以两层神经网络层为例,结合图2和图5来看,图5为本发明提供的突触权重一实施例的示意图,更为具体地说明反向传播过程的过程如下:
在反向传播过程中,首先,根据神经网络的第一输出信号N1、第二输出信号N2,可以计算出输出层即第二层的敏感度。进一步,将计算得到的敏感度值映射为第二层的列输入端Vtin3和列输入端Vtin4。然后,将开关S1空置,不连接任何信号。开关S2断开,开关S3闭合。Vtin3和Vtin4经过电阻R7、R8连接到第十放大器A10的反相输入端,第十放大器A10的同相输入端接地,第十放大器A10通过电阻RN10将反向输入端与运算放大器输出端相连接。根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第十放大器A10的电压VA10为下式:
其中,RN10表示接在运算放大器A10上的电阻的阻值,列输入信号Vtin3经过突触M112,最终连接至第十一放大器A11的反相输入端。列输入信号Vtin4经过突触M212,也连接至第十一放大器A11的反相输入端。同时,运算放大器A10的输出通过电阻R5,经过第二层的行信号线B3,也连接到第十一放大器A11的反相输入端。根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第十一放大器A11的输出电压Vtrf3的电压为下式:
其中,RN11表示接在运算放大器A11上的电阻的阻值,Rm112表示突触M112中忆阻器的阻值,Rm212表示突触M212中忆阻器的阻值;
其中,列输入信号Vtin3经过突触M122,最终连接至第十二放大器A12的反相输入端。列输入信号Vtin4经过突触M222,也连接至第十二放大器A12的反相输入端。同时,运算放大器A10的输出通过电阻R6,经过第二层的行信号线B4,也连接到第十二放大器A12的反相输入端。根据运算放大器虚断和虚短的特点,并且由叠加定理,可得到此时第十二放大器A12的输出电压Vtrf4的电压为下式:
其中,RN12表示接在运算放大器A12上的电阻的阻值,Rm122表示突触M122中忆阻器的阻值,Rm222表示突触M222中忆阻器的阻值。使用与前向传播过程中类似的方法,可以得到此过程实现了突触权重矩阵转置的乘法:
需要说明的是,在反向传播过程中,突触权重矩阵转置的乘法占据了大部分的计算量。通过4T1M忆阻交叉阵列的复用,通过电路信号的相互作用,完成突触权重矩阵转置的乘法,能够加快反向传播过程的运算速度。根据电路运算得到的输出信号Vtrf3、Vtrf4,可以进一步计算出第一层的敏感度,并计算出每一层突触权重的调整量。
作为优选的实施例,结合图7来看,图7为本发明提供的忆阻反向传播神经网络电路的控制方法另一实施例的流程示意图,在步骤S302之后还包括步骤S701至步骤S702,其中:
在步骤S701中,基于所述突触权重与忆阻值之间的映射关系,将所述突触权重的调整量映射成忆阻器的阻值改变量;
在步骤S702中,控制第一开关接入预设的电压源信号,根据所述阻值改变量,设置忆阻交叉阵列中各个突触单元的控制信号的电压,以改变各个突触单元中忆阻器的忆阻值。
在本发明实施例中,将求得的突触权重调整量映射为对应的控制信号作用时间,然后控制信号单独控制每个突触电路调整忆阻值。所有突触电路可以同时调节忆阻值,实现同步地突触权重调整,提升突触权重调整速度。
下面仍以两层神经网络层为例,结合图2和图5来看,更为具体地说明突触权重同步调整方法如下:
在突触权重调整阶段,首先根据突触权重与忆阻值之间的映射关系,将突触权重的调整量映射成忆阻值的增加量或减少量。进而,根据忆阻值的增加量或减少量,得到对应的控制信号的电压和控制信号电压持续的时间。在此忆阻反向传播神经网络电路中,每个4T1M突触电路都可以单独由控制信号作用,改变忆阻值。因此,忆阻反向传播神经网络中的所有4T1M突触电路,通过施加对应的控制信号,可以单独控制同时改变忆阻值,实现同步的突触权重调整,提升突触权重调整的速度。在现有的技术方案中,在进行突触权重调整改变忆阻交叉阵列中的忆阻器阻值时,一次只能改变一个忆阻器的阻值,或一次只能改变一行忆阻器的阻值。然而,本发明在进行突触权重调整时,可以同时调节所有忆阻交叉阵列中的忆阻器阻值,从而提升了突触权重的调整速度。在突触权重调整阶段,选择开关S1将电压源信号Vadj接入电路,Vadj的电压为1V。通过设置忆阻交叉阵列中8个4T1M突触电路的控制信号Vcon1-Vcon8的电压为2V或-2V,可以同时改变8个4T1M突触电路中的忆阻值。如果4T1M突触电路中的忆阻值要增大,则把控制信号设定为-2V。如果4T1M突触电路中的忆阻值要减小,则把控制信号设定为2V。
本发明公开了一种忆阻反向传播神经网络电路及其控制方法,在忆阻反向传播神经网络电路中,通过设置突触电路,利用其中的忆阻交叉阵列,完成输入信号的矩阵相乘运算,并通过其中的忆阻交叉阵列的复用,完成矩阵转置运算,是前向传播和反向传播过程的基础;通过设置激活电路,将每一层的神经网络单元进行相应的激活函数处理,并输入至下一层的神经网络单元;通过设置神经元网络,当进行反向传播时,通过改变输入的信号的方式,完成突触权重矩阵转置的乘法。在相关的控制方法中,首先,在前向传播过程中,输入信号送到神经网络电路中,输入信号与突触权重矩阵进行计算,得到的输出信号传递给下一层神经网络;然后,在反向传播过程中,根据神经网络的输出信号,通过忆阻交叉阵列的复用,进行矩阵转置运算,对敏感度进行反向传播,确定每一层突触权重的调整量。
本发明技术方案,基于通过突触电路、神经元电路与激活函数电路的电信号传递,完成突触权重矩阵运算,加快相应的运算速度,并通过对突触电路的忆阻交叉阵列进行复用,完成对应的突触权重矩阵转置计算。进而,确定神经网络中突触权重的调整量。进一步地,通过把突触权重调整量映射为对应的忆阻值变化,可以同时调节神经网络中所有的突触电路改变忆阻值,实现突触权重的同步调整,提升突触权重调整及神经网络的训练速度。忆阻神经网络电路经过对以上过程进行多次迭代,实现期望的功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种忆阻反向传播神经网络电路,其特征在于,包括依次电连接的若干层神经网络单元,所述神经网络单元包括突触电路、以及与所述突触电路分别电连接的激活电路、神经元电路,所述激活电路同时电连接至对应的下一层神经网络单元的突触电路,所述突触电路包括忆阻交叉阵列;
其中,通过控制所述突触电路中的忆阻交叉阵列的复用,完成突触权重矩阵转置运算,计算出突触权重调整量之后,所述突触电路可以实现突触权重的同步调整。
2.根据权利要求1所述的忆阻反向传播神经网络电路,其特征在于,所述突触电路还包括与所述忆阻器阵列电连接的若干运算放大器,所述忆阻交叉阵列包括M条行信号线、N条列信号线,行信号线和列信号线相互交叉但不直接相连,其中,每一个行信号线与每一个列信号线在交叉点处,通过四个MOS管和一个忆阻器组成的电路单元连接到一起。
3.根据权利要求2所述的忆阻反向传播神经网络电路,其特征在于,所述突触单元包括第一MOS管、第二MOS管、第三MOS管、第四MOS管和忆阻器,其中:
所述第一MOS管的一端电连接至所述行信号线,用于接收所述行信号线输入的行输入信号,所述第一MOS管的另一端电连接至所述忆阻器的正极;
所述第二MOS管的一端连接至所述第一MOS管的一端,所述第二MOS管的另一端连接至所述忆阻器的负极;
所述第三MOS管的一端连接至所述忆阻器的正极,所述第三MOS管的另一端连接至所述列信号线;
所述第四MOS管的一端连接至所述忆阻器的负极,所述第四MOS管的另一端连接至所述列信号线;
所述第一MOS管的控制端、所述第二MOS管的控制端、所述第三MOS管的控制端、所述第四MOS管的控制端分别电连接至第一分流点,所述第一分流点用于接收设定的控制电压信号。
4.根据权利要求3所述的忆阻反向传播神经网络电路,其特征在于,所述M条行信号线包括第一行信号线至第二行信号线,所述N条列信号线包括第一列信号线至第二列信号线,所述若干运算放大器包括第一放大器、第二放大器、第三放大器、第四放大器,其中:
所述第一放大器的反向输入端通过第二开关电连接至所述第一列信号线,所述第一放大器的同相输入端接地,所述第一放大器的反相输入端通过第一放大电阻电连接至所述第一放大器的输出端,所述第一放大器的输出端电连接至所述第一激活函数电路,第一放大器和第一激活函数电路构成第一激活电路;
所述第二放大器的反向输入端通过第二开关电连接至所述第二列信号线,所述第二放大器的同相输入端接地,所述第二放大器的反相输入端通过第二放大电阻电连接至所述第二放大器的输出端,所述第二放大器的输出端电连接至所述第二激活函数电路,第二放大器和第二激活函数电路构成第二激活电路;
所述第三放大器的反向输入端在第二开关的控制下,通过第一电阻电连接至所述第一行信号线的输入端、通过第二电阻电连接至所述第二行信号线的输出端,所述第三放大器的同相输入端接地,所述第三放大器的反相输入端通过第三放大电阻电连接至所述第三放大器的输出端,所述第三放大器的输出端通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线;
所述第四放大器的反向输入端在第三开关的控制下,通过第三电阻电连接至所述第一列信号线、通过第四电阻电连接至所述第二列信号线,所述第四放大器的同相输入端接地,所述第四放大器的反相输入端通过第四放大电阻电连接至所述第四放大器的输出端,所述第四放大器的输出端在第三开关的控制下,通过第一电阻电连接至所述第一行信号线、通过第二电阻电连接至所述第二行信号线;
其中,在第一开关的控制下,输入所述第一行输入信号和所述第二行输入信号;或者,输入突触权重调整电压信号;或者,空置第一行信号线、第二行信号线。
5.根据权利要求3所述的忆阻反向传播神经网络电路,其特征在于,所述M条行信号线包括第一行信号线至第二行信号线,所述神经元电路包括第五放大器至第六放大器,其中:
所述第五放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第一电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第二电路单元电连接至第二列信号线;所述第五放大器的同相输入端接地,所述第五放大器的反相输入端通过第五放大电阻电连接至所述第五放大器的输出端,所述第五放大器的输出端输出第一电压信号;
所述第六放大器的反向输入端在第三开关的控制下,通过忆阻交叉阵列中的第三电路单元电连接至第一列信号线,通过忆阻交叉阵列中的第四电路单元电连接至第二列信号线;所述第六放大器的同相输入端接地,所述第六放大器的反相输入端通过第六放大电阻电连接至所述第六放大器的输出端,所述第六放大器的输出端输出第二电压信号。
6.根据权利要求2所述的忆阻反向传播神经网络电路,其特征在于,所述若干运算放大器包括第一放大器和第二放大器,所述M条行信号线包括第一行信号线至第二行信号线,所述激活电路包括第一激活电路和第二激活电路,其中:
所述第一激活函数电路电连接至所述第一放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻交叉阵列中的第一行信号线;
所述第二激活函数电路电连接至所述第二放大器的输出端,同时通过第一开关电连接至下一层神经网络单元的忆阻器交叉阵列中的第二行信号线。
7.一种忆阻反向传播神经网络电路的控制方法,其特征在于,基于根据权利要求1至6任一项所述的忆阻反向传播神经网络电路,所述控制方法包括:
在前向传播过程中,控制每一层神经网络单元依次通过突触电路和激活电路,将对应的输入信号与突触权重矩阵进行计算,输出相应的输出信号,其中,每一层神经网络单元的输出信号作为下一层神经网路的输入信号;
在反向传播过程中,根据每一层神经网络单元的输出信号,通过忆阻交叉阵列的复用,完成突触权重的矩阵转置运算,确定突触权重调整量;
在计算出突触权重调整量之后,将突触权重调整量映射为对应的突触电路的控制信号,控制所述突触电路实现突触权重的同步调整。
8.根据权利要求7所述的忆阻反向传播神经网络电路的控制方法,其特征在于,所述输入信号包括第一行输入信号和第二行输入信号,所述控制每一层神经网络单元依次通过突触电路和激活电路,将对应的输入信号与突触权重矩阵进行计算,得到相应的输出信号,包括:
控制第一开关、第二开关闭合,且第三开关断开;
根据突触单元中的忆阻器的电导值,确定突触权重;
根据所述第一行输入信号、所述第二行输入信号和所述突触权重,得到激活电路的输入电信号;
通过所述激活电路,确定所述输出信号。
9.根据权利要求8所述的忆阻反向传播神经网络电路的控制方法,其特征在于,根据所述神经网络的输出信号,通过忆阻交叉阵列的复用,完成突触权重的矩阵转置运算,确定突触权重调整量,包括:
根据所述输出信号,确定第二层的敏感度值,并将敏感度值映射为第二层的第一列输入信号和第二列输入信号;
控制第一开关空置、第二开关断开且第三开关闭合;
根据所述第一列输入信号、所述第二列输入信号和转置的突触权重,确定第一电压信号和第二电压信号,并根据所述第一电压信号和所述二电压信号,确定第一层神经网络单元的敏感度值;
依次计算出每一层神经网络单元的敏感度值,并确定每一层的突触权重调整量。
10.根据权利要求9所述的忆阻反向传播神经网络电路的控制方法,其特征在于,所述控制方法还包括:
基于所述突触权重与忆阻值之间的映射关系,将所述突触权重的调整量映射成忆阻器的阻值改变量;
控制第一开关接入预设的电压源信号,根据所述阻值改变量,设置忆阻交叉阵列中各个突触单元与忆阻器电连接的控制信号的电压,并持续对应的时间,以改变各个突触单元中忆阻器的忆阻值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210302472.7A CN114723025A (zh) | 2022-03-25 | 2022-03-25 | 一种忆阻反向传播神经网络电路及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210302472.7A CN114723025A (zh) | 2022-03-25 | 2022-03-25 | 一种忆阻反向传播神经网络电路及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114723025A true CN114723025A (zh) | 2022-07-08 |
Family
ID=82240733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210302472.7A Pending CN114723025A (zh) | 2022-03-25 | 2022-03-25 | 一种忆阻反向传播神经网络电路及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114723025A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688897A (zh) * | 2023-01-03 | 2023-02-03 | 浙江大学杭州国际科创中心 | 低功耗紧凑型Relu激活函数神经元电路 |
CN116523011A (zh) * | 2023-07-03 | 2023-08-01 | 中国人民解放军国防科技大学 | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 |
CN116523012A (zh) * | 2023-07-03 | 2023-08-01 | 湖南师范大学 | 一种基于生成对抗神经网络的忆阻器自学习电路 |
CN118428429A (zh) * | 2024-07-05 | 2024-08-02 | 中国人民解放军国防科技大学 | 忆阻突触、忆阻交叉阵列电路和电导更新方法 |
-
2022
- 2022-03-25 CN CN202210302472.7A patent/CN114723025A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688897A (zh) * | 2023-01-03 | 2023-02-03 | 浙江大学杭州国际科创中心 | 低功耗紧凑型Relu激活函数神经元电路 |
CN115688897B (zh) * | 2023-01-03 | 2023-03-31 | 浙江大学杭州国际科创中心 | 低功耗紧凑型Relu激活函数神经元电路 |
CN116523011A (zh) * | 2023-07-03 | 2023-08-01 | 中国人民解放军国防科技大学 | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 |
CN116523012A (zh) * | 2023-07-03 | 2023-08-01 | 湖南师范大学 | 一种基于生成对抗神经网络的忆阻器自学习电路 |
CN116523012B (zh) * | 2023-07-03 | 2023-09-08 | 湖南师范大学 | 一种基于生成对抗神经网络的忆阻器自学习电路 |
CN116523011B (zh) * | 2023-07-03 | 2023-09-15 | 中国人民解放军国防科技大学 | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 |
CN118428429A (zh) * | 2024-07-05 | 2024-08-02 | 中国人民解放军国防科技大学 | 忆阻突触、忆阻交叉阵列电路和电导更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114723025A (zh) | 一种忆阻反向传播神经网络电路及其控制方法 | |
CN111433792B (zh) | 可编程可重置人工神经网络的基于计数器的电阻处理单元 | |
CN108205705B (zh) | 用于归一化神经网络设备的装置和方法 | |
US11574199B2 (en) | Generative adversarial network device and training method thereof | |
CN113469334B (zh) | 一种忆阻递归神经网络电路 | |
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
CN108268938B (zh) | 神经网络及其信息处理方法、信息处理系统 | |
WO2018158680A1 (en) | Resistive processing unit with hysteretic updates for neural network training | |
AU626912B2 (en) | Neuron architecture | |
CN109146070A (zh) | 一种支撑基于rram的神经网路训练的外围电路及系统 | |
JPH0628331A (ja) | マルチプレクスされる出力ニューロンを採用する多層ニューロンネットワーク | |
US11886972B2 (en) | Non-volatile memory accelerator for artificial neural networks | |
CN115630693B (zh) | 一种基于Elman神经网络学习算法的忆阻器自学习电路 | |
Andreeva et al. | Memristive logic design of multifunctional spiking neural network with unsupervised learning | |
US11586899B2 (en) | Neuromorphic device with oxygen scavenging gate | |
CN110443356B (zh) | 一种基于多阻态忆阻器的电流型神经网络 | |
Fida et al. | An active memristor based rate-coded spiking neural network | |
Zhao et al. | Feature selection of generalized extreme learning machine for regression problems | |
Yang et al. | Essence: Exploiting structured stochastic gradient pruning for endurance-aware reram-based in-memory training systems | |
CN111639757B (zh) | 一种基于柔性材料的模拟卷积神经网络 | |
Cho et al. | A more practical indicator of MAC operational power efficiency inside memory-based synapse array | |
JPWO2020046495A5 (zh) | ||
Doevenspeck et al. | Noise tolerant ternary weight deep neural networks for analog in-memory inference | |
CN116013309A (zh) | 基于轻量化Transformer网络的语音识别系统及方法 | |
CN115994221A (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 |