【技术实现步骤摘要】
包括矩阵乘法的神经网络
[0001]本专利技术涉及包括矩阵乘法的神经网络。
技术介绍
[0002]矩阵乘法出现在神经网络的许多上下文中。单矩阵乘法具有以下形式
[0003]Z=XY
[0004]在该等式中,X是维度为[P,Q]的矩阵,并且Y是维度为[Q,R]的矩阵。输出Z是维度为[P,R]的矩阵。将矩阵视为4
‑
D张量,X的维度为[1,1,P,Q],Y的维度为[1,1,Q,R],并且Z的维度为[1,1,P,R]。
[0005]在整个文档中,数据张量采用“NCHW”符号,其中N是批量数,C是通道数量,H是高度,并且W是宽度。同样,权重/系数采用“OIHW”符号,其中O是输出通道数量,I是输入通道数量,H是内核高度,并且W是内核宽度。
[0006]矩阵乘法的任务可以推广到批量矩阵乘法,该批量矩阵乘法涉及在同一运算中执行多个矩阵乘法。对于批量矩阵乘法,允许上文定义的4
‑
D张量的两个前导维度的大小大于1。因此,更一般的形式是维度为[M,N,P,Q]的张量X和维度为[M',N',Q,R]的张量Y。这表示(max(M,M
′
)max(N,N
′
))在同一运算中执行的大小为[P,Q]和[Q,R]的矩阵之间的相应乘法。
[0007]如果M和M'都大于1,则它们彼此相等。替代地,M和M
’
中的一者或两者可以等于1。同样,如果N和N
’
都大于1,则它们彼此相等。替代地,N和N
’< ...
【技术保护点】
【技术特征摘要】
1.一种使用包括固定功能硬件的神经网络加速器实施包括多个层的神经网络的方法,其中所述层中的至少一个层包括在维度为[...,P,...,Q,...]的第一张量X和维度为[...,Q,...,R,...]的第二张量Y之间的二维或更多维度中定义的矩阵乘法运算,所述方法包括:将所述矩阵乘法运算映射到包括至少一个变换和至少一个卷积运算的神经网络运算图;以及评估所述神经网络运算图,从而评估所述矩阵乘法运算,其中在所述固定功能硬件中评估所述至少一个卷积运算。2.如权利要求1所述的方法,其中:所述第一张量X或从其导出的张量被视为所述至少一个卷积运算的输入数据,并且所述第二张量Y或从其导出的张量被视为所述至少一个卷积运算的系数数据;并且/或者所述至少一个变换重新配置所述第二张量Y,以在评估所述至少一个卷积运算之前,在所述输出通道维度中排列大小为R的所述维度。3.如前述权利要求中任一项所述的方法,其中所述至少一个变换在评估所述至少一个卷积运算之前重新配置两个张量以在所述输入通道维度中排列大小为Q的所述维度;并且/或者其中所述至少一个变换重新配置所述第一张量X以在由所述至少一个卷积运算遍历的维度中排列大小为P的所述维度。4.如前述权利要求中任一项所述的方法,其中所述硬件被配置为通过并行处理沿由所述卷积运算遍历的第一维度选择的若干组一个或多个输入数据元素来评估所述至少一个卷积运算,并且其中所述至少一个变换重新配置所述第一张量X以在所述第一维度中排列大小为P的所述维度。5.如前述权利要求中任一项所述的方法,其中:所述第一张量X具有维度[1,1,P,Q],并且所述第二张量Y具有维度[1,1,Q,R];所述至少一个变换重新配置所述第一张量X以形成维度为[1,Q,1,P]的重新配置的第一张量;所述至少一个变换重新配置所述第二张量Y以形成维度为[R,Q,1,1]的重新配置的第二张量;并且所述重新配置的第一张量和所述重新配置的第二张量被输入到所述至少一个卷积。6.如权利要求1至5中任一项所述的方法,其中:所述第一张量X具有维度[M,N,P,Q]并且所述第二张量Y具有维度[M
’
,N
’
,Q,R],其中B=(max(M,M
′
)max(N,N
′
))>1;所述至少一个变换拆分和/或复制并且重新配置所述第一张量X以形成B重新配置的第一张量,每个张量都具有维度[1,Q,1,P],其中如果M
’
>M=1或N
’
>N=1,则所述至少一个变换包括在相应维度上复制所述第一张量,并且如果M
’
=M>1或N
’
=N>1,则所述至少一个变换包括在相应维度上拆分所述第一张量;所述至少一个变换拆分和/或复制并且重新配置所述第二张量Y以形成B重新配置的第二张量,每个张量都具有维度[R,Q,1,1],其中如果M
’
>M=1或N
’
>N=1,则所述至少一个变换包括在相应维度上复制所述第二张量,并且如果M
’
=M>1或N
’
=N>1,则所述至少一个变换包括在相应维度上拆分所述第二张量;并且
所述至少一个卷积包括应用于相应对的所述第一重新配置的张量和所述第二重新配置的张量的B卷积,可选地,其中如果(i)M
’
=1并且M>1,或者(ii)N
’
=1并且N>1,则执行广播使得所述第二张量Y在若干个卷积中重复使用。7.如权利要求1至5中任一项所述的方法,其中:所述第一张量X具有维度[M,N,P,Q],并且所述第二张量Y具有维度[M
’
,N
’
,Q,R];所述至少一个变换重新配置所述第一张量X以形成维度为[1,BQ,1,P]的重新配置的第一张量;所述至少一个变换重新配置所述第二张量Y以形成维度为[BR,Q,1,1]的重新配置的第二张量;并且所述至少一个卷积包括分组卷积,其中B组各自具有Q输入通道和R输出通道,应用于所述重新配置的第一张量和所述重新配置的第二张量,其中B=(max(M,M
′
)max(N,N
′
)),并且其中:如果M
’
>M=1并且/或者N
’
>N=1,则所述第一张量的所述重新配置包括在所述相应维...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。