CN113505887B - 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 - Google Patents
一种针对忆阻器误差的忆阻器存储器神经网络训练方法 Download PDFInfo
- Publication number
- CN113505887B CN113505887B CN202111065383.7A CN202111065383A CN113505887B CN 113505887 B CN113505887 B CN 113505887B CN 202111065383 A CN202111065383 A CN 202111065383A CN 113505887 B CN113505887 B CN 113505887B
- Authority
- CN
- China
- Prior art keywords
- memristor
- error
- conductance
- neural network
- value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 81
- 230000015654 memory Effects 0.000 title claims abstract description 77
- 238000012549 training Methods 0.000 title claims abstract description 52
- 238000009826 distribution Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000013531 bayesian neural network Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 19
- 238000002474 experimental method Methods 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims 1
- 239000004744 fabric Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 12
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000009467 reduction Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011160 research Methods 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/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/047—Probabilistic or stochastic 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/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
- G06N3/065—Analogue 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital 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/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital 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/0007—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Complex Calculations (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明公开了一种针对忆阻器误差的忆阻器存储器神经网络训练方法,主要用于解决由于制程误差和动态误差导致的基于忆阻器存储器的神经网络推断准确度下降的问题。其步骤是:对忆阻器的电导值在制程误差和动态误差的影响下进行建模,并换算得到对应的神经网络权重的分布;利用建模后得到的权重分布构造权重的先验分布,进行基于变分推断的贝叶斯神经网络训练,得到权重的变分后验分布;将权重变分后验的均值转化为忆阻器存储器的目标电导值。本发明减弱了制程误差和动态误差对基于忆阻器存储器的神经网络计算的影响,使基于忆阻器存储器的神经网络推断获得了更高的准确率。
Description
技术领域
本发明属于人工智能和存算一体芯片应用领域,具体是一种针对忆阻器误差的忆阻器存储器神经网络训练方法,可有效减少存算一体神经网络芯片因制程误差和动态误差导致的准确度下降。
背景技术
近年来,基于忆阻器存储器的存算电路相关的研究取得了较大的进展,这种电路基本单元忆阻器是一种非易失性存储器件,通过在忆阻器两端施加不同大小的电流可以改变其电导值,进而修改忆阻器中存储的数据;将忆阻器按一定方式排布成矩形阵列,并在行、列方向加以连接就构成了忆阻器存储阵列。目前,忆阻器存储器常用于矩阵-向量乘积运算,以神经网络的全连接层计算为例,其本质上是一次权重矩阵与输入向量进行矩阵乘法运算并得到输出向量的操作,将权重以忆阻器电导的形式写入到忆阻器存储阵列中,并将输入数据以电压的形式从行方向输入,在列方向即可以电流的形式得到输出向量。相较于CPU、GPU等传统计算机体系,忆阻器存储器将存储、计算两项功能相融合,减少了数据迁移,极大提高了数据吞吐量和计算并行度,降低了能耗,同时忆阻器作为一种新型非易失性器件,也使得忆阻器存储器的存储密度相较于传统存储器得到了较大提高。由于以上优秀特性,基于忆阻器存储器的新型计算芯片目前已经成为提升诸如神经网络计算等数据密集型算法的能量、时间效率的重要手段。
然而,由于制造工艺的限制,忆阻器存储器的制造几乎不可避免地受到的工艺误差和动态误差的影响,这使得实际电路中的器件参数相较于目标值出现一定偏差。以神经网络计算为例,器件参数的变化将会导致存储在忆阻器存储器上的神经网络权重相较于其目标值出现一定偏差,除工艺误差之外,波动和噪声等动态误差也会对权重值造成影响,进而导致准确率的下降,且这些问题对大规模的忆阻器存储器的影响更为严重。以上硬件非理想性因素使得忆阻器存储器计算加速能力与实际应用中复杂算法的急剧增长的计算需求之间还存在较大差距。
发明内容
本发明的目的在于针对现有技术存在的不足,提出一种针对制程误差和动态误差的面向忆阻器存储器的神经网络训练方法。
本发明的目的是通过以下技术方案来实现的:一种针对忆阻器误差的忆阻器存储器神经网络训练方法,包括以下步骤:
(1)对将要部署在忆阻器存储器上的神经网络权重在制程误差和动态误差的影响下进行建模,包括以下步骤:
(1-1)将每个权重对应的忆阻器存储器上的一个忆阻器的实际电导值分解为目标电导值、全局电导误差、局部电导误差和动态电导误差四部分;
(1-2)将局部电导误差和动态电导误差近似为以目标电导值为变量的误差函数的值与局部制程误差以及动态误差的积;
(1-3)将局部制程误差和动态误差分别建模为高斯随机变量,且二者相互独立;
(1-4)利用步骤(1-1)至(1-3)的结果,得到每个权重对应的忆阻器存储器上的一个忆阻器在制程误差和动态误差影响下的实际电导值的建模表示,为一高斯随机变量,其均值为目标电导值与全局电导误差之和,方差为以目标电导值为变量的误差函数的值的平方与局部制程误差和动态误差所对应的两个高斯随机变量方差之和的乘积;
(1-5)利用电导值-权重的映射关系,将上述建模得到的电导值映射为神经网络权重,得到权重的统计分布表示;
(2)将步骤(1)中建模得到的权重的统计分布作为先验分布,进行基于变分后验的贝叶斯神经网络训练,得到权重的变分后验分布;
(3)计算步骤(2)中得到的权重的变分后验分布的均值,反向使用电导-权重映射关系将其映射为电导,作为忆阻器存储器上的忆阻器的实际电导值。
进一步地,所述步骤(1-2)中,以目标电导值为变量的误差函数为如下形式:
f(g0)=cg0
其中,c为表示制程误差和动态误差水平的常数,根据应用场景下的误差水平设定;g0为忆阻器存储器上的每个忆阻器的目标电导值构成的向量。
进一步地,所述步骤(1-3)中,建模得到的用以表征局部制程误差的高斯随机变量Δrl以及表征动态误差的高斯随机变量Δrd分别满足如下高斯分布:
进一步地,所述步骤(1-4)中,建模得到的用以表征每个权重对应的忆阻器存储器上的一个忆阻器在制程误差和动态误差影响下的实际电导值为如下形式:
进一步地,所述步骤(1-5)中,通过电导值-权重的映射关系得到的神经网络权重w=[w1,w2,...,wi,...,wn]T的第为i个元素wi如下形式:
其中gi为与第i个权重对应的忆阻器的实际电导值,μi,Ψ(μi)分别为Wi的均值和方差,g0,i为第i个权重对应的忆阻器的目标电导值,Δgg,i为第i个权重对应的忆阻器的全局电导误差,和分别为第i个权重对应的忆阻器的局部制程误差值和动态误差值的方差,c0和c1为电导值-权重线性映射的两个常数因子,通过以下方式计算得到:
其中wmax和wmin分别为神经网络中所有权重的最大值和最小值,可从传统的神经网络训练中获得,gmax和gmin分别为忆阻器存储器上的忆阻器所能调整的电导范围的最大值和最小值。
进一步地,所述步骤(2)中,神经网络权重w的变分后验分布q(w|θ)为高斯分布,θ为高斯分布的参数,包括均值和方差;基于变分推断的贝叶斯神经网络训练的目标函数为如下形式:
其中,g0为神经网络的所有权重对应的忆阻器存储器上的各个忆阻器的目标电导值构成的向量,P(D|w)为似然,为求随机变量的期望,KL[·||·]为求两个分布的相对熵,P(w)为权重先验分布,D为神经网络训练集。
本发明的有益效果为:提供了一种面向忆阻器存储器的神经网络训练方法,使得训练得到的模型在部署到受制程误差和动态误差影响的忆阻器存储器上进行推断时能实现与使用传统计算机平台推断的神经网络相当的准确率,相较于传统的神经网络训练方法,本发明带来了准确率的较大提升,在确保准确率的情况下,充分利用了基于忆阻器存储器的计算架构相较于传统计算机在神经网络计算方面的巨大能效优势。
附图说明
图1是描述了本发明提出的背景和面临的问题示意图;
图2是本发明的总体流程和框架图;
图3是贝叶斯神经网络与传统神经网络的训练方法对比示意图;
图4是应用本发明之后进行基于忆阻器存储器的神经网络推断的准确率对比图。
具体实施方式
下面结合附图,对本发明的技术方案和效果作进一步详细说明。
忆阻器存储器能够实现高效的矩阵-向量乘积运算,从而常应用于神经网络计算加速等场景,受到了学术界的密集关注。忆阻器存储器的基本结构如图1所示,目前大多数的忆阻器存储器面临制程误差和动态误差等硬件非理想性因素的影响,这样的影响使得神经网络的权重值在以电导的形式写入忆阻器中时会发生随机的偏移,如图1所示,进而影响神经网络的推断准确率,并且准确率下降的幅度会随网络规模的增加急剧增长,这限制了忆阻器存储器应用于大型、复杂神经网络的能力。
针对以上问题,本发明提出了一种针对忆阻器误差的忆阻器存储器神经网络训练方法,其总体流程和效果示意图如图2所示,具体实现步骤如下:
(1)对将要部署在忆阻器存储器上的神经网络权重在工艺误差和随机噪声等电路非理想性因素的影响下进行建模,本步骤的具体实现过程如下:
(1-1)在考虑非理想因素影响的情况下,将神经网络权重w=[w1,w2,...,wn]对应的忆阻器存储器上的n个忆阻器的实际电导值gw=[g1,g2,...,gn]T分解为以下四部分:
g=g0+Δgg+Δgl+Δgd
其中,g0表示忆阻器存储器上的忆阻器的目标电导值组成的向量,Δgg表示全局制程误差对忆阻器存储器上的忆阻器的目标电导值造成的影响(下称全局电导误差)组成的向量,该分量对同一块芯片上的所有器件的影响是相同的;Δgl描述局部制程误差对忆阻器存储器上的忆阻器的目标电导值造成的影响(下称局部电导误差)组成的向量,Δgd是动态误差对忆阻器存储器上的忆阻器的目标电导值造成的影响(下称动态电导误差)组成的向量;
(1-2)对局部电导误差、动态电导误差应用如下近似:
f(g0)=cg0
其中,c为描述误差r对交叉点阵电导值影响程度的常数,通过实验测得;(1-3)将局部制程误差Δrl和动态误差Δred分别建模为高斯随机变量,且二者之间相互独立,得到的分布形式如下:
(1-4)利用步骤(1-1)-(1-3)的结果,得到神经网络权重对应的忆阻器存储器上的忆阻器在制程误差和动态误差影响下的实际电导值g的建模表示,为如下高斯随机变量:
(1-5)利用电导值-权重映射关系,将步骤(1-4)中得到的忆阻器存储器上的忆阻器在制程误差和动态误差影响下的实际电导值电导映射为神经网络权重,映射关系式以及得到权重w的统计分布表示如下:
其中μ,Ψ(μ)分别为w的均值和方差,c0和c1为电导值-权重线性映射的两个常数因子,可通过以下方式计算得到:
其中wmax和wmin分别为神经网络中所有权重的最大值和最小值,可从传统的神经网络训练中获得,gmax和gmin分别为忆阻器存储器上的忆阻器所能调整的电导范围的最大值和最小值;至此,对交叉点阵上的实际权重值在工艺误差和动态误差影响下的建模完成。
(2)将步骤(1)中建模得到的实际权重w的分布形式作为贝叶斯网络的先验分布,进行基于变分推断的贝叶斯神经网络训练,得到权重w的变分后验分布q(w|θ),其中θ为控制后验分布形式的参数;具体包括以下步骤:
(2-1)构建由一组参数θ控制的一组高斯分布q(w|θ),其中参数θ表示每个高斯分布的均值和标准差;
(2-2)最小化以下目标函数:
得到权重w的变分后验分布q(w|θ);其中,g0为神经网络的所有权重对应的忆阻器存储器上的各个忆阻器的目标电导值构成的向量,P(D|w)为似然,为求随机变量的期望,KL[·||·]为两个分布的相对熵,P(w)为权重先验分布,D为神经网络训练集。
(3)取权重w的变分后验q(w|θ)的均值θμ,使用权重-电导映射关系将其映射作为电导,得到用于写入交叉点阵的目标电导值gw。
本发明所提出的鲁棒性优化方法充分考虑了实际情况下电路中的各种非理想因素影响,并对其对神经网络权重的影响进行了充分的概括和建模,将得到的模型利用贝叶斯网络进行训练之后,得到鲁棒性较强的权重后验分布,取这些权重分布的均值作为即将要写入交叉点阵的目标权重,纵使在写入之后中受到电路工艺误差和动态噪声的影响,其实际值较目标值有一定偏差,但依旧可以获得较高的神经网络推断准确率。相较于传统的基于确定性权重的神经网络训练方法,本发明所提之方法利用了电路非理想因素的先验信息,在进行基于忆阻器存储器的神经网络计算中具有很大优势;而相较于其他统计学习方法,贝叶斯网络具有表述明确、原理清晰、操作简单、性能更优等特点,在实际应用中具有显著优势。
下面结合实例及实验结果对本发明的效果做进一步描述。
实例1:不失一般性,构建一个多层贝叶斯卷积神经网络BLeNet和数据及MNIST的实例,使用python+Pytorch作为本实例的软件平台。
本实例中涉及的多层贝叶斯卷积神经网络BLeNet基于一种经典卷积神经网络LeNet,其结构包含两个卷积层,两个池化层和三个全连接层,每层的参数如下:
卷积层Conv1:具有6个5*5*1的卷积核,输入规格为32*32*1的原始数据集图像,输出规模为28*28*6的特征图;
池化层P2:输出14*14*6的特征图,每个输出特征图的单元连接到输入特征图的一个两两互不重叠的2*2邻域中的4个单元,其值为其所对应的4个单元的值做平均;
卷积层Conv3:具有16个5*5*6的卷积核,输入规格为14*14*6,输出规格为10*10*16的特征图;
池化层P4:产生5*5*16的输出特征图,每个输出特征图的单元连接到输入特征图的一个两两互不重叠的2*2邻域中的4个单元,其值为其所对应的4个单元的值做平均;
全连接层FC5:输入特征向量为将P4的输入特征图所展开得到的长度为400的向量,输出特征向量的长度为120;
全连接层FC6:输入特征向量长度为120,输出特征向量的长度为84;
全连接层FC7:输入特征向量长度为84,输出特征向量的长度为10;
卷积层和全连接层中的激活函数均选择ReLU函数。
本实例使用的MNIST数据集包含60000个训练样本和10000个测试样本,每个样本都是一张28*28像素的灰度手写数字图片,每张图片包含数字0-9中的一个数字,可按图片中包含数字的不同将所有数据集分为10个类别。为使数据集与网络结构相匹配,将MNIST数据集的28*28的图像通过在四周补零填充至32*32像素,作为输入Conv1层的特征图。
为使用贝叶斯神经网络进行训练,需要对Pytorch里的卷积层、全连接层进行部分改造:
贝叶斯神经网络基于贝叶斯推断,是属于数理统计贝叶斯学派的贝叶斯概率论的参数估计方法,贝叶斯概率论假设事物具有一定的不确定性(即将系统中的待估计变量视为随机变量,参数估计的目的是为了找到或接近这个待估计变量的分布而非该待估计变量的真值),且观察者对事物处于某个知识状态中(即系统中的所有待估计变量都具有一定的先验分布,该先验分布可通过观察者此前的知识获知),贝叶斯推断通过观察样本所表现出来的特性,部分地修正先验概率分布,得到待估计随机变量后验分布,即为基于样本对待估计变量的估计结果。
如图3所示,为贝叶斯神经网络与传统神经网络的训练方法对比示意图;贝叶斯神经网络具有和人工神经网络(ANN)类似的网络结构,其将所有待训练参数的后验分布而非真值视为学习目标,即网络的卷积层、全连接层等的权重、偏置等参数应使用统计分布形式而非某个确定的值,在实际应用中,对于任何规模的神经网络,参数的精确的后验分布都是不可解的,因此,后验分布通常使用高斯分布近似代替,或称为变分后验分布,对待训练参数分布的估计进而转化为对待训练参数的变分后验的均值、方差的点估计。
在本例中,需要定义贝叶斯卷积层(BConv)以及贝叶斯全连接层(BFC),以贝叶斯卷积层BConv为例,将BConv层包含的所有权重w的变分后验分布q(w|θ)的均值θμ和方差θσ同时注册为Pytorch模型参数(Parameter)。对于随机变量之间的计算,采用蒙特卡罗方法,即对贝叶斯模型中的随机变量进行多次采样,以采样值进行确定性计算,最终得到确定性的输出,具体地,在进行前向传播时,每输入一个样本时,根据权重w的变分后验分布的均值θμ和方差θσ进行采样,得到权重采样值ws,用于进行前向计算,在反向传播时,将确定性的目标函数对权重w的变分后验分布的均值θμ和方差θσ计算梯度,并对二者进行更新,即可完成一轮训练。
为得到贝叶斯网络训练时所需的权重先验分布P(w),按照说明书中步骤(1)进行权重建模,得到权重在制程误差和动态误差影响下的统计分布:
所对应的忆阻器的实际电导值的统计分布为:
①制造若干块相同设计的忆阻器存储器芯片,将某目标电导值按相同的方法写入这些忆阻器存储器芯片中该特定位置上的忆阻器,对该特定位置上的忆阻器的实际电导值进行多次测量,得到该特定位置上的忆阻器实际电导值的测量值,与目标电导值做差即得到所有忆阻器存储器芯片上该特定位置上的忆阻器的电导误差;
②对所有忆阻器存储器芯片上该特定位置上的忆阻器的电导误差求平均值即可得到该特定位置上的忆阻器的全局电导误差,用同样的方法即可测量得到所有位置上的忆阻器的全局电导误差Δgg;也可选取不同的目标电导值,重复上述步骤若干次求平均值以提高所得全局电导误差的可靠性;
③利用②得到的全局电导误差,使用误差函数f(g0+Δgg),计算出将该特定位置上的忆阻器的误差函数值,将该特定位置上的忆阻器的电导误差除以该误差函数值的得到该特定位置上的忆阻器的制程误差和动态误差值,并对所有忆阻器存储器芯片的该特定位置上的忆阻器的制程误差和动态误差值计算样本方差,即可得到
至此,除待训练参数g0以外,BLeNet中参数的先验分布的形式已经确定。
BLeNet的目标函数为:
在该函数中,第一项为似然性代价,似然P(D|w)可用分类器输出向量与样本标签(label)的交叉熵代替,似然性代价反应模型参数对训练集的契合程度,契合程度越高,该项越小;第二项+KL[q(w|θ)||P(w)]为复杂性代价,反应的是参数的后验分布与先验分布的相似程度(KL散度或相对熵),相似程度越高,该项越小。
BLeNet的训练过程为利用批量梯度下降法(mini-Batch Gradient Descent)最小化ELBO,训练过程中,可利用传统人工神经网络训练所用到的冲量(Momentum)等方法加速模型收敛,待训练参数为蕴含于先验分布中的目标电导值g0,以及模型中权重、偏置等参数的变分后验分布的均值和方差,得到训练后的模型参数的变分后验分布。
上述模型参数的变分后验分布为由均值和方差确定的高斯分布,且由于训练过程中复杂性代价的存在,后验分布会有一定的方差,以保持和先验分布总体较高的相似度,同时,由于似然性代价的存在以及训练过程中对后验分布的采样操作,使得偏离参数后验分布的均值不太远的参数采样值也能使神经网络具有较高的推断准确率,这就使得基于忆阻器存储器的神经网络计算拥有了一定的鲁棒性。
对于一个特定忆阻器存储器芯片上的一个特定的忆阻器而言,其电导值是一个确定值而非一个随机变量,因此,在忆阻器存储器上运行的神经网络应为传统人工神经网络而非贝叶斯神经网络。
基于以上事实,将训练得到的BLeNet的参数的变分后验分布取均值,作为在忆阻器存储器上运行的LeNet的权重值,经权重-电导线性映射转换之后,作为目标电导值写入忆阻器存储器中,纵使在写入过程中在制程误差和动态误差的影响下实际电导值相对于目标电导值产生了一定的偏移,也可使在忆阻器存储器上运行的神经网络保持较高的推断准确率。
本实例的效果如图4所示,图中ρpv为制程误差水平,反应全局电导误差Δgg以及局部制程误差的方差ρdv为动态误差水平,反应动态误差的方差图中灰度与神经网络推断准确率Acc相关,灰度越黑,代表推断准确率越低。
图中还给出了一条由黑色虚线表示的Δinf=0.1%的等高线,其中Δinf为推断准确率相对下降因子,其定义为:
其中,理想情况下的推断准确率指的是应用传统的基于确定性网络参数的神经网络训练方法,在传统的诸如冯诺伊曼体系的计算机平台进行神经网络的训练和推断得到的推断准确率。
应用传统的基于确定性网络参数的神经网络训练方法,使用MNIST数据集训练得到LeNet模型,在不同水平的制程误差和动态误差下,给该LeNet模型的权重值上加上相应的误差值得到实际权重值,用该实际权重值在测试集上进行推断,相应的推断准确率和制程误差水平ρpv以及动态误差水平ρdv的关系如图4左侧所示,结果显示,随着误差水平逐渐升高,推断准确率下降十分严重,在右上角区域,推断准确率下降到0.3以下,而理想情况下LeNet在MNIST数据集上的推断准确率通常超过95%。
相对应地,应用本方法进行BLeNet训练,并将训练得到的模型参数的后验分布,并将该后验分布的均值写入忆阻器存储器中,相应的基于忆阻器存储器的LeNet的推断准确率,相应的推断准确率和制程误差水平ρpv以及动态误差水平ρdv的关系如图4右侧所示,结果显示,随着误差水平逐渐升高,推断准确率下降程度十分有限,且在图示的制程误差和动态误差范围内,总能维持0.7以上的推断准确率,相较于使用传统的训练方法而言具有较大提升;特别地,图4右侧所示的推断准确率相对下降因子Δinf=0.1%等高线所围住的面积相较于图4左侧所示也显著增大,意味着本发明对基于忆阻器存储器的神经网络推断的准确性具有良好的优化效果。
实例2:按照与实例1类似的方法,基于卷积神经网络AlexNet构建贝叶斯卷积神经网络BAlexNet,用制程误差和动态误差的建模结果为提供BAlexNet提供先验,分别使用CIFAR-10和CIFAR-100数据集,进行贝叶斯神经网络训练,将训练得到的权重后验分布的均值作为基于忆阻器存储器的神经网络权重,测试其推断准确率,计算推断准确率相对下降因子Δinf,与传统训练方法得到的数据进行对比,对比结果如表1所示,这表明,对于复杂大型神经网络模型,应用本发明进行训练,在忆阻器存储器上进行计算时也能维持较低的准确率下降,相较于传统方法优化效果明显。
表1推断准确率相对下降因子Δinf
综上所述,本发明所提出的一种基于一种针对制程误差和动态误差的面向忆阻器存储器的神经网络训练方法,基于实验中获得的对工艺误差和动态噪声等电路非理想性因素的认识,对工艺误差和动态噪声等非理想因素对交叉点阵的电导值(即神经网络权重)的影响进行了建模,利用基于变分推断的贝叶斯神经网络训练方法进行训练并得到了权重的后验分布,本发明充分利用了电路非理想因素等先验知识及贝叶斯网络的鲁棒特性,实现了基于忆阻器存储器的神经网络计算的推断准确率优化,使得使用忆阻器存储器进行神经网络加速具备了实际应用可行性。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (6)
1.一种针对忆阻器误差的忆阻器存储器神经网络训练方法,其特征在于,包括以下步骤:
(1)对将要部署在忆阻器存储器上的神经网络权重在制程误差和动态误差的影响下进行建模,包括以下步骤:
(1-1)将每个权重对应的忆阻器存储器上的一个忆阻器的实际电导值分解为目标电导值、全局电导误差、局部电导误差和动态电导误差四部分;
(1-2)将局部电导误差和动态电导误差近似为以目标电导值为变量的误差函数的值与局部制程误差以及动态误差的积;
(1-3)将局部制程误差和动态误差分别建模为高斯随机变量,且二者相互独立;
(1-4)利用步骤(1-1)至(1-3)的结果,得到每个权重对应的忆阻器存储器上的一个忆阻器在制程误差和动态误差影响下的实际电导值的建模表示,为一高斯随机变量,其均值为目标电导值与全局电导误差之和,方差为以目标电导值为变量的误差函数的值的平方与局部制程误差和动态误差所对应的两个高斯随机变量方差之和的乘积;
(1-5)利用电导值-权重的映射关系,将上述建模得到的电导值映射为神经网络权重,得到权重的统计分布表示;
(2)将步骤(1)中建模得到的权重的统计分布作为先验分布,进行基于变分后验的贝叶斯神经网络训练,得到权重的变分后验分布;
(3)计算步骤(2)中得到的权重的变分后验分布的均值,反向使用电导-权重映射关系将其映射为电导,作为忆阻器存储器上的忆阻器的实际电导值。
2.根据权利要求1所述的一种针对忆阻器误差的忆阻器存储器神经网络训练方法,其特征在于:所述步骤(1-2)中,以目标电导值为变量的误差函数为如下形式:
f(g0)=cg0
其中,c为表示制程误差和动态误差水平的常数,根据应用场景下的误差水平设定;g0为忆阻器存储器上的每个忆阻器的目标电导值构成的向量。
5.根据权利要求1所述的一种针对忆阻器误差的忆阻器存储器神经网络训练方法,其特征在于:所述步骤(1-5)中,通过电导值-权重的映射关系得到的神经网络权重w=[w1,w2,...,wi,...,wn]T的第为i个元素wi如下形式:
其中gi为与第i个权重对应的忆阻器的实际电导值,μi,Ψ(μi)分别为wi的均值和方差,g0,i为第i个权重对应的忆阻器的目标电导值,Δgg,i为第i个权重对应的忆阻器的全局电导误差,和分别为第i个权重对应的忆阻器的局部制程误差值和动态误差值的方差,c0和c1为电导值-权重线性映射的两个常数因子,通过以下方式计算得到:
其中wmax和wmin分别为神经网络中所有权重的最大值和最小值,从传统的神经网络训练中获得,gmax和gmin分别为忆阻器存储器上的忆阻器所能调整的电导范围的最大值和最小值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065383.7A CN113505887B (zh) | 2021-09-12 | 2021-09-12 | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 |
JP2022006311A JP7266330B2 (ja) | 2021-09-12 | 2022-01-19 | メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 |
US17/672,713 US11449754B1 (en) | 2021-09-12 | 2022-02-16 | Neural network training method for memristor memory for memristor errors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065383.7A CN113505887B (zh) | 2021-09-12 | 2021-09-12 | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505887A CN113505887A (zh) | 2021-10-15 |
CN113505887B true CN113505887B (zh) | 2022-01-04 |
Family
ID=78017156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065383.7A Active CN113505887B (zh) | 2021-09-12 | 2021-09-12 | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11449754B1 (zh) |
JP (1) | JP7266330B2 (zh) |
CN (1) | CN113505887B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11601209B2 (en) * | 2020-11-25 | 2023-03-07 | At&T Intellectual Property I, L.P. | Modeling radio wave propagation in a fifth generation (5G) or other next generation network |
CN113569294B (zh) * | 2021-09-22 | 2022-01-07 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
CN114330688A (zh) * | 2021-12-23 | 2022-04-12 | 厦门半导体工业技术研发有限公司 | 基于阻变式存储器的模型在线迁移训练方法、装置及芯片 |
CN114819093A (zh) * | 2022-05-09 | 2022-07-29 | 清华大学 | 利用基于忆阻器阵列的环境模型的策略优化方法和装置 |
CN114742218A (zh) * | 2022-05-09 | 2022-07-12 | 清华大学 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
CN114861911B (zh) * | 2022-05-19 | 2023-04-07 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、装置、系统、设备和介质 |
CN115687869A (zh) * | 2022-11-09 | 2023-02-03 | 深圳先进技术研究院 | 忆阻器精度重构计算的误差校正方法、系统、计算机设备 |
CN116227324B (zh) * | 2022-12-06 | 2023-09-19 | 哈尔滨理工大学 | 一种方差受限下的分数阶忆阻神经网络估计方法 |
CN116030063B (zh) * | 2023-03-30 | 2023-07-04 | 同心智医科技(北京)有限公司 | Mri图像的分类诊断系统、方法、电子设备及介质 |
CN117031962B (zh) * | 2023-09-08 | 2024-01-02 | 盐城工学院 | 一种时滞忆阻细胞神经网络的固定时间同步控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015112164A1 (en) * | 2014-01-24 | 2015-07-30 | Hewlett-Packard Development Company, L.P. | Memristor memory |
US10755170B2 (en) * | 2017-03-01 | 2020-08-25 | International Business Machines Corporation | Resistive processing unit with hysteretic updates for neural network training |
JP6724870B2 (ja) * | 2017-06-19 | 2020-07-15 | 株式会社デンソー | 人工ニューラルネットワーク回路の訓練方法、訓練プログラム、及び訓練装置 |
US11373092B2 (en) | 2019-04-10 | 2022-06-28 | International Business Machines Corporation | Training of artificial neural networks |
CN110796241B (zh) * | 2019-11-01 | 2022-06-17 | 清华大学 | 基于忆阻器的神经网络的训练方法及其训练装置 |
CN110956256B (zh) * | 2019-12-09 | 2022-05-17 | 清华大学 | 利用忆阻器本征噪声实现贝叶斯神经网络的方法及装置 |
-
2021
- 2021-09-12 CN CN202111065383.7A patent/CN113505887B/zh active Active
-
2022
- 2022-01-19 JP JP2022006311A patent/JP7266330B2/ja active Active
- 2022-02-16 US US17/672,713 patent/US11449754B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2023041581A (ja) | 2023-03-24 |
US11449754B1 (en) | 2022-09-20 |
CN113505887A (zh) | 2021-10-15 |
JP7266330B2 (ja) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505887B (zh) | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 | |
Borovykh et al. | Dilated convolutional neural networks for time series forecasting | |
Chui et al. | Deep nets for local manifold learning | |
CN109118564B (zh) | 一种基于融合体素的三维点云标记方法和装置 | |
Liu et al. | Learning converged propagations with deep prior ensemble for image enhancement | |
Lee | Improvements of complex-valued Hopfield associative memory by using generalized projection rules | |
Cavazza et al. | Dropout as a low-rank regularizer for matrix factorization | |
CN102982373B (zh) | 一种混合svm回归算法的oin神经网络训练方法 | |
CN109086653B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN113496247B (zh) | 估计生成对抗网络的隐含似然 | |
CN109993208B (zh) | 一种有噪声图像的聚类处理方法 | |
Chen et al. | Deep point set resampling via gradient fields | |
Amram et al. | Denoising diffusion models with geometry adaptation for high fidelity calorimeter simulation | |
CN112634149A (zh) | 一种基于图卷积网络的点云去噪方法 | |
Meng et al. | An effective weighted vector median filter for impulse noise reduction based on minimizing the degree of aggregation | |
Mukherjee et al. | Learned reconstruction methods with convergence guarantees | |
CN110717374A (zh) | 一种基于改进的多层感知机的高光谱遥感影像分类方法 | |
Seo et al. | Graph neural networks and implicit neural representation for near-optimal topology prediction over irregular design domains | |
CN115860113B (zh) | 一种自对抗神经网络模型的训练方法及相关装置 | |
CN117273109A (zh) | 基于量子神经元的混合神经网络的构建方法及装置 | |
Stypułkowski et al. | Representing point clouds with generative conditional invertible flow networks | |
CN111046958A (zh) | 基于数据依赖的核学习和字典学习的图像分类及识别方法 | |
CN110009091B (zh) | 学习网络在等价类空间中的优化 | |
CN117196963A (zh) | 一种基于降噪自编码器的点云去噪方法 | |
Sang et al. | Image recognition based on multiscale pooling deep convolution neural networks |
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 |