CN111461308B - 忆阻神经网络及权值训练方法 - Google Patents
忆阻神经网络及权值训练方法 Download PDFInfo
- Publication number
- CN111461308B CN111461308B CN202010293252.3A CN202010293252A CN111461308B CN 111461308 B CN111461308 B CN 111461308B CN 202010293252 A CN202010293252 A CN 202010293252A CN 111461308 B CN111461308 B CN 111461308B
- Authority
- CN
- China
- Prior art keywords
- memristive
- weight matrix
- neural network
- weight
- polymorphic
- 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
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/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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Feedback Control In General (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种忆阻神经网络及权值训练方法,涉及神经网络技术领域。该忆阻神经网络可从硬件层面实现对区间类型数据的处理,而不仅仅局限于通过电脑仿真的高精度权值网络实现数据处理,从而有效避免了因实际硬件设备制作水平受限而导致权值网络精度较低,使得数据处理的准确性较低的问题。其次,采用忆阻器件组成忆阻突触单元,有效利用了忆阻器件体积小、功耗低、集成密度高等优势,从而便于后期进行嵌入式开发应用。另外,通过该训练方法确定忆阻神经网络的权值矩阵,可以通过调整组成各忆阻突触单元的忆阻器件的阻态,来使得忆阻神经网络具有该确定出的权值矩阵,从而使得忆阻神经网络的权值精确度较高,神经网络的样本识别精度较高。
Description
技术领域
本发明涉及神经网络技术领域,具体而言,涉及一种忆阻神经网络及权值训练方法。
背景技术
区间类型数据是不确定信息的一种表达方式。由于测量设备本身的测量误差、环境噪声等因素的影响,测试获取的数据会存在很大的不确定性,例如,在电子侦察领域,对于频率捷变雷达等的侦察,在实际中其载频往往不能给出精确的单一的参数值;在医疗诊断领域,医学人体病理图像会存在模糊的情况;在语音识别领域,同一说话人由于感冒等因素造成的发音变化等等,上述不确定性在很多情况下可以表示成区间类型的形式。因此,开展区间类型数据的处理研究在军民等诸多领域均具有重要的研究意义。
现有技术中,对于区间类型数据的处理,通常采用矢量神经网络方法,在训练网络权值时常采用高精度数值计算或模拟高精度忆阻器的方式进行电脑仿真实现数据处理。
但是,受限于器件制备工艺水平,当前制备的忆阻器件阻值状态的可调能力远未达到期望的高精度,训练得到的网络权值精度较低,从而导致数据处理结果准确性较差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种忆阻神经网络及权值训练方法,以便于解决现有技术中存在的神经网络权值矩阵精度较低,导致数据处理结果准确性较差的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种忆阻神经网络,包括:第一神经元层、第二神经元层、第一权值网络和第二权值网络;其中,所述第一神经元层包括:k个神经元,所述第二神经元层包括:m个神经元;所述第一权值网络包括:第一忆阻突触阵列和第二忆阻突触阵列,所述第一忆阻突触阵列和所述第二忆阻突触阵列分别为n行k列的忆阻突触单元构成的忆阻突触阵列;所述第二权值网络包括:第三忆阻突触阵列和第四忆阻突触阵列,所述第三忆阻突触阵列和所述第四忆阻突触阵列分别为k行m列的忆阻突触单元构成的忆阻突触阵列;
所述第一忆阻突触阵列的n个行线分别用于接收n个第一边界电压,所述第二忆阻突触阵列的n行线分别用于接收n个第二边界电压,每个第一边界电压为一个输入区间数据对应输入电压区间的一个边界电压,每个第二边界电压为所述输入区间数据对应输入电压区间的另一个边界电压;所述第一忆阻突触阵列的k个列线分别连接所述k个神经元的第一输入端,所述第二忆阻突触阵列的k个列线分别连接所述k个神经元的第二输入端;
所述第三忆阻突触阵列的k个行线分别连接所述k个神经元的第一输出端,用以接收所述k个神经元输出的k个电压区间中的第三边界电压,所述第四忆阻突触阵列的k个行线分别连接所述k个神经元的第二输出端,用以接收所述k个神经元输出的k个电压区间中的第四边界电压;所述第三忆阻突触阵列的m个列线分别连接所述m个神经元的第一输入端,所述第四忆阻突触阵列的m个列线分别连接所述m个神经元的第二输入端;
所述m个神经元的输出端用于输出n个输入区间数据对应的m个输出电压区间,m个输出电压区间分别对应m个输出区间数据。
可选地,所述忆阻突触单元包括:至少两个忆阻器件和第一差分器件;所述至少两个忆阻器件的一端均连接对应的行线,所述至少两个忆阻器件的另一端分别连接所述差分器件的输入端,所述第一差分器件的输入端的个数与所述忆阻突触单元中忆阻器件的个数相同。
可选地,所述忆阻突触单元包括:两个忆阻器件,所述第一差分器件为具有正负输入端的差分器件。
可选地,所述第一差分器件为电流减法器,或者,差分放大器件。
可选地,所述神经元包括第二差分器件和神经元激活电路,所述第二差分器件的两个输入端分别连接同一权值网络中两个不同忆阻突触阵列的列线,所述第二差分器件的输出端连接所述神经元激活电路的输入端。
第二方面,本申请实施例还提供了一种忆阻神经网络的权值训练方法,应用于上述第一方面所述的忆阻神经网络,所述方法包括:
将预设的第一初始权值矩阵和第二初始权值矩阵分别转换为对应的第一多态权值矩阵和第二多态权值矩阵,其中,所述第一多态权值矩阵中的元素用于表示所述第一忆阻突触阵列和所述第二忆阻突触阵列中各忆阻突触单元的阻态,所述第二多态权值矩阵中的元素用于表示所述第三忆阻突触阵列和所述第四忆阻突触阵列中各忆阻突触单元的阻态;
根据所述第一多态权值矩阵和所述第二多态权值矩阵,采用所述忆阻神经网络的前向传播算法,获取所述忆阻神经网络对输入的样本区间数据所得到的实际输出区间数据;
根据所述样本区间数据对应的期望输出区间数据和所述实际输出区间数据,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量;
根据所述第一多态权值矩阵和所述第二多态权值矩阵的修正量,分别对所述第一初始权值矩阵和第二初始权值矩阵进行更新;
将更新后的所述第一初始权值矩阵和所述第二初始权值矩阵分别转换为更新后的所述第一多态权值矩阵和所述第二多态权值矩阵;
将满足预设训练条件下所得到的更新后所述第一多态权值矩阵和所述第二多态权值矩阵,确定为所述忆阻神经网络的权值矩阵。
可选地,所述根据所述样本区间数据对应的期望输出区间数据和所述实际输出区间数据,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量,包括:
根据所述期望输出区间数据和所述实际输出区间数据,确定误差矢量;
根据所述误差矢量,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量。
可选地,所述满足预设训练条件包括:达到预设的训练次数,或者,所述忆阻神经网络的识别误差满足预设的误差要求。
第三方面,本申请实施例还提供了一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第二方面所述的忆阻神经网络的权值训练方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第二方面所述的忆阻神经网络的权值训练方法的步骤。
本申请的有益效果是:
本申请提供一种忆阻神经网络及权值训练方法,该忆阻神经网络可从硬件层面实现对区间类型数据的处理,而不仅仅局限于通过电脑仿真的高精度权值网络实现数据处理,从而有效避免了因实际硬件设备制作水平受限而导致权值网络精度较低,使得数据处理的准确性较低的问题。
其次,采用忆阻器件组成忆阻突触单元,有效利用了忆阻器件体积小、功耗低、集成密度高等优势,从而便于后期进行嵌入式开发应用。
另外,通过该训练方法确定忆阻神经网络的权值矩阵,可以通过调整组成各忆阻突触单元的忆阻器件的阻态,来使得忆阻神经网络具有该确定出的权值矩阵,从而使得忆阻神经网络的权值精确度较高,神经网络的样本识别精度较高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种忆阻神经网络架构图;
图2为本申请实施例提供的一种忆阻神经网络示意图;
图3为本申请实施例提供的一种忆阻突触单元的结构示意图;
图4为本申请实施例提供的一种神经元结构示意图;
图5为本申请实施例提供的一种忆阻神经网络架构的权值训练示意图;
图6为本申请实施例提供的一种忆阻神经网络的权值训练方法流程示意图;
图7为本申请实施例提供的一种计算机设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1为本申请实施例提供的一种忆阻神经网络架构图;图2为本申请实施例提供的一种忆阻神经网络示意图。需要说明的是,对于不同的忆阻神经网络,其对应的网络架构图可以是不同,图1为本申请方案中所使用的忆阻神经网络的网络架构图。
请参照图1和图2,忆阻神经网络,可包括:第一神经元层、第二神经元层、第一权值网络和第二权值网络;其中,第一神经元层可包括:k个神经元,第二神经元层可包括:m个神经元;第一权值网络可包括:第一忆阻突触阵列和第二忆阻突触阵列,第一忆阻突触阵列和第二忆阻突触阵列分别为n行k列的忆阻突触单元构成的忆阻突触阵列;第二权值网络可包括:第三忆阻突触阵列和第四忆阻突触阵列,第三忆阻突触阵列和第四忆阻突触阵列分别为k行m列的忆阻突触单元构成的忆阻突触阵列。
可选地,本实施例中,为了便于对该忆阻神经网络进行说明,仅以包含一个第一神经元层的忆阻神经网络进行说明,在实际应用中,忆阻神经网络中包含的第一神经元层的个数可以不做限制,每个第一神经元层的结构是类似的,且有多个第一神经元层时,神经网络的数据处理精度也会有相应的提高。
可选地,第一权值网络WIH T可以为第一神经元层与数据输入层之间的权值网络,第二权值网络WHO T可以为第一神经元层与第二神经元层之间的权值网络。其中,第一权值网络和第二权值网络在硬件层面的组成结构是相同的。第一权值网络和第二权值网络均可包括两个忆阻突触阵列(权值矩阵)。其中,对于第一权值网络中的第一忆阻突触阵列和第二忆阻突触阵列,该两个阵列可以为n*k的阵列,其中,n即为数据输入层中神经元的个数,k为第一神经元层中神经元的个数。也即,两个阵列的行数与数据输入层的神经元个数相同,阵列的列数与第一神经元层的神经元个数相同。对于第二权值网络中的第三忆阻突触阵列和第四忆阻突触阵列,该两个阵列可以为k*m的阵列,其中,k即为第一神经元层中神经元的个数,m为第二神经元层中神经元的个数。也即,两个阵列的行数与第一神经元层的神经元个数相同,阵列的列数与第二神经元层的神经元个数相同。由此可以使得数据输入层中输入的n个数据可以作为第一权值网络的输入数据,与第一权值网络进行运算,而运算得到的结果包含k个数据,在第一神经元层中对该k个数据进行处理后输出,输出的k个处理后数据又可以作为第二神权值网络的输入数据,与第二权值网络进行运算,运算结果包括m个数据,在第二神经元层中对该m个数据进行处理后最终输出。从而使得该神经网络可以对输入的所有数据进行处理,避免了数据浪费,导致处理结果的覆盖率较低。
第一忆阻突触阵列的n个行线分别用于接收n个第一边界电压,第二忆阻突触阵列的n行线分别用于接收n个第二边界电压,每个第一边界电压为一个输入区间数据对应输入电压区间的一个边界电压,每个第二边界电压为输入区间数据对应输入电压区间的另一个边界电压;第一忆阻突触阵列的k个列线分别连接k个神经元的第一输入端,第二忆阻突触阵列的k个列线分别连接k个神经元的第二输入端。
需要说明的是,鉴于现有技术中的神经网络不能对区间类型数据进行处理,而对于区间类型数据的研究具有重大意义,故为了解决现有技术中存在的上述缺陷,本申请的方案可以用于对区间类型数据进行处理。
本实施例中,输入的数据均为区间类型数据。需要说明的是,区间类型数据是不确定信息的一种表达方式。由于测量设备本身的测量误差、环境噪声等因素的影响,测试获取的数据会存在很大的不确定性,例如,在电子侦察领域,对于频率捷变雷达等的侦察,在实际中其载频往往不能给出精确的单一的参数值;在医疗诊断领域,医学人体病理图像会存在模糊的情况;在语音识别领域,同一说话人由于感冒等因素造成的发音变化等等,上述不确定性在很多情况下可以表示成区间类型的形式。也即,区间类型数据为非单一数据,其可以用一个区间来表示一个数据,例如:区间类型数据A为:[a,b]。其中,a和b可以为区间的边界值。
在一些实施例中,第一权值网络中的第一忆阻突触阵列的n个行线分别用来接收对应的输入区间数据中的n个第一边界值,第二忆阻突触阵列的n个行线分别用来接收对应的输入区间数据中的n个第二边界值。其中,第一边界值可以为区间类型数据的上限或者是下限。当第一边界值为上限时,第二边界值为下限,当第一边界值为下限时,第二边界值为上限。例如:n个输入区间数据分别为A1[a1,b1],A2[a2,b2],A3[a3,b3],A4[a4,b4]......An[an,bn],那么,第一忆阻突触阵列的n个行线分别用来接收a1,a2,a3,a4......an,第二忆阻突触阵列的n个行线分别用来接收b1,b2,b3,b4......bn,或者,第一忆阻突触阵列的n个行线分别用来接收b1,b2,b3,b4......bn,第二忆阻突触阵列的n个行线分别用来接收a1,a2,a3,a4......an。
需要说明的是,在将输入区间数据通过数据输入层输入至第一权值网络之前,还需对输入区间数据进行转换,以将样本数据转换为对应的电压数据,从而根据电压数据与第一权值网络中的第一忆阻突触阵列和第二忆阻突触阵列进行运算。需要说明的是,对于每一个样本数据,其均可以表示为多个区间数据,该多个区间矢量数据的个数与数据输入层的神经元个数相同,也即为n个,对于一次完整的神经网络训练过程,其可以包括n次训练,每次对输入的一个样本数据进行训练,也即对输入的该一个样本数据中包括的n个区间数据进行训练。继续以上述为例,假设n个区间数据为A1[a1,b1],A2[a2,b2],A3[a3,b3],A4[a4,b4],An[an,bn],那么在输入至第一权值网络之前,需要进行电压转换,例如,转化得到电压数据V1[V1 1,V1 2],V2[V2 1,V2 2],V3[V3 1,V3 2],V4[V4 1,V4 2]......Vn[Vn 1,Vn 2],也即如图1中分别输入至第一忆阻突触阵列和第二忆阻突触阵列中的电压值。
另外,第一忆阻突触阵列的k个列线分别连接第一神经元层的k个神经元的第一输入端,第二忆阻突触阵列的k个列线分别连接第一神经元层的k个神经元的第二输入端。以使第一忆阻突触阵列的输出、以及第二忆阻突触阵列的输出作为输入数据,输入至第一神经元层中对应的神经元中。
第三忆阻突触阵列的k个行线分别连接k个神经元的第一输出端,用以接收k个神经元输出的k个电压区间中的第三边界电压,第四忆阻突触阵列的k个行线分别连接k个神经元的第二输出端,用以接收k个神经元输出的k个电压区间中的第四边界电压;第三忆阻突触阵列的m个列线分别连接m个神经元的第一输入端,第四忆阻突触阵列的m个列线分别连接m个神经元的第二输入端。
同样的,对于第二权值网络的具体结构、以及第二权值网络中第三忆阻突触阵列和第四忆阻突触阵列行线和列线的连接方式,与第一权值网络中第一忆阻突触阵列和第二忆阻突触阵列行线和列线的连接方式类似,可以对照上述对第一忆阻突触阵列和第二忆阻突触阵列的具体解释进行理解,此处不再一一赘述。
可选地,本方案中的每个忆阻突触阵列均可基于基尔霍夫定律,实现与输入区间数据的乘累加模拟运算的功能。
m个神经元的输出端用于输出n个输入区间数据对应的m个输出电压区间,m个输出电压区间分别对应m个输出区间数据。
可选地,第二神经元层中m个神经元的输出端用于输出最终的计算结果,也即,如图2中所示,输出与n个输入区间数据V1[V1 1,V1 2],V2[V2 1,V2 2],V3[V3 1,V3 2],V4[V4 1,V4 2]......Vn[Vn 1,Vn 2]对应的m个输出电压区间数据V1’[V1’ 1,V1’ 2],V2’[V2’ 1,V2’ 2],V3’[V3’ 1,V3’ 2],V4’[V4’ 1,V4’ 2]......Vm’[Vm’ 1,Vm’ 2],在网络层面来说,该m个输出电压区间数据可对应转换为m个输出区间数据,而在逻辑计算层面来说,其输出的数据就是电压数据。
综上所述,本实施例提供的忆阻神经网络,包括:第一神经元层、第二神经元层、第一权值网络和第二权值网络;其中,第一神经元层可包括:k个神经元,第二神经元层可包括:m个神经元;第一权值网络可包括:第一忆阻突触阵列和第二忆阻突触阵列,第一忆阻突触阵列和第二忆阻突触阵列分别为n行k列的忆阻突触单元构成的忆阻突触阵列;第二权值网络可包括:第三忆阻突触阵列和第四忆阻突触阵列,第三忆阻突触阵列和第四忆阻突触阵列分别为k行m列的忆阻突触单元构成的忆阻突触阵列。第一忆阻突触阵列的n个行线分别用于接收n个第一边界电压,第二忆阻突触阵列的n行线分别用于接收n个第二边界电压,每个第一边界电压为一个输入区间数据对应输入电压区间的一个边界电压,每个第二边界电压为输入区间数据对应输入电压区间的另一个边界电压;第一忆阻突触阵列的k个列线分别连接k个神经元的第一输入端,第二忆阻突触阵列的k个列线分别连接k个神经元的第二输入端。第三忆阻突触阵列的k个行线分别连接k个神经元的第一输出端,用以接收k个神经元输出的k个电压区间中的第三边界电压,第四忆阻突触阵列的k个行线分别连接k个神经元的第二输出端,用以接收k个神经元输出的k个电压区间中的第四边界电压;第三忆阻突触阵列的m个列线分别连接m个神经元的第一输入端,第四忆阻突触阵列的m个列线分别连接m个神经元的第二输入端。m个神经元的输出端用于输出n个输入区间数据对应的m个输出电压区间,m个输出电压区间分别对应m个输出区间数据。基于构建的该忆阻神经网络可从硬件层面实现对区间类型数据的处理,而不仅仅局限于通过电脑仿真的高精度权值网络实现数据处理,从而有效避免了因实际硬件设备制作水平受限而导致权值网络精度较低,使得数据处理的准确性较低的问题。
忆阻突触单元(如图1中忆阻突触阵列中的小方框)可包括:至少两个忆阻器件和第一差分器件;至少两个忆阻器件的一端均连接对应的行线,至少两个忆阻器件的另一端分别连接差分器件的输入端,第一差分器件的输入端的个数与忆阻突触单元中忆阻器件的个数相同。在一些实施例中,上述的第一忆阻突触阵列、第二忆阻突触阵列、第三忆阻突触阵列以及第四忆阻突触阵列中的每个元素均可对应于一个忆阻突触单元。例如,对于第一忆阻突触阵列,其为n*k的阵列,那么其可以由n*k个忆阻突触单元组成。
本实施例中,每个忆阻突触单元可包括至少两个忆阻器件和第一差分器件,其中,两个忆阻器件可以为并列连接,两个忆阻器件的输入端均连接对应的行线,输出端均连接至第一差分器件。需要说明的是,忆阻器件均为二值型忆阻器件,具有高阻态和低阻态,通过至少两个忆阻器件以及第一差分器件组成忆阻突触阵列,通过调整每个忆阻器件的状态,可以使得生成的每个忆阻突触阵列为多态阵列,也即,阵列中每个元素取值可以为0,1,-1甚至是其他数据。从而有效提高了忆阻突触阵列的精度。而当每个忆阻突触单元仅包括一个忆阻器件时,对应生成的忆阻突触阵列则只有两个态,也即,阵列中每个元素取值仅可能是0或者1。
另外,需要说明的是,本实施例中采用忆阻器件来组成忆阻突触单元,有效利用了忆阻器件体积小、功耗低、集成密度高等优势,从而便于后期进行嵌入式开发应用。
图3为本申请实施例提供的一种忆阻突触单元的结构示意图。可选地,如图3所示,可选地,忆阻突触单元包括:两个忆阻器件,第一差分器件为具有正负输入端的差分器件。
需要说明的是,图3中仅示例性的示出了包含两个忆阻器件的忆阻突触单元的结构示意图,当有多个忆阻器件时,多个忆阻器件的连接方式与该两个忆阻器件的连接方式相同。
需要说明的是,当每个忆阻突触单元包括大于两个忆阻器件时,虽然对于组成的忆阻突触阵列的精度有所提高,但是同时也会带来一定的资源浪费。如图1中所示,本实施例中每个忆阻突触单元是包括两个忆阻器件,两个忆阻器件通过组合的方式实现‘-1’、‘0’、‘1’三种不同的逻辑权值,例如图3中所示的忆阻突触单元实现的三种不同阻值状态a、b、c,通过调整每个忆阻突触单元中两个忆阻器件的阻态(处于高阻态ROFF或者低阻态RON),以使得每个忆阻突触单元对应不同的阻值(-1或0或1),从而使得生成的忆阻突触阵列中的元素的取值为‘-1’、或‘0’或‘1’。也即,本实施例中,通过采用较少的忆阻器件组成忆阻突触单元,在保证忆阻突触阵列精度的同时,还较节约资源。
可选地,第一差分器件为具有正负输入端的差分器件。两个忆阻器件的输出端分别连接第一差分器件的正负输入端。通过对两个忆阻器件在不同阻态下所对应的阻值进行差分处理,以得到每个忆阻突触单元对应的元素值。
可选地,第一差分器件为电流减法器,或者,差分放大器件。可基于差分放大电路实现运算。
可选地,上述第一忆阻突触阵列、第三忆阻突触阵列可为正权值阵列,也即,阵列中每个元素取值为0或者1,第二忆阻突触阵列、第四忆阻突触阵列可为负权值阵列,也即阵列中每个元素的取值为-1。从而可以分别对正值数据和负值数据进行累加运算,以提高计算结果的数据覆盖率。
图4为本申请实施例提供的一种神经元结构示意图。可选地,如图4所示,神经元可包括第二差分器件和神经元激活电路,第二差分器件的两个输入端分别连接同一权值网络中两个不同忆阻突触阵列的列线,第二差分器件的输出端连接神经元激活电路的输入端。
在一些实施例中,第一神经元层和第二神经元层中的每个神经元均包括第二差分器件和神经元激活电路,用于实现电流处理以及激活函数的功能。其中,第二差分器件可以和第一差分器件类似,均为电流减法器或者差分放大器件。
综上所述,本实施例提供的忆阻神经网络,基于构建的该忆阻神经网络可从硬件层面实现对区间类型数据的处理,而不仅仅局限于通过电脑仿真的高精度权值网络实现数据处理,从而有效避免了因实际硬件设备制作水平受限而导致权值网络精度较低,使得数据处理的准确性较低的问题。
另外,本实施例中采用忆阻器件来组成忆阻突触单元,有效利用了忆阻器件体积小、功耗低、集成密度高等优势,从而便于后期进行嵌入式开发应用。
图5为本申请实施例提供的一种忆阻神经网络架构的权值训练示意图,图6为本申请实施例提供的一种忆阻神经网络的权值训练方法流程示意图,该方法应用于上述实施例中的忆阻神经网络,该方法的执行主体可以是计算机等具备数据处理计算功能的设备。如图6所示,该方法可包括:
S101、将预设的第一初始权值矩阵和第二初始权值矩阵分别转换为对应的第一多态权值矩阵和第二多态权值矩阵。
其中,第一多态权值矩阵中的元素用于表示第一忆阻突触阵列和第二忆阻突触阵列中各忆阻突触单元的阻态,第二多态权值矩阵中的元素用于表示第三忆阻突触阵列和第四忆阻突触阵列中各忆阻突触单元的阻态。
需要说明的是,上述忆阻神经网络能够实现识别和训练两个方面的功能。所谓识别过程,即依据训练好的第一权值网络和第二权值网络,利用网络架构实现样本数据的分类识别的过程;所谓训练过程,即根据训练样本,通过计算实际输出与期望输出之间的误差,不断调整第一权值网络和第二权值网络中各权值的过程,目的是实现神经网络架构中权值的更新。由此可知,训练过程包含识别过程。该忆阻神经网络架构的训练过程如图5所示。
如图2所示,分别为与/>(第一忆阻突触阵列和第二忆阻突触阵列)、(第三忆阻突触阵列和第四忆阻突触阵列)对应的反向传播过程中的忆阻突触阵列;训练样本对为{(xp;dp),p=1,2,...N},其中,xp表示第p个训练样本,dp为与第p个训练样本相对应的忆阻神经网络的期望输出,dp=[dp1,dp2,...,dpm],且dpi∈{0,1};Epi为样本xp的第i路(第二神经元层的第i个神经元)期望输出dpi与实际输出ypi的误差。每个神经元的输入用net=[netL,netU]来表示,则输出可以表示为f(net)=[f(netL),f(netU)],本实施例中,激活函数f为sigmoid函数,[Sigmoid]函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的激活函数,将变量映射到0,1之间。从图5也可以看出,忆阻神经网络架构的训练过程包括前向传播和后向传播两个部分,其中,前向传播对应于上述的识别过程。
下面对本实施例中的忆阻神经网络权值的具体训练过程进行详细说明。
第一步:初始化权值矩阵,可选地,为了使得忆阻神经网络能够实现训练过程,本实施例中会先通过生成随机数的方式,得到预设的第一初始权值矩阵和第二初始权值矩阵,其中,第一初始权值矩阵和第二初始权值矩阵中的各元素值可以根据预设的数值取值范围来限定。并通过四舍五入的方法,对第一初始权值矩阵和第二初始权值矩阵中的各元素进行处理,以得到对应的第一多态权值矩阵和第二多态权值矩阵。
需要说明的是,当上述的忆阻突触单元由大于两个忆阻器件组成时,对预设的第一初始权值矩阵和第二初始权值矩阵进行转换后,得到的则为对应的第一多态权值矩阵和第二多态权值矩阵。本实施例中以忆阻突触单元包括两个忆阻器件为例进行说明,那么,对预设的第一初始权值矩阵和第二初始权值矩阵进行转换后,得到的则为对应的第一三态权值矩阵和第二三态权值矩阵。其中,第一三态权值矩阵,也即对应于图1中的第一忆阻突触阵列和第二忆阻突触阵列;而第二三态权值矩阵对应于图1中第三忆阻突触阵列和第四忆阻突触阵列。其中,第一忆阻突触阵列和第二忆阻突触阵列、以及第三忆阻突触阵列和第四忆阻突触阵列中各元素取值均为-1,或者0,或1。
可选地,在生成第一初始权值矩阵和第二初始权值矩阵时,可以设置该两个阵列中各元素的取值范围为-1~1,从而在该取值范围内通过生成随机数的方法,得到对应的多个元素值,以得到预设的第一初始权值矩阵和第二初始权值矩阵,从而使得对第一初始权值矩阵和第二初始权值矩阵进行初始化后,得到的初始化后的权值矩阵中各元素的取值为-1或0或1。
S102、根据第一多态权值矩阵和第二多态权值矩阵,采用忆阻神经网络的前向传播算法,获取忆阻神经网络对输入的样本区间数据所得到的实际输出区间数据。
可选地,可以采用前向传播算法,根据公式(1)-(3)计算获得网络的实际输出区间数据yp。
其中,ypi表示第二神经元层的第i路输出,i=1,2,...m,m为第二神经元层神经元的个数,也即为输出类别的个数。
上式中,为第一神经元层与第二神经元层的第二权值网络中包含的第三忆阻突触阵列和第四忆阻突触阵列的元素。Zpj L为第一神经元层的输出区间数据的下限,Zpj U为第一神经元层的输出区间数据的上限,通过上述计算可得到实际输出区间数据yp。
S103、根据样本区间数据对应的期望输出区间数据和实际输出区间数据,确定第一多态权值矩阵和第二多态权值矩阵的修正量。
可选地,可根据期望输出区间数据和实际输出区间数据,确定误差矢量;根据误差矢量,确定第一多态权值矩阵和第二多态权值矩阵的修正量。
可选地,基于期望输出区间数据dp和实际输出区间数据yp,计算得到输出误差矢量Ep,并进一步地通过对输出误差矢量Ep求偏导,以得到第一多态权值矩阵和第二多态权值矩阵/>的修正量/>和/>其中,对于输出误差矢量Ep的计算,以及修正量/>和/>的计算均可采用现有的公式进行计算,本实施例中仅对公式进行了直接应用,具体的计算公式此处不再列举。
S104、根据第一多态权值矩阵和第二多态权值矩阵的修正量,分别对第一初始权值矩阵和第二初始权值矩阵进行更新。
S105、将更新后的第一初始权值矩阵和第二初始权值矩阵分别转换为更新后的第一多态权值矩阵和第二多态权值矩阵。
可选地,基于权值矩阵修正量和/>可对第一初始权值矩阵/>和第二初始权值矩阵/>分别进行更新,即:/> 其中,t为当前结果,t-1表示上一次的结果。并同样的利用四舍五入方法将更新后的第一初始权值矩/>和第二初始权值矩阵映射为与之对应的更新后的第一多态化权值矩阵和第二多态权值矩阵,假设更新后的第一多态化权值矩阵和第二多态权值矩阵分别为第一三态化权值矩阵和第二三态权值矩阵,那么,矩阵元素的值则为-1或0或1。
S106、将满足预设训练条件下所得到的更新后第一多态权值矩阵和第二多态权值矩阵,确定为忆阻神经网络的权值矩阵。
可选地,重复执行上述步骤S101至S105,直到满足预设训练条件后,停止训练,并将当前得到的第一多态权值矩阵和第二多态权值矩阵,确定为忆阻神经网络的权值矩阵。
需要说明的是,在确定出忆阻神经网络的权值矩阵后,也即确定了上述多个忆阻突触阵列中的各元素的取值,那么可以通过调整组成各忆阻突触单元的忆阻器件的阻态,来使得构成的忆阻神经网络具有该确定出的权值矩阵。从而使得忆阻神经网络的权值网络精确度较高,采用该神经网络进行样本识别分类,具有较高的识别效果。
可选地,满足预设训练条件包括:达到预设的训练次数,或者,忆阻神经网络的识别误差满足预设的误差要求。
在一些实施例中,可以通过判断训练次数是否满足预设训练次数,例如,预设训练次数为5,当判断当前训练次数满足5次时,停止训练。或者是判断上述得到的输出误差矢量Ep是否满足预设值,例如:预设值为0.2,那么也即判断当前的输出误差矢量Ep是否小于0.2,当小于0.2时,则认为训练结束。
综上,本申请实施例提供的一种忆阻神经网络权值训练方法,该方法包括:将预设的第一初始权值矩阵和第二初始权值矩阵分别转换为对应的第一多态权值矩阵和第二多态权值矩阵,其中,第一多态权值矩阵中的元素用于表示第一忆阻突触阵列和第二忆阻突触阵列中各忆阻突触单元的阻态,第二多态权值矩阵中的元素用于表示第三忆阻突触阵列和第四忆阻突触阵列中各忆阻突触单元的阻态;根据第一多态权值矩阵和第二多态权值矩阵,采用忆阻神经网络的前向传播算法,获取忆阻神经网络对输入的样本区间数据所得到的实际输出区间数据;根据样本区间数据对应的期望输出区间数据和实际输出区间数据,确定第一多态权值矩阵和第二多态权值矩阵的修正量;根据第一多态权值矩阵和第二多态权值矩阵的修正量,分别对第一初始权值矩阵和第二初始权值矩阵进行更新;将更新后的第一初始权值矩阵和第二初始权值矩阵分别转换为更新后的第一多态权值矩阵和第二多态权值矩阵;将满足预设训练条件下所得到的更新后第一多态权值矩阵和第二多态权值矩阵,确定为忆阻神经网络的权值矩阵。通过该方法训练并确定忆阻神经网络的权值矩阵后,可以通过调整组成各忆阻突触单元的忆阻器件的阻态,来使得构成的忆阻神经网络具有该确定出的权值矩阵。从而使得忆阻神经网络的权值网络精确度较高,采用该神经网络进行样本识别分类,具有较高的识别效果。
图7为本申请实施例提供的一种计算机设备示意图,该计算机设备可以是终端或服务器,该设备可包括:处理器701、存储器702。
存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (9)
1.一种忆阻神经网络,其特征在于,包括:第一神经元层、第二神经元层、第一权值网络和第二权值网络;其中,所述第一神经元层包括:k个神经元,所述第二神经元层包括:m个神经元;所述第一权值网络包括:第一忆阻突触阵列和第二忆阻突触阵列,所述第一忆阻突触阵列和所述第二忆阻突触阵列分别为n行k列的忆阻突触单元构成的忆阻突触阵列;所述第二权值网络包括:第三忆阻突触阵列和第四忆阻突触阵列,所述第三忆阻突触阵列和所述第四忆阻突触阵列分别为k行m列的忆阻突触单元构成的忆阻突触阵列;
所述第一忆阻突触阵列的n个行线分别用于接收n个第一边界电压,所述第二忆阻突触阵列的n行线分别用于接收n个第二边界电压,每个第一边界电压为一个输入区间数据对应输入电压区间的一个边界电压,每个第二边界电压为所述输入区间数据对应输入电压区间的另一个边界电压;所述第一忆阻突触阵列的k个列线分别连接所述k个神经元的第一输入端,所述第二忆阻突触阵列的k个列线分别连接所述k个神经元的第二输入端;
所述第三忆阻突触阵列的k个行线分别连接所述k个神经元的第一输出端,用以接收所述k个神经元输出的k个电压区间中的第三边界电压,所述第四忆阻突触阵列的k个行线分别连接所述k个神经元的第二输出端,用以接收所述k个神经元输出的k个电压区间中的第四边界电压;所述第三忆阻突触阵列的m个列线分别连接所述m个神经元的第一输入端,所述第四忆阻突触阵列的m个列线分别连接所述m个神经元的第二输入端;
所述m个神经元的输出端用于输出n个输入区间数据对应的m个输出电压区间,m个输出电压区间分别对应m个输出区间数据;
所述忆阻突触单元包括:至少两个忆阻器件和第一差分器件;所述至少两个忆阻器件的一端均连接对应的行线,所述至少两个忆阻器件的另一端分别连接所述第一差分器件的输入端,所述第一差分器件的输入端的个数与所述忆阻突触单元中忆阻器件的个数相同。
2.根据权利要求1所述的忆阻神经网络,其特征在于,所述忆阻突触单元包括:两个忆阻器件,所述第一差分器件为具有正负输入端的差分器件。
3.根据权利要求2所述的忆阻神经网络,其特征在于,所述第一差分器件为电流减法器,或者,差分放大器件。
4.根据权利要求1所述的忆阻神经网络,其特征在于,所述神经元包括第二差分器件和神经元激活电路,所述第二差分器件的两个输入端分别连接同一权值网络中两个不同忆阻突触阵列的列线,所述第二差分器件的输出端连接所述神经元激活电路的输入端。
5.一种忆阻神经网络的权值训练方法,其特征在于,应用于上述权利要求1-4中任一所述的忆阻神经网络,所述方法包括:
将预设的第一初始权值矩阵和第二初始权值矩阵分别转换为对应的第一多态权值矩阵和第二多态权值矩阵,其中,所述第一多态权值矩阵中的元素用于表示所述第一忆阻突触阵列和所述第二忆阻突触阵列中各忆阻突触单元的阻态,所述第二多态权值矩阵中的元素用于表示所述第三忆阻突触阵列和所述第四忆阻突触阵列中各忆阻突触单元的阻态;
根据所述第一多态权值矩阵和所述第二多态权值矩阵,采用所述忆阻神经网络的前向传播算法,获取所述忆阻神经网络对输入的样本区间数据所得到的实际输出区间数据;
根据所述样本区间数据对应的期望输出区间数据和所述实际输出区间数据,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量;
根据所述第一多态权值矩阵和所述第二多态权值矩阵的修正量,分别对所述第一初始权值矩阵和第二初始权值矩阵进行更新;
将更新后的所述第一初始权值矩阵和所述第二初始权值矩阵分别转换为更新后的所述第一多态权值矩阵和所述第二多态权值矩阵;
将满足预设训练条件下所得到的更新后所述第一多态权值矩阵和所述第二多态权值矩阵,确定为所述忆阻神经网络的权值矩阵。
6.根据权利要求5所述的方法,其特征在于,所述根据所述样本区间数据对应的期望输出区间数据和所述实际输出区间数据,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量,包括:
根据所述期望输出区间数据和所述实际输出区间数据,确定误差矢量;
根据所述误差矢量,确定所述第一多态权值矩阵和所述第二多态权值矩阵的修正量。
7.根据权利要求5所述的方法,其特征在于,所述满足预设训练条件包括:达到预设的训练次数,或者,所述忆阻神经网络的识别误差满足预设的误差要求。
8.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求5至7任一所述的忆阻神经网络的权值训练方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求5至7任一所述的忆阻神经网络的权值训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293252.3A CN111461308B (zh) | 2020-04-14 | 2020-04-14 | 忆阻神经网络及权值训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293252.3A CN111461308B (zh) | 2020-04-14 | 2020-04-14 | 忆阻神经网络及权值训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461308A CN111461308A (zh) | 2020-07-28 |
CN111461308B true CN111461308B (zh) | 2023-06-30 |
Family
ID=71681782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010293252.3A Active CN111461308B (zh) | 2020-04-14 | 2020-04-14 | 忆阻神经网络及权值训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461308B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113178219B (zh) * | 2021-04-08 | 2023-10-20 | 电子科技大学 | 一种应用于图像识别领域的忆阻器感存算一体电路结构 |
CN113570048B (zh) * | 2021-06-17 | 2022-05-31 | 南方科技大学 | 基于电路仿真的忆阻器阵列神经网络的构建及优化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198691B2 (en) * | 2014-06-19 | 2019-02-05 | University Of Florida Research Foundation, Inc. | Memristive nanofiber neural networks |
CN109416758A (zh) * | 2016-06-09 | 2019-03-01 | 前进公司 | 神经网络及神经网络训练的方法 |
CN106779059B (zh) * | 2016-12-30 | 2019-03-05 | 华中科技大学 | 一种基于忆阻的巴普洛夫联想记忆的人工神经网络电路 |
JP6724869B2 (ja) * | 2017-06-19 | 2020-07-15 | 株式会社デンソー | 多層ニューラルネットワークのニューロンの出力レベル調整方法 |
-
2020
- 2020-04-14 CN CN202010293252.3A patent/CN111461308B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111461308A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111656368B (zh) | 硬件加速的离散式神经网络 | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
Cheng et al. | TIME: A training-in-memory architecture for RRAM-based deep neural networks | |
WO2018228424A1 (zh) | 一种神经网络训练方法和装置 | |
JP2021500646A (ja) | 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) | |
WO2018140294A1 (en) | Neural network based on fixed-point operations | |
CN110674933A (zh) | 用于提高神经网络推断准确度的流水线技术 | |
US11087204B2 (en) | Resistive processing unit with multiple weight readers | |
CN111461308B (zh) | 忆阻神经网络及权值训练方法 | |
JP2023041581A (ja) | メモリスタ誤差に対するメモリスタメモリニューラルネットワークトレーニング方法 | |
US20210383203A1 (en) | Apparatus and method with neural network | |
Cai et al. | Training low bitwidth convolutional neural network on RRAM | |
US20210097388A1 (en) | Method for Realizing a Neural Network | |
TWI737228B (zh) | 基於記憶體內運算電路架構之量化方法及其系統 | |
KR20240025523A (ko) | 깊이별 CNN(convolutional neural network)을 지원하는 CIM(computation in memory) 아키텍처 및 데이터 흐름 | |
Wei et al. | A relaxed quantization training method for hardware limitations of resistive random access memory (ReRAM)-based computing-in-memory | |
Abdulsalam et al. | Electrical energy demand forecasting model using artificial neural network: A case study of Lagos State Nigeria | |
CN114742218A (zh) | 基于忆阻器阵列的数据处理方法和数据处理装置 | |
CN114267422B (zh) | 地表水质参数预测方法、系统、计算机设备及存储介质 | |
Wang et al. | Deep neural network mapping and performance analysis on tiled rram architecture | |
US20220019876A1 (en) | Pulse generation for updating crossbar arrays | |
Jiang et al. | Single-shot pruning and quantization for hardware-friendly neural network acceleration | |
CN112801362B (zh) | 一种基于人工神经网络与lstm网络的学业预警方法 | |
US20240143541A1 (en) | Compute in-memory architecture for continuous on-chip learning | |
US20220342736A1 (en) | Data processing circuit and fault-mitigating method |
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 |