The invention relates to a deep convolution neural network compression method based on Tucker algorithm, which includes: A. obtaining the deep convolution neural network model; B. estimating the decomposition rank of each hidden layer parameter in the deep convolution neural network model in turn by using evbmf algorithm; C. according to the parameter tensor and corresponding decomposition rank of the hidden layer in the deep convolution neural network model, successively by Tucker algorithm Decompose each parameter tensor to generate multiple low rank sub tensors; D. generate a new hidden layer through the low rank sub tensors, and replace the original hidden layer in the depth convolution neural network model with the new hidden layer to generate a new depth convolution neural network model. The deep convolution neural network compression method based on Tucker algorithm can greatly improve the compression multiple, and effectively reduce the compression time and system overhead.
【技术实现步骤摘要】
基于Tucker算法的深度卷积神经网络压缩方法
本专利技术涉及深度神经网络
,具体讲是基于Tucker算法的深度卷积神经网络压缩方法。
技术介绍
近年来,以卷积神经网络为代表的深度学习技术在自然语言处理、自动驾驶、目标跟踪等领域取得了显著的成果。得益于信息时代中容易获得的数据集和计算性能不断提升的图像处理器(GPU),深度学习技术实现了超越传统计算机视觉技术的性能。为了能在现有数据中学习到更具泛化性的特征,卷积神经网络被设计得越来越复杂,网络的模型层数、参数数量、占用内存和硬盘储存等也随之增加。所以深度学习的实施难以离开高性能设备。另一方面,深度学习所具有的强大性能导致各个领域对实际部署神经网络的需求越来越大。例如移动互联网领域中将神经网络移植到手机、穿戴设备、嵌入式系统等低性能设备上。这些设备的计算性能和内存空间都远远不及高性能设备,导致卷积神经网络难以发挥出理论上的性能。所以卷积神经网络的实际部署需要一种高效的加速和压缩方法来降低计算和储存开销。在开发阶段,卷积神经网络经常被设计得过参数化,这样可以促进网络的训练能收敛到更合适的参数。但是在卷积神经网络训练完成后,大部分参数对最终结果的贡献都很小,所以存在冗余。另一方面,当一个执行复杂任务的卷积神经网络被微调到简单任务时,也会使大量参数失去原有作用。这些方面都表明卷积神经网络是一种计算效率较低的结构,所以在训练好的卷积神经网络中存在极大的可压缩的参数。卷积神经网络的压缩通常着眼于减少参数量和计算次数。目前常用的压缩方法有以下几种:逐层压缩:矩阵分解、张量分解、权值共享、稀疏连接等;模型整体压缩:知 ...
【技术保护点】
1.基于Tucker算法的深度卷积神经网络压缩方法,其特征包括:A.获得深度卷积神经网络模型;B.使用EVBMF算法依次估计所述深度卷积神经网络模型中每一个隐藏层参数的分解秩;C.根据深度卷积神经网络模型中隐藏层的参数张量和对应的分解秩,通过Tucker算法依次分解每一个参数张量,产生多个低秩子张量;D.通过所述的低秩子张量生成新的隐藏层,并将深度卷积神经网络模型中原有的隐藏层替换为所述新的隐藏层,生成新的深度卷积神经网络模型。
【技术特征摘要】
1.基于Tucker算法的深度卷积神经网络压缩方法,其特征包括:A.获得深度卷积神经网络模型;B.使用EVBMF算法依次估计所述深度卷积神经网络模型中每一个隐藏层参数的分解秩;C.根据深度卷积神经网络模型中隐藏层的参数张量和对应的分解秩,通过Tucker算法依次分解每一个参数张量,产生多个低秩子张量;D.通过所述的低秩子张量生成新的隐藏层,并将深度卷积神经网络模型中原有的隐藏层替换为所述新的隐藏层,生成新的深度卷积神经网络模型。2.如权利要求1所述的基于Tucker算法的深度卷积神经网络压缩方法,其特征为:步骤B包括:B1.依次遍历深度卷积神经网络模型的每一个卷积层,提取出每个卷积层的核参数K∈RD×D×S×T和偏置参数B∈RT,其中R表示拓扑空间,D表示核维度,S表示输入维度,T表示输出维度,则对于输入张量X∈RH×W×S,则卷积层的输出张量Y为:其中,输出张量Y∈RH'×W'×T,H和W分别为输入张量X在空域中的长和宽,H'=H-D+1,W'=W-D+1,δ为一半的核维度,δ=(D-1)/2,i、j、s和t分别为计算时的中间变量,并且s∈S,t∈T,x和y分别为输出张量Y的空间坐标的中间变量,并且x∈H',y∈W';B2.将所述核参数K按照输入维度S和输出维度T张开为矩阵K1∈R(D×D×T)×S和矩阵K2∈R(D×D×S)×T,通过EVBMF算法估计矩阵K1和矩阵K2分别对应的分解秩R3和R4;B3.在全连接层中核参数K∈RS×T,输入张量X∈RS,则全连接层的输出张量Y为:其中,输出张量Y∈RS。3.如权利要求2所述的基于Tucker算法的深度卷积神经网络压缩方法,其特征为:步骤C中所述通过Tucker算法依次分解每一个参数张量为:C1.通过(式3)依次分解每一个卷积层的核参数K:在通过(式3)生成的多个低秩子张量中,r3和r4分别为计算时的中间变量,R3和R4分别对应为所述矩阵K1和矩阵K2的分解秩,r3∈R3,r4∈R4,卷积层的核张量第一因子矩阵第二因子矩阵C2.将全连...
【专利技术属性】
技术研发人员:袁国慧,贺晨,王卓然,彭真明,曲超,范文澜,赵浩浩,张鹏年,赵学功,王慧,何艳敏,蒲恬,周宇,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。