1.一种深度神经网络压缩方法,其特征在于,所述深度神经网络压缩方法包括:
获取待压缩深度神经网络模型;
当确定所述待压缩深度神经网络模型有可选网络层,按照预定次序依次选取一层网络作为选取层,固定所述可选网络层中余下层网络参数不变;
根据所述选取层进行张量分解计算,通过调整精度要求值得到多个核矩阵,当所述核矩阵的精度差值符合预置条件时将所述核矩阵作为所述选取层的张量分解核矩阵;
重复选取下一层网络作为选取层进行张量分解,直至所述可选网络层全部完成核矩阵分解,得到压缩后的深度神经网络模型。
2.根据权利要求所述的深度神经网络压缩方法,其特征在于,所述根据所述选取层进行张量分解计算,通过调整精度要求值得到多个核矩阵,当所述核矩阵的精度差值符合预置条件时将所述核矩阵作为所述选取层的张量分解核矩阵,包括:
获取所述选取层的参数矩阵W和网络精度L,并将所述参数矩阵W转化为高维张量T;
设定误差要求值ε并记录在数组e[]中,对所述高维张量T进行张量算法压缩后并还原得到张量T′,并满足:
确定奇异值分解截断值δ,其中d为高维张量T的维度;
将所述高维张量T逐维展开为矩阵,并利用所述奇异值分解截断值δ对所述矩阵进行奇异值分解,得到分解秩rk和分解后的核矩阵;
对所述选取层进行精度调整得到精度L′,确定精度差值Δ=L-L′记录在数组l[]中;
按照从大到小的顺序调整精度要求值ε,重复进行所述精度差值的确定,直到所述精度差值Δ连续n次不大于α则停止循环,将得到的核矩阵作为所述选取层的张量分解核矩阵,其中所述n和α均为超参数。
3.根据权利要求1或2所述的深度神经网络压缩方法,其特征在于,所述根据所述选取层进行张量分解计算,通过调整精度要求值得到多个核矩阵,当所述核矩阵的精度差值符合预置条件时将所述核矩阵作为所述选取层的张量分解核矩阵,包括:
当所述选取层为全连接层,将所述选取层的输入向量转化为维度为(m1,...,md)的高维张量
输出向量转化为维度为(n1,...,nd)的高阶张量
偏置分解为维度为(n1,...,nd)的高维张量B,
对参数矩阵进行张量分解,得到的核矩阵为Gk[mk,nk];
分解后的深度神经网络模型运算过程表示为:
4.根据权利要求3所述的深度神经网络压缩方法,其特征在于,所述根据所述选取层进行张量分解计算,通过调整精度要求值得到多个核矩阵,当所述核矩阵的精度差值符合预置条件时将所述核矩阵作为所述选取层的张量分解核矩阵,包括:
当选取层为卷积层,使用im2col操作将输入张量转化为大小为F′F′×k2M的矩阵;
将卷积核张量转化为大小为k2M×N的矩阵,其中F为输入张量的边长,其中边长相等、M为输入通道数、N为输出通道数,k为卷积核边长;
对卷积核参数矩阵进行张量分解,分别将输入维度和输出维度进行分解:将卷积核矩阵K张量化为张量
分解后得到核矩阵为Gk[mk,nk];
分解后得卷积运算表示为:
5.根据权利要求1所述的深度神经网络压缩方法,其特征在于,所述重复选取下一层网络作为选取层进行张量分解,直至所述可选网络层全部完成核矩阵分解,得到压缩后的深度神经网络模型之后,还包括:
对所述深度神经网络模型进行量化操作。
6.根据权利要求5所述的深度神经网络压缩方法,其特征在于,所述对所述深度神经网络模型进行量化操作,包括:
将32bit全精度的核矩阵参数量化至8bit的整数型。
7.根据权利要求1所述的深度神经网络压缩方法,其特征在于,所述按照预定次序依次选取一层网络作为选取层,包括:
按照从最后一层网络向第一层网络的顺序依次选取一层网络作为选取层。
8.一种深度神经网络压缩装置,其特征在于,所述装置包括:
获取单元,用于获取待压缩深度神经网络模型;
确定单元,用于当确定所述待压缩深度神经网络模型有可选网络层,按照预定次序依次选取一层网络作为选取层,固定所述可选网络层中余下层网络参数不变;
张量分解单元,用于根据所述选取层进行张量分解计算,通过调整精度要求值得到多个核矩阵,当所述核矩阵的精度差值符合预置条件时将所述核矩阵作为所述选取层的张量分解核矩阵;
执行单元,用于重复选取下一层网络作为选取层进行张量分解,直至所述可选网络层全部完成核矩阵分解,得到压缩后的深度神经网络模型。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一所述的方法。