CN111582461B - 神经网络训练方法、装置、终端设备和可读存储介质 - Google Patents
神经网络训练方法、装置、终端设备和可读存储介质 Download PDFInfo
- Publication number
- CN111582461B CN111582461B CN202010438307.5A CN202010438307A CN111582461B CN 111582461 B CN111582461 B CN 111582461B CN 202010438307 A CN202010438307 A CN 202010438307A CN 111582461 B CN111582461 B CN 111582461B
- Authority
- CN
- China
- Prior art keywords
- neuron
- sub
- input
- memristor
- synapse
- 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/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
Abstract
本发明实施例公开了一种神经网络训练方法、装置、终端设备和可读存储介质,应用于忆阻器脉冲神经网络,忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,该方法包括:根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;将第lc个子区域内的每一个最小单元对应输入至一个输入神经元;根据第lc个子区域对应的输入神经元以及与对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;将第lc个局部连接子网络作为最小训练单元进行训练。本方案避免构造复杂的硬件连接网络,解决硬件实现上存在功效低、资源开销大和电路实现复杂等问题。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种神经网络训练方法、装置、终端设备和可读存储介质。
背景技术
大数据时代,人工智能(artificial intelligence,AI)技术飞速发展以满足近年来海量数据处理的迫切需求。以忆阻器(Memristor)为物理基础、脉冲神经网络(SpikingNeural Networks,SNNs)为算法基础的忆阻器脉冲神经网络提供了一种高功效的类脑计算方案。忆阻器是一种两端口非易失性存储器件,其阻态可通过施加在其两端的电压或流经的电流改变,具有高集成密度和极低操作功耗;脉冲神经网络是一种生物启发的新型网络,通过具有时空信息的脉冲信号在神经元之间传递信息,在网络功效上有巨大潜力。由于被证明具有类似生物大脑中的突触可塑性(Spike-timing-dependent plasticity,STDP)特性,忆阻器可以作为突触单元应用于SNNs中,实现接近于生物大脑功效和性能的类脑计算系统。
目前忆阻器神经网络在硬件实现上存在功效低、资源开销大和电路实现复杂等问题。
发明内容
鉴于上述问题,本发明提出一种神经网络训练方法、装置、终端设备和可读存储介质。
本发明第一个实施例提出一种神经网络训练方法,应用于忆阻器脉冲神经网络,所述忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,该方法包括:
根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;
将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元;
根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;
将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;
将所述第lc个局部连接子网络作为最小训练单元进行训练。
上述实施例所述的神经网络训练方法,所述根据预设的区域划分规则将待输入至输入神经元的数据样本划分为LC个子区域,包括:
根据以下公式将所述数据样本划分为LC个子区域:
所述子区域的数目为LC=knum1*knum2,knum1代表所述子区域的行数,knum2代表所述子区域的列数;
knum1=floor(K1-ksize1,kstride)+1,K1代表所述数据样本中每行的最小单元数量,ksize1代表预设的所述子区域中每行的最小单元数量;
knum2=floor(K2-ksize2,kstride)+1,K2代表所述数据样本中每列的最小单元数量,ksize2代表预设的所述子区域中每列的最小单元数量;
kstride代表预设的每一个子区域所移动的步长,floor()代表向下取整函数。
上述实施例所述的神经网络训练方法,所述将所述第lc个局部连接子网络作为最小训练单元进行训练,包括:
根据所述隐层神经元的自适应激活触发突触权值进行原位更新;
利用忆阻器非线性电导响应特性调节所述原位更新的速度。
本发明第二个实施例提出的一种神经网络训练方法,所述隐层神经元的自适应激活,包括:
根据第lc个局部连接子网络中同一层的各个隐层神经元的输入电信号计算平均电信号;
将所述平均电信号注入到所述各个隐层神经元;
控制相应的输入电信号大于所述平均电信号的隐层神经元依次放电;
根据各个放电的隐层神经元的放电次序,确定所述各个放电的隐层神经元的激活状态。
本发明第三个实施例提出的一种神经网络训练方法,所述原位更新,包括:
在小信号获取时期,获取所述突触的前一神经元的输出端和后一神经元的输出端确定的小信号;
在权值原位更新时期,根据所述前一神经元的输出端确定的小信号确定所述突触前端的第一驱动脉冲串;
根据输入神经元产生的初始驱动脉冲和所述后一神经元的输出端确定的小信号确定所述突触后端的第二驱动脉冲串;
当所述第一驱动脉冲串与所述第二驱动脉冲串的电势差幅值大于等于所述忆阻器的偏置电压时,更新突触权值。
上述实施例所述的神经网络训练方法,确定所述突触的前一神经元的输出端和后一神经元的输出端的小信号,包括:
当所述前一神经元是所述输入神经元时,则根据输入至所述输入神经元的所述最小单元将所述小信号确定为正或负;
当所述前一神经元或所述后一神经元是隐层神经元时,则根据所述隐层神经元的激活状态将所述小信号确定为正或零;
当所述后一神经元是输出神经元时,则根据所述输出神经元获取的监督信号将所述小信号确定为正或零。
本发明第四个实施例提出的一种神经网络训练方法,所述利用忆阻器非线性电导响应特性调节所述原位更新的速度,包括:
根据所述忆阻器的实时电导值计算突触实时权值;
获取所述忆阻器的电导的非线性评估值;
根据所述非线性评估值确定对应的非线性电导响应参数;
根据所述非线性电导响应参数和所述突触实时权值确定所述非线性评估值对应的突触权值更新量以更新突触权值。
本发明第五个实施例提出的一种神经网络训练装置,应用于忆阻器脉冲神经网络,所述忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,该装置包括:
子区域划分模块,用于根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;
最小单元输入模块,用于将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元;
子网络构造模块,用于根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;
全连接模块,用于将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;
训练模块,用于将所述第lc个局部连接子网络作为最小训练单元进行训练。
上述实施例涉及一种终端设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述终端设备执行上述的神经网络训练方法。
上述实施例涉及一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述的神经网络训练方法。
本发明公开了一种神经网络训练方法,应用于忆阻器脉冲神经网络,忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;将第lc个子区域内的每一个最小单元对应输入至一个输入神经元;根据第lc个子区域对应的输入神经元以及与对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;将第lc个局部连接子网络作为最小训练单元进行训练。本方案避免构造复杂的硬件连接网络,解决忆阻器神经网络在硬件实现上存在功效低、资源开销大和电路实现复杂等问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的一种神经网络训练方法的流程示意图;
图2示出了本发明实施例提供的将一个数据样本单元划分为多个子区域的示意图;
图3示出了本发明实施例提供的隐层神经元的自适应激活的流程示意图;
图4示出了本发明实施例提供的隐层神经元的自适应激活的空间作用示意图;
图5示出了本发明实施例提供的隐层神经元自适应激活过程中在时间上受其自身影响的过程;
图6示出了本发明实施例提供的权值原位更新的流程示意图;
图7示出了本发明实施例提供的权值原位更新的过程示意图;
图8示出了本发明实施例提供的利用忆阻器非线性电导响应特性调节所述原位更新的速度的流程示意图;
图9示出了本发明实施例提供的一种神经网络训练装置的结构示意图。
主要元件符号:
1-神经网络训练装置;100-子区域划分模块;200-最小单元输入模块;300-子网络构造模块;400-全连接模块;500-训练模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
对于本发明首先,需要明确一点,区别于其他研究中考虑到第一层神经元的输出向量由输入的数据样本决定,一般为正负1,第二层神经元输入的电流极性的不确定,且在较大范围内变化,使得神经元膜电位阈值很难确定,因此,在其他研究中一般都是采用两个忆阻器作为突触来实现正负权值。但是,本发明中第二层神经元输入的电流极性正或零,权值无负权值,即可以使得每一个突触只含有一个忆阻器。
实施例1
本实施例,参见图1,示出了一种神经网络训练方法包括以下步骤:
步骤S100:根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域。
示范性的,如图2所示,根据预设的区域划分规则将输入至输入神经元的数据样本单元:28*28手写体数字“0”,划分为9个子区域。其中,28*28代表手写体数字“0”的行和列的像素点。相应的,可以根据以下区域划分规则进行划分:
示范性的,预设的每一个子区域所移动的步长kstride=7,代表每一个子区域以步长kstride=7进行移动形成下一个子区域,其中,7代表7个像素点。预设的所述子区域中每行的最小单元数量ksize1=14,预设的所述子区域中每列的最小单元数量ksize2=14,其中,14代表14个像素点,即一个最小单元为一个像素点,每个子区域包括196(14*14)个最小单元。
进一步的,计算子区域的行数knum1=floor(K1-ksize1,kstride)+1,K1代表所述数据样本中每行的最小单元数量,floor()代表向下取整函数,如图2所示,K1=28,则knum1=3。
进一步的,计算子区域的列数knum2=floor(K2-ksize2,kstride)+1,K2代表所述数据样本中每列的最小单元数量,如图2所示,K2=28,则knum1=3。
因此,子区域的数目为LC=knum1*knum2,即LC=9。
步骤S200:将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元。
应当理解的,根据上述区域划分规则将数据样本划分为LC个子区域,每个子区域包括ksize1*ksize2个最小单元,示范性的,如图2所示,每一子区域包括196(14*14)个像素点,即196个最小单元。一个最小单元对应一个输入神经元,将一个子区域内的196个最小单元对应输入至196个输入神经元中。当LC=9时,对应的lc=1、2、3、4、5、6、7、8、9。
示范性的,图2中LC个子区域则对应LC*196个输入神经元。
步骤S300:根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络。
各个局部连接子网络之间相互独立,即不同局部连接子网络内的神经元无连接关系。
示范性的,如图2所示,每个子区域包括196个最小单元,对应连接196个输入神经元,196个输入神经元的输出信号通过对应的突触分别传送至多个隐层神经元,形成一个局部连接子网络。如图2所示,9个子区域将形成9个局部连接子网络。
优选的,每个局部连接子网络内的隐层神经元的数目可以取100~3200之间任意数目,应当理解,每个局部连接子网络中的隐层神经元的数目越多输出的分类计算结果越准确,但是,训练过程较长;每个局部连接子网络中的隐层神经元的数目越少,训练过程较快,但是输出的分类计算结果相对较差。
优选的,每个局部连接子网络中突触的数目为每个局部连接子网络中输入神经元的数目与隐层神经元数目的乘积。示范性的,若每个局部连接子网络中输入神经元196个,隐层神经元的数目取100,则突触数目为19600(196*100)个。
步骤S400:将所述LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接。
示范性的,对于手写体数字0~9进行分类识别的神经网络包括10个输出神经元,依次代表0~9的手写体数字。若每个局部连接子网络有隐层神经元100个,则9个局部连接子网络包括900个隐层神经元,900个隐层神经元的输出信号通过对应的突触分别与10个输出神经元连接,应当理解,该连接过程将利用9000(900*10)个突触。
步骤S500:将所述第lc个局部连接子网络作为最小训练单元进行训练。
在对神经网络进行训练时,以局部连接子网络为最小的训练单元进行训练。示范性的,一个最小训练单元包括196个输入神经元、100个隐层神经元、19600个突触用于将196个输入神经元与100个隐层神经元连接、10个输出神经元以及另外1000个突触用于将100个隐层神经元利用与10个输出神经元连接。
本方案通过构造局部连接子网络,并以局部连接子网络最为最小训练单元,避免构造复杂的硬件连接网络,解决忆阻器神经网络在硬件实现上存在功效低、资源开销大和电路实现复杂等问题。
实施例2
将所述第lc个局部连接子网络作为最小训练单元进行训练,根据局部连接子网络中各个隐层神经元的自适应激活触发突触权值进行原位更新;利用忆阻器非线性电导响应特性调节所述原位更新的速度。
本实施例,参见图3,第lc个局部连接子网络中隐层神经元的自适应激活,包括以下步骤:
步骤S511:根据第lc个局部连接子网络中同一层的各个隐层神经元的输入电信号计算平均电信号。
以第lc个局部连接子网络作为最小训练单元,根据第lc个局部连接子网络中同一层中各个隐层神经元的输入电信号计算平均电信号其中可以表示第lc个局部连接子网络中第l层第n个隐层神经元的输入电信号,可以表示第lc个局部连接子网络中第l层的隐层神经元的数目,代表第lc个局部连接子网络中第l层隐层神经元的平均电信号。
步骤S512:将所述平均电信号注入到所述各个隐层神经元。
参见图4,图中神经元均位于同一局部连接子网络中,示范性的,可以是第lc个局部连接子网络,根据第lc个局部连接子网络中第l层的隐层神经元的输入电信号计算平均电信号,然后将平均电信号注入到所述各个隐层神经元中,以与原有的输入电信号对消。
步骤S513:控制相应的输入电信号大于所述平均电信号的隐层神经元依次放电。
第lc个局部连接子网络中第l层第n个隐层神经元的输入电信号超过平均电信号时,则该隐层神经元可以放电。
步骤S514:根据各个放电的隐层神经元的放电次序,确定所述各个放电的隐层神经元的激活状态。
示范性的,第lc个局部连接子网络中第l层第n个放电时的隐层神经元对应的激活值其中,Nmax可以表示预设的同一时刻允许处于激活的神经元的数目,τ可以表示预设的调节参数。其中预设的调节参数τ,可以用于调节隐层神经元的激活值的减小的速度,相应的,调节参数τ越大,减小速度越快。
隐层神经元自适应激活过程,每一时刻仅仅允许一个隐层神经元放电,即预先设置Nmax=1,保证同一局部连接子网络中同一层中的仅有一个隐层神经元放电并被唯一激活,从而使得其他隐层神经元在该时刻被抑制,进而避免其他隐层神经元对放电的隐层神经元产生干扰。
在对同一局部连接子网络进行训练的过程中,隐层神经元的激活不仅受到同一局部连接子网络中的其他隐层神经元的影响,也受其自身影响。如图5所示,示出了隐层神经元自适应激活过程中在时间上受其自身影响的过程。
当放电的隐层神经元的实时激活状态vactive,1小于等于激活状态上限值vactive,th时,则可以更新所述放电的隐层神经元的实时激活状态。从时间角度出发,将激活状态分为两个状态,即激活状态包括前激活状态和实时激活状态,实时激活状态vactive,0可以表示前激活状态,δ可以表示预设的激活增量,δ>0,σ可以表示预设的衰减参量,0<σ<1,可以表示第lc个局部连接子网络中第l层第n个放电的神经元对应的激活值,trefractory,1可以表示当前不响应时间。
示范性的,预设前激活状态vactive,0=1、δ=1、σ=0.4。若在当前时刻,第lc个局部连接子网络中第l层中唯一被激活的隐层神经元对应的激活值并且,当前不响应时间trefractory,1=0,则实时激活状态vactive,1=vactive,0+δ,即vactive,1=2;若在当前时刻,第lc个局部连接子网络中第l层中未被激活隐层神经元对应的激活值为0,并且,当前不响应时间trefractory,1=0,则实时激活状态vactive,1=σ·vactive,0,即vactive,1=0.4;若在当前不响应时间trefractory,1>0,则实时激活状态vactive,1=0。
应当理解的,若在当前时刻,第lc个局部连接子网络中第l层中唯一被激活的隐层神经元对应的激活值为1,并且,当前不响应时间trefractory,1=0,则实时激活状态vactive,1根据激活增量δ增加,当增加至实时激活状态vactive,1大于激活状态上限值vactive,th时,应当使该放电的隐层神经元进入不响应期,以使该隐层神经元在不响应期内对输入电信号不做反应,避免该隐层神经元被过度激活。
不响应时间包括前一不响应时间和当前不响应时间,当前不响应时间trefractory,0可以表示前一不响应时间,τmax可以表示预设的最大不响应时间,Δτr可以表示预设的不响应时间的相应的减量参数,vactive,th可以表示激活状态上限值。
实施例3
局部连接子网络中各个隐层神经元的自适应激活触发突触权值进行原位更新。本实施例,参见图6,示出了权值原位更新包括以下步骤:
步骤S521:在小信号获取时期,获取所述突触的前一神经元的输出端和后一神经元的输出端确定的小信号。
在小信号获取时期,遵循忆阻器电压偏置方案,神经网络中前向传播的信号为远低于忆阻器的偏置电压的小信号;且这种小信号仅在每层网络的神经元的输出端产生。
若前一神经元是所述输入神经元,则根据输入至所述输入神经元的最小单元将所述小信号确定为正或负。
示范性的,若最小单元为像素点,当一个像素点的灰度大于127时,输入神经元的输出端产生的小信号为正;当一个像素点的灰度小于等于127时,输入神经元的输出端产生的小信号为负。
示范性的,在小信号获取时期,第lc个局部连接子网络中输入神经元根据输入的最小单元确定其输出端产生的小信号可以为若为正,如图7中,在小信号获取时期,对应实线部分;若为负,如图7中,在小信号获取时期,对应虚线部分。
若前一神经元或后一神经元是隐层神经元,则根据隐层神经元的激活状态将所述小信号确定为正或零。
示范性的,若输入电信号大于所述平均电信号,隐层神经元被激活,则在小信号获取时期,对应的隐层神经元的输出端产生的小信号为正,如图7中,对应实线部分;若输入电信号小于等于所述平均电信号,隐层神经元未被激活,则在小信号获取时期,对应的隐层神经元的输出端产生的小信号为零,如图7中,对应虚线部分。
若后一神经元是输出神经元,则根据输出神经元获取的监督信号将小信号确定为正或零。
示范性的,若识别0-9的手写体数字图片,输出神经元应该有10个,输出神经元的序号分别对应手写体的标签号,例如,如果第0号输出神经元对应手写体数字0的图片,则输出结果正确,相应的,监督信号为正值,对应的小信号为正;如果输出神经元的序号不等于标签号,即输出结果错误,则监督信号为零,对应的小信号为零。
步骤S522:在权值原位更新时期,根据所述前一神经元的输出端确定的小信号确定所述突触前端的第一驱动脉冲串。
示范性的,当前一神经元是输入神经元时,若所述输入神经元的输出端确定的小信号为正,在权值原位更新时期,在对应突触的前端产生的第一驱动脉冲串将如图7中小信号对应权值原位更新时期的实线部分;若输入神经元的输出端确定的小信号为负,则输入神经元在权值原位更新时期,在忆阻器前端产生的第一驱动脉冲串如图7中小信号对应权值原位更新时期的虚线部分。
示范性的,当所述前一神经元是隐层神经元时,若所述隐层神经元的输出端确定的小信号为正,则对应突触的前端的第一驱动脉冲串如图7中隐层神经元的输出端的小信号对应权值原位更新时期的实线部分;若所述隐层神经元的输出端确定的小信号为零,则忆阻器的前端第一驱动脉冲串如图7中隐层神经元的输出端的小信号对应权值原位更新时期的虚线部分。
步骤S523:根据输入神经元产生的初始驱动脉冲和所述后一神经元的输出端确定的小信号确定所述突触后端的第二驱动脉冲串。
示范性的当所述后一神经元是隐层神经元时,若所述隐层神经元的输出端确定的小信号为正,则对应突触的后端的第二驱动脉冲串如图7中隐层神经元的输入端的小信号对应权值原位更新时期的实线部分;若所述隐层神经元的输出端确定的小信号为零,则如图7中隐层神经元的输入端的小信号对应权值原位更新时期的虚线部分,对应突触的后端无所述第二驱动脉冲串。
示范性的,当后一神经元是输出神经元时,若输出神经元获取的监督信号为正,则对应突触的后端的第二驱动脉冲串将如图7中输出神经元的输入端的小信号对应权值原位更新时期的实线部分;若输出神经元获取的监督信号为零,则突触的后端的第二驱动脉冲串将如图7中输出神经元根据监督信号确定的小信号对应权值原位更新时期的虚线部分。
步骤S524:当所述第一驱动脉冲串与所述第二驱动脉冲串的电势差幅值大于等于所述忆阻器的偏置电压时,更新突触权值。
输入神经元的初始驱动脉冲可以由脉冲宽度相同的负脉冲和正脉冲组成,初始驱动脉冲的电压幅值大于等于的忆阻器的偏置电压的0.5倍,并且小于忆阻器的偏置电压。因此,只有当突触前端的第一驱动脉冲串和突触后端的后脉冲存在交叠时,交叠电压的幅值大于忆阻器的偏置电压,对应的突触权值进行更新。
实施例4
本实施例,参见图8,示出了利用忆阻器非线性电导响应特性调节原位更新的速度包括以下步骤:
步骤S531:根据所述忆阻器的实时电导值计算突触实时权值。
忆阻器的电导响应通常是非线性的,随着忆阻器脉冲的施加电导值的变化率逐渐减小,利用忆阻器的电导响应模拟神经网络训练过程中的学习速率,可以将忆阻器的实时电导值进行归一化处理,以得到突触实时权值。
步骤S533:获取所述忆阻器的电导的非线性评估值。
示范性的,非线性评估值当0、N/2和N个脉冲施加至忆阻器后的突触权值分别为w(0)、w(N/2)和w(N)可以表示施加至忆阻器的总脉冲数。w(N)-w(0)用于描述突触权值的最大变化量,可为1,w(N/2)-w(0)的取值在0~0.5之间,最小取值0,最大取值0.5,则的取值在0~0.5之间,最小取值0,最大取值0.5,因此,非线性评估值NL的取值范围在0~1之间,应当理解,非线性评估值NL为0时,代表非线性度为0,可以理解为线性,非线性评估值NL为1时,代表非线性度为1,电导响应曲线表现为较强的非线性。
步骤S534:根据所述非线性评估值确定对应的非线性电导响应参数。
非线性电导响应参数可以根据非线性评估值查找参数对照表确定,参数对照表可以根据不同的非线性评估值通过仿真实验预先获得。
步骤S535:根据所述非线性电导响应参数和所述突触实时权值确定所述非线性评估值对应的突触权值更新量以更新突触权值。
示范性的,突触权值更新量Epotentiation可以表示权值更新时电势差为正值,Edepression可以表示权值更新时电势差为负值,ap可以表示在所述电势差为正值时对应的非线性响应系数、bp可以表示在所述电势差为正值时对应的非线性响应速度、ad可以表示在所述电势差为负值时对应的非线性响应系数,bd可以表示在所述电势差为负值时对应的非线性响应速度。
其中,忆阻器内部特性和施加的电压脉冲共同决定非线性响应系数ap和ad,以及非线性响应速度bp和bd。在训练初期,突触权值更新量Δw的减小速度较快,随着学习的不断深入,训练后期,突触权值更新量Δw的减小速度逐渐变慢,以实现对突触权值的微调。
实施例5
本实施例,参见图9,示出了一种神经网络训练装置1的结构示意图,该装置包括:子区域划分模块100、最小单元输入模块200、子网络构造模块300、全连接模块400和训练模块500。
子区域划分模块100,用于根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;最小单元输入模块200,用于将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元;子网络构造模块300,用于根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;全连接模块400,用于将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;训练模块500,用于将所述第lc个局部连接子网络作为最小训练单元进行训练。
本实施例神经网络训练装置1通过子区域划分模块100、最小单元输入模块200、子网络构造模块300、全连接模块400和训练模块500的配合使用,用于执行上述实施例所述的神经网络训练方法,上述实施例所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。
应当理解,上述实施例涉及一种终端设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述终端设备执行上述实施例所述的神经网络训练方法。终端设备可以是智能手机、个人计算机、服务器、或者网络设备等。
上述实施例涉及一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例所述的神经网络训练方法。存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的上述实施例中,所揭露的装置和方法,也可以通过其它的方式实现。上述装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以用不同于附图中所标注的顺序发生。例如,根据所涉及的功能,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行。也应该理解,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,不仅仅可以用执行规定的功能或动作的专用的基于硬件的系统来实现,也可以用专用硬件与计算机指令的组合来实现。
另外,在本发明所涉及的上述实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种神经网络训练方法,其特征在于,应用于忆阻器脉冲神经网络,所述忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,该方法包括:
根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;
将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元;
根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;
将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;
根据所述隐层神经元的自适应激活触发突触权值进行原位更新,并利用忆阻器非线性电导响应特性调节所述原位更新的速度;
其中,所述原位更新,包括:
在小信号获取时期,获取所述突触的前一神经元的输出端和后一神经元的输出端确定的小信号;在权值原位更新时期,根据所述前一神经元的输出端确定的小信号确定所述突触前端的第一驱动脉冲串;根据输入神经元产生的初始驱动脉冲和所述后一神经元的输出端确定的小信号确定所述突触后端的第二驱动脉冲串;当所述第一驱动脉冲串与所述第二驱动脉冲串的电势差幅值大于等于所述忆阻器的偏置电压时,更新突触权值;
其中,所述利用忆阻器非线性电导响应特性调节所述原位更新的速度,包括:
根据所述忆阻器的实时电导值计算突触实时权值;获取所述忆阻器的电导的非线性评估值;根据所述非线性评估值确定对应的非线性电导响应参数;根据所述非线性电导响应参数和所述突触实时权值确定所述非线性评估值对应的突触权值更新量以更新突触权值。
2.根据权利要求1所述的神经网络训练方法,其特征在于,所述根据预设的区域划分规则将待输入至输入神经元的数据样本划分为LC个子区域,包括:
根据以下公式将所述数据样本划分为LC个子区域:
所述子区域的数目为LC=k num1 *k num2,k num1代表所述子区域的行数,k num2代表所述子区域的列数;
k num1 =floor(K 1 -k size1 ,k stride)+1,K 1代表所述数据样本中每行的最小单元数量,k size1代表预设的所述子区域中每行的最小单元数量;
k num2 =floor(K 2 -k size2 ,k stride)+1,K 2代表所述数据样本中每列的最小单元数量,k size2代表预设的所述子区域中每列的最小单元数量;
k stride代表预设的每一个子区域所移动的步长,floor()代表向下取整函数。
3.根据权利要求1所述的神经网络训练方法,其特征在于,所述隐层神经元的自适应激活,包括:
根据第lc个局部连接子网络中同一层的各个隐层神经元的输入电信号计算平均电信号;
将所述平均电信号注入到所述各个隐层神经元;
控制相应的输入电信号大于所述平均电信号的隐层神经元依次放电;
根据各个放电的隐层神经元的放电次序,确定所述各个放电的隐层神经元的激活状态。
4.根据权利要求1所述的神经网络训练方法,其特征在于,确定所述突触的前一神经元的输出端和后一神经元的输出端的小信号,包括:
当所述前一神经元是所述输入神经元时,则根据输入至所述输入神经元的所述最小单元将所述小信号确定为正或负;
当所述前一神经元或所述后一神经元是隐层神经元时,则根据所述隐层神经元的激活状态将所述小信号确定为正或零;
当所述后一神经元是输出神经元时,则根据所述输出神经元获取的监督信号将所述小信号确定为正或零。
5.一种神经网络训练装置,其特征在于,应用于忆阻器脉冲神经网络,所述忆阻器脉冲神经网络中每一突触仅包含一个忆阻器,该装置包括:
子区域划分模块,用于根据预设的区域划分规则将待输入至输入神经元的数据样本单元划分为LC个子区域;
最小单元输入模块,用于将第lc个子区域内的每一个最小单元对应输入至一个所述输入神经元;
子网络构造模块,用于根据所述第lc个子区域对应的输入神经元以及与所述对应的输入神经元连接的隐层神经元,构造第lc个局部连接子网络;
全连接模块,用于将LC个局部连接子网络中所有隐层神经元的输出与各个输出神经元连接;
训练模块,用于根据所述隐层神经元的自适应激活触发突触权值进行原位更新,并利用忆阻器非线性电导响应特性调节所述原位更新的速度;
其中,所述原位更新,包括:
在小信号获取时期,获取所述突触的前一神经元的输出端和后一神经元的输出端确定的小信号;在权值原位更新时期,根据所述前一神经元的输出端确定的小信号确定所述突触前端的第一驱动脉冲串;根据输入神经元产生的初始驱动脉冲和所述后一神经元的输出端确定的小信号确定所述突触后端的第二驱动脉冲串;当所述第一驱动脉冲串与所述第二驱动脉冲串的电势差幅值大于等于所述忆阻器的偏置电压时,更新突触权值;
其中,所述利用忆阻器非线性电导响应特性调节所述原位更新的速度,包括:
根据所述忆阻器的实时电导值计算突触实时权值;获取所述忆阻器的电导的非线性评估值;根据所述非线性评估值确定对应的非线性电导响应参数;根据所述非线性电导响应参数和所述突触实时权值确定所述非线性评估值对应的突触权值更新量以更新突触权值。
6.一种终端设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述终端设备执行权利要求1至4任一项所述的神经网络训练方法。
7.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至4任一项所述的神经网络训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438307.5A CN111582461B (zh) | 2020-05-21 | 2020-05-21 | 神经网络训练方法、装置、终端设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438307.5A CN111582461B (zh) | 2020-05-21 | 2020-05-21 | 神经网络训练方法、装置、终端设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111582461A CN111582461A (zh) | 2020-08-25 |
CN111582461B true CN111582461B (zh) | 2023-04-14 |
Family
ID=72125244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010438307.5A Active CN111582461B (zh) | 2020-05-21 | 2020-05-21 | 神经网络训练方法、装置、终端设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111582461B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501353B (zh) * | 2020-10-23 | 2024-01-05 | 维沃移动通信有限公司 | 通信信息的发送、接收方法及通信设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995200A (zh) * | 2014-05-23 | 2014-08-20 | 中国人民解放军国防科学技术大学 | 一种基于光耦的忆阻器可编程等效电路 |
CN105701541A (zh) * | 2016-01-13 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于忆阻器脉冲神经网络的电路结构 |
CN109460817A (zh) * | 2018-09-11 | 2019-03-12 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN110796241A (zh) * | 2019-11-01 | 2020-02-14 | 清华大学 | 基于忆阻器的神经网络的训练方法及其训练装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2977351B1 (fr) * | 2011-06-30 | 2013-07-19 | Commissariat Energie Atomique | Methode d'apprentissage non supervise dans un reseau de neurones artificiel a base de nano-dispositifs memristifs et reseau de neurones artificiel mettant en oeuvre la methode. |
-
2020
- 2020-05-21 CN CN202010438307.5A patent/CN111582461B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995200A (zh) * | 2014-05-23 | 2014-08-20 | 中国人民解放军国防科学技术大学 | 一种基于光耦的忆阻器可编程等效电路 |
CN105701541A (zh) * | 2016-01-13 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于忆阻器脉冲神经网络的电路结构 |
CN109460817A (zh) * | 2018-09-11 | 2019-03-12 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
WO2020052342A1 (zh) * | 2018-09-11 | 2020-03-19 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN110796241A (zh) * | 2019-11-01 | 2020-02-14 | 清华大学 | 基于忆阻器的神经网络的训练方法及其训练装置 |
Non-Patent Citations (2)
Title |
---|
Sheng-Yang Sun 等.Quaternary synapses network for memristor-based spiking convolutional neural networks.《IEICE Electronics Express》.2019,第16卷(第6期),全文. * |
李清江 等.基于忆阻器的感存算一体技术研究进展.《微纳电子与智能制造》.2019,第1卷(第4期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111582461A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077637B (zh) | 神经网络中的差分编码 | |
CN110826602B (zh) | 基于膜电位调控脉冲神经网络的图像分类方法、系统 | |
EP3136304A1 (en) | Methods and systems for performing reinforcement learning in hierarchical and temporally extended environments | |
Marhon et al. | Recurrent neural networks | |
JP6724870B2 (ja) | 人工ニューラルネットワーク回路の訓練方法、訓練プログラム、及び訓練装置 | |
US20150206050A1 (en) | Configuring neural network for low spiking rate | |
US9558442B2 (en) | Monitoring neural networks with shadow networks | |
WO2015020802A2 (en) | Computed synapses for neuromorphic systems | |
CN111260124A (zh) | 一种基于注意力机制深度学习的混沌时间序列预测方法 | |
EP3108413A2 (en) | Dynamic spatial target selection | |
JP2020068048A (ja) | 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 | |
JP2022522807A (ja) | 回帰型ニューラルネットワークのルジャンドルメモリユニット | |
CN111582461B (zh) | 神经网络训练方法、装置、终端设备和可读存储介质 | |
US9342782B2 (en) | Stochastic delay plasticity | |
CN111582462B (zh) | 权值原位更新方法、装置、终端设备和可读存储介质 | |
CN115879518A (zh) | 一种基于ai芯片的任务处理方法和装置 | |
JPH07141313A (ja) | 神経回路素子 | |
KR102204107B1 (ko) | 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network) | |
CN111582470B (zh) | 基于stdp的自适应非监督学习图像识别方法及系统 | |
US11526735B2 (en) | Neuromorphic neuron apparatus for artificial neural networks | |
CN113269313A (zh) | 突触权重训练方法、电子设备和计算机可读介质 | |
Bybee et al. | Deep learning in spiking phasor neural networks | |
CN111582484B (zh) | 学习速率自调节方法、装置、终端设备和可读存储介质 | |
Bartlett | Analysis of chaotic population dynamics using artificial neural networks | |
CN113642719A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |