一种神经网络压缩方法、电子设备及计算机可读介质技术

技术编号:24800719 阅读:25 留言:0更新日期:2020-07-07 21:14
本发明专利技术实施例公开了一种神经网络压缩方法、装置、电子设备及计算机可读介质,其中方法包括:通过采用压缩的方法对第一权值矩阵进行压缩,直至压缩后的神经网络模型达到比较好的压缩效果。通过本申请,可以保证神经网络模型的拓扑结构保持不变,从而避免了神经网络模型的拓扑结构出现不规则,减少了神经网络的运算量。

【技术实现步骤摘要】
一种神经网络压缩方法、电子设备及计算机可读介质
本专利技术涉及信息处理
,尤其涉及一种神经网络压缩方法、电子设备及计算机可读介质。
技术介绍
神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,这种网络由大量的节点(或称神经元)之间星湖连接构成,通过调整内部大量节点之间相互连接的关系,利用输入神经元数据、权值产生输出数据模拟人脑的信息处理过程处理信息并生成模式识别之后的结果。目前,神经网络被广泛应用在计算机视觉的各个领域,如图像识别、物体检测、图像分割等。然而,在实际应用中,神经网络模型往往有着数量庞大的模型参数(例如,超大规模权值),在这种情况下,这意味着神经网络需要大量的计算资源和存储资源,大量的计算资源和存储资源的开销会降低神经网络的运算速度,对硬件的传输带宽以及运算器的要求也大大提高了,因此,如何在减少神经网络模型的参数的同时,降低神经网络的计算量变得十分重要。现有技术中,通过剪枝方法对神经网络模型的参数进行调整,以减少神经网络模型的参数以及降低神经网络的计算量。以对神经网络的权值进行剪枝为例,如图1A所示,在对神经网络的权值进行剪枝之前,神经网络的拓扑结构是规则的,然而,在对神经网络的权值进行剪枝之后,容易导致神经网络模型中原有的规则的拓扑结构变得不规则。那么,如何避免神经网络模型中的拓扑结构变得不规则是亟需解决的技术问题。
技术实现思路
本专利技术实施例提供一种神经网络压缩方法、电子设备及计算机可读介质,在神经网络压缩过程中,可以保证神经网络模型的拓扑结构保持不变,从而避免了神经网络模型的拓扑结构出现不规则,减少了神经网络的运算量。第一方面,本专利技术实施例提供了一种神经网络压缩方法,该方法包括:获取第一输入数据;其中,所述第一输入数据包括第一权值矩阵;将所述第一权值矩阵压缩为第二权值矩阵;其中,所述第二权值矩阵包括至少两个求和项;根据第二输入数据执行神经网络计算,其中,所述第二输入数据包括所述第二权值矩阵以及输入神经元数据。可选的,所述将所述第一权值矩阵压缩为第二权值矩阵,包括:将所述第一权值矩阵分解成第三权值矩阵;其中,所述第三权值矩阵包括至少两个求和项;根据第一公式确定所述至少两个求和项中的每个求和项的大小,所述第一公式为Q≈Q1+Q2+...+Qn;其中,所述Q表示第一权值矩阵;所述Q1表示所述至少两个求和项中的第一求和项,所述Q2表示所述至少两个求和项中的第二求和项,所述Qn表示所述至少两个求和项中的第n求和项,调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度的第二权值矩阵。可选的,所述根据第一公式确定所述至少两个求和项中的每个求和项的大小,所述第一公式为Q≈Q1+Q2.+...+Qn,包括:根据所述第一公式和第二公式确定所述至少两个求和项中的每个求和项的大小,所述第二公式为||Q-(Q1+Q2+......+Qn)||≤T,其中,所述T表示预设的误差阈值。可选的,所述调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度的第二权值矩阵,包括:调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度并且与所述第一权值矩阵之间的压缩比满足预设压缩比的第二权值矩阵。可选的,所述神经网络为全连接层神经网络;所述第一公式包括:M≈M1+M2;所述两个求和项包括第一求和项M1和第二求和项M2,所述第一求和项所述第一求和项M1中包括(n1-1)个压缩参数K1;所述(n1-1)个压缩参数K1中的第1个压缩参数K11用于表征所述M11的输出神经元的个数,所述(n1-1)个压缩参数K1中的第(n1-1)个压缩参数用于表征所述的输入神经元的个数;所述第二求和项所述第二求和项M2中包括(n2-1)个压缩参数K2,所述(n2-1)个压缩参数中的第1个压缩参数K21用于表征所述M21的输出神经元的个数,所述(n2-1)个压缩参数中的第(n2-1)个压缩参数用于表征所述的输入神经元的个数;所述K1和所述K2为大于0且小于等于min(Nin,Nout)的正整数。可选的,所述神经网络为卷积层神经网络;所述卷积层神经网络包括Nfin*Nfout个卷积核;所述第一公式包括:F≈F1*F2;其中,F表示所述Nfin*Nfout个卷积核中的任意一个卷积核;所述F1为第一求和项;所述F2为第二求和项;所述第一求和项所述第一求和项F1中包括(n1-1)个压缩参数R1;所述第二求和项所述第二求和项F2中包括(n2-1)个压缩参数R2,(Kx,Ky)表示卷积核的大小,所述R1和所述R2为大于0且小于等于min(Kx,Ky)的正整数。可选的,所述神经网络为LSTM层神经网络;所述LSTM层包括N个全连接层,所述N为大于0的正整数;针对第j个全连接层,所述第一公式包括:Mj≈Mj_1*Mj_2;所述第j个全连接层中的两个求和项包括第一求和项Mj_1和第二求和项Mj_2,所述第一求和项所述第一求和项Mj_1中包括(n1-1)个压缩参数S1;所述(n1-1)个压缩参数S1中的第1个压缩参数Sj_11用于表征所述Mj_1的输出神经元的个数,所述(n1-1)个压缩参数S1中的第(n1-1)个压缩参数用于表征所述的输入神经元的个数;所述第二求和项所述第二求和项Mj_2中包括(n2-1)个压缩参数S2,所述(n2-1)个压缩参数中的第1个压缩参数Sj_21用于表征所述Mj_21的输出神经元的个数,所述(n2-1)个压缩参数中的第(n2-1)个压缩参数用于表征所述的输入神经元的个数;所述S1和所述S2为大于0且小于等于min(Nin,Nout)的正整数。第二方面,本专利技术实施例提供了一种神经网络压缩装置,该装置包括用于执行上述第一方面的方法的单元。具体地,该装置包括:获取单元,用于获取第一输入数据;其中,所述第一输入数据包括第一权值矩阵;压缩单元,用于将所述第一权值矩阵压缩为第二权值矩阵;其中,其中,所述第二权值矩阵包括至少两个求和项;计算单元,用于根据第二输入数据执行神经网络计算,其中,所述第二输入数据包括所述第二权值矩阵以及输入神经元数据。可选的,所述压缩单元包括:分解单元,用于将所述第一权值矩阵分解成第三权值矩阵;其中,所述第三权值矩阵包括至少两个求和项;求解单元,用于根据第一公式确定所述至少两个求和项中的每个求和项的大小,所述第一公式为Q≈Q1+Q2+...+Qn;其中,所述Q表示第一权值矩阵;所述Q1表示所述至少两个求和项中的第一求和项,所述Q2表示所述至少两个求和项中的第二求和项,所述Qn表示所述至少两个求和项中的第n求和项,训练单元,用于调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度的第二权值矩阵。可选的,所述求解单元具体用于:根据所述第一公式和第二公本文档来自技高网...

【技术保护点】
1.一种神经网络压缩方法,其特征在于,包括:/n获取第一输入数据;其中,所述第一输入数据包括第一权值矩阵;/n将所述第一权值矩阵压缩为第二权值矩阵;其中,所述第二权值矩阵包括至少两个求和项;/n根据第二输入数据执行神经网络计算,其中,所述第二输入数据包括所述第二权值矩阵以及输入神经元数据。/n

【技术特征摘要】
1.一种神经网络压缩方法,其特征在于,包括:
获取第一输入数据;其中,所述第一输入数据包括第一权值矩阵;
将所述第一权值矩阵压缩为第二权值矩阵;其中,所述第二权值矩阵包括至少两个求和项;
根据第二输入数据执行神经网络计算,其中,所述第二输入数据包括所述第二权值矩阵以及输入神经元数据。


2.根据权利要求1所述的方法,其特征在于,所述将所述第一权值矩阵压缩为第二权值矩阵,包括:
将所述第一权值矩阵分解成第三权值矩阵;其中,所述第三权值矩阵包括至少两个求和项;
根据第一公式确定所述至少两个求和项中的每个求和项的大小,所述第一公式为Q≈Q1+Q2+...+Qn;其中,所述Q表示第一权值矩阵;所述Q1表示所述至少两个求和项中的第一求和项,所述Q2表示所述至少两个求和项中的第二求和项,所述Qn表示所述至少两个求和项中的第n求和项,
调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度的第二权值矩阵。


3.根据权利要求2所述的方法,其特征在于,所述根据第一公式确定所述至少两个求和项中的每个求和项的大小,所述第一公式为Q≈Q1+Q2.+...+Qn,包括:
根据所述第一公式和第二公式确定所述至少两个求和项中的每个求和项的大小,所述第二公式为||Q-(Q1+Q2+......+Qn)||≤T,其中,所述T表示预设的误差阈值。


4.根据权利要求2或3所述的方法,其特征在于,所述调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度的第二权值矩阵,包括:
调整所述至少两个求和项中的每个求和项的大小,并通过训练压缩后的机器学习模型,以得到满足预设精度并且与所述第一权值矩阵之间的压缩比满足预设压缩比的第二权值矩阵。


5.根据权利要求2-4任一项所述的方法,其特征在于,所述神经网络为全连接层神经网络;所述第一公式包括:M≈M1+M2;所述两个求和项包括第一求和项M1和第二求和项M2,所述第一求和项所述第一求和项M1中包括(n1-1)个压缩参数K1;所述(n1-1)个压缩参数K1中的第1个压缩参数K11用于表征所述M11的输出神经元的个数,所述(n1-1)个压缩参数K1中的第(n1-1)个压缩参数用于表征所述的输入神经元的个数;所述第二求和项所述第二求和项M2中包括(n2-1)个压缩参数K2,所述(n2-1)个压缩参数中的第1个压缩参数K21用于表征所述M21的输出神经元的个数,所述(n2-1)个压缩参数中的第(n2-1)个压缩参数用于表征所述的输入神经元的个数;所述K1和所述K2为大于0且小于等于min(Nin,Nout)的正整数。


6.根据权利要求2-4任一项所述的方法,其特征在于,所述神经网络为卷积层神经网络;所述卷积层神经网络包括Nfin*Nfout个卷积核;所述第一公式包括:F≈F1*F2;其中,F表示所述Nfin*Nfout个卷积核中的任意一个卷积核;所述F1为第一求和项;所述F2为第二求和项;所述第一求和项所述第一求和项F1中包括(n1-1)个压缩参数R1;所述第二求和项所述第二求和项F2中包括(n2-1)个压缩参数R2,(Kx,Ky)表示卷积核的大小,所述R1和所述R2为大于0且小于等于min(Kx,Ky)的正整数。


7.根据权利要求2-4任一项所述的方法,其特征在于,所述神经网络为LSTM层神经网络;所述LSTM层包括N个全连接层,所述N为大于0的正整数;针对第j个全连接层,所述第一公式包括:Mj≈Mj_1*Mj_2;所述第j个全连接层中的两个求和项包括第一求和项Mj_1和第二求和项Mj_2,所述第一求和项所述第一求和项Mj_1中包括(n1-1)个压缩参数S1;所述(n1-1)个压缩参数S1中的第1个压缩参数Sj_11用于表征所述Mj_1的输出神经元的个数,所述(n1-1)个压缩参数S1中的第(n1-1)个压缩参数用于表征所述的输入神经元的个数;所述第二求和项所述第二求和项Mj_2中包括(n2-1)个压缩参数S2,所述(n2-1)个压缩参数中的第1个压缩参数Sj_21用于表征所述Mj_21的输出神经元的个数,所述(n2-1)个压缩参数中的第(n2-1)个压缩参数用于表征所述的输入神经元的个数;所述S1和所述S2为大于0且小于等于min(Nin,Nout)的正整数。


8.一种神经网络压缩装置,其特征在于,包括:
获取单元,用于获取第一输入数据;其中,所述第一输入数据包括第一权值矩阵;
压缩单元,用于将所述第一权值矩阵压缩为第二权...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:北京;11

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

1