深度神经网络训练制造技术

技术编号:39569768 阅读:3 留言:0更新日期:2023-12-03 19:20
在训练深度神经网络的方法中,处理器初始化

【技术实现步骤摘要】
【国外来华专利技术】深度神经网络训练

技术介绍

[0001]本专利技术总体上涉及深度神经网络
(DNN)
训练,并且更具体地,涉及用于将斩波器值
(chopper value)
添加到电阻处理单元
(RPU)
设备的滤波信号以降低噪声的技术

[0002]深度神经网络
(DNN)
可被体现在诸如电阻处理单元
(RPU)
的电阻设备的模拟交叉点阵列中
。RPU
设备通常包括第一端子

第二端子和有源区

有源区的电导状态
(conductance state)
标识
RPU
的权重值,可以通过向第一
/
第二端子施加信号来更新
/
调整该
RPU
的权重值

[0003]基于
DNN
的模型已经被用于各种不同的基于认知的任务,诸如对象和语音标识和自然语言处理

在执行这样的任务时,需要
DNN
训练来提供高水平的准确度

训练大的
DNN
是计算密集的任务
。DNN
训练的最流行方法
(
诸如后向传播和随机梯度下降
(SGD))
要求
RPU“对称”以准确地工作

当受到正电压脉冲和负电压脉冲时,对称的模拟电阻设备对称地改变电导

然而,实际上,<br/>RPU
设备可表现出非线性和非对称的开关特性

例如,当施加电压脉冲以向上或向下调整权重时,在向上调整和向下调整之间通常存在不平衡


技术实现思路

[0004]本专利技术提供了用于训练使用电阻处理单元
(RPU)
来跟踪和更新权重值的深度神经网络
(DNN)
的技术

本文描述的技术克服了
RPU
可能引入的噪声和偏置的问题

具体而言,由
RPU
引入的噪声通过使用充当低通滤波器的隐藏矩阵来解决,而偏置使用斩波器来解决

[0005]在方法或计算机程序产品的方面中,处理器通过用来自权重矩阵的激活值和误差值乘以斩波器值更新
A
矩阵的元素来确定增量权重更新

该元素可以包括电阻处理单元

处理器从元素读取更新电压

处理器通过将更新电压乘以斩波器值确定斩波器乘积

处理器存储隐藏矩阵的元素

隐藏矩阵的元素可包括斩波器乘积的连续迭代的总和
(summation)。
处理器基于隐藏矩阵的元素达到阈值状态来更新权重矩阵的对应的元素

[0006]在实施例中,处理器跟踪隐藏矩阵的对应的元素中的
A
矩阵的元素的斩波器乘积的总和

斩波器乘积
(product)
可以包括在被施加到
A
矩阵之前和之后来自权重矩阵的对应的元素的激活值和误差值乘以斩波器值

当总和之一的总和达到阈值时,处理器触发所述权重矩阵的所述对应的元素的更新

[0007]实施例可包括具有
A
矩阵的深度神经网络
(DNN)
,该
A
矩阵具有将导电行线
(conductive row wire)
与导电列线
(conductive column wire)
之间的交叉点分开的电阻处理单元
(RPU)
设备
。RPU
设备可包括用于
DNN
中的神经元之间的加权连接的经处理的梯度
。DNN
可包括具有将导电行线与导电列线之间的交叉点分开的
RPU
设备的权重矩阵
。RPU
设备可包括
DNN
中的神经元之间的加权连接
。DNN
可包括斩波器,该斩波器被配置为在被施加到
A
矩阵之前将来自权重矩阵的激活值和误差值乘以斩波器值,并将来自
A
矩阵的输出向量乘以斩波器值以产生斩波器乘积
。DNN
可包括被配置为存储包括权重矩阵
W
中的每个
RPU
设备的
H
值的隐藏矩阵的计算机存储
。H
值可包括斩波器乘积的总和

[0008]在实施例中,训练深度神经网络
(DNN)
可包括将乘以斩波器值的输入向量
e
i
作为
电压脉冲通过
A
矩阵的导电列线传送并读取所得的输出向量
y

作为来自
A
矩阵的导电行线的电流输出
。A
矩阵可包含将导电列线与导电行线之间的交叉点分开的电阻处理单元
(RPU)
设备

训练可包括通过将输出向量
y

乘以斩波器值来确定每个
RPU
的斩波器乘积

训练可包括通过迭代地添加斩波器乘积来更新隐藏矩阵的
H
值,其中隐藏矩阵包括每个
RPU

H


训练可包括:在
H
值达到阈值之后,通过权重矩阵
W
的导电列线将输入向量
e
i
作为电压脉冲发送,同时通过权重矩阵
W
的导电行线将达到阈值的
H
值的符号信息作为电压脉冲发送

[0009]通过参照以下详细说明和附图,将会获得对本专利技术的更完整的理解以及本专利技术的进一步的特征和优点

附图说明
[0010]图
1A
是示出了具有权重矩阵
W、A
矩阵和隐藏矩阵
H
的深度神经网络
(DNN)
的示意图

[0011]图
1B
是示出了根据本专利技术的实施例的体现在电阻处理单元
(RPU)
设备的模拟交叉点阵列中的深度神经网络
(DNN)
的示图;
[0012]图
2A
是示出根据本专利技术的实施例的线性且对称的
RPU
设备的理想开关特性的示图;
[0013]图
2B
是示出根据本专利技术的实施例的非线性和非对称的
RPU
设备的非理想切换特性的示图;
[0014]图3是示出根据本专利技术的实施例的用于训练
DNN
的示例性方法的示图;...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种训练深度神经网络
(DNN)
的方法,所述方法包括:通过用来自权重矩阵的激活值和误差值乘以斩波器值来更新
A
矩阵的元素来确定增量权重更新,其中所述元素包括电阻处理单元;从所述元素读取更新电压;通过将所述更新电压乘以所述斩波器值确定斩波器乘积;存储隐藏矩阵的元素,其中所述隐藏矩阵的所述元素包括所述斩波器乘积的连续迭代的总和;以及基于所述隐藏矩阵的所述元素达到阈值状态来更新所述权重矩阵的对应的元素
。2.
根据权利要求1所述的方法,其中,所述斩波器值包括选自包括正一和负一的组的状态
。3.
根据权利要求2所述的方法,其中,在正一值和负一值之间翻转所述状态的概率是用户定义的
。4.
根据权利要求1所述的方法,其中,更新所述权重矩阵的所述对应的元素包括通过所述权重矩阵的导电列配线传输电压脉冲,同时通过所述权重矩阵的导电行配线传输所述隐藏矩阵的所述元素的符号信息作为电压脉冲
。5.
根据权利要求1所述的方法,其中,所述斩波器值被施加到所述
A
矩阵的导电列线
。6.
根据权利要求1所述的方法,其中,所述斩波器值被施加到所述
A
矩阵的导电行线
。7.
一种用于训练深度神经网络的计算机实现方法,包括:跟踪隐藏矩阵的对应的元素中的
A
矩阵的元素的斩波器乘积的总和,其中所述斩波器乘积包括在被施加到所述
A
矩阵之前和之后来自权重矩阵的对应的元素的激活值和误差值乘以斩波器值;当所述总和之一的总和达到阈值时,触发所述权重矩阵的所述对应的元素的更新
。8.
根据权利要求7所述的方法,其中,所述斩波器值包括选自包括正一和负一的组的值
。9.
根据权利要求8所述的方法,其中,在正一值和负一值之间翻转所述状态的概率是用户定义的
。10.
根据权利要求7所述的方法,其中,进行数字地跟踪所述总和
。11.
一种深度神经网络
(DNN)
,包括:
A
矩阵,包括将导电行线与导电列线之间的交叉点分开的电阻处理单元
(RPU)
设备,由此所述
RPU
设备包括所述
DNN
中的神经元之间的加权连接的经处理的梯度;权重矩阵,包括将导电行线与导电列线之间的交叉点分开的
RPU
设备,由此所述
RPU
设备包括所述
DNN
中的神经元之间的加权连接;斩波器,被配置为将来自所述权重矩阵的激活值和误差值在被施加到所述
A
矩阵之前乘以斩波器值,并将来自所述
A
矩阵的输出向量乘以所述斩波器值以产生斩波器乘积;以及计算机存储装置,被配置为存储隐藏矩阵,所述隐藏矩阵包括所述权重矩阵
W
中的每个
RPU
设备的
H
值,其中所述
H
值包括所述斩波器乘积的总和
。12.
根据权利要求
11
所述的
DNN
,其中,所述斩波器被分配给从包括所述
A
矩阵的所述列线之一和所述
A
矩阵的所述行线之一的组中的选择
。13.
根据权利要求
11
所述的
DNN
,其中,所述斩波器值以用户定义的概率在正一值和负
一值之间翻转
。14.
一种用于减少阵列中的偏置的计算机程序产品,所述计算机程序产品包括:一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:用于初始化
A
矩阵的元素的程序指令,其中所述元素包括电阻处理...

【专利技术属性】
技术研发人员:T
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1