CN114742218A - 基于忆阻器阵列的数据处理方法和数据处理装置 - Google Patents
基于忆阻器阵列的数据处理方法和数据处理装置 Download PDFInfo
- Publication number
- CN114742218A CN114742218A CN202210498347.8A CN202210498347A CN114742218A CN 114742218 A CN114742218 A CN 114742218A CN 202210498347 A CN202210498347 A CN 202210498347A CN 114742218 A CN114742218 A CN 114742218A
- Authority
- CN
- China
- Prior art keywords
- memristor array
- data processing
- neural network
- processing method
- 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
-
- 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
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一种基于忆阻器阵列的数据处理方法和数据处理装置。该方法包括:获取贝叶斯神经网络,其中,贝叶斯神经网络具有经训练得到的权重矩阵;根据贝叶斯神经网络的权重矩阵得到对应的多个目标电导值,将多个目标电导值映射到忆阻器阵列中;将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取对应于处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。该方法利用基于忆阻器阵列的带隐输入变量的贝叶斯神经网络对动态系统进行预测,功耗低、计算速度快、计算能效高。
Description
技术领域
本公开的实施例涉及一种基于忆阻器阵列的数据处理方法和数据处理装置。
背景技术
人工神经网络(Artificial neural networks,ANN)在动态系统的建模中有着广泛的应用。然而,因为缺乏建模不确定性的能力,使用传统的人工神经网络进行长期任务规划仍然是一个挑战。实际系统固有的随机性(不确定性)-过程噪声和数据驱动建模引入的逼近误差会导致人工神经网络的长期估计偏离系统的实际行为。概率模型为解决不确定性问题提供了一种方法,这些模型使人民能够利用模型的预测做出明智的决定,同时对这些预测的不确定性持谨慎态度。
发明内容
本公开至少一个实施例提供一种基于忆阻器阵列的数据处理方法,包括:获取贝叶斯神经网络,该贝叶斯神经网络具有经训练得到的权重矩阵;根据贝叶斯神经网络的权重矩阵得到对应的多个目标电导值,将多个目标电导值映射到忆阻器阵列中;将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取对应于处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。
例如,在本公开一实施例提供的数据处理方法中,通过忆阻器阵列按照贝叶斯神经网络进行处理可以表达为y=f(x,z,W,ε),其中,x是动态系统的当前状态特征向量,z是隐输入变量,W是贝叶斯神经网络的权重矩阵,ε是对应于忆阻器阵列的加性噪声,y是动态系统的下一状态的预测结果;其中,隐输入变量z满足第一分布z~p(z),贝叶斯神经网络的权重矩阵W满足第二分布W~q(W),加性噪声ε为加性高斯噪声ε~N(0,σ2)。
例如,本公开一实施例提供的数据处理方法还包括:获取数据处理方法的不确定性。
例如,在本公开一实施例提供的数据处理方法中,获取数据处理方法的不确定性,包括:获取数据处理方法的偶然不确定性,以及获取数据处理方法的认知不确定性,其中,偶然不确定性是由隐输入变量引起的,认知不确定性是由忆阻器阵列的本征噪声引起的。
例如,在本公开一实施例提供的数据处理方法中,获取数据处理方法的不确定性,包括:获取对应于动态系统的均匀采样的对应于t-1时刻的初始状态st-1;利用忆阻器阵列并基于隐输入变量来获取对应于t-1之后的t时刻的预测状态st并获得对应于预测状态st的代价ct的M×N矩阵,其中,st=f(st-1,z,W,ε);以及根据代价ct的M×N矩阵计算数据处理方法对于动态系统的不确定性,其中,M和N均为大于1的整数。
例如,在本公开一实施例提供的数据处理方法中,利用忆阻器阵列并基于隐输入变量来获取对应于t时刻的预测状态st并获得对应于预测状态st的代价ct的M×N矩阵,包括:对隐输入变量z从p(z)分布中取样M次得到M个样本{z1,z2,…,zm,…,zM};对于M个样本中的每一个,将隐输入变量zm和初始状态st-1输入到权重映射后的忆阻器阵列得到N个预测状态st,由M个样本得到预测状态st的M×N矩阵,其中1≤m≤M;对于预测状态st的M×N矩阵中每一个元素,计算代价ct=c(st),得到代价ct的M×N矩阵。
例如,在本公开一实施例提供的数据处理方法中,贝叶斯神经网络包括全连接结构或卷积神经网络结构。
例如,在本公开一实施例提供的数据处理方法中,对于忆阻器阵列,输入信号为电压信号,输出信号为电流信号,读取输出信号并将输出信号进行模数转换以用于后续处理。
本公开至少一个实施例还提供一种数据处理装置,包括:获取单元,配置为获取贝叶斯神经网络,其中,贝叶斯神经网络具有经训练得到的权重矩阵;阵列装置,包括忆阻器阵列,且配置为将根据贝叶斯神经网络的权重矩阵所得到的对应的多个目标电导值映射到忆阻器阵列中;控制单元,配置为将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取作为处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法的示意性流程图;
图2A示出了一种忆阻器阵列的示意性结构;
图2B为本公开至少一实施例提供的一种忆阻器装置的示意图;
图2C为本公开至少一实施例提供的另一种忆阻器装置的示意图;
图2D示出了将权重矩阵映射到忆阻器阵列的示意图;
图3示出了基于忆阻器阵列的带隐输入变量的贝叶斯神经网络的架构;
图4示出了本公开至少一实施例提供的一种获取数据处理方法的不确定性的方法的示意性流程图;
图5示出了本公开至少一实施例提供的获取预测状态矩阵的方法的示意图;
图6示出了本公开至少一实施例提供的一种数据处理装置的示意框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
贝叶斯神经网络(Bayesian network,BNN)是一种将神经网络置于贝叶斯框架中的概率模型。带隐输入变量的贝叶斯神经网络(BNN with latent input variables,BNN+LV)可以通过隐输入变量上的分布(偶然不确定性)来描述复杂的随机模式,同时通过权重上的分布(认知不确定性)来考虑模型的不确定性。
贝叶斯神经网络的结构包括但不限于全连接结构、卷积神经网络(ConvolutionalNeural Networks,CNN)结构等,其网络权值W是随机变量(W~q(W))。假设已有用于贝叶斯神经网络的动态系统的数据集D={X,Y},其中X是动态系统的状态特征向量,Y是动态系统的下一个状态。该贝叶斯神经网络的输入即是动态系统的状态特征向量X和隐输入变量z(z~p(z),该贝叶斯神经网络的参数可以训练,贝叶斯神经网络的输出叠加上独立加性高斯噪声ε(ε~N(0,σ2))即是对动态系统下一个状态预测y,即y=f(X,z,W,ε)。例如,在训练完成后贝叶斯神经网络的每一个权重都是一个分布。
在传统的硬件计算平台(例如,中央处理器、图形处理器)上,BNN+LV需要比较大的计算成本。该方式的核心的采样方法——马尔可夫链蒙特卡罗方法——由于要进行大量的抽样计算,对计算机速度依赖性强。
本公开至少一个实施例提供一种基于忆阻器阵列的数据处理方法,包括:获取贝叶斯神经网络,其中,贝叶斯神经网络具有经训练得到的权重矩阵;根据贝叶斯神经网络的权重矩阵得到对应的多个目标电导值,将多个目标电导值映射到忆阻器阵列中;将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取对应于处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。
本公开上述实施例提供的数据处理方法在忆阻器的贝叶斯神经网络的基础上,利用忆阻器的随机特性对动态系统进行建模,并且引入输入隐变量,在模拟忆阻器交叉阵列上执行并行的读操作即可完成BNN+LV所需的权重采样和向量矩阵乘法,大大地提高了计算的能效。
本公开至少一实施例还提供对应于上述数据处理方法的数据处理装置。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1示出了本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法的示意性流程图。
如图1所示,该数据处理方法包括如下的步骤S101~S103。
步骤S101:获取贝叶斯神经网络,其中,贝叶斯神经网络具有经训练得到的权重矩阵。
例如,贝叶斯神经网络的结构包括全连接结构或卷积神经网络结构等。该贝叶斯神经网络的网络权重是随机变量。例如,在该贝叶斯神经网络经训练完成后,每一个权重都是一个分布,例如高斯分布或者拉普拉斯分布。
例如,可以对贝叶斯神经网络进行离线(offline)训练得到权重矩阵,对贝叶斯神经网络进行训练的方法可以参考常规方法,例如采用中央处理单元(CPU)、图像处理单元、神经网络处理单元(NPU)等,在此不再赘述。
步骤S102:根据贝叶斯神经网络的权重矩阵得到对应的多个目标电导值,将多个目标电导值映射到忆阻器阵列中。
在贝叶斯神经网络训练完成得到权重矩阵后,对权重矩阵进行处理以得到对应的多个目标电导值。例如,在该过程中,可以对权重矩阵进行偏置和放缩,直至权重矩阵满足合适的电导窗口。对权重矩阵进行偏置和放缩处理后,根据处理后的权重矩阵和忆阻器的电导值计算目标电导值。具体的计算目标电导值的过程可以参考基于忆阻器的贝叶斯神经网络的相关描述,在此不再赘述。
图2A示出了一种忆阻器阵列的示意性结构,该忆阻器阵列例如由多个忆阻器单元构成,该多个忆阻器单元构成一个M行N列的阵列,M和N均为正整数。每个忆阻器单元包括开关元件和一个或多个忆阻器。在图2A中,WL<1>、WL<2>……WL<M>分别表示第一行、第二行……第M行的字线,每一行的忆阻器单元电路中的开关元件的控制极(例如晶体管的栅极)和该行对应的字线连接;BL<1>、BL<2>……BL<N>分别表示第一列、第二列……第N列的位线,每列的忆阻器单元电路中的忆阻器和该列对应的位线连接;SL<1>、SL<2>……SL<M>分别表示第一行、第二行……第M行的源线,每一行的忆阻器单元电路中的晶体管的源极和该行对应的源线连接。根据基尔霍夫定律,通过设置忆阻器单元的状态(例如阻值)并且在字线与位线施加相应的字线信号与位线信号,上述忆阻器阵列可以并行地完成乘累加计算。
图2B为本公开至少一实施例提供的一种忆阻器装置的示意图,该忆阻器装置包括忆阻器阵列及其外围驱动电路。例如,如图2B所示,该忆阻器装置包括信号获取装置、字线驱动电路、位线驱动电路、源线驱动电路、忆阻器阵列以及数据输出电路。
例如,信号获取装置配置为将数字信号通过数字模拟转换器(Digital to Analogconverter,简称DAC)转换为多个模拟信号,以输入至忆阻器阵列的多个列信号输入端。
例如,忆阻器阵列包括M条源线、M条字线和N条位线,以及阵列排布为M行N列的多个忆阻器单元。
例如,通过字线驱动电路、位线驱动电路和源线驱动电路实现对于忆阻器阵列的操作。
例如,字线驱动电路包括多个多路选择器(Multiplexer,简称Mux),用于切换字线输入电压;位线驱动电路包括多个多路选择器,用于切换位线输入电压;源线驱动电路也包括多个多路选择器(Mux),用于切换源线输入电压。例如,源线驱动电路还包括多个ADC,用于将模拟信号转换为数字信号。此外,在源线驱动电路中的Mux和ADC之间还可以进一步设置跨阻放大器(Trans-Impedance Amplifier,简称TIA)(图中未示出)以完成电流到电压的转换,以便于ADC处理。
例如,忆阻器阵列包括操作模式和计算模式。当忆阻器阵列处于操作模式时,忆阻器单元处于初始化状态,可以将参数矩阵中的参数元素的数值写入忆阻器阵列中。例如,将忆阻器的源线输入电压、位线输入电压和字线输入电压通过多路选择器切换至对应的预设电压区间。
例如,通过图2B中的字线驱动电路中的多路选择器的控制信号WL_sw[1:M]将字线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将字线输入电压设置为2V(伏特),例如在对忆阻器进行复位操作时,将字线输入电压设置为5V,例如,字线输入电压可以通过图2B中的电压信号V_WL[1:M]得到。
例如,通过图2B中的源线驱动电路中的多路选择器的控制信号SL_sw[1:M]将源线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将源线输入电压设置为0V,例如在对忆阻器进行复位操作时,将源线输入电压设置为2V,例如,源线输入电压可以通过图2B中的电压信号V_SL[1:M]得到。
例如,通过图2B中的位线驱动电路中的多路选择器的控制信号BL_sw[1:N]将位线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将位线输入电压设置为2V,例如在对忆阻器进行复位操作时,将位线输入电压设置为0V,例如,位线输入电压可以通过图2B中DAC得到。
例如,当忆阻器阵列处于计算模式时,忆阻器阵列中的忆阻器处于可用于计算的导电状态,列信号输入端输入的位线输入电压不会改变忆阻器的电导值,例如,可以通过忆阻器阵列执行乘加运算完成计算。例如,通过图2B中的字线驱动电路中的多路选择器的控制信号WL_sw[1:M]将字线输入电压切换至相应的电压区间,例如施加开启信号时,相应行的字线输入电压设置为5V,例如不施加开启信号时,相应行的字线输入电压设置为0V,例如接通GND信号;通过图2B中的源线驱动电路中的多路选择器的控制信号SL_sw[1:M]将源线输入电压切换至相应的电压区间,例如将源线输入电压设置为0V,从而使得多个行信号输出端的电流信号可以流入数据输出电路,通过图2B中的位线驱动电路中的多路选择器的控制信号BL_sw[1:N]将位线输入电压切换至相应的电压区间,例如将位线输入电压设置为0.1V-0.3V,从而利用忆阻器阵列进行乘加运算。
例如,数据输出电路可以包括多个TIA、ADC,可以将多个行信号输出端的电流信号转换为电压信号,而后转换为数字信号,以用于后续处理。
图2C为本公开至少一实施例提供的另一种忆阻器装置的示意图。图2C所示的忆阻器装置与图2B所示的忆阻器装置的结构基本相同,也包括忆阻器阵列及其外围驱动电路。例如,如图2C所示,该忆阻器装置信号获取装置、字线驱动电路、位线驱动电路、源线驱动电路、忆阻器阵列以及数据输出电路。
例如,忆阻器阵列包括M条源线、2M条字线和2N条位线,以及阵列排布为M行N列的多个忆阻器单元。例如,每个忆阻器单元为2T2R结构,将用于变换处理的参数矩阵映射于忆阻器阵列中不同的多个忆阻器单元的操作,这里不再赘述。需要说明的是,忆阻器阵列也可以包括M条源线、M条字线和2N条位线,以及阵列排布为M行N列的多个忆阻器单元。
关于信号获取装置、控制驱动电路以及数据输出电路的描述可以参照之前的描述,这里不再赘述。
图2D示出了将权重矩阵映射到忆阻器阵列的过程。利用具有N个忆阻器的忆阻器阵列充当贝叶斯神经网络中层与层之间的权重矩阵。将贝叶斯神经网络中的权重矩阵转换为目标电导值映射到忆阻器阵列的交叉序列中。
如图2D所示,图中的左侧是一个三层贝叶斯神经网络,该贝叶斯神经网络包括逐一连接的3层神经元层。例如,输入层包括第1层神经元层,隐含层包括第2层神经元层,输出层包括第3层神经元层。例如,输入层将接收的输入数据传递到隐含层,隐含层对该输入数据进行计算转换发送至输出层,输出层输出贝叶斯神经网络的输出结构。
如图2D所示,输入层、隐含层以及输出层均包括多个神经元节点,各层的神经元节点的个数可以根据不同的应用情况设定。例如,输入层的神经元个数为2(包括N1和N2),中间隐藏层的神经元个数为3(包括N3、N4和N5),输出层的神经元个数为1(包括N6)。
如图2D所示,贝叶斯神经网络的相邻两层神经元层之间通过权重矩阵连接。例如,权重矩阵由如图2D右侧的忆阻器阵列实现。例如,可以将权重参数直接编程为忆阻器阵列的电导。例如,也可以将权重参数按照某一规则映射到忆阻器阵列的电导。例如,也可以利用两个忆阻器的电导的差值代表一个权重参数。虽然本公开以将权重参数直接编程为忆阻器阵列的电导或将权重参数按照某一规则映射到忆阻器阵列的电导的方式对本公开的技术方案进行了描述,但其仅是示例性的,而不是对本公开的限制。
图2D中的右侧的忆阻器阵列的结构例如如图2A所示,该忆阻器阵列可以包括阵列排布的多个忆阻器。例如,源线SL1对应神经元N3,源线SL2对应神经元N4,源线SL5对应神经元N5,位线BL1、BL2和BL3对应神经元N1,输入层和隐藏层之间的一个权重(神经元N1和神经元N3之间的权重)被转换为目标电导值映射到忆阻器阵列的交叉序列中(目标电导值分别为G11、G12和G13,在忆阻器阵列中用虚线框框出)。
步骤S103:将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取对应于处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。
例如,在本公开的一些实施例中,通过忆阻器阵列按照贝叶斯神经网络进行处理可以表达为y=f(x,z,W,ε),其中,x是动态系统的当前状态特征向量,z是隐输入变量,W是贝叶斯神经网络的权重矩阵,ε是对应于忆阻器阵列的加性噪声,y是动态系统的下一状态的预测结果;其中,隐输入变量z满足第一分布z~p(z),贝叶斯神经网络的权重矩阵W满足第二分布W~q(W),加性噪声ε为加性高斯噪声ε~N(0,σ2)。
对应于上述数据处理方法的基于忆阻器阵列的BNN+LV的架构可以在图3中示出。如图3所示,将当前状态特征向量x和隐输入变量z作为上述基于忆阻器阵列的贝叶斯神经网络的输入,通过该忆阻器阵列对x和z按照贝叶斯神经网络进行处理得到输出y,y是动态系统的下一状态的预测结果。
传统的贝叶斯神经网络在预测计算时,首先对一层的所有的权重进行采样得到权重采样值矩阵,然后将输入向量与该权重采样值矩阵相乘以得到预测结果,这种方式计算功耗大,速度慢。
在本公开的一些实施例中,对于忆阻器阵列,输入信号为电压信号,输出信号为电流信号,读取输出信号并将输出信号进行模数转换以用于后续处理。例如,将输入序列以电压脉冲的方式施加在BL(Bit-line,位线)上,然后采集从SL(Source-line,源线)流出的输出电流进行进一步的计算处理。例如,对于如图2B或2C所示的忆阻器装置,可以通过DAC将输入序列转换为模拟电压信号,模拟电压信号通过多路选择器施加BL上。从SL获取输出电流,该电流通过跨阻放大器转换成电压信号,通过ADC转换成数字信号,该数字信号可以用于后续处理。N个忆阻器在读电流且N比较大时,输出的总电流呈现类似于高斯分布的分布。所有电压脉冲的输出总电流就是输入向量与权重矩阵相乘的结果。在忆阻器交叉阵列中,这样的一次并行读操作就相当于实现了采样和向量矩阵乘法的两个操作。
根据本公开实施例提出的基于忆阻器的数据处理方法,将贝叶斯神经网络的权重矩阵映射到忆阻器阵列中,利用忆阻器阵列实现分布采样和矩阵向量乘的方法以及利用忆阻器阵列在读取时的本征噪声实现对随机变量的采样,通过忆阻器交叉阵列实现BNN+LV,利用基于忆阻器阵列的BNN+LV对动态系统进行建模,功耗低,计算速度快,计算能效高。
由于模拟忆阻器交叉阵列的读操作是不断采样的过程,基于忆阻器的BNN+LV的采样权重值具有一次性的特性。对此,利用基于忆阻器阵列的BNN+LV对动态系统进行建模后,可以利用基于忆阻器阵列的BNN+LV获取本公开实施例提出的数据处理方法的不确定性。
例如,在本公开的一些实施例中,获取数据处理方法的不确定性可以包括:获取数据处理方法的偶然不确定性,以及获取数据处理方法的认知不确定性,其中,偶然不确定性是由隐输入变量引起的,认知不确定性是由忆阻器阵列的本征噪声引起的。
例如,数据处理方法的不确定性为偶然不确定性加上认知不确定性。
图4示出了本公开至少一实施例提供的一种获取数据处理方法的不确定性的方法的示意性流程图。
如图4所示,该方法包括如下的步骤S401~S403。
步骤S401:获取对应于动态系统的均匀采样的对应于t-1时刻的初始状态st-1。
根据蒙特卡洛采样方法,可以从动态系统的数据集中均匀采样以获取对应于t-1时刻的初始状态st-1。
步骤S402:利用忆阻器阵列并基于隐输入变量来获取对应于t-1之后的t时刻的预测状态st并获得对应于预测状态st的代价ct的M×N矩阵,其中,st=f(st-1,z,W,ε)。
例如,在本公开的一些实施例中,步骤S402可以包括:对隐输入变量z从p(z)分布中取样M次得到M个样本{z1,z2,…,zm,…,zM};对于M个样本中的每一个,将隐输入变量zm和初始状态st-1输入到权重映射后的忆阻器阵列得到N个预测状态st,由M个样本得到预测状态st的M×N矩阵,其中1≤m≤M;对于预测状态st的M×N矩阵中每一个元素,计算代价ct=c(st),得到代价ct的M×N矩阵。
例如,首先对隐输入变量z从p(z)分布中取样M次,然后将t-1时刻的状态特征向量st-1和M个隐输入变量中的一个以READ电压脉冲施加在BL上,然后采集从SL流出的输出电流进行进一步的计算处理。在忆阻器阵列的列数为N的情况下,可以得到N个预测状态st。对M个隐输入变量均进行上述操作,则可以得到M×N个预测状态st。对每一个st进行代价计算就可以得到代价ct的M×N矩阵。
图5示出了本公开至少一实施例提供的获取预测状态矩阵的方法的示意图。
如图5所示,已有用于贝叶斯神经网络的动态系统的数据集{x,y},其中x表示动态系统的状态特征向量(例如t-1时刻的状态特征向量),y表示动态系统的下一预测状态(例如t-1之后的t时刻的预测状态)。对隐输入变量z从p(z)分布(例如,高斯分布或拉普拉斯分布)中取样M次得到M个样本,每次将M个样本中的一个和状态特征向量x输入到权重映射后的忆阻器阵列,将忆阻器阵列的输出电流进行进一步的计算处理,得到针对每个z样本的N个预测状态的数据集{x',y'},y'即为计算得到的下一预测状态,由隐输入变量z的M个样本得到下一预测状态y'的M×N矩阵。
步骤S403:根据代价ct的M×N矩阵计算数据处理方法对于动态系统的不确定性,其中,M和N均为大于1的整数。
例如,在本公开的一些实施例中,在t时刻,对动态系统的不确定性的表达为:
Ep(z)[σ2(ct|z)]的计算公式可以表示为:
上述获取代价ct的M×N矩阵的流程如下:
输入:给定基于忆阻器阵列的动态环境模型的初始策略
从p(z)中采样得到{z1,z2,…,zm,…,zM},总共M次
从N(0,σ2)中采样得到{ε1,ε2,…,εm,…,εM},总共M次
m=1到M,循环
n=1到N,循环
基于忆阻器的BNN从q(W)中采样得到W
st=f(st-1;zm,W,εm)
ct=c(st)
结束n的循环
结束m的循环
输出:代价ct的M×N矩阵
图6示出了本公开至少一实施例提供的一种数据处理装置600的示意框图,该数据处理装置可以用于执行图1所示的数据处理方法。
如图6所示,数据处理装置600包括获取单元601、阵列装置602以及控制单元603。
获取单元601被配置为获取贝叶斯神经网络,其中,该贝叶斯神经网络具有经训练得到的权重矩阵。
阵列装置602包括忆阻器阵列,且被配置为将根据贝叶斯神经网络的权重矩阵所得到的对应的多个目标电导值映射到忆阻器阵列中。
控制单元603被配置为将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的忆阻器阵列,通过忆阻器阵列对当前状态特征向量和隐输入变量按照贝叶斯神经网络进行处理,从忆阻器阵列获取作为处理结果的输出信号,其中,输出信号用于得到动态系统的下一状态的预测结果。
例如,数据处理装置600可以采用硬件、软件、固件以及它们的任意可行的组合实现,本公开对此不作限制。
上述数据处理装置的技术效果与图1所示的数据处理方法的技术效果相同,在此不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种基于忆阻器阵列的数据处理方法,包括:
获取贝叶斯神经网络,其中,所述贝叶斯神经网络具有经训练得到的权重矩阵;
根据所述贝叶斯神经网络的所述权重矩阵得到对应的多个目标电导值,将所述多个目标电导值映射到所述忆阻器阵列中;
将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的所述忆阻器阵列,通过所述忆阻器阵列对所述当前状态特征向量和所述隐输入变量按照所述贝叶斯神经网络进行处理,从所述忆阻器阵列获取对应于处理结果的输出信号,其中,所述输出信号用于得到所述动态系统的下一状态的预测结果。
2.根据权利要求1所述的数据处理方法,其中,通过所述忆阻器阵列按照所述贝叶斯神经网络进行处理可以表达为y=f(x,z,W,ε),
其中,x是所述动态系统的所述当前状态特征向量,z是所述隐输入变量,W是所述贝叶斯神经网络的权重矩阵,ε是对应于所述忆阻器阵列的加性噪声,y是所述动态系统的下一状态的预测结果;
其中,所述隐输入变量z满足第一分布z~p(z),所述贝叶斯神经网络的权重矩阵W满足第二分布W~q(W),所述加性噪声ε为加性高斯噪声ε~N(0,σ2)。
3.根据权利要求2所述的数据处理方法,还包括:获取所述数据处理方法的不确定性。
4.根据权利要求3所述的数据处理方法,其中,获取所述数据处理方法的不确定性,包括:
获取所述数据处理方法的偶然不确定性,以及
获取所述数据处理方法的认知不确定性,
其中,所述偶然不确定性是由所述隐输入变量引起的,所述认知不确定性是由所述忆阻器阵列的本征噪声引起的。
5.根据权利要求3所述的数据处理方法,其中,获取所述数据处理方法的不确定性,包括:
获取对应于所述动态系统的均匀采样的对应于t-1时刻的初始状态st-1;
利用所述忆阻器阵列并基于所述隐输入变量来获取对应于所述t-1之后的t时刻的预测状态st并获得对应于预测状态st的代价ct的M×N矩阵,其中,st=f(st-1,z,W,ε);以及
根据所述代价ct的M×N矩阵计算所述数据处理方法对于所述动态系统的所述不确定性,其中,M和N均为大于1的整数。
6.根据权利要求5所述的数据处理方法,其中,利用所述忆阻器阵列并基于所述隐输入变量来获取对应于t时刻的预测状态st并获得对应于预测状态st的代价ct的M×N矩阵,包括:
对所述隐输入变量z从p(z)分布中取样M次得到M个样本{z1,z2,…,zm,…,zM};
对于所述M个样本中的每一个,将隐输入变量zm和所述初始状态st-1输入到所述权重映射后的忆阻器阵列得到N个预测状态st,由所述M个样本得到所述预测状态st的M×N矩阵,其中1≤m≤M;
对于所述预测状态st的M×N矩阵中每一个元素,计算代价ct=c(st),得到所述代价ct的M×N矩阵。
9.根据权利要求1所述的数据处理方法,其中,所述贝叶斯神经网络包括全连接结构或卷积神经网络结构。
10.根据权利要求1所述的数据处理方法,其中,对于所述忆阻器阵列,所述输入信号为电压信号,所述输出信号为电流信号,读取所述输出信号并将所述输出信号进行模数转换以用于后续处理。
11.一种数据处理装置,包括:
获取单元,配置为获取贝叶斯神经网络,其中,所述贝叶斯神经网络具有经训练得到的权重矩阵;
阵列装置,包括忆阻器阵列,且配置为将根据所述贝叶斯神经网络的所述权重矩阵所得到的对应的多个目标电导值映射到所述忆阻器阵列中;
控制单元,配置为将对应于动态系统的当前状态特征向量和隐输入变量作为输入信号输入到权重映射后的所述忆阻器阵列,通过所述忆阻器阵列对所述当前状态特征向量和所述隐输入变量按照所述贝叶斯神经网络进行处理,从所述忆阻器阵列获取作为处理结果的输出信号,
其中,所述输出信号用于得到所述动态系统的下一状态的预测结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210498347.8A CN114742218A (zh) | 2022-05-09 | 2022-05-09 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
PCT/CN2023/092461 WO2023217021A1 (zh) | 2022-05-09 | 2023-05-06 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210498347.8A CN114742218A (zh) | 2022-05-09 | 2022-05-09 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114742218A true CN114742218A (zh) | 2022-07-12 |
Family
ID=82284854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210498347.8A Pending CN114742218A (zh) | 2022-05-09 | 2022-05-09 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114742218A (zh) |
WO (1) | WO2023217021A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023217021A1 (zh) * | 2022-05-09 | 2023-11-16 | 清华大学 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117558320B (zh) * | 2024-01-09 | 2024-03-26 | 华中科技大学 | 一种基于忆阻交叉阵列的读写电路 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751199A (zh) * | 2019-10-15 | 2020-02-04 | 南京航空航天大学 | 一种基于贝叶斯神经网络的卫星异常检测方法 |
CN110956256B (zh) * | 2019-12-09 | 2022-05-17 | 清华大学 | 利用忆阻器本征噪声实现贝叶斯神经网络的方法及装置 |
CN113191402B (zh) * | 2021-04-14 | 2022-05-20 | 华中科技大学 | 基于忆阻器的朴素贝叶斯分类器设计方法、系统及分类器 |
CN113505887B (zh) * | 2021-09-12 | 2022-01-04 | 浙江大学 | 一种针对忆阻器误差的忆阻器存储器神经网络训练方法 |
CN114742218A (zh) * | 2022-05-09 | 2022-07-12 | 清华大学 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
-
2022
- 2022-05-09 CN CN202210498347.8A patent/CN114742218A/zh active Pending
-
2023
- 2023-05-06 WO PCT/CN2023/092461 patent/WO2023217021A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023217021A1 (zh) * | 2022-05-09 | 2023-11-16 | 清华大学 | 基于忆阻器阵列的数据处理方法和数据处理装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023217021A1 (zh) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11348002B2 (en) | Training of artificial neural networks | |
CN109800870B (zh) | 一种基于忆阻器的神经网络在线学习系统 | |
US10708522B2 (en) | Image sensor with analog sample and hold circuit control for analog neural networks | |
Yakopcic et al. | Memristor crossbar deep network implementation based on a convolutional neural network | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
CN112183739A (zh) | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 | |
CN114742218A (zh) | 基于忆阻器阵列的数据处理方法和数据处理装置 | |
CN113077829B (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
CN111656368A (zh) | 硬件加速的离散式神经网络 | |
AU2020274862B2 (en) | Training of artificial neural networks | |
Fumarola et al. | Accelerating machine learning with non-volatile memory: Exploring device and circuit tradeoffs | |
CN110807519A (zh) | 基于忆阻器的神经网络的并行加速方法及处理器、装置 | |
CN112825153A (zh) | 神经网络系统中数据处理的方法、神经网络系统 | |
WO2023217027A1 (zh) | 利用基于忆阻器阵列的环境模型的策略优化方法和装置 | |
CN111478703B (zh) | 基于忆阻交叉阵列的处理电路及输出电流的补偿方法 | |
CN114819128A (zh) | 基于忆阻器阵列的贝叶斯神经网络的变分推理方法和装置 | |
CN113837371A (zh) | 用于实现神经网络的神经形态装置和方法 | |
Antolini et al. | Combined HW/SW drift and variability mitigation for PCM-based analog in-memory computing for neural network applications | |
US20230113627A1 (en) | Electronic device and method of operating the same | |
Spoon et al. | Accelerating deep neural networks with analog memory devices | |
CN111461308B (zh) | 忆阻神经网络及权值训练方法 | |
US11556770B2 (en) | Auto weight scaling for RPUs | |
JP2022534380A (ja) | Rpuアレイのためのノイズおよび信号管理 | |
CN115796252A (zh) | 权重写入方法及装置、电子设备和存储介质 | |
CN115458005A (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 |