用于神经网络学习的突触阵列制造技术

技术编号:39658395 阅读:10 留言:0更新日期:2023-12-09 11:27
本发明专利技术公开了一种用于神经网络学习的突触阵列

【技术实现步骤摘要】
用于神经网络学习的突触阵列、运算电路及操作方法


[0001]本专利技术属于神经网络运算
,更具体地,涉及一种用于神经网络学习的突触阵列

运算电路及操作方法


技术介绍

[0002]人工神经网络是一种应用类似于大脑神经突触联接的结构,它是一种模仿动物神经网络行为特征,进行信息处理的数学模型进行分布式并行信息处理的算法数学模型

在众多机器学习的算法中,神经网络的适用性广,鲁棒性强

这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的

[0003]神经网络包括输入层

若干隐藏层和输出层,每层包括大量的神经元,每相邻两层之间的神经元通过突触进行连接,突触是神经网络中最多的处理元件,突触权重则为神经网络进行训练更新的重要参数

在突触器件方面,已有很多器件被报道如磁性存储器,相变存储器和忆阻器等

这其中,由于忆阻器非易失,易集成,低功耗以及可实现多位存储,是非常有前途的候选者

且忆阻器的模拟记忆功能类似于生物突触,其电导可以通过施加相对较大的电压偏置而连续改变,但在施加较小的偏压或无偏压时保持不变

[0004]神经网络的监督学习是一个非常复杂的过程,其包括前向传播

反向传播和权重更新等步骤

目前,在搭建神经元网络学习运算硬件电路时,所采用的突触阵列多为单层结构,即单层交叉横杆阵列,如
CN109460817B

一种基于非易失存储器的卷积神经网络片上学习系统,利用的基于忆阻器的单层交叉横杆阵列作为突触权重

这种突触阵列虽然结构简单,但是,在进行监督学习的反向传播和权重更新时,则需要借助大量的片外计算资源执行误差计算和权重更新量的计算,导致神经网络训练需要大量的计算资源,运算量大,运算速度慢且功耗高


技术实现思路

[0005]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种神经网络的突触阵列

运算电路及操作方法,其目的在于实现神经网络学习的高效运算

降低运算功耗

[0006]为实现上述目的,按照本专利技术的一个方面,提供了一种用于神经网络学习的突触阵列,其特征在于,包括:
[0007]上层交叉横杆阵列,包括
N
个字线
sWL、M
个位线
sBL
和连接在任意一字线
sWL
与任意一位线
sBL
之间的上层基础单元,每个上层基础单元包括串联的开关器件和定值电阻;
[0008]下层交叉横杆阵列,包括
N
个字线
WL、M
个位线
BL
和连接在任意一字线
WL
与任意一位线
BL
之间的下层基础单元,每个下层基础单元包括串联的忆阻器和晶体管;
[0009]其中,每个上层基础单元与每个下层基础单元一一对应连接,连接方式为:从上层基础单元的开关器件和定值电阻的连接端引出互连线与对应的下层基础单元的晶体管的栅极相连;
[0010]每个忆阻器的电导值用于计算所连字线
WL
和位线
BL
之间的权重,在前向传播过程
中,每个字线
WL
用于接收神经元的发放信号,位线
BL
输出发放信号与权重矩阵的相乘结果,所述权重矩阵为所述突触阵列的所有权重

[0011]在其中一个实施例中,开关器件为阈值转换器件

晶体管或二极管

[0012]在其中一个实施例中,所有位线相互平行,所有字线相互平行,字线和位线相交叉

[0013]在其中一个实施例中,所述忆阻器为导电丝忆阻器或相变存储器

[0014]按照本专利技术的另一方面,提供了一种用于神经网络学习的运算电路,包括存储模块以及位于神经网络每相邻两层之间的突触阵列

积分模块和阈值比较模块,其中,
[0015]所述突触阵列为上述的用于神经网络学习的突触阵列,前一突触阵列的位线
BL
的数量与后一个突触阵列的字线
WL
的数量相同;第
k
层至第
k+1
层之间的突触阵列
F
k
的字线
WL
接收第
k
层的发放信号
ε
k
后,经位线
BL
输出发放信号
ε
k
与权重矩阵
w
k.k+1
的相乘结果,权重矩阵
w
k.k+1
为突触阵列
F
k
的所有权重;
[0016]所述积分模块用于将对应权重矩阵的相乘结果进行线性积分后得到第
k+1
层的膜电位
y
k+1
(t)

[0017]所述阈值比较模块用于将所述膜电位
y
k+1
(t)
与对应的阈值
V
th
进行比较,当
y
k+1
(t)>V
th
时,第
k+1
层向下一层发放信号
ε
k+1
;否则,不发放信号;
[0018]所述存储模块用于记录每层的信号发放时间

[0019]在其中一个实施例中,还包括误差计算模块,用于根据输出层实际输出信息与目标输出信息计算输出层的误差值

[0020]按照本专利技术的另一方面,提供了一种用于神经网络学习的运算电路的操作方法,基于上述的用于神经网络学习的运算电路进行操作以实现前向传播运算

反向传播运算,其中,
[0021]实现前向传播运算的操作包括:
[0022]在字线
sWL
和位线
sBL
上施加电压,保证上层所有开关器件开启,以使下层所有晶体管开启;
[0023]将训练数据作为第一层发放的单位阶跃信号输入突触阵列
F1的字线
WL
,直至在输出层输出信号;利用存储模块用于记录每层的信号发放时间,完成当前轮次的前向传播运算;
[0024]实现反向传播运算的操作包括:
[0025]计算输出层在当前轮次的误差值
δ
o
,使输出层的误差值
δ
o
逐层反向传播,获得各层的误差值,其中,获取第
k
层的误差值的操作包括:
[0026]将突触前信号和突触后信号中的一个施加于突触阵列
...

【技术保护点】

【技术特征摘要】
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
层之间的突触阵列
F
k
的字线
WL
接收第
k
层的发放信号
ε
k
后,经突触阵列
F
k
的位线
BL
向积分模块输出发放信号
ε
k
与权重矩阵
w
k.k+1
的相乘结果,权重矩阵
w
k.k+1
为突触阵列
F
k
的所有权重;所述积分模块用于将接收的所述相乘结果进行线性积分,得到第
k+1
层的膜电位
y
k+1
(t)
;所述阈值比较模块用于将所述膜电位
y
k+1
(t)
与对应的阈值
V
th
进行比较,当
y
k+1
(t)>V
th
时,第
k+1
层向第
k+2
层发放信号
ε
k+1
;否则,不发放信号;所述存储模块用于记录每层的信号发放时间
。6.
如权利要求5所述的用于神经网络学习的运算电路,其特征在于,还包括误差计算模块,用于根据神经网络的输出层的实际输出信息与目标输出信息,计算输出层的误差值
。7.
一种用于神经网络学习的运算电路的操作方法,其特征在于,实现权利要求5或6所述的用于神经网络学习的运算电路的前向传播运算

反向传播运算,其中,实现前向传播运算的操作包括:在字线
sWL
和位线
sBL
上施加电压,保证上层所有开关器件开启,以使下层所有晶体管开启;将训练数据作为第一层发放的单位阶跃信号输入突触阵列
F1的字线
WL
,直至在输出层输出信号;利用存储模块用于记录每层的信号发放时间,完成当前轮次的前向传播运算;实现反向传播运算的操作包括:计算输出层在当前轮次的误差值
δ
o
,使输出层的误差值
δ
o
逐层反向传播,获得各层的误
差值,其中,获取第
k
层的误差值的操作包括:将突触前信号和突触后信号中的一个施加于突触阵列
F
k
的字线
sWL、
另一个施加于突触阵列
F
k
的位线
sBL
;突触前信号的开始时间与突触后信号的结束时间的相对关系符合前向传播期间所记录的第
k
层信号发放时间
t
k
与第
k+1
层信号发放时间
t
k+1
的相对关系;突触前信号与突触后信号的电压差能够开启突触阵列
F
k
中的开关器件;...

【专利技术属性】
技术研发人员:缪向水张大友付嘉炜何毓辉
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1