当前位置: 首页 > 专利查询>南京大学专利>正文

一种修正可变电阻器件阵列点乘误差的方法技术

技术编号:32903658 阅读:25 留言:0更新日期:2022-04-07 11:54
本发明专利技术公开了一种修正可变电阻器件阵列点乘误差的方法,包括(1)将目标电导矩阵初始化写入可变电阻器件阵列;(2)计算可变电阻器件阵列的有效电导矩阵;(3)将步骤(2)所得的有效电导矩阵与目标电导矩阵对比,若满足收敛条件,则该方法执行完毕,否则继续执行以下步骤:将差值矩阵乘以调节系数η得到误差电导矩阵,根据此误差矩阵来调节实际硬件阵列上每个可变电阻器件的阻值,即调节实际可变电阻器件的电导矩阵G

【技术实现步骤摘要】
一种修正可变电阻器件阵列点乘误差的方法


[0001]本专利技术涉及一种基于可变电阻器件阵列的存内计算方法,尤其涉及一种修正可变电阻器件阵列点乘误差的方法。

技术介绍

[0002]传统的计算架构在面临人工智能算法等高性能需求的计算任务的时候,其存算分离的架构造成计算效率的极大降低。利用可变电阻器件(包括忆阻器、PCM、MRAM等)阵列可以实现存内计算,与以往的冯诺依曼计算架构不同的是其采用了模拟信号使得在存储器阵列中可以利用基尔霍夫定律和欧姆定律完成计算过程。这种新式计算架构在功耗,速度上有着极大的优势,是后冯诺依曼时代的重点研发的新式计算架构。利用可变电阻器件交叉阵列,则可以进一步利用电路特性来实现输入电压向量和可变电阻器件电导矩阵的点积运算,以此来加速矩阵乘法的计算和提升神经网络的性能。但是,现有的可变电阻器件阵列往往受到制作工艺等限制,阵列中各个可变电阻器件之间的电路连接会无法避免的存在一定的线路电阻,根据电路的分压定理,这会导致非理想的电压下降,使得可变电阻器件的输出结果产生偏差。随着可变电阻器件阵列的规模增加,线路电阻的影响也会逐渐加大,这种偏差在可变电阻器件阵列规模大于128
×
128时会十分明显。因此当我们在大规模可变电阻器件阵列上部署神经网络时,这种非理想特性就会使得神经网络的输出产生偏差,影响神经网络的性能,甚至可能会造成神经网络完全失效。
[0003]现有技术方案一般是增加可变电阻器件的电阻值以减小在线路电阻上的分压,或者在可变电阻器件阵列的输出后端做补偿,修正可变电阻器件阵列由于线路电阻等非理想因素导致的输出偏差。现有技术方案中增加可变电阻器件的电阻值的方法效果有限,一是可变电阻器件阻值范围的提高有限,二是这种方法应用在更大的可变电阻器件交叉阵列中仍然会存在上述问题。在可变电阻器件阵列的输出后端做补偿的方案会增加系统的复杂程度,并且该方案并没有在源头可变电阻器件阵列上解决问题,致使最终的补偿效果受到一些条件的限制而达不到要求,例如该校正方案面对动态范围较大的输入和权值的时候修订输出偏差的能力有限,校正效果不足。

技术实现思路

[0004]专利技术目的:针对以上问题,本专利技术提出一种修正可变电阻器件阵列点乘误差的方法,能够显著提高可变电阻器件阵列当中线路电阻引起的矩阵运算误差的修正效果。
[0005]技术方案:本专利技术所采用的技术方案是一种修正可变电阻器件阵列点乘误差的方法,包括以下步骤:
[0006](1)将目标电导矩阵初始化写入可变电阻器件阵列;
[0007](2)计算可变电阻器件阵列的有效电导矩阵和有效电阻矩阵;
[0008]具体的,可以采用,包括:对可变电阻器件阵列施加至少m组相互正交的电压向量V
in
,测量对应的n组输出电流向量I

out
,利用V
in
·
G
effective
=I

out
计算出有效电导矩阵
G
effective

[0009]该步骤还可以采用电路建模仿真法来计算可变电阻器件阵列的有效电导矩阵和有效电阻矩阵,包括以下步骤:
[0010]步骤2.1、建立可变电阻器件阵列电路模型,考虑线路电阻后得到可变电阻器件阵列的电路方程组A
·
I=V
in
,其中A为系数矩阵,I为可变电阻器件阵列上所有结点电流组成的向量,V
in
为m组相互正交的输入电压向量;
[0011]步骤2.2、根据公式I=A
‑1V
in
,将对应的逆矩阵代入,求得输出电流向量I;
[0012]步骤2.3、根据电路的电流叠加定律,由向量I求得阵列的输出电流向量I

out

[0013]步骤2.4、利用正交电压向量法求得有效电导矩阵G
effective

[0014](3)将步骤(2)所得的有效电导矩阵与目标电导矩阵对比,若满足收敛条件,则该方法执行完毕,否则继续执行以下步骤:
[0015]将差值矩阵乘以调节系数η得到误差电导矩阵,根据此误差矩阵来调节实际硬件阵列上每个可变电阻器件的阻值,即调节实际可变电阻器件的电导矩阵G
write
为G
write
=G

write

G
error
;其中G
error
为误差电导矩阵,G

write
为上一次实际写入可变电阻器件的电导矩阵;调节之后,重复执行步骤(2)和(3),直到满足步骤(3)中的停止条件。
[0016]步骤(3)中所述的收敛条件为有效电导矩阵与目标电导矩阵对比所得的差值矩阵中各个元素的绝对值小于所设阈值。
[0017]当上述算法无法收敛时,令步骤(2)中每次求得的有效电导乘以系数k,通过调整k的值使算法收敛。
[0018]上述方法可存储在计算机可读存储介质中,以计算机程序产品的形式存在。该程序执行如前所述的修正可变电阻器件阵列点乘误差的方法中的步骤。
[0019]有益效果:相比于现有技术,本专利技术具有以下优点:该技术直接对任意类型的可变电阻器件阵列的电导/电阻值进行补偿调节,而不是形成计算结果后对结果进行估计和修正,因此本专利技术对于可变电阻器件阵列的点乘误差修正效果更好。该技术方案在考虑阵列存在线间电阻的情况下,合理调节可变电阻器件阵列的电导值,显著提高了可变电阻阵列做点乘运算输出的正确率。除此之外,本技术还提出了一种全新的电导矩阵增益方法,提升了算法的收敛性和通用性,使得该技术可以在任意规模的可变电阻器件阵列上使用,并且保证算法可以快速收敛。同时,本方法并未使用任何微分关系式,仅使用了较为简单的梯度下降法,使得本方法更适用于计算机模拟和代码编写,降低了学习成本,更具有泛用性。本专利技术能够显著提高可变电阻器件阵列当中线路电阻引起的矩阵运算误差的修正效果,有广泛应用价值和潜力。该技术应用在可变电位器阵列上,由于算法收敛速度快,因此可变电位器阵列与控制设备之间的通信数据量大幅减少,极大地降低了系统能耗。该技术应用于忆阻器阵列上,由于算法的快速的收敛性,忆阻器的读写次数大幅减少,寿命显著提高。
附图说明
[0020]图1是一种典型的考虑了线路电阻R0影响的忆阻器阵列电路图;
[0021]图2是本专利技术所述的修正可变电阻器件阵列点乘误差的方法流程框图。
[0022]图3是本专利技术所述的电导调节算法收敛性的仿真分析结果图。
具体实施方式
[0023]下面以一种典型的可变电阻器件——忆阻器为例,结合附图和实施例对本专利技术的技术方案作进一步的说明。
[0024]实施例1
[0025]在实际硬件中,可以通过测量忆阻器阵列的实际输出来计算忆阻器阵列的有效电导矩阵和有效电阻矩阵。在该情形下,本专利技术所述的修正可变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种修正可变电阻器件阵列点乘误差的方法,其特征在于,包括以下步骤:(1)将目标电导矩阵初始化写入可变电阻器件阵列;(2)计算可变电阻器件阵列的有效电导矩阵和有效电阻矩阵;(3)将步骤(2)所得的有效电导矩阵与目标电导矩阵对比,若满足收敛条件,则该方法执行完毕,否则继续执行以下步骤:将目标电导矩阵和有效电导矩阵对比得到的差值矩阵乘以调节系数η,从而得到误差电导矩阵,根据此误差矩阵来调节实际硬件阵列上每个可变电阻器件的阻值,即调节实际可变电阻器件的电导矩阵G
write
为G
write
=G

write

G
error
;其中G
error
为误差电导矩阵,G

write
为上一次实际写入可变电阻器件的电导矩阵;调节之后,重复执行步骤(2)和(3),直到满足步骤(3)中的停止条件。2.根据权利要求1所述的修正可变电阻器件阵列点乘误差的方法,其特征在于:当算法无法收敛时,令步骤(2)中每次求得的有效电导乘以系数k,通过调整k的值使算法收敛。3.根据权利要求1所述的修正可变电阻器件阵列点乘误差的方法,其特征在于:步骤(3)中所述的收敛条件为有效电导矩阵与目标电导矩阵对比所得的差值矩阵中各个元素的绝对值小于所设阈值。4.根据权利要求1所述的修正可变电阻器件阵列点乘误差的方法,其特征在于,步骤(2)所述的计算可变电阻器件阵列的有效电导矩阵和有效电阻矩阵,包括:...

【专利技术属性】
技术研发人员:缪峰梁世军王聪赵懿晨
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1