本说明书一个或多个实施例提供一种输入特征分解的高效CNN推理方法与装置,能够解决推理计算复杂度高的问题。所述方法包括:利用卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量,对所述过渡输入张量进行行采样操作,得到行表征矩阵;根据所述行表征矩阵对所述过渡输入张量进行列采样操作,得到列表征矩阵;根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵;调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量。所述装置包括行表征矩阵构建模块、列表征矩阵构建模块、核心表征矩阵构建模块与推理计算模块。
An efficient CNN reasoning method and device for input feature decomposition
【技术实现步骤摘要】
一种输入特征分解的高效CNN推理方法与装置
本说明书一个或多个实施例涉及机器学习
,尤其涉及一种输入特征分解的高效CNN推理方法与装置。
技术介绍
随着深度学习研究不断发展,相关应用迅速普及,在社会生活、经济发展、科学研究等领域发挥着越来越重要的作用,而其中最具代表性的技术是深度神经网络。随着需要解决的问题难度的增大,新的神经网络模型结构越来越复杂,完成深度神经网络的训练和推理需要耗费极大的计算资源。其中训练过程对计算资源的要求极高并且往往需要人工调整参数,可以将此阶段部署在在计算资源丰富的数据中心或云服务器上,但是同样的解决方法并不适合用于深度CNN的推理阶段。降低深度CNN推理计算复杂度,使其能够在海量的边缘设备或嵌入式设备中完成本地推理和决策无疑是一个需求急切且潜力巨大的发展方向
技术实现思路
有鉴于此,本说明书一个或多个实施例的目的在于提出一种输入特征分解的高效CNN推理方法与装置,以解决深度卷积神经网络推理计算复杂度高的问题。基于上述目的,本说明书一个或多个实施例提供了一种输入特征分解的高效CNN推理方法,包括:根据卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量;对所述过渡输入张量进行行采样操作,得到行表征矩阵;根据所述行表征矩阵对所述过渡输入张量进行列采样操作,得到列表征矩阵;根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵;调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量。可选的,根据卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量,包括:所述卷积层的输入张量为权重张量为其中,m表示输入样本数,h、w分别表示所述输入张量的高和宽,c表示所述输入张量的通道数,k,l分别表示所述卷积层卷积核的高和宽,n表示卷积核数;对所述权重张量W的前三个维度进行合并,得到过渡权重张量确定所述过渡权重张量的大小,其中a为权重合并维度,a=klc;根据所述过渡权重张量的大小,将所述输入张量X展开得到所述过渡输入张量Xm:Xm=unfold(X,height,width,strides,padding)其中,b为输入展开维度,unfold()为展开函数,展开参数height=k,width=l,strides表示扫描步长,padding表示边缘填充。可选的,所述对所述过渡输入张量进行行采样操作,得到行表征矩阵,包括:对所述过渡输入张量Xm进行行采样,选取所述过渡输入张量中的t(t<<a)行构建行采样矩阵利用所述行采样矩阵Sr对所述过渡输入张量Xm进行采样,得到所述行表征矩阵R:可选的,所述根据所述行表征矩阵对所述过渡输入张量进行采样操作,得到列表征矩阵,包括:对所述过渡输入张量Xm进行列采样,选取所述过渡输入张量Xm中的s(s<<b)列构建列采样矩阵利用所述列采样矩阵Sc对所述过渡输入张量Xm进行采样,得到所述列表征矩阵C:可选的,所述对所述过渡输入张量Xm进行列采样,选取所述过渡输入张量Xm中的s(s∈[1,b])列构建列采样矩阵时,所述过渡输入张量Xm中每一列被采样选中的概率为所述行表征矩阵中列向量平方和与所有元素平方和之比:P=[p1,p2,…,pa]T其中,ri,j表示所述行表征矩阵R中位于第i行,第j列的元素,ri,q表示所述行表征矩阵R中位于第i行,第q列的元素,P表示采样概率向量。可选的,所述根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵,包括:根据所述行表征矩阵相应的行采样矩阵与所述列表征矩阵相应的列采样矩阵以及所述过渡输入张量确定行列采样的交叉矩阵V:V=SrTXmSc其中,Sr,Sc分别表示所述行采样矩阵与所述列采样矩阵,Xm表示所述过渡输入张量;根据所述交叉矩阵V计算确定所述核心表征矩阵U:其中,表示对所述交叉矩阵V进行伪逆运算,所述核心表征矩阵可选的,所述调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量,包括:控制所述行表征矩阵R、所述列表征矩阵C、所述核心表征矩阵U与所述权重张量W的相乘顺序,再相乘计算量最低的情况下确定乘积结果;根据所述乘积结果计算确定过渡输出张量:Xm′=f(C(URWm)+b)其中,Xm′表示过渡输出张量,f()表示激活函数,b表示偏置向量,Wm为与所述权重张量W相对应的过渡权重张量;将所述过渡输出张量Xm′恢复为四维张量,得到所述输出张量其中m表示输入样本数,h’、w’分别表示所述输出张量的高和宽,n表示卷积核数。基于上述目的,本说明书一个或多个实施例提供了一种输入特征分解的高效CNN推理装置,包括:行表征矩阵构建模块,被配置为利用卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量,对所述过渡输入张量进行采样操作,得到行表征矩阵;列表征矩阵构建模块,被配置为根据所述行表征矩阵对所述过渡输入张量进行采样操作,得到列表征矩阵;核心表征矩阵构建模块,被配置为根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵;推理计算模块,被配置为调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量。从上面所述可以看出,本说明书一个或多个实施例提供的输入特征分解的高效CNN推理方法与装置,在传统的CNN推理计算框架中引入了一种新型输入特征的低维表征机制,从输入特征入手,利用和借鉴了高维矩阵逼近的思想,利用多个低维矩阵近似表征高维输入矩阵,继而在推理计算中将高维大矩阵的乘法替换成多个低维小矩阵的乘法运算,能够大大降低推理计算的时间复杂度,同时还能够与卷积核压缩的方法相结合,分别对输入和卷积核进行优化,能够更进一步地加速深度CNN的推理计算,可以很好解决推理计算复杂度高的问题。附图说明为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本说明书一个或多个实施例所提供的一种输入特征分解的高效CNN推理方法示意图;图2为本说明书一个或多个实施例所提供的一种输入特征分解的高效CNN推理方法中输入张量降维展开方法示意图;图3为本说明书一个或多个实施例所提供的一种输入特征分解的高效CNN推理方法中权重张量展开示意图;图4为本说明书一个或多个实施例所提供本文档来自技高网...
【技术保护点】
1.一种输入特征分解的高效CNN推理方法,其特征在于,包括:/n根据卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量;/n对所述过渡输入张量进行行采样操作,得到行表征矩阵;/n根据所述行表征矩阵对所述过渡输入张量进行列采样操作,得到列表征矩阵;/n根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵;/n调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量。/n
【技术特征摘要】
1.一种输入特征分解的高效CNN推理方法,其特征在于,包括:
根据卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量;
对所述过渡输入张量进行行采样操作,得到行表征矩阵;
根据所述行表征矩阵对所述过渡输入张量进行列采样操作,得到列表征矩阵;
根据所述过渡输入张量、所述行表征矩阵与所述列表征矩阵,计算确定核心表征矩阵;
调整所述行表征矩阵、所述列表征矩阵、所述核心表征矩阵与所述权重张量间的相乘顺序,使计算复杂度最低,根据相乘结果确定输出张量。
2.根据权利要求1所述的方法,其特征在于,根据卷积神经网络卷积层的权重张量对输入张量进行降维展开变换,得到过渡输入张量,包括:
所述卷积层的输入张量为权重张量为
其中,m表示输入样本数,h、w分别表示所述输入张量的高和宽,c表示所述输入张量的通道数,k,l分别表示所述卷积层卷积核的高和宽,n表示卷积核数;
对所述权重张量W的前三个维度进行合并,得到过渡权重张量确定所述过渡权重张量的大小,其中a为权重合并维度,a=klc;
根据所述过渡权重张量的大小,将所述输入张量X展开得到所述过渡输入张量Xm:
Xm=unfold(X,height,width,strides,padding)
其中,b为输入展开维度,unfold()为展开函数,展开参数height=k,width=l,strides表示扫描步长,padding表示边缘填充。
3.根据权利要求1所述的方法,其特征在于,所述对所述过渡输入张量进行行采样操作,得到行表征矩阵,包括:
对所述过渡输入张量Xm进行行采样,选取所述过渡输入张量中的t(t<<a)行构建行采样矩阵利用所述行采样矩阵Sr对所述过渡输入张量Xm进行采样,得到所述行表征矩阵R:
4.根据权利要求1所述的方法,其特征在于,所述根据所述行表征矩阵对所述过渡输入张量进行采样操作,得到列表征矩阵,包括:
对所述过渡输入张量Xm进行列采样,选取所述过渡输入张量Xm中的s(s<<b)列构建列采样矩阵利用所述列采样矩阵Sc对所述过渡输入张量Xm进行采样,得到所述列表征矩阵C:
5.根据权利要求4所述的方法,其特征在于,所述对所述过渡输入张量Xm进行列采样,选取所述过渡输入张量Xm中的s(s<<b)列构建列采样矩阵时,所述...
【专利技术属性】
技术研发人员:李斌,陈沛鋆,刘宏福,曹先彬,赵成林,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。