本申请实施例涉及人工智能的深度学习,特别涉及一种面向计算机设备中的神经网络模型的加速方法及装置。
背景技术:
1、随着神经网络模型的研究范围和研究深度不断拓展,在诸多领域(如语音识别、机器翻译、辅助医疗、自动驾驶等)中,神经网络模型在预测准确性上已经表现出相对于传统方法的绝对优势。
2、神经网络模型之所以能够达到较高的预测准确性,是因为神经网络模型具备高层信息抽取和多层次表达的能力。通常情况下,神经网络模型的深度与其表达能力呈现一定的相关性,学习深度越深,网络训练效果越好,预测准确性越高。然而,从另一方面来讲,学习深度越深,网络参数也就越多,进而,神经网络模型需要的存储空间也就越大。基于此,诸多神经网络模型的加速技术应运而生,这些技术中包括网络剪枝。网络剪枝是指确保较小性能损失的前提下,将复杂神经网络模型中多余的结构信息或参数信息进行删除以达到模型压缩的目的。目前主流的网络剪枝大多依据手工剪枝的方式,剪枝过程通常如下:首先,通过训练数据集对原始的神经网络模型进行训练,得到训练完成的原始的神经网络模型;然后,从原始的神经网络模型中剪去重要性较低的权重参数,得到稀疏的神经网络模型。
3、在上述技术方案中,由于不同神经网络模型的网络结构差异较大,需要对每个网络结构定制化剪枝,无法通用,且剪枝效果无法保证,神经网络模型的预测准确性也因此受到较大影响。
技术实现思路
1、本申请提供了一种面向计算机设备中的神经网络模型的加速方法及装置,所述技术方案如下:
2、根据本申请的一方面,提供了一种面向计算机设备中的神经网络模型的加速方法,所述方法包括:
3、获取第一神经网络模型;
4、对所述第一神经网络模型进行正则化训练,训练得到参数稀疏化后的第二神经网络模型,所述正则化训练是指通过正则化处理的方式对所述第一神经网络模型中的参数进行稀疏化,并基于稀疏化后的参数进行模型训练;
5、对所述第二神经网络模型进行剪枝操作,得到剪枝后的第三神经网络模型,所述剪枝操作是指对所述第二神经网络模型中的参数进行裁剪,所述第三神经网络模型中的参数量小于所述第二神经网络模型中的参数量。
6、根据本申请的一方面,提供了一种面向计算机设备中的神经网络模型的加速装置,所述装置包括:
7、获取模块,用于获取第一神经网络模型;
8、训练模块,用于对所述第一神经网络模型进行正则化训练,训练得到参数稀疏化后的第二神经网络模型,所述正则化训练是指通过正则化处理的方式对所述第一神经网络模型中的参数进行稀疏化,并基于稀疏化后的参数进行模型训练;
9、剪枝模块,用于对所述第二神经网络模型进行剪枝操作,得到剪枝后的第三神经网络模型,所述剪枝操作是指对所述第二神经网络模型中的参数进行裁剪,所述第三神经网络模型中的参数量小于所述第二神经网络模型中的参数量。
10、根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上方面所述的面向计算机设备中的神经网络模型的加速方法。
11、根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上方面所述的面向计算机设备中的神经网络模型的加速方法。
12、根据本申请的另一方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机程序由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行如上方面所述的面向计算机设备中的神经网络模型的加速方法。
13、本申请提供的技术方案带来的有益效果至少包括:
14、通过获取第一神经网络模型;对第一神经网络模型进行正则化训练,训练得到参数稀疏化后的第二神经网络模型;对第二神经网络模型进行剪枝操作,得到剪枝后的第三神经网络模型。本申请通过引入正则化对第一神经网络模型中的参数进行训练约束,得到参数稀疏化后的第二神经网络模型,之后再对第二神经网络模型中的参数进行裁剪,得到参数量较小的第三神经网络模型,从而对神经网络模型的加速起到了良好的效果。
1.一种面向计算机设备中的神经网络模型的加速方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述第一神经网络模型进行正则化训练,训练得到参数稀疏化后的第二神经网络模型,包括:
3.根据权利要求2所述的方法,其特征在于,所述网络层包括卷积层,所述正则损失函数值包括卷积正则损失函数值;
4.根据权利要求3所述的方法,其特征在于,所述卷积层中的参数包括权重矩阵,所述正则化处理包括计算平滑绝对损失函数值;
5.根据权利要求2所述的方法,其特征在于,所述网络层包括批归一化层,所述正则损失函数值包括批归一化正则损失函数值;
6.根据权利要求5所述的方法,其特征在于,所述批归一化层中的参数包括拉伸参数,所述正则化处理包括计算平方损失函数值;
7.根据权利要求1至6任一所述的方法,其特征在于,所述对所述第二神经网络模型进行剪枝操作,得到剪枝后的第三神经网络模型,包括:
8.根据权利要求7所述的方法,其特征在于,所述对所述第二神经网络模型中的网络层对应的部分参数进行删除,得到删除参数后的所述第三神经网络模型,包括:
9.根据权利要求7所述的方法,其特征在于,所述对所述第二神经网络模型中的网络层对应的参数进行部分删除,得到删除参数后的所述第三神经网络模型,包括:
10.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,所述第一结果包括所述第一神经网络模型中的特征层输出的第一特征结果和输出层输出的第一输出结果,所述第二结果包括所述第三神经网络模型中的特征层输出的第二特征结果和输出层输出的第二输出结果;
13.根据权利要求12所述的方法,其特征在于,所述基于所述第一结果和所述第二结果,计算损失函数值,包括:
14.一种面向计算机设备中的神经网络模型的加速装置,其特征在于,所述装置包括:
15.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条计算机程序,至少一条所述计算机程序由所述处理器加载并执行以实现如权利要求1至13中任一项所述的面向计算机设备中的神经网络模型的加速方法。
16.一种计算机存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如权利要求1至13中任一项所述的面向计算机设备中的神经网络模型的加速方法。