CN117151176A - 用于神经网络学习的突触阵列、运算电路及操作方法 - Google Patents
用于神经网络学习的突触阵列、运算电路及操作方法 Download PDFInfo
- Publication number
- CN117151176A CN117151176A CN202310965348.3A CN202310965348A CN117151176A CN 117151176 A CN117151176 A CN 117151176A CN 202310965348 A CN202310965348 A CN 202310965348A CN 117151176 A CN117151176 A CN 117151176A
- Authority
- CN
- China
- Prior art keywords
- layer
- signal
- synaptic
- array
- neural network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 84
- 230000000946 synaptic effect Effects 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000003518 presynaptic effect Effects 0.000 claims description 56
- 230000001242 postsynaptic effect Effects 0.000 claims description 55
- 210000000225 synapse Anatomy 0.000 claims description 43
- 239000011159 matrix material Substances 0.000 claims description 33
- 210000002569 neuron Anatomy 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 27
- 238000003491 array Methods 0.000 claims description 20
- 239000012528 membrane Substances 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000010354 integration Effects 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 210000004027 cell Anatomy 0.000 claims description 7
- 239000010410 layer Substances 0.000 description 203
- 238000010586 diagram Methods 0.000 description 13
- 230000007423 decrease Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 6
- 238000010304 firing Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 240000002627 Cordeauxia edulis Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Learning methods
-
- 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
-
- 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)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明公开了一种用于神经网络学习的突触阵列、运算电路及操作方法,属于神经网络运算技术领域,突触阵列包括上下双层交叉横杆阵列结构,上层交叉横杆阵列包括位于上层的字线、位线、字线与位线之间连接的上层基础单元,每个上层基础单元包括串联的开关器件和定值电阻;下层交叉横杆阵列包括位于下层的字线、位线、字线与位线之间连接的下层基础单元,每个下层基础单元包括串联的忆阻器和晶体管;开关器件和定值电阻的连接端引出互连线与晶体管的栅极相连;每个忆阻器的电导值用于计算权重。基于本发明的突触阵列,能够实现神经网络的学习运算,无需占用大量的片外计算资源。
Description
技术领域
本发明属于神经网络运算技术领域,更具体地,涉及一种用于神经网络学习的突触阵列、运算电路及操作方法。
背景技术
人工神经网络是一种应用类似于大脑神经突触联接的结构,它是一种模仿动物神经网络行为特征,进行信息处理的数学模型进行分布式并行信息处理的算法数学模型。在众多机器学习的算法中,神经网络的适用性广,鲁棒性强。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
神经网络包括输入层、若干隐藏层和输出层,每层包括大量的神经元,每相邻两层之间的神经元通过突触进行连接,突触是神经网络中最多的处理元件,突触权重则为神经网络进行训练更新的重要参数。在突触器件方面,已有很多器件被报道如磁性存储器,相变存储器和忆阻器等。这其中,由于忆阻器非易失,易集成,低功耗以及可实现多位存储,是非常有前途的候选者。且忆阻器的模拟记忆功能类似于生物突触,其电导可以通过施加相对较大的电压偏置而连续改变,但在施加较小的偏压或无偏压时保持不变。
神经网络的监督学习是一个非常复杂的过程,其包括前向传播、反向传播和权重更新等步骤。目前,在搭建神经元网络学习运算硬件电路时,所采用的突触阵列多为单层结构,即单层交叉横杆阵列,如CN109460817B-一种基于非易失存储器的卷积神经网络片上学习系统,利用的基于忆阻器的单层交叉横杆阵列作为突触权重。这种突触阵列虽然结构简单,但是,在进行监督学习的反向传播和权重更新时,则需要借助大量的片外计算资源执行误差计算和权重更新量的计算,导致神经网络训练需要大量的计算资源,运算量大,运算速度慢且功耗高。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种神经网络的突触阵列、运算电路及操作方法,其目的在于实现神经网络学习的高效运算、降低运算功耗。
为实现上述目的,按照本发明的一个方面,提供了一种用于神经网络学习的突触阵列,其特征在于,包括:
上层交叉横杆阵列,包括N个字线sWL、M个位线sBL和连接在任意一字线sWL与任意一位线sBL之间的上层基础单元,每个上层基础单元包括串联的开关器件和定值电阻;
下层交叉横杆阵列,包括N个字线WL、M个位线BL和连接在任意一字线WL与任意一位线BL之间的下层基础单元,每个下层基础单元包括串联的忆阻器和晶体管;
其中,每个上层基础单元与每个下层基础单元一一对应连接,连接方式为:从上层基础单元的开关器件和定值电阻的连接端引出互连线与对应的下层基础单元的晶体管的栅极相连;
每个忆阻器的电导值用于计算所连字线WL和位线BL之间的权重,在前向传播过程中,每个字线WL用于接收神经元的发放信号,位线BL输出发放信号与权重矩阵的相乘结果,所述权重矩阵为所述突触阵列的所有权重。
在其中一个实施例中,开关器件为阈值转换器件、晶体管或二极管。
在其中一个实施例中,所有位线相互平行,所有字线相互平行,字线和位线相交叉。
在其中一个实施例中,所述忆阻器为导电丝忆阻器或相变存储器。
按照本发明的另一方面,提供了一种用于神经网络学习的运算电路,包括存储模块以及位于神经网络每相邻两层之间的突触阵列、积分模块和阈值比较模块,其中,
所述突触阵列为上述的用于神经网络学习的突触阵列,前一突触阵列的位线BL的数量与后一个突触阵列的字线WL的数量相同;第k层至第k+1层之间的突触阵列Fk的字线WL接收第k层的发放信号εk后,经位线BL输出发放信号εk与权重矩阵wk.k+1的相乘结果,权重矩阵wk.k+1为突触阵列Fk的所有权重;
所述积分模块用于将对应权重矩阵的相乘结果进行线性积分后得到第k+1层的膜电位yk+1(t);
所述阈值比较模块用于将所述膜电位yk+1(t)与对应的阈值Vth进行比较,当yk+1(t)>Vth时,第k+1层向下一层发放信号εk+1;否则,不发放信号;
所述存储模块用于记录每层的信号发放时间。
在其中一个实施例中,还包括误差计算模块,用于根据输出层实际输出信息与目标输出信息计算输出层的误差值。
按照本发明的另一方面,提供了一种用于神经网络学习的运算电路的操作方法,基于上述的用于神经网络学习的运算电路进行操作以实现前向传播运算、反向传播运算,其中,
实现前向传播运算的操作包括:
在字线sWL和位线sBL上施加电压,保证上层所有开关器件开启,以使下层所有晶体管开启;
将训练数据作为第一层发放的单位阶跃信号输入突触阵列F1的字线WL,直至在输出层输出信号;利用存储模块用于记录每层的信号发放时间,完成当前轮次的前向传播运算;
实现反向传播运算的操作包括:
计算输出层在当前轮次的误差值δo,使输出层的误差值δo逐层反向传播,获得各层的误差值,其中,获取第k层的误差值的操作包括:
将突触前信号和突触后信号/>中的一个施加于突触阵列Fk的字线sWL、另一个施加于突触阵列Fk的位线sBL;突触前信号/>的开始时间与突触后信号/>的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系;突触前信号/>与突触后信号/>的电压差能够开启突触阵列Fk中的开关器件;
将第k+1层的误差值δk+1缩放-β倍后输入突触阵列Fk的位线BL,β为设定的缩放系数,获取突触阵列Fk的字线WL输出数据作为误差值δk。
在其中一个实施例中,还包括权重更新运算操作,对于任意突触阵列Fk的权重更新运算的操作包括:
分第一阶段和第二阶段向突触阵列Fk的字线WL施加突触前信号并向位线BL施加突触后信号/>每个阶段的突触前信号/>与突触后信号/>的极性相反且两阶段中同一类信号的极性相反;在每个阶段,突触前信号/>的开始时间与突触后信号的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系;
根据第k+1层的误差值δk+1向突触阵列Fk位线sBL和字线sWL施加不同的更新信号,包括:
当δk+1=0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段和第二阶段均关断;
当δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段关断、在另一个阶段开启,在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小;
当δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段开启、在另一个阶段关断,且在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
在其中一个实施例中,在实现突触阵列Fk的权重更新运算的操作中,
分两个阶段向突触阵列Fk的字线WL施加突触前信号并向位线BL施加突触后信号/>包括:
在第一阶段,向突触阵列Fk的字线WL施加为正的突触前信号向位线BL施加为负的突触后信号/>
在第二阶段,向突触阵列Fk的字线WL施加为负的突触前信号向位线BL施加为正的突触后信号/>
根据第k+1层的误差值δk+1向突触阵列Fk对应位线sBL和字线sWL施加不同的信号,包括:
当δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段关断、在第二阶段开启,在第二阶段,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小;
当δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段开启、在第二阶段关断,在第一阶段,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
在其中一个实施例中,
当δk+1=0,对应位线sBL和字线sWL均为低电平;
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为低电平、于第二阶段为高电平;
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为高电平、于第二阶段为低电平。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明提出一种新的突触阵列,其包括上下双层交叉横杆阵列结构,上层包括sWL、位线sBL、开关器件和定值电阻,下层包括字线WL、位线BL、忆阻器和晶体管。相比于传统的突触阵列,本发明的突触阵列增加了上层交叉横杆阵列,通过调节上层交叉横杆阵列字线和位线的电位差,可以控制各开关器件的开关状态,继而控制下层忆阻器支路的导通和关断状态。也就是说,每个忆阻器都可以从两个维度进行控制,第一个维度是下层字线和位线的控制,也可调节施加于忆阻器两端的电压差,该电压差决定忆阻器电导值的调节程度;第二个维度是上层字线和位线的控制,实际是通过上层字线和位线控制开关器件,继而控制下层忆阻器支路是否导通,从而决定误差能否进行反向传播、忆阻器能否进行电导调制以及控制电导调制的时长,实现神经网络的片上学习运算,无需占用大量的片外计算资源,提高运算速度且降低功耗。
进一步地,本发明基于用于神经网络学习的运算电路的操作方法,依赖于突触阵列的设计。突触阵列以开关器件和定值电阻为基本单元的上层交叉横杆阵列与以忆阻器和晶体管为基本单元的下层交叉横杆阵列构成双层交叉横杆阵列,两层交叉横杆阵列中对应的基本单元间由导线连接;双层交叉横杆阵列能够实现神经网络的前向传播、反向传播和权重更新过程。前向过程输入信号施加在下层交叉横杆阵列的字线上,从输入端到输出端逐层和下层交叉横杆阵列中的忆阻器矩阵进行向量矩阵乘法运算。反向传播过程中误差信号施加在下层交叉横杆阵列中的位线上,从输出端开始向输入端逐层和忆阻器矩阵的转置进行向量矩阵乘法,并由开关器件控制误差信号是否能够反向传播。权重更新过程中,根据脉冲时间依赖可塑性在下层交叉横杆阵列的字线和位线上施加电压以并行地改变忆阻器电导值,并且根据每层的误差信号控制开关器件的导通状态进而控制晶体管的开关状态来决定下层交叉横杆阵列的字线和位线上电压能否改变忆阻器电导值。本发明所提的基于用于神经网络学习的运算电路的操作方法,基于突触阵列的设计,能够高效实现时间编码的脉冲神经网络的片上训练。
附图说明
图1为一实施例的突触阵列的结构示意图;
图2为一实施例的神经网络结构示意图;
图3为一实施例的用于神经网络学习的运算电路框架示意图;
图4(a)为一实施例的前向传播运算操作示意图;
图4(b)为一实施例的前向传播过程信号变化示意图;
图5(a)为一实施例的误差反向传播运算操作示意图;
图5(b)为一实施例的误差反向传播时突触前信号和突触后信号有时间重叠的情况下的信号变化示意图;
图5(c)为一实施例的误差反向传播时突触前信号和突触后信号无时间重叠的情况下的信号变化示意图;
图6(a)为一实施例的权重更新运算操作示意图;
图6(b)为一实施例的权重更新过程中误差信号大于0的信号变化示意图;
图6(c)为一实施例的权重更新过程中误差信号等于0的信号变化示意图;
图6(d)为一实施例的权重更新过程中误差信号小于0的信号变化示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1
本发明涉及一种用于神经网络学习的突触阵列。
如图1所示突触阵列为上下双层交叉横杆阵列结构,具体包括:
上层交叉横杆阵列,包括位于上层的字线sWL、位线sBL、任意一字线sWL与任意一位线sBL之间连接的上层基础单元,每个上层基础单元包括串联的开关器件和定值电阻。下层交叉横杆阵列,包括位于下层的字线WL、位线BL、任意一字线WL与任意一位线BL之间连接的下层基础单元,每个下层基础单元包括串联的忆阻器和晶体管。上层字线sWL与下层字线WL的数量相同,上层位线sBL与下层位线BL的数量相同。每个上层基础单元与每个下层基础单元一一对应连接,连接关系为从上层基础单元的开关器件和定值电阻的连接端引出互连线与对应的下层基础单元的晶体管的栅极相连。每个忆阻器的电导值用于计算所连字线和位线之间的权重,字线WL用于接收神经元的发放信号,位线BL输出发放信号与权重矩阵的相乘结果。
需要说明的是,字线与位线没有严格的区别,对于任意基础单元,其一端与字线连接,另一端则与位线连接。在一具体的实施例中,所有位线相互平行,所有字线相互平行,字线和位线相交叉。再同一层中,任意字线与任意位线的交叉位置处设置有一个对应的基础单元,通过字线和位线可以索引到对应的基础单元并针对性地施加信号。
具体而言,突触阵列包括上下两层交叉横杆阵列结构,上层交叉横杆阵列的基础单元为开关器件和定值电阻串联,下层交叉横杆阵列的基础单元为忆阻器和晶体管串联,基础单元两端连接交叉横杆阵列的字线和位线。上层交叉横杆阵列中的开关器件和定值电阻间引出互连线与下层交叉横杆阵列中对应的晶体管栅极连接。
可以理解的,开关器件具备的特性为:当开关器件两端的电压差大于其阈值时,开关器件导通。具体的,开关器件为阈值转换器件、晶体管或二极管,其中,晶体管在其栅源电压大于其阈值电压时导通。
定值电阻与开关器件相连,用于控制定值电阻和开关器件连接处的分压,定值电阻和开关器件间引出互连线与晶体管栅极相连,因此分压即为晶体管栅极电压,当分压大于晶体管阈值电压时,晶体管导通;当分压小于晶体管阈值电压时,晶体管截止。定值电阻的阻值由开关器件的阈值电压和晶体管的阈值电压决定。
忆阻器与晶体管相连,其存储的电导值与计算时所用的神经网络突触权重值相关联,例如,其存储的电导值可以直接作为突触权重值,或者根据电导值与突触权重值的函数关系,根据电导值得到对应的突触权重值,当晶体管处于导通状态时,信号能够通过忆阻器,实现对其电导值的调制;当晶体管处于截止状态时,信号不能通过忆阻器,其电导值不变。忆阻器包括导电丝忆阻器、相变存储器等非易失性存储器。
以实现2*2的突触阵列为例说明,即前一层的神经元数量为2,后一层神经元的数量也为2,前一层每个神经元与后一层的每个神经元之间具有突触连接,因此形成2*2的权重矩阵,权重矩阵中的元素aij可以为前一层第i个神经元与后一层第j个神经元的突触权重,神经网络的训练就是不停地更新突触权重,最终确定合适的取值。在该实施例中,突触阵列下层交叉横杆阵列的字线WL的数量与前一层神经元的数量相同,为2个,分别记为WL1和WL2。突触阵列下层交叉横杆阵列的位线BL的数量与后一层神经元的数量相同,为2个,分别记为BL1和BL2。上层交叉横杆阵列的字线sWL的数量与下层交叉横杆阵列的字线WL的数量一致,为2个,分别记为sWL1和sWL2。上层交叉横杆阵列的位线sBL的数量与下层交叉横杆阵列的字线BL的数量一致,为2个,分别记为sBL1和sBL2。
相比于传统的突触阵列,本发明的突触阵列增加了上层交叉横杆阵列,也就是说,每个忆阻器都可以从两个维度进行控制,第一个维度是下层字线和位线的控制,也可调节施加于忆阻器两端的电压差,该电压差决定忆阻器电导值的调节程度;第二个维度是上层字线和位线的控制,实际是通过上层字线和位线控制开关器件,继而控制下层忆阻器支路是否导通,从而决定忆阻器能否进行电导调制以及控制电导调制的时长。基于该突触阵列,当进行前向传播时,传输信号通过忆阻器进行加权求和。当进行反向传播时,可以直接让输出端的误差信号经突触阵列反向传播,并配合上层开关器件的开关状态,可以直接利用突触阵列实现各层误差计算。当进行权重更新时,通过控制上下两层字线、位线的信号,根据误差值实现对忆阻器的电导值的调制。因此,基于本发明的突触阵列,其双层交叉横杆阵列能够实现神经网络监督学习的前向传播、反向传播和权重更新过程,无需占用大量的片外计算资源,实现神经网络监督学习的高效运算、降低运算功耗。
实施例2
本发明还涉及一种用于神经网络学习的运算电路,包括存储模块以及位于神经网络每相邻两层之间的突触阵列、积分模块和阈值比较模块,其中,所述突触阵列为上文介绍的突触阵列。
对于任意相邻的两层,第k层至第k+1层之间的突触阵列Fk的字线WL接收第k层的发放信号εk后,经位线BL输出发放信号εk与权重矩阵wk.k+1的相乘结果,权重矩阵wk.k+1为突触阵列Fk的所有权重。
积分模块用于将对应权重矩阵的相乘结果进行线性积分后得到第k+1层的膜电位yk+1(t)。
所述阈值比较模块用于将所述膜电位yk+1(t)与对应的阈值Vth进行比较,当yk+1(t)>Vth时,第k+1层向下一层发信号εk+1;否则,不发放信号。
所述存储模块用于记录每层的信号发放时间。
由于前一突触阵列的位线BL输出的每一路结果经处理后都会作为后一个突触阵列字线WL中每一路的输入信号,所以,前一突触阵列的位线BL的数量与后一个突触阵列的字线WL的数量相同。
以一个简单的例子说明,如图2所示为一个简化的神经网络结构示意图,其只具有三层,分别为输入层i,隐藏层h,输出层o,输入层i具有4个神经元,隐藏层h具有5个神经元,输出层o具有3个神经元。如图3所示为对应搭建的运算电路框架示意图,其包括两个突触阵列,即两个双层交叉横杆阵列,分别位于输入层i和隐藏层h之间以及位于隐藏层h和输出层o之间。第一个双层交叉横杆阵列的字线WL、sWL的数量均为4,位线BL、sBL的数量均为5,第二个双层交叉横杆阵列的字线WL、sWL的数量均为5,位线BL、sBL的数量均为3。
在一实施例中,该运算电路还包括误差计算模块,用于根据输出层实际输出信息与目标输出信息计算输出层的误差值。
在一实施例中,该运算电路还包括操控模块,用于根据设定的算法操控所述突触阵列的信号以实现前向传播运算、反向传播运算和权重更新运算。
实施例3
本发明还涉及一种用于神经网络学习的运算电路的操作方法,基于上文介绍的运算电路进行操作以实现时间编码的脉冲神经网络监督学习中的前向传播运算、反向传播运算和权重更新运算。
脉冲神经网络(Spiking Neural Network,SNN)是第三代神经网络,区别于模拟值编码的第二代神经网络,采用脉冲进行编码,即使用脉冲在神经网络中传递信息,是更为仿生的神经网络模型,能够更好地模拟人脑的工作方式。脉冲神经网络进一步可细分为两种不同的编码形式,脉冲发放率编码(Rate Coding)和脉冲时间编码(Timing Coding)。脉冲时间编码利用脉冲的发放时间来编码信息,相比于脉冲发放率编码来说,利用了脉冲神经网络相比于模拟神经网络来说所独有的信息,即脉冲发放时间,这也是脉冲神经网络作为第三代神经网络的优势所在。由于每个脉冲都包含了发放时间信息,时间编码的脉冲神经网络通常来说需要很少的脉冲甚至单个脉冲即可在层间传递大量信息,是脉冲神经网络的理想选择。但在目前应用广泛的监督学习领域,时间编码的脉冲神经网络缺乏硬件友好的训练手段,相比于模拟神经网络,其在时间尺度上的计算需求决定了它在传统的数字系统处理单元(例如CPU,GPU等)上的运算量大,功耗高。另一方面,脉冲神经网络具备的一些特有的学习规则,例如赫布法则(Hebb rule)、脉冲时间可塑性依赖(STDP)等等,在一些新型存储器(包括忆阻器、相变存储器等等)上的运算非常高效、便捷,以新型存储器为基础构建的电路能够很好地作为脉冲神经网络的载体,然而此类算法只能用于非监督学习,应用场景有限。
本实施例是基于前文介绍的运算电路实现时间编码的脉冲神经网络的监督学习,其中,输入的发放信号为单位阶跃信号。
具体实现的脉冲神经网络运算包括前向传播运算、反向传播运算和权重更新运算:
所述脉冲神经网络中任意相邻两层的前向传播运算包括:
第k层发放单位阶跃信号ε(t-tk)与第k层至第k+1层的权重矩阵wk.k+1相乘后进行线性积分得到第k+1层的膜电位yk+1(t);
将膜电位yk+1(t)与对应的阈值Vth进行比较,当yk+1(t)>Vth时,第k+1层向下一层发放单位阶跃信号ε(t-tk+1)并记录第k+1层的信号发放时间tk+1;否则,不发放信号;
当数据前向传播到输出层时,执行反向传播运算,包括:
根据输出层实际输出脉冲的时间与目标脉冲输出时间计算输出层的误差值δo,输出层的误差值δo逐层反向传播,第k+1层的误差值δk+1与第k层的误差值δk的关系满足:
当得到各层的误差值后,执行权重更新运算得到各权重矩阵更新量Δwk.k+1,叠加原有权重矩阵wk.k+1,得到对应的更新后的权重矩阵:
利用如下公式计算权重矩阵更新量Δwk.k+1:
Δwk.k+1=-ηReLU(tk+1-tk)·sgn(δk+1)
式中,ReLU(tk+1-tk)为对ε(t-tk)进行积分后于tk+1时刻的取值。
基于前文的运算电路,以下具体介绍运算的操作过程。
实现前向传播运算的操作包括:
上层操作:
在字线sWL和位线sBL上施加电压,保证上层所有开关器件开启,以使下层所有晶体管开启。也就是说,在前向过程中,在上层交叉横杆阵列的字线和位线上施加一定的电压使得开关器件始终保持在开启状态,从而下层交叉横杆阵列中的晶体管始终保持在开启状态。
下层操作:
将训练数据作为第一层发放的单位阶跃信号输入突触阵列F1的字线WL,直至在输出层输出脉冲;利用存储模块用于记录每层的信号发放时间,完成当前轮次的前向传播运算。
具体而言,如图4(a)和4(b)所示,在前向传播过程中,数据(图中以两个神经元的发放数据为例,其中一个的发放时间为tk1,另一个的发放时间为tk2,tk={tk1,tk2})输入到下层横杆阵列的字线WL中,经过突触阵列(权重矩阵)后在位线BL上获得加权叠加的电流信号,此操作即对应神经网络运算中的向量矩阵乘法运算。位线上的电流信号由积分模块积分为神经元的膜电位,再经阈值比较模块比较膜电位与对应的阈值,当膜电位在时间tk+1超过对应神经元的阈值时,由阈值比较模块向下一层发放单位阶跃信号,并输入到下一层突触阵列的字线WL上。依此类推,脉冲向深层网络传播。在前向传播过程中,每个神经元的脉冲发放时间,通过监测信号上升沿被存储模块所记录。
下层操作中,所引起的信号处理主要包括以下几个过程:
1、权重计算过程:数据输入到下层横杆阵列的字线WL中,经过突触阵列(权重矩阵)后在位线BL上获得加权叠加的电流信号,此操作即对应神经网络运算中的向量矩阵乘法运算。
以实施例1中的2*2的突触阵列为例说明,前一层神经元发放的信号经突触阵列传送给后一神经元的过程为:
晶体管T11~T22保持开启状态,前一层神经元的发放信号(UWL1,UWL2)输入到该突触阵列下层交叉横杆阵列的字线(WL1,WL2)中,每个神经元对应连接一个字线,发放信号UWL1输入字线WL1,发放信号UWL2输入字线WL2,经过忆阻器M11和M21,由欧姆定律和基尔霍夫定律可得,在BL1上得到加权求和的电流,即IBL1=UWL1×G11+UWL2×G21,其中IBL1为在BL1上得到加权求和电流,G11和G21为M11和M21的电导值。同理,在BL2上也得到加权求和的电流,即IBL2=UWL1×G12+UWL2×G22,其中IBL1为在BL1上得到加权求和电流,G12和G22为M12和M22的电导值。由此,便实现了前一层神经元的发放信号的加权求和,完成前向传播中发放信号与权重矩阵相乘的关键步骤。
2、膜电位计算过程:位线上的电流信号由积分模块积分为神经元的膜电位。
对于每层,第k层发放单位阶跃信号ε(t-tk)与第k层至第k+1层的权重矩阵wk.k+1的相乘结果为ε(t-tk)*wk.k+1,由运算电路的积分模块积分得到第k+1层神经元的膜电位yk+1(t):
其中,ε(t-tk)为单位阶跃函数,
tk为第k层发放信号的时间。
本实施例中,设置发放信号为单位阶跃信号,则进行积分的膜电位yk+1(t)线性增加,膜电位也可等等价表示为:
yk+1(t)=wk.k+1*xk(t)
xk(t)=αReLU(t-tk)
ReLU()为线性整流单元函数(Rectified Linear Unit),α为常数系数。
3、阈值比较过程:膜电位经阈值比较模块比较膜电位与对应的阈值,当膜电位超过对应神经元的阈值时,由阈值比较模块向下一层发放单位阶跃信号,并输入到下一层突触阵列的字线WL上,同时,利用存储模块用于记录当前层的信号发放时间。
当膜电位yk+1(t)在tk+1时刻大于阈值时,第k+1层神经元在tk+1时刻向下一层发放脉冲,即tk+1=where(yk+1(t)≥Vth),其中Vth为神经元阈值电压。
神经网络的前向传播过程按照此规则逐层向前传播,直至在输出层发放信号,完成该轮次的前向传播,继而执行反向传播。
实现反向传播运算的操作包括:
计算输出层在当前轮次的误差值δo,使输出层的误差值δo逐层反向传播,获得各层的误差值。
当数据前向传播到输出层时,得到实际输出脉冲时间与目标脉冲输出时间/>相比较结合损失函数L计算出网络的损失,从而得到输出层的误差值,可以直接利用已有方法计算神经网路输出层误差值。
在本实施例中,输出层误差值δo的计算公式如下:
获取第k层的误差值的操作包括:
上层操作:将突触前信号和突触后信号/>中的一个施加于突触阵列Fk的字线sWL、另一个施加于突触阵列Fk的位线sBL;突触前信号/>的开始时间与突触后信号的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系;突触前信号/>与突触后信号/>的电压差能够开启突触阵列Fk中的开关器件。
下层操作;将第k+1层的误差值δk+1缩放-β倍后输入突触阵列Fk的位线BL,β为设定的缩放系数,获取突触阵列Fk的字线WL输出数据作为误差值δk。
在反向传播过程中,当前向传播到最后一层神经网络时,得到实际输出时间,计算实际输出时间和目标输出时间的误差值,缩放后输入到下层交叉横杆阵列的位线BL中,在误差信号持续时间内,突触前信号和突触后信号/>由前向传播过程中存储模块记录的每个交叉横杆阵列的输入输出时刻所决定,突触前信号在tpre时间点发放,突触后信号在tpost时间点结束,分别施加在上层交叉横杆阵列的字线sWL和位线sBL上。tpre和tpost的时间相对关系与前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系相同,相对关系包括时间间隔以及时间前后。当两信号在时间上有重叠时,在重叠时间内产生的电压差降落在开关器件和定制电阻上,此时,开关器件两端电压大于其阈值电压,开关器件开启;当两信号在时间上无重叠时,开关器件两端电压小于其阈值电压,开关器件关闭。当开关器件开启时,晶体管栅压大于其阈值电压,晶体管开启,误差信号和下层交叉横杆阵列中的忆阻器阵列进行加权求和操作,在字线上得到前一层的误差信号,继续输入前一层交叉横杆阵列的下层位线中,依次类推得到每层的误差。当开关器件关闭时,前层误差信号均为0。
以BL1上的误差信号、sWL1和sBL1上的突触前信号和突触后信号为例。如图5(a)和5(b)所示,突触前信号在tpre时间点发放,突触后信号在tpost时间点结束,当两信号在时间上有重叠时,即tpre到tpost时间内,在重叠时间内产生的电压差降落在开关器件S11和定制电阻R11上,S11两端电压大于其阈值电压,S11开启,晶体管T11栅压随之增大,T11开启,误差信号经过M11,与经过M12的误差信号汇合为WL1上向前传播的误差信号,即IWL1=UBL1×GM11+UBL2×GM12,其中GM11、GM12为M11和M12的电导值,UBL1和UBL2为BL1和BL2上误差信号,IWL1为WL1上加权求和后的误差信号,此误差信号即为前一层的误差。如图5(c)所示,若当两信号在时间上无重叠时,开关器件两端电压小于其阈值电压,开关器件关闭,晶体管关闭,误差信号不能通过忆阻器,即误差信号为零。
实际上,上述反向操作所实现的误差运算公式为:
式中,β为设定的缩放系数,为权重矩阵wk.k+1的转置。
当tk+1>tk时,ε(tk+1-tk)=1,第k+1层的误差δk+1经缩放-β倍后输入突触阵列,与相乘,得到第k层的误差δk;
当tk+1≤tk时,ε(tk+1-tk)=0,则δk=0。
在执行完反向传播的操作,得到各层的误差值后,继续执行突触权重更新的操作。
对于任意突触阵列Fk的权重更新运算的操作包括:
下层操作:分第一阶段和第二阶段向突触阵列Fk的字线WL施加突触前信号并向位线BL施加突触后信号/>每个阶段的突触前信号/>与突触后信号/>的极性相反且两阶段中同一类信号的极性相反;在每个阶段,突触前信号/>的开始时间与突触后信号/>的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系。
具体而言,在权重更新过程中,所施加的信号波形可分为两个阶段。
在第一阶段,突触前信号在tpre时间点发放,突触后信号在tpost时间点结束,分别施加在下层交叉横杆阵列的字线和位线上,两者重叠时间内在忆阻器两端产生的电压降使其电导值线性增大或减小。在第二阶段,突触前信号的发放时间和突触后信号的结束时间的相对值和第一阶段保持一致,但极性和第一阶段相反,忆阻器电导值线性减小或增大。若第一阶段使电导值线性增大,则第二阶段使电导值线性减小,若第一阶段使电导值线性减小,则第二阶段使电导值线性增大。若无重叠时间,突触前信号在tpre和突触后信号在tpost不能同时作用于忆阻器两端,其电压差不足以调制电导。
上层操作:根据第k+1层的误差值δk+1向突触阵列Fk位线sBL和字线sWL施加不同的更新信号:
当δk+1=0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段和第二阶段均关断;
当δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段关断、在另一个阶段开启,在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小;
当δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段开启、在另一个阶段关断,且在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
具体而言,权重更新过程中,每个双层交叉横杆阵列的更新信号由反向传播期间其下层交叉横杆阵列中的位线获取到的误差值所决定,更新信号施加在上层交叉横杆阵列的位线和字线上,以控制对应晶体管的状态,继而控制忆阻器支路是否导通,即忆阻器两端能否接收到下层字线和位线所施加的调制信号(突触前信号和突触后信号)。当晶体管开启,在晶体管开启的时间内,突触前信号和突触后信号重叠部分的电压差能够使忆阻器的电导值改变;在晶体管关闭的时间内,忆阻器的电导值不能被突触前信号和突触后信号改变。
当误差信号为正时,施加于上层位线和字线上的更新信号可以在调制电导值减小的阶段打开晶体管,以在晶体管开启期间,时间重叠的突触前信号s′tpre和突触后信号s′tpost在忆阻器两端产生的电压降使其电导值逐渐减小。
当误差信号为正时,施加于上层位线和字线上的更新信号无法打开晶体管,忆阻器电导值不被调制。
当误差信号为负时,施加于上层位线和字线上的更新信号可以在调制电导值增大的阶段打开晶体管,以在晶体管开启期间,时间重叠的突触前信号和突触后信号在忆阻器两端产生的电压降使其电导值逐渐增大。
可以理解的,具体操作时,可以在第一阶段调制电导增大、在第二阶段调制电导减小,也可以在第一阶段调制电导减小、在第二阶段调制电导增大。
以在第一阶段调制电导增大、在第二阶段调制电导减小为例。向突触阵列Fk的字线WL施加为正的突触前信号向位线BL施加为负的突触后信号/>当误差信号δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段关断、在第二阶段开启,在第二阶段,时间重叠的突触前信号/>和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小。当误差信号δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段开启、在第二阶段关断,在第一阶段,时间重叠的突触前信号/>和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
进一步的,在一实施例中,
当δk+1=0,对应位线sBL和字线sWL均为低电平。具体可以均接地。
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为低电平、于第二阶段为高电平。例如,可以将字线sWL接地,位线sBL上施加一个具有由低电平跳变为高电平的信号。
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为高电平、于第二阶段为低电平。例如,可以将字线sWL接地,位线sBL上施加一个具有由高电平跳变为低电平的信号。
如图6(a)~6(d)所示,以一个具体的例子进行说明。在权重更新期间,sWL1接地,在sBL1上的误差更新信号。
如图6(b)所示,当δk+1>0,误差更新信号在第一阶段为零信号,不能开启晶体管,电导不变,第二阶段为幅值大于零的方波,开启晶体管,此时,若突触前信号和突触后信号有时间重叠,则电导线性减小,若无时间重叠,则电导还是保持不变。
如图6(c)所示,当δk+1=0,误差更新信号在第一阶段和第二阶段均为零信号,不能开启晶体管,电导不变。
如图6(d)所示,当δk+1>0,误差更新信号在第一阶段为幅值大于零的方波,开启晶体管,此时,若突触前信号和突触后信号有时间重叠,则电导线性增大,若无时间重叠,则电导还是保持不变,第二阶段为零信号,不能开启晶体管,电导不变。
此操作达到的效果为,当误差更新信号大于零时,按照原本脉冲突触可塑性应该改变的电导值进行更新;当误差更新信号小于零时,按照原本脉冲突触可塑性应该改变的电导值相反的方向进行更新。
此过程对应的权重更新增量的运算式为:
Δwk.k+1=-ηReLU(tk+1-tk)·sgn(δk+1)
式中,ReLU(tk+1-tk)为对ε(t-tk)进行积分后于tk+1时刻的取值。
综上,本发明基于用于神经网络学习的运算电路的操作方法,依赖于突触阵列的设计。突触阵列以开关器件和定值电阻为基本单元的上层交叉横杆阵列与以忆阻器和晶体管为基本单元的下层交叉横杆阵列构成双层交叉横杆阵列,两层交叉横杆阵列中对应的基本单元间由导线连接;双层交叉横杆阵列能够实现脉冲神经网络的前向传播、反向传播和权重更新过程。前向过程输入信号施加在下层交叉横杆阵列的字线上,从输入端到输出端逐层和下层交叉横杆阵列中的忆阻器矩阵进行向量矩阵乘法运算。反向传播过程中误差信号施加在下层交叉横杆阵列中的位线上,从输出端开始向输入端逐层和忆阻器矩阵的转置进行向量矩阵乘法,并由开关器件控制误差信号是否能够反向传播。权重更新过程中,根据脉冲时间依赖可塑性在下层交叉横杆阵列的字线和位线上施加电压以并行地改变忆阻器电导值,并且根据每层的误差信号控制开关器件的导通状态进而控制晶体管的开关状态来决定下层交叉横杆阵列的字线和位线上电压能否改变忆阻器电导值。本发明所提的基于用于神经网络学习的运算电路的操作方法,基于突触阵列的设计,能够基于新型非易失性存储器高效实现运算。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于神经网络学习的突触阵列,其特征在于,包括:
上层交叉横杆阵列,包括N个字线sWL、M个位线sBL和连接在任意一字线sWL与任意一位线sBL之间的上层基础单元,每个上层基础单元包括串联的开关器件和定值电阻;
下层交叉横杆阵列,包括N个字线WL、M个位线BL和连接在任意一字线WL与任意一位线BL之间的下层基础单元,每个下层基础单元包括串联的忆阻器和晶体管;
其中,每个上层基础单元与每个下层基础单元一一对应连接,连接方式为:从上层基础单元的开关器件和定值电阻的连接端引出互连线与对应的下层基础单元的晶体管的栅极相连;
每个忆阻器的电导值用于计算所连字线WL和位线BL之间的权重,在前向传播过程中,每个字线WL用于接收神经元的发放信号,位线BL输出发放信号与权重矩阵的相乘结果,所述权重矩阵为所述突触阵列的所有权重。
2.如权利要求1所述的用于神经网络学习的突触阵列,其特征在于,开关器件为阈值转换器件、晶体管或二极管。
3.如权利要求1所述的用于神经网络学习的突触阵列,其特征在于,所有位线相互平行,所有字线相互平行,字线和位线相交叉。
4.如权利要求1所述的用于神经网络学习的突触阵列,其特征在于,所述忆阻器为导电丝忆阻器或相变存储器。
5.一种用于神经网络学习的运算电路,其特征在于,包括存储模块以及位于神经网络每相邻两层之间的依次连接的突触阵列、积分模块和阈值比较模块,其中,
所述突触阵列为如权利要求1~4任一项所述的用于神经网络学习的突触阵列,前一突触阵列的位线BL的数量与后一个突触阵列的字线WL的数量相同;第k层至第k+1层之间的突触阵列Fk的字线WL接收第k层的发放信号εk后,经突触阵列Fk的位线BL向积分模块输出发放信号εk与权重矩阵wk.k+1的相乘结果,权重矩阵wk.k+1为突触阵列Fk的所有权重;
所述积分模块用于将接收的所述相乘结果进行线性积分,得到第k+1层的膜电位yk+1(t);
所述阈值比较模块用于将所述膜电位yk+1(t)与对应的阈值Vth进行比较,当yk+1(t)>Vth时,第k+1层向第k+2层发放信号εk+1;否则,不发放信号;
所述存储模块用于记录每层的信号发放时间。
6.如权利要求5所述的用于神经网络学习的运算电路,其特征在于,还包括误差计算模块,用于根据神经网络的输出层的实际输出信息与目标输出信息,计算输出层的误差值。
7.一种用于神经网络学习的运算电路的操作方法,其特征在于,实现权利要求5或6所述的用于神经网络学习的运算电路的前向传播运算、反向传播运算,其中,
实现前向传播运算的操作包括:
在字线sWL和位线sBL上施加电压,保证上层所有开关器件开启,以使下层所有晶体管开启;
将训练数据作为第一层发放的单位阶跃信号输入突触阵列F1的字线WL,直至在输出层输出信号;利用存储模块用于记录每层的信号发放时间,完成当前轮次的前向传播运算;
实现反向传播运算的操作包括:
计算输出层在当前轮次的误差值δo,使输出层的误差值δo逐层反向传播,获得各层的误差值,其中,获取第k层的误差值的操作包括:
将突触前信号和突触后信号/>中的一个施加于突触阵列Fk的字线sWL、另一个施加于突触阵列Fk的位线sBL;突触前信号/>的开始时间与突触后信号/>的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系;突触前信号/>与突触后信号/>的电压差能够开启突触阵列Fk中的开关器件;
将第k+1层的误差值δk+1缩放-β倍后输入突触阵列Fk的位线BL,β为设定的缩放系数,获取突触阵列Fk的字线WL输出数据作为误差值δk。
8.如权利要求7所述的用于神经网络学习的运算电路的操作方法,其特征在于,还包括权重更新运算操作,对于任意突触阵列Fk的权重更新运算的操作包括:
分第一阶段和第二阶段向突触阵列Fk的字线WL施加突触前信号并向位线BL施加突触后信号/>每个阶段的突触前信号/>与突触后信号/>的极性相反且两阶段中同一类信号的极性相反;在每个阶段,突触前信号/>的开始时间与突触后信号的结束时间的相对关系符合前向传播期间所记录的第k层信号发放时间tk与第k+1层信号发放时间tk+1的相对关系;
根据第k+1层的误差值δk+1向突触阵列Fk位线sBL和字线sWL施加不同的更新信号,包括:
当δk+1=0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段和第二阶段均关断;
当δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段关断、在另一个阶段开启,在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小;
当δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在其中一个阶段开启、在另一个阶段关断,且在晶体管开启期间,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
9.如权利要求8所述的用于神经网络学习的运算电路的操作方法,其特征在于,在实现突触阵列Fk的权重更新运算的操作中,
分两个阶段向突触阵列Fk的字线WL施加突触前信号并向位线BL施加突触后信号包括:
在第一阶段,向突触阵列Fk的字线WL施加为正的突触前信号向位线BL施加为负的突触后信号/>
在第二阶段,向突触阵列Fk的字线WL施加为负的突触前信号向位线BL施加为正的突触后信号/>
根据第k+1层的误差值δk+1向突触阵列Fk对应位线sBL和字线sWL施加不同的信号,包括:
当δk+1>0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段关断、在第二阶段开启,在第二阶段,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐减小;
当δk+1<0,对应位线sBL和字线sWL所施加的更新信号保证对应的晶体管在第一阶段开启、在第二阶段关断,在第一阶段,时间重叠的突触前信号和突触后信号/>在忆阻器两端产生的电压降使其电导值逐渐增大。
10.如权利要求9所述的用于神经网络学习的运算电路的操作方法,其特征在于,
当δk+1=0,对应位线sBL和字线sWL均为低电平;
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为低电平、于第二阶段为高电平;
当δk+1>0,对应位线sBL和字线sWL中的一个为低电平,另一个于第一阶段为高电平、于第二阶段为低电平。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310965348.3A CN117151176A (zh) | 2023-08-02 | 2023-08-02 | 用于神经网络学习的突触阵列、运算电路及操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310965348.3A CN117151176A (zh) | 2023-08-02 | 2023-08-02 | 用于神经网络学习的突触阵列、运算电路及操作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117151176A true CN117151176A (zh) | 2023-12-01 |
Family
ID=88908983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310965348.3A Pending CN117151176A (zh) | 2023-08-02 | 2023-08-02 | 用于神经网络学习的突触阵列、运算电路及操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117151176A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117829224A (zh) * | 2024-03-05 | 2024-04-05 | 南京大学 | 一种基于复合介质栅结构的仿生神经网络电路系统 |
-
2023
- 2023-08-02 CN CN202310965348.3A patent/CN117151176A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117829224A (zh) * | 2024-03-05 | 2024-04-05 | 南京大学 | 一种基于复合介质栅结构的仿生神经网络电路系统 |
CN117829224B (zh) * | 2024-03-05 | 2024-05-28 | 南京大学 | 一种基于复合介质栅结构的仿生神经网络电路系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Demin et al. | Necessary conditions for STDP-based pattern recognition learning in a memristive spiking neural network | |
CN109460817B (zh) | 一种基于非易失存储器的卷积神经网络片上学习系统 | |
US10740671B2 (en) | Convolutional neural networks using resistive processing unit array | |
CN109800870B (zh) | 一种基于忆阻器的神经网络在线学习系统 | |
CN110892480B (zh) | 采用nvm矩阵电路以执行矩阵计算的非易失性(nv)存储器(nvm)矩阵电路 | |
US9779355B1 (en) | Back propagation gates and storage capacitor for neural networks | |
US20180330236A1 (en) | Neural network processing system | |
WO2019013955A1 (en) | MULTINIVE CELL (MLC) NONVOLATILE MEMORY (NV) MATRIX CIRCUITS FOR PERFORMING DIAL CALCULATIONS WITH MULTI-BIT INPUT VECTORS | |
CN110852429B (zh) | 一种基于1t1r的卷积神经网络电路及其操作方法 | |
Deng et al. | Energy consumption analysis for various memristive networks under different learning strategies | |
US11347999B2 (en) | Closed loop programming of phase-change memory | |
CN109448068B (zh) | 一种基于忆阻器交叉阵列的图像重构系统 | |
CN117151176A (zh) | 用于神经网络学习的突触阵列、运算电路及操作方法 | |
Oh et al. | Hardware implementation of spiking neural networks using time-to-first-spike encoding | |
Wu et al. | Dendritic-inspired processing enables bio-plausible STDP in compound binary synapses | |
Hassan et al. | Hybrid spiking-based multi-layered self-learning neuromorphic system based on memristor crossbar arrays | |
Oh et al. | Neuron circuits for low-power spiking neural networks using time-to-first-spike encoding | |
Bohnstingl et al. | Biologically-inspired training of spiking recurrent neural networks with neuromorphic hardware | |
Danial et al. | Delta-sigma modulation neurons for high-precision training of memristive synapses in deep neural networks | |
Sun et al. | Quaternary synapses network for memristor-based spiking convolutional neural networks | |
US11250316B2 (en) | Aggregate adjustments in a cross bar neural network | |
Shukla et al. | A case for multiple and parallel RRAMs as synaptic model for training SNNs | |
JP2023526915A (ja) | アナログ人工知能ネットワーク推論のための行単位畳み込みニューラル・ネットワーク・マッピングのための効率的なタイル・マッピング | |
Kendall et al. | Deep learning in memristive nanowire networks | |
Gi et al. | Modeling and system-level simulation for nonideal conductance response of synaptic devices |
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 |