CN111133431B - 含电阻元件的数学问题求解电路 - Google Patents

含电阻元件的数学问题求解电路 Download PDF

Info

Publication number
CN111133431B
CN111133431B CN201880062718.XA CN201880062718A CN111133431B CN 111133431 B CN111133431 B CN 111133431B CN 201880062718 A CN201880062718 A CN 201880062718A CN 111133431 B CN111133431 B CN 111133431B
Authority
CN
China
Prior art keywords
circuit
matrix
input
terminal
cross
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
CN201880062718.XA
Other languages
English (en)
Other versions
CN111133431A (zh
Inventor
D·耶尔米尼
Z·孙
G·佩德雷蒂
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.)
Politecnico Di Milano-Dipartimento Di Elettonica Informazione E Bioingegneria
Original Assignee
Politecnico Di Milano-Dipartimento Di Elettonica Informazione E Bioingegneria
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 Politecnico Di Milano-Dipartimento Di Elettonica Informazione E Bioingegneria filed Critical Politecnico Di Milano-Dipartimento Di Elettonica Informazione E Bioingegneria
Publication of CN111133431A publication Critical patent/CN111133431A/zh
Application granted granted Critical
Publication of CN111133431B publication Critical patent/CN111133431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/32Arrangements for performing computing operations, e.g. operational amplifiers for solving of equations or inequations; for matrices
    • G06G7/34Arrangements for performing computing operations, e.g. operational amplifiers for solving of equations or inequations; for matrices of simultaneous equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used

Abstract

描述了一种数学求解电路(100),包括:交叉点矩阵(MG),其包括多个行导体(L±)、多个列导体(Cj)和多个模拟电阻存储器(Gij),每个模拟电阻存储器连接在行导体和列导体之间;多个运算放大器(OA±),每个运算放大器具有:连接到相应行导体(Li)的第一输入端子(INu),连接到接地端子(GR)的第二输入端子(IN2i),所述多个中的至少一个运算放大器(OAi)使得相应第一输入端子(INu)连接到虚地。

Description

含电阻元件的数学问题求解电路
技术领域
本发明涉及由采用电阻元件的电子电路执行的数学计算领域。
背景技术
电阻存储器在数学计算电子电路中有着广泛的应用。关于这一点,文献US-A-9152827描述了一种具有电阻存储器的电路,该电阻存储器组织在交叉点矩阵中,并且构造成用于执行x=Ab类型的矩阵-向量积运算,其中x是电流向量,A是电导矩阵,b是施加到交叉点矩阵的每行的电压向量。
文献US-A-2017/0040054描述了用于计算加速器的电阻存储器的矩阵,特别是用于求解方程组和借助迭代数字技术的矩阵。可以看出,这种求解需要多次迭代才能得到收敛。
一种类似于文献US-A-2017-0040054中公开的方法可在以下文章中找到:“Mixed-Preci-sion Memcomputing”,M.Le Galloet al.,arXiv:1701.04279[cs.ET]。它面临用迭代方法(Krylov子空间)通过组合相变存储器的矩阵来求解线性方程组的问题,以获得混合精度解。
发明内容
申请人已经注意到,关于求解代数问题的概率,现有技术的计算方法在可执行计算操作的类型(即简单乘法)和计算负荷方面都表现出局限性。
本发明的第一目标是如独立权利要求1中描述的数学问题求解电路。在从属权利要求2至15中描述了特定实施例。
附图说明
下面将参照在以下附图中仅以说明性方式给出的非限制性示例来描述本发明。这些附图显示了本发明的不同方面和实施例,并且在适当情况下,不同附图中的类似结构、组件、材料和/或元件由相同的附图标记表示。
图1示出了数学问题求解电路的示例;
图2示出了用于求解平方方程组(square systems of equations)的第一电路的示例;
图3通过示例示出了用于求解平方方程组的第二电路;
图4示出了用于计算特征向量的第一电路的示例;
图5示出了用于计算特征向量的第二电路的示例;
图6示出了在使用三端电阻元件的实施例中用于求解平方方程组的第一电路;
图7示出了在使用电阻存储器和三端电阻元件的实施例中用于求解平方方程组的第一电路;
图8示出了在包括开环运算放大器的实施例中用于计算特征向量的第一电路;
图9示出了线性回归加速器电路的示例;以及
图10示出了通过使用线性回归加速器电路训练的神经网络的示例。
具体实施方式
虽然本发明易受不同的修改和替代构造的影响,但一些相应的图示实施例在附图中示出,并将在下文中进行具体描述。无论如何,声明无意将本发明限制于特定的图示实施例,相反,本发明旨在涵盖落入权利要求所限定的本发明范围内的所有修改、替代构造和等同物。
图1涉及用于求解数学问题100的电路的示例。求解电路100包括交叉点矩阵MG,该交叉点矩阵MG包括多个行导体Li、多个列导体Cj和多个模拟电阻存储器Gij,每个模拟电阻存储器Gij连接在相应行导体Li和相应列导体Cj之间。
为了本发明的目的,电阻存储器(也称为忆阻器)是一种具有两个端子(也称为偶极)的电路元件,其电导可以配置成取一个值,该值被保持直到获得可能的新配置。例如,以下器件是电阻存储器:电阻随机存取存储器(RRAM)、导电桥接随机存取存储器(CBRAM)、相变存储器(PCM)、不同类型的磁阻随机存取存储器(MRAM)、不同类型的铁电随机存取存储器(FeRAM)、有机材料存储器、或可因电场、磁场、热、光、机械操作或任何其他类型的操作或其组合而改变其电导的其他器件。
上述电阻存储器Gij优选为模拟型,这意味着它们可以在工作范围内获得连续的电导值;然而,这并不排除数字型电阻存储器Gij的可能性,这意味着它们可以取一组有限值中的电导值。
所示的具体示例示出了数量N=3的行导体Li、相等数量N=3的列导体Cj和由它们的电导Gij表示的数量为N×N=3×3的模拟电阻存储器。
此外,电路100包括具有闭环配置的多个运算放大器AOi,每个运算放大器AOi具有:连接到相应行导体Li的第一输入端子IN1i、连接到接地端子GR的第二输入端子IN2i和输出端子OUi。特别地,第一输入端子IN1i是相应运算放大器OAi的反相端子,而第二输入端子IN2i是相应运算放大器OAi的非反相端子。
每个运算放大器OAi的输出端子OUi连接到相应的列Cj。具体而言,根据图1,每个输出端子OUi连接到列Cj的一端,其中j=i。根据所描述的示例,图1示出了三个运算放大器OAi(OA1、OA2、OA3),因此,示出了三个第一输入端子IN1i(IN11、IN12、IN13)、三个第二输入端子IN2i(IN21、IN22、IN23)和三个输出端子OUi(OU1、OU2、OU3)。
由于负反馈,可以观察到,每个运算放大器AOi可以工作,以便将相应的第一输入端子IN1i接至虚地,换言之,取接近(理论上等于)第二输入端子IN2i所假定的接地GR之一的电压值。可以观察到,虚地理论上是由具有无限增益的运算放大器假定的。特别地,每个运算放大器AOi具有反相配置。
参照要解决的数学问题,多个电阻存储器Gij可以配置成通过相应电导值(同样由Gij表示)来表示数学问题的第一多个已知值。
此外,电路100能够检测电路本身的多个电量值,适于配置成表示要解决的数学问题的第二已知值或第二多个已知值。该第二多个已知值包括,例如,注入到每一行导体中的电流值,或者该已知值可以是可连接到多个运算放大器AOi的附加电组件的电导(或另一参数)。
多个运算放大器AOi定义多个输出电压Vi(在每个输出端子OUi处可测量),其代表求解数学问题的多个值。
根据特定实施例,求解电路100可用于线性代数问题的近似解,其中,举例列出了以下内容:
-平方方程组的求解,可以以矩阵形式表示;
-实方阵的求逆;
-特征向量的计算。
求解电路100还可以包括至少一个用于测量电压值Vi的装置(未示出)。这种测量装置可以是模拟的(即电位计)或数字的,因此需要将电压值Vi从模拟转换成数字。
可以观察到,在本说明书中,相同或类似的电路组件将由附图中相同的标识符号表示。
平方方程组的求解
图2涉及上述电路100的第一实施例,并通过示例示出用于求解平方方程组的第一电路200。
第一方程组求解电路200能够求解可由以下矩阵形式表示的平方方程组:
Ax=b (1)
其中:
A:是具有维数N×N的实系数矩阵;
x:是未知向量,其长度为N;
b:是实数元素的向量,其长度为N。
可以观察到,电阻存储器Gij可以配置成在最小值Gmin和最大值Gmax之间的范围内取预定值(不确定范围除外)。
矩阵1的电阻存储器的每个电导值Gij等于或正比于矩阵A的元素Aij。特别地,图2所示的用于求解平方方程组的第一电路200指的是矩阵A的元素Aij,它们都是正的。
第一方程组求解电路200还具有多个电流发生器Ii,每个电流发生器Ii连接到例如行导体Li的第一端。可以观察到,每个运算放大器AOi在例如第二端连接到相应的行导体Li,第二端与连接到电流发生器Ii的第一端相对。根据该示例,电阻存储器Gij示出在节点nij处连接到对应行导体的相应端子,该节点包含在特定行导体Li的第一和第二端之间。
电流发生器Ii配置成在相应的行导体中注入电流Ii(I1、I2、I3),其值选择成使得它们等于或与正比于矩阵方程组(1)的已知向量b的元素。电流Ii是恒定电流或脉冲电流。
在操作中,提供给行导体Li的电流Ii流向每个运算放大器AOi的第一输入端子INi(也就是虚地端子IN1i)。在相应的输出端子OUi和接地GR之间评估电压Vi
从图2中,可以根据欧姆定律和基尔霍夫定律写出以下方程:
V1 G11+V2 G12+V3 G13=-I1
V1 G21+V2 G22+V3 G23=-I2 (2)
V1 G31+V2 G32+V3 G33=-I3
方程(2)可以如表达式(3)中那样以简洁的方式重写:
ΣjVjGij=-Ii (3)
还可以通过代数符号由下面的矩阵方程(4)重写:
AV=-I (4)
其中,A是电导Gij的矩阵,I是已知的向量-b,电压V的向量求解线性方程组Ax=b,如(1)所示。
在操作中,如前所述,对电导Gij的值进行了配置,并且第一电路200由预定电流值Ii供电。
运算放大器AOi将相应的第一输入端子INi(反相端子)接地,因此所有的行导体Li接地,并且因此输出端子OUi处的电压Vi呈现最终值,如关系式(4)所示。
可以观察到,选择高增益运算放大器OAi能够非常迅速地到达虚地,并且电压也迅速地收敛到待确定的值Vi。特别地,对于本实施例和其他实施例,可以选择标称增益大于105的运算放大器。
测量在第一方程组求解电路200中达到的电压值Vi(特别是V1、V2和V3),能够获得向量x的元素,并因此求解方程组(1)。
图2的第一方程组求解电路200涉及仅包含正元素的系数矩阵A。通过考虑既包含正元素又包含负元素的系数矩阵A1,方程组的求解
A1 x=b (1a)
可以通过图3中的实施例获得,图3示出了用于求解平方方程组的第二电路300的示例,在特定示例中,系数矩阵A1具有维数N=3。
第二方程组求解电路300通过观察到矩阵A1可以表示为第一矩阵A+和第二矩阵A-之间的差来配置,这两个矩阵都仅包含正元素:
A1=A+-A- (5)
特别地,第二矩阵A-包含矩阵A1的负元素的绝对值。
根据表达式(5),第二方程组求解电路300包括:第一交叉点矩阵MG+,类似于图2的矩阵MG,其电阻存储器具有对应于第一矩阵A+的元素的电导Gij+;以及第二交叉点矩阵MG-(结构上类似于第一交叉点矩阵),其电阻存储器具有对应于第二矩阵A-的元素的电导Gij-。
这两个交叉点矩阵具有相同的列导体Cj,沿着它们中的每一个,插入(在电阻存储器Gij+和电阻存储器Gij-之间)相应的反相器件Invl(在所示示例中为:Invl、Inv2、Inv3),该反相器件配置成将电压从其入口到其输出的符号反转,并且对应关系式(5)所示的差。
第一交叉点矩阵MG+包括N=3个行导体Li+(L1+、L2+、L3+),它们中的每一个都具有连接到相应的电源节点Ni(N1、N2、N3)的一端,该电源节点连接到相应的电流发生器Ii
该示例的第二交叉点矩阵MG-包括N=3个行导体Li-(L1-、L2-、L3-),它们中的每一个都具有连接到相应的电源节点Ni(N1、N2、N3)之一的一端。
特别地,第二方程组求解电路300的运算放大器OAi参照虚地进行如上所述的操作,并且具有相应的反相输入端子IN1i,该反相输入端子连接到每一行导体Li+和Li-,特别是在电源节点N1、N2和N3处,其因此作为虚地节点操作。
每个已知电流(I1、I2和I3)在电源节点N1、N2和N3中的一个被分成两个项,即Ii+和li-
Ii=Ii++Ii- (6)
关于第一交叉点矩阵MG+,下列方程有效:
ΣjVjGij+=-Ii+ (7)
其中,Vj表示电压向量V1、V2、V3
关于第二交叉点矩阵MG-,下列方程有效:
jVjGij-=-Ii- (8)
通过将方程(7)和(8)相加,得到:
ΣjVj(Gij+–Gij-)=-Ii+–Ii-=-I (9)
根据关系式(5),得到:
(Gij+–Gij-)=(A+-A)=-A1 (10)
因此,可以重写(8)如下:
(A+–A-)x=A1 x=-I=b (11)
通过将电流Ii改变为已知向量b的值,测量电压Vj能够求解方程组(1a),该方程组也适用于包括负和正元素的系数矩阵A1
反相方阵
此外,可以观察到,同样在图2和图3的实施例中,问题求解电路100可用于反相方阵,换句话说,用于计算矩阵A的逆矩阵A-1
逆矩阵A-1满足以下关系式:
AA-1=U (12)
其中,U是单位矩阵,其元素都为零,除了对角线元素等于1。
可以观察到,为了确定逆矩阵A-1,需要求解以下方程组:
AAi -1=Ui (13)
其中:
-Ai -1是逆矩阵A-1的第i列,
-Ui是单位矩阵U的第i列。
如果矩阵A的维数是N×N,则需要根据(13)求解N个方程组。在这种情况下,可以参考方程组(13)之一来配置用于求解方程组的第一电路200,使得:
-交叉点矩阵MG的电导Gij等于要反转的矩阵A的值;
-电流Ii取单位矩阵U的第i列的值Ui
在这种情况下,以与参照图2所示相同的方式,电压Vj的值表示逆矩阵A-1的列Ai -1
通过使用参照图3描述的模式,可以反转同时包含正负元素的矩阵。
计算特征向量
如前所述,电路100可以用于计算特征向量,例如,如图4所示,示出了第一特征向量计算电路400。
要求解的问题可以用以下关系式来表示:
Ax=λx (14)
其中:
-A是已知元素的N×N矩阵;
-x是矩阵A的特征向量,未知;
-λ是矩阵A的(标量)特征值,已知。
在第一特征向量计算电路400中,运算放大器AOi具有跨阻抗配置,并且,特别地,第一输入端子IN1i(反相第一输入端子IN1i为“-”)通过电导等于λG0的相应反馈电阻器连接到每个运算放大器OAi的输出端子OUi,其中G0是已知值并且是参考电导。
特别地,每个反馈电阻器λG0(可由电阻存储器实现)连接在输出端子OUi和输入节点INi(在示例中为IN1、IN2、IN3)之间,输入节点INi分别连接到每个运算放大器OAi的反相端子。
运算放大器AOi的输出端子OUi通过相应的反相器INV1I、INV2和INV3连接到行导体Li,以获得闭环配置。
图4的示例涉及了对于只包含正元素的矩阵A,N=3的情况。
流向相应运算放大器的输入节点INi的电流I1、I2和I3可以表示为:
I1=V1G11+V2G12+V3G13
I2=V1G21+V2G22+V3G23 (15)
I3=V1G31+V2G32+V3G33
对于一般值N,方程组(15)可以按下方式重写:
Ii=ΣjVjGij (16)
或者,用矩阵符号,按以下方式重写:
I=GV (17)
电流I的向量由具有跨阻抗配置的运算放大器OAi转换为电压向量V:
V=I/GTIA (18)
由关系式(18)表示的转换由操作为跨阻抗放大器的每个运算放大器OAi和相应的反相器INVi实现。
其中,GTIA是反馈电阻的电导:
GTIA=λG0 (19)
其中,λ是特征值,而G0是参考电导。
因此,可以这样写:
GV=G0λV (20)
将后者与关系式Αx=λx进行比较,可以得到:
A=G/G0,x=V (21)
因此,在图4的电路400中,交叉点矩阵MG的电阻存储器的电导Gij的值等于矩阵A的元素的值乘以参考电导G0的值。
反馈电阻GTIA由特征值λ和参考电导G0的乘积给出。电压Vi(V1、V2和V3)的测量值对应于请求的特征向量x。可以观察到,通过修改特征值,即反馈电阻GTIA的值,可以获得一组完整的特征向量x。
可以观察到,第一特征向量计算电路400能够应用在排序算法(例如,对于Google)的链接矩阵中,其中特征值表示每个页面的重要性得分。因此,所描述的解决方案对于加速互联网页面的排名和通常对于分析“大数据”来说似乎极为有利。
第一特征向量计算电路400也可应用于微分方程的近似数值解。当微分方程转化为有限差分方程时,它又具有矩阵形式Ax=λx。例如,薛定谔方程采用这样的形式,其中A是半对角矩阵,λ是能量的特征值,x是问题的解的特征函数。
如果寻求其特征向量的矩阵A既包含正元素又包含负元素,则可以通过图5中的示例示出的第二特征向量计算电路500(仍为N=3)来求解该问题。
第二特征向量计算电路500包括第一交叉点矩阵MG+和第二交叉点矩阵MG-,其分别对应于矩阵G+和G-,其中根据符号包含正元素:
A=(G+-G-)/G0 (22)
这两个交叉点矩阵具有相同的列导体Cj,沿着它们中的每一个,插入(在电阻存储器Gij+和电阻存储器Gij-之间)相应的反相器件Invj(Inv4、Inv5、Inv6),该反相器件配置成将电压从其入口到其输出的符号反转。
第一交叉点矩阵MG+包括N=3个行导体Li+(L1+、L2+、L3+),它们中的每一个都具有连接到相应的连接节点NiA(N1A、N2A、N3A)的一端。该示例的第二交叉点矩阵MG-包括N=3个行导体Li-(L1-、L2-、L3-),它们中的每一个都具有连接到该连接节点NiA(N1A、N2A、N3A)之一的一端。
特别地,第二方程组求解电路300的运算放大器OAi参照虚地进行如上所述的操作,并且具有相应的输入节点INi,该输入节点连接到每一行导体Li+和Li-,特别是在接触节点N1A、N2A和N3A处,其因此作为虚地节点操作。
对于图5中的电路,关于在第一交叉点矩阵MG+的行导体中的电流Ii+(L1+、I2+、I3+),以下简洁形式的方程有效:
Ii+=ΣjVjGij+ (23)
关于在第二交叉点矩阵MG-的行导体中流动的电流Ii+(L1+、I2+、I3+),以下简洁形式的方程有效:
Ii-=-ΣjVjGij- (24)
根据基尔霍夫定律,在相应的连接节点N1A、N2A和N3A中将电流Ii+和Ii-彼此相加,以获得:
Ii=Ii++Ii (25)
因此,电流向量I可以用代数符号表示为:
I=GV (26)
其中:
Gij=Gij+-Gij- (27)
电流向量I由跨阻抗运算放大器OAi和相应的反相器Invi转换为电压向量V:
V=I/GTIA (28)
其中,对于上文描述的图4的电路,GTIA是反馈电阻器的电导:
GTIA=λG0 (29)
通过考虑关系式Ax=λx并将其与关系式(29)进行比较,得到:
A=G/G0,x=V (30)
类似于图4中电路的方程(21)。
可以观察到,第一特征向量计算电路400的每个运算放大器AOi是具有其自己的正电源和负电源的有源电路。在第一特征向量计算电路400的行和列导体中,产生电流/电压以满足欧姆定律和基尔霍夫定律,这决定了问题的求解。类似的考虑对于其他示出的图的电路是有效的。
其他实施例
可以观察到,所有上述电路的电导值Gij不仅可以通过使用电阻存储器(也就是忆阻器)来获得,而且对于所需电导Gij的每个值,可以通过使用具有三个或更多个端子的电阻元件(优选为可重新配置的元件)来获得,例如场效应晶体管、浮栅晶体管、闪存、电荷俘获存储器。例如,作为电荷俘获存储器,可以使用具有金属-氧化物-氮化物-氧化物-半导体(MONOS)结构的器件。
为此,图6示出了用于求解平方方程组200的第一电路的第一实施例(200A),如上文参考图2所述,其中,电导Gij由相应的MONOS型器件Dij获得。
每个器件Dij的栅极电压Vg,ij由相应的张力发生器(未示出)控制,并且可以部分地彼此短路以限制连接的数量,例如通过将一列或一行的所有栅极端子连接到电压发生器本身。图6中的相同电路可用于浮栅晶体管,或简单的场效应晶体管,或其它类型的三端元件。
此外,可以观察到,三端电阻元件还可以包括两端元件(例如忆阻器)和三端元件的适当组合。图7示例性地示出了用于求解平方方程组的第一电路200的第二实施例(200B),其中,通过适当地配置三端元件来获得每个电导Gij,该三端元件包括晶体管器件TRij和忆阻器器件MRij。
可以观察到,对于参照第一特征向量计算电路400所描述的电导值G0,参照可用于获得电导值Gij的可能的电阻元件所描述的内容仍然有效。
此外,可以观察到,所描述的所有实施例都可以通过使用恒定电导电阻元件(也就是不可重配置元件)来操作。
现在,参照上述不同实施例中运算放大器OAi的闭环配置。根据另一实施例,还提供了一个运算放大器OAi处于开环配置,其中输出端子OUi不连接到列导体Ci。
例如,图8示出了第一特征向量计算电路400的不同实施例(400B),其中,运算放大器OA1的输出端子OU1未连接到第一列导体C1,因此在由运算放大器OA1驱动的端子TOU1(由相应的反相器件Invl驱动)处可获得待测电压V1’(作为寻求的特征向量V的元素)。根据图8的示例,第一列C1由电压发生器GEN产生的电压V1供电。作为图8所示的替代或补充,在交叉点矩阵MG内的其他点,第一列导体C1也有可能是开路的。
如上所述,可以观察到,数学问题求解电路100及其上述实施例的应用包括分析大数据,例如计算网页的排名页面。其他应用包括微分方程的近似解,例如薛定谔方程,以及其他气象学、金融、生物学问题等。
由于电阻存储器的可配置值存在一些不确定性,数学问题求解电路100及其上述实施例提供近似解。这种近似在电路本身的大部分应用中是可以接受的。
数学问题求解电路100及其上述实施例具有计算简单的优点:计算仅在一个时钟内完成,而不需要乘法和求和运算。因此,所描述的电路用作代数计算加速器。
图9涉及数学问题求解电路的另一个示例,如线性回归加速器电路1000。
线性回归加速器电路1000包括连接到第二电路700(或输出电路)的第一电路600(或输入电路)。第一电路600类似于图1中描述的数学问题求解电路100,除了多个模拟电阻存储器由参考Xij而不是Gij表示。第二输入电路700也类似于图1中描述的数学问题求解电路100。
更特别地,第一电路600的运算放大器OAi具有跨阻抗配置,并且具体地,第一输入端子IN1i(反相第一输入端子IN1i为“-”)通过具有等于G0的电导的相应反馈电阻器连接到每个运算放大器OAi的输出端子OUi,其中G0是已知值并且是参考电导。
每个运算放大器OAi的输出端子OUi连接到包括输出交叉点矩阵MGOU的第二电路700。输出交叉点矩阵MGOU具有与交叉点矩阵MG相同的尺寸,并且包括模拟电阻存储器Xij,其值和电路位置与第一电路600的交叉点矩阵MG的值和电路位置相同。
在图9的示例中,交叉点矩阵MG和输出交叉点矩阵MGou是矩形矩阵。特别是,列的数量(例如,按单位)少于行的数量。
第一电路600的每个运算放大器OAi的输出端子OUi连接到输出交叉点矩阵MGou的相应行导体Li。输出交叉点矩阵MGou的每个列导体Couj连接到相应的输出运算放大器OAoui。每个输出运算放大器OAoui具有连接到相应列导体Couj的相应非反相输入端子“+”和连接到接地GR的相应反相输入端子“-”。
每个输出运算放大器OAoui具有相应的输出端子OUPj,其连接到第一电路600的交叉点矩阵MG的相应列导体Cj。每个输出运算放大器OAoui连接在闭环电路1000中。
此外,在该示例中,线性回归加速电路1000由电压发生器VGi供电,每个电压发生器VGi连接到交叉点矩阵MG的行导体Li,并且在电导G0连接到的相应端子处具有电压-yi。每个运算放大器AOi的输出端子OUi处的电压由参考Vi表示。输出运算放大器OAoui的输出端子OUPj处的电压由符号wj表示(在示例wl和w2中)。
关于线性回归问题,要记住的是,回归形式化并解决了基于从无限假设总体中提取的采样数据的测量变量之间的函数关系的问题。例如,它有m个点(考虑输入-输出对),每个点有n个输入变量:
(x1,x2,…,xn) (31)
和输出坐标y。
对于第i个输入-输出对,存在线性回归关系
yi=w0+w1x1 i+w2x2 i+…+wnxn ii (32)
其中i覆盖从1到m的所有整数。
整体以矩阵形式表示,从而得到:
y=X·w+ε (33)
其中:w为(待测)系数的矩阵,ε为近似误差:
为了使近似误差ε最小,向量ε的范数被最小化,因此表示为:
||ε||2=(y-X·w)T(y-X·w) (34)
范数的最小值可以通过将表达式(34)相对于变量w的导数设置为零来确定:
因此:
XTXw=XTy (35)
因此,系数w的矩阵由下式给出:
w=(XTX)-1XTy (36)
其中,(XTX)-1XT是矩阵X的伪逆。
再次参考线性回归电路1000,它可通过求解表达式(36)来最小化二次误差(34)。
实际上,运算放大器OAi的输出电压Vi(向量V)(其被用来以跨阻抗配置进行操作)可以由以下关系式来表示:
V=-(X·w-G0y)/G0 (37)
其中,X是电导Xij的矩阵,G0是先前定义的。
与参照运算放大器OAi描述的类似,输出运算放大器OAouj配置成将相应的非反相输入端子连接到虚地,因此:
XT·V=-XT·(X·w-G0y)/G0=0 (38)
矩阵G0是电导矩阵X的单位,因此表达式(38)采用以下形式:
XTX·w-XTy=0 (39)
这相当于方程(36)。
在基于已知值正确地确定电路1000的尺寸,并且一旦由电压发生器VGi施加了电源电压之后,电路1000将进行操作,使得输出运算放大器OAouj的输出端子具有表示所寻求的解的相应电压wj(如表达式(36)所示)。与针对先前实施例(也针对线性回归加速器电路1000)所做的类似,计算仅在一个时钟内执行,而不需要乘法和求和运算。因此,所描述的线性回归电路1000用作代数计算加速器。
上文描述的线性回归加速器电路1000的设置也适于用作逻辑回归加速器。众所周知,逻辑回归是一种特殊的情况,其中y因变量是一个二分型,与一个低值(例如-1)和一个高值(例如+1)相关,因为所有变量只能取两个值(例如:真或假)。
为了实现逻辑回归加速器,提供了用电压(或电流)发生器来修改图9中电路1000的布局,电压(或电流)发生器表示二分值-1(对于低值)和1(对于高值)。所获得的向量w识别方程(32)的系数,使得能够线性地分离具有高y和低y的两类点。
此外,线性回归加速器电路1000可用于计算神经网络的系数wj,这防止了例如根据反向传播方法执行迭代训练。
例如,图10示意性地示出了包括入口层801、隐藏层802和出口层803的神经网络800。
在图10的示例中,入口层包含N1=14×14=196个神经元,隐藏层包含N2=784个神经元,最后输出或分类层包含N3=10个神经元。
与输入层801相关联的神经网络800的权重可以由矩阵W(1)表示(例如,W(1)的维数为N1×N2=196×784),而与隐藏层804相关联的权重可以由矩阵W(2)表示(例如,W(2)的维数为N2×N3=784×10)。
神经网络800可用于例如确认/分类输入量。根据特定示例,如上所述的网络可以用于确认手写数字(从0到9)。例如,通过适当地训练网络800来设置突触权重的值,神经网络可以将在N1个输入值(像素)的矩阵中表示的MNIST数据集标准中的单个数字分类为从0到9的数字。
可以观察到,训练神经网络800的操作是逻辑回归操作,其中权重表示能够更好地线性分离神经元的二分输出的系数。
因此,可以通过图9中的线性回归电路1000来训练网络,该电路根据前面描述的逻辑回归算法操作。为此,例如,根据权重随机分布,任意设置第一神经元层801和隐藏神经元层802之间的突触权重W(1)。此外,它使用由确定数量的M组N1个输入值形成的训练数据集来呈现给第一层801的神经元。然后,电路1000中使用的矩阵X将由隐藏网络在不同的M个表示上的输出值形成。
通过定义包含所有M*N个呈现的输入值的矩阵I,矩阵I例如获得为:
X=sigmoid(I*W(1)) (40)
其中,sigmoid函数是与一般神经元相关联的可能的非线性函数。可以观察到,矩阵具有维数M*N2。相反,图9中的向量yi是作为标记矩阵获得的(+1表示标记为“真”,-1表示标记为“假”),被称为第i分类神经元(i从1变化到N3)。因此,第i个神经元的突触权重通过线性回归获得:
Wi (2)=(XTX)-1XTy (41)
因此,通过观察到矩阵表达式(41)类似于上述矩阵表达式(36),可以通过使用线性回归加速器电路1000获得隐藏层802的权重W(2)的值。可以观察到,该操作必须重复N3次,每个分类神经元一次。每一次操作都能获得与第i输出神经元相关的N2突触权重。这样,重复的操作可以获得隐藏层和输出层之间的所有N2×N3突触权重W(2)
可以观察到,线性回归加速器1000及其上述特定实施例在数据科学中非常有用,并且在不同的科学和工程领域中找到可能的应用,例如在:经济、金融、生物学、物理学、自动训练、机器人学中。

Claims (15)

1.数学问题求解电路,包括:
交叉点矩阵(MG;MGOU),包括多个行导体(Li)、多个列导体(Cj;Couj)和多个电阻元件(Gij;Xij),每个电阻元件都连接在行导体和列导体之间;
多个运算放大器(OAi;OAouj),每个都具有:连接到相应行导体(Li)的第一输入端子(INli;“+”)、连接到接地端子(GR)的第二输入端子(IN2i;“-”)和连接到相应列导体的输出端子(OUi;OUPj);所述多个运算放大器(OAi;OAouj)中的每一个为闭环配置,并且包括连接到相应列导体(Cj;Couj)的相应输出端子(OUi;OUPj),所述相应列导体连接到相应行导体以执行所述闭环配置,并且使得相应第一输入端子(IN1i;“+”)朝向虚地;
其中:
所述多个电阻元件通过相应电导值(Gij;Xij)表示数学问题的第一多个已知值;
用于表示所述数学问题的至少一个第二已知值的至少一个可配置电量(Ii;λG0;Go)与所述电路相关联;
所述多个运算放大器(OAi;OAouj)从相应输出端子(OUi;OUPj)定义表示所述数学问题的多个解值的多个输出电压(Vi;wi);所述电路配置成使得当所述第一输入端子(IN1i;“+”)虚地时,表示所述多个解值的多个输出电压(Vi;wi)。
2.根据权利要求1所述的电路,所述多个电阻元件是属于以下组的至少一个器件:电阻存储器、三端电阻元件(Dij、TRij)、电阻存储器(MRij)和三端电阻元件(TRij)的组合。
3.根据权利要求1所述的电路,其中,所述至少一个第二已知值包括第二多个已知值,所述电路还包括多个电流发生器(Ii),每个电流发生器连接到所述多个行导体的一个行导体(Li),并且配置成产生与所述第二多个已知值中的一个已知值相对应的电流。
4.根据权利要求1所述的电路,其中,每个运算放大器(OAi)的所述第一输入端子(INli)是反相端子,并且其中,每个运算放大器(OAi)的所述第二输入端子(IN2i)是非反相端子。
5.根据权利要求3所述的电路,配置成求解属于以下组的数学问题:能够以矩阵形式表示的平方方程组;实方阵的求逆:特征向量的计算;微分方程的求解。
6.根据权利要求1-5中任一项所述的电路,其中,所述交叉点矩阵(MG+)的所述多个电阻元件配置成,通过所述相应电导值(Gij+)表示所述第一多个已知值,其中这样的所述第一多个已知值为正值。
7.根据权利要求6所述的电路,还包括:
另一交叉点矩阵(MG-),包括另一多个行导体(Li-),另一多个电阻元件(Gij-),每个电阻元件连接在所述另一多个行导体的行导体(Li-)和所述多个列导体(Cj)的相应列导体之间;所述另一交叉点矩阵配置成,通过相应电导值(Gij-)来表示关于所述数学问题的第二多个已知负值的绝对值;
多个电压反相器(Invl、Inv2、Inv3),每个电压反相器设置在相应列导体(Ci)上,并且插入所述交叉点矩阵和所述另一交叉点矩阵之间;其中:
所述另一多个行导体(Li-)的每个行导体连接到相应运算放大器(OAi)的第一输入端子(IN1i),用于虚地。
8.根据权利要求1所述的电路,其中,所述运算放大器(OAi)具有跨阻抗配置,并且每个运算放大器包括设置在所述相应输出端子(OUi)和所述第一输入端子(INi)之间的反馈电阻器(λG0),所述反馈电阻器具有与所述至少一个第二已知值相关的电导值。
9. 根据权利要求3或5所述的电路,其中,所述电路配置用于求解由能够由以下矩阵形式表示的平方方程组:
Ax=b
其中:
-A是已知元素的矩阵,并且所述交叉点矩阵(MG)的所述电导值与所述矩阵A的所述已知元素相关;
-b是已知元素的向量,并且所述多个电流发生器(Ii)配置成使得每个电流发生器产生与所述向量b的已知元素相对应的电流;
-x是未知元素的向量,并且所述多个输出电压(Vi)表示所述未知元素。
10. 根据权利要求5所述的电路,其中,所述电路配置用于根据所述方程组来确定待求逆的方阵A的逆矩阵A-1
AA-1=U
其中:
-所述待求逆的矩阵A包含已知元素,并且所述交叉点矩阵(MG)的所述电导值与所述已知元素相关;
-U是单位矩阵,并且所述多个电流发生器(Ii)配置成产生与所述单位矩阵U的向量值相对应的电流值;
-所述逆矩阵A-1包括多个未知元素的向量,并且所述多个输出电压(Vi)表示所述逆矩阵A-1的所述未知元素的向量之一。
11. 根据权利要求8所述的电路,其中,所述电路配置成求解由以下关系式可表示的方阵的特征向量和特征值问题:
Ax=λx
其中:
-A是包含相应已知元素的方阵,并且所述交叉点矩阵(MG)的所述电导值与所述方阵A的所述已知元素相关;
-λ是与所述反馈电阻器(λG0)的所述电导值相关的已知特征值;
-x是未知特征向量,并且所述多个输出电压(Vi)表示所述未知特征向量。
12.根据权利要求1所述的电路,其中,所述电路配置成由恒定电流或脉冲电流供电。
13.根据权利要求1所述的电路,其中,所述电路包括至少一个用于测量所述多个输出电压(Vi)的器件。
14.根据权利要求1所述的电路,包括输入计算电路(600)和输出计算电路(700);所述输入计算电路(600)包括:
输入交叉点矩阵(MG),包括多个输入行导体(Li)、多个输入列导体(Cj)和多个输入电阻元件(Xij),每个输入电阻元件都连接在输入行导体和输入列导体之间;
多个输入运算放大器(OAi),每个输入运算放大器采用跨阻抗配置,每个都具有:连接到相应行导体(Li)的相应第一输入端子(INli)、连接到接地端子(GR)的相应第二输入端子(IN2i)和相应输出端子(OUi;OUPj);所述多个运算放大器(OAi)使得所述相应第一输入端子(INli)朝向虚地;
并且其中,所述输出计算电路(700)包括:
所述交叉点矩阵(MGOU)和多个运算放大器(OAouj);所述多个输入运算放大器(OAi)具有连接到所述交叉点矩阵(MGOU)的所述行导体的相应输出端子(OUi);
所述运算放大器(OAouj)具有连接到所述交叉点矩阵(MGOU)的相应列导体(Couj)的第一输入端子(“+”)和连接到所述输入交叉点矩阵(MG)的相应输入列导体(Cj)的第一输出端子(OUPj)。
15.根据权利要求1或14所述的电路,其中,所述电路配置成根据以下模式之一操作:线性回归加速器;逻辑回归加速器。
CN201880062718.XA 2017-09-27 2018-09-27 含电阻元件的数学问题求解电路 Active CN111133431B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IT102017000108281A IT201700108281A1 (it) 2017-09-27 2017-09-27 "circuito di risoluzione di problemi matematici comprendente elementi resistivi."
IT102017000108281 2017-09-27
PCT/IB2018/057487 WO2019064215A1 (en) 2017-09-27 2018-09-27 MATHEMATICAL PROBLEM SOLVING CIRCUIT COMPRISING RESISTIVE ELEMENTS

Publications (2)

Publication Number Publication Date
CN111133431A CN111133431A (zh) 2020-05-08
CN111133431B true CN111133431B (zh) 2023-12-12

Family

ID=61187624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880062718.XA Active CN111133431B (zh) 2017-09-27 2018-09-27 含电阻元件的数学问题求解电路

Country Status (7)

Country Link
US (1) US11314843B2 (zh)
EP (1) EP3688622B1 (zh)
JP (1) JP7345859B2 (zh)
KR (1) KR20200062278A (zh)
CN (1) CN111133431B (zh)
IT (1) IT201700108281A1 (zh)
WO (1) WO2019064215A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366876B2 (en) * 2020-06-24 2022-06-21 International Business Machines Corporation Eigenvalue decomposition with stochastic optimization
KR20230012882A (ko) 2021-07-16 2023-01-26 삼성전자주식회사 자기 저항체를 포함하는 프로세싱 장치
CN115628761B (zh) * 2022-09-30 2023-10-13 华南理工大学 一种低功耗抗扰动的电阻式传感器及可穿戴设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2244230A1 (en) * 1973-09-13 1975-04-11 Labo Electronique Physique Resistance coupled matrix circuits - operational amplifier sampling circuits suppress parasitic currents
JP2005032227A (ja) * 2003-05-22 2005-02-03 Kinoshita Harumi 電気信号線路の波形計算法、電気信号線路疑似回路、電気信号線路の測定方法、電気信号線の製造方法、マトリクス型電子デバイス装置の波形解析方法、マトリクス型電子デバイス装置の駆動方法、マトリクス型表示装置の駆動方法、マトリクス型表示装置、マトリクス型デバイスの測定方法、マトリクス型表示装置の測定方法
WO2016068953A1 (en) * 2014-10-30 2016-05-06 Hewlett Packard Enterprise Development Lp Double bias memristive dot product engine for vector processing
WO2017052598A1 (en) * 2015-09-25 2017-03-30 Hewlett Packard Enterprise Development Lp Crossbar arrays for calculating matrix multiplication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789811B (zh) * 2012-06-15 2015-02-18 中国人民解放军国防科学技术大学 面向纳米交叉杆结构的多值忆阻器自适应编程电路及方法
WO2014121138A2 (en) * 2013-01-31 2014-08-07 The Regents Of The University Of California Method and apparatus for solving an optimization problem using an analog circuit
US10008264B2 (en) * 2014-10-23 2018-06-26 Hewlett Packard Enterprise Development Lp Memristive cross-bar array for determining a dot product
US9847125B2 (en) * 2015-08-05 2017-12-19 University Of Rochester Resistive memory accelerator
US10497440B2 (en) * 2015-08-07 2019-12-03 Hewlett Packard Enterprise Development Lp Crossbar arrays for calculating matrix multiplication
EP3389051B1 (en) * 2016-01-18 2020-09-09 Huawei Technologies Co., Ltd. Memory device and data-processing method based on multi-layer rram crossbar array
US10621267B2 (en) * 2016-01-28 2020-04-14 Hewlett Packard Enterprise Development Lp Memristor crossbar array for performing a fourier transformation
US10664271B2 (en) * 2016-01-30 2020-05-26 Hewlett Packard Enterprise Development Lp Dot product engine with negation indicator
WO2017142542A1 (en) * 2016-02-19 2017-08-24 Hewlett Packard Enterprise Development Lp Linear transformation accelerators
US9910827B2 (en) * 2016-07-01 2018-03-06 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
US10878317B2 (en) * 2017-09-11 2020-12-29 Samsung Electronics Co., Ltd. Method and system for performing analog complex vector-matrix multiplication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2244230A1 (en) * 1973-09-13 1975-04-11 Labo Electronique Physique Resistance coupled matrix circuits - operational amplifier sampling circuits suppress parasitic currents
JP2005032227A (ja) * 2003-05-22 2005-02-03 Kinoshita Harumi 電気信号線路の波形計算法、電気信号線路疑似回路、電気信号線路の測定方法、電気信号線の製造方法、マトリクス型電子デバイス装置の波形解析方法、マトリクス型電子デバイス装置の駆動方法、マトリクス型表示装置の駆動方法、マトリクス型表示装置、マトリクス型デバイスの測定方法、マトリクス型表示装置の測定方法
WO2016068953A1 (en) * 2014-10-30 2016-05-06 Hewlett Packard Enterprise Development Lp Double bias memristive dot product engine for vector processing
WO2017052598A1 (en) * 2015-09-25 2017-03-30 Hewlett Packard Enterprise Development Lp Crossbar arrays for calculating matrix multiplication

Also Published As

Publication number Publication date
CN111133431A (zh) 2020-05-08
KR20200062278A (ko) 2020-06-03
IT201700108281A1 (it) 2019-03-27
US11314843B2 (en) 2022-04-26
US20200233922A1 (en) 2020-07-23
WO2019064215A1 (en) 2019-04-04
JP7345859B2 (ja) 2023-09-19
JP2020537219A (ja) 2020-12-17
EP3688622A1 (en) 2020-08-05
EP3688622B1 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
Wijesinghe et al. An all-memristor deep spiking neural computing system: A step toward realizing the low-power stochastic brain
US20230409893A1 (en) On-chip training of memristor crossbar neuromorphic processing systems
Nandakumar et al. Mixed-precision architecture based on computational memory for training deep neural networks
CN111133431B (zh) 含电阻元件的数学问题求解电路
US20170017879A1 (en) Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
US11087204B2 (en) Resistive processing unit with multiple weight readers
CN113469334B (zh) 一种忆阻递归神经网络电路
US20200117986A1 (en) Efficient processing of convolutional neural network layers using analog-memory-based hardware
CN113924581A (zh) 用于存储器内计算的无晶体管全忆阻器神经形态电路
Liao et al. Diagonal matrix regression layer: Training neural networks on resistive crossbars with interconnect resistance effect
Bai et al. Deep-DFR: A memristive deep delayed feedback reservoir computing system with hybrid neural network topology
Zhou et al. Energy‐Efficient Memristive Euclidean Distance Engine for Brain‐Inspired Competitive Learning
Ananthakrishnan et al. All-passive hardware implementation of multilayer perceptron classifiers
Tarkov Crossbar-based hamming associative memory with binary memristors
US20230100139A1 (en) Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
Wu et al. Bio-inspired computing with resistive memories—models, architectures and applications
Bennett et al. Multiscaled simulation methodology for neuro-inspired circuits demonstrated with an organic memristor
Cao et al. Parasitic-aware modelling for neural networks implemented with memristor crossbar array
Kotov et al. Data representation in all-resistor systems
Morozov et al. Issues of implementing neural network algorithms on memristor crossbars
Kendall et al. Deep learning in memristive nanowire networks
Ntinas et al. Neuromorphic circuits on segmented crossbar architectures with enhanced properties
Halawani et al. A re-configurable memristor array structure for in-memory computing applications
Petropoulos et al. Accurate Emulation of Memristive Crossbar Arrays for In-Memory Computing
Hasan et al. Mathematical simulation of memristive for classification in machine learning

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
GR01 Patent grant
GR01 Patent grant