
技术摘要:
本说明书实施例中提供了一种深度学习模型的压缩方法及装置。该方法可以包括:首先获取经训练得到的深度学习模型以及用于训练该深度学习模型的多条训练数据,其中该深度学习模型用于进行业务预测并且包括多个权重参数。然后根据深度学习模型对应的损失函数以及多条训练 全部
背景技术:
深度学习使得很多业务可以通过训练得到的深度学习模型来执行。例如,可以通 过相应的深度学习模型,实现语音识别任务、计算机视觉任务以及自然语言处理任务等。为 了提高深度学习模型的任务执行性能,深度学习模型的规模通常相对较大,需要占用高额 的存储资源和计算资源,可能导致深度学习模型难以高效的应用在各种硬件设备中。例如, 用于实现图像识别任务的卷积神经网络VGG-16,权重参数的数量达到1亿3千多万,占用的 存储资源达到500MB,需要进行309亿次浮点运算才能完成一次图像识别任务。如此巨大的 参数量和运算量,使得一般的硬件设备难以部署并运行这样的深度学习模型。 为了解决这些问题,许多业界研究人员开始研究模型压缩方法,以最大限度的减 小模型对存储资源和计算资源的消耗。研究发现,在许多深度的神经网络中存在显著的冗 余。例如,对于一部分深度的神经网络来说,仅仅使用很少一部分(5%)权重参数就足以预测 剩余的权重参数。也就是说,仅仅训练得到很少一部分的权重参数,就有可能达到和原来的 网络相近甚至更好的性能,实现最大程度的减小模型复杂度,减小模型需要存储资源和计 算资源,同时将加速深度学习模型的训练和预测,提高深度学习模型的各项性能。 因此,希望能有改进的方案,以期更为有效地实现对深度学习模型进行压缩,提高 深度学习模型的性能及其可用性。
技术实现要素:
本说明书一个或多个实施例中提供了一种深度学习模型的压缩方法及装置,可以 更为有效地实现对深度学习模型进行压缩,提高深度学习模型的性能及其可用性。 第一方面,提供了一种深度学习模型的压缩方法,该方法包括:获取经训练得到的 深度学习模型以及用于训练该深度学习模型的多条训练数据;其中该深度学习模型用于实 现预测业务并且包括多个权重参数。然后根据该深度学习模型对应的损失函数以及多条训 练数据,确定多个权重参数各自对应的梯度值。接着确定多个权重参数各自对应的重要性 度量值;其中对于多个权重参数中的任一当前参数,该当前参数对应的重要性度量值与该 当前参数的绝对值正相关,与该当前参数对应的梯度值的绝对值正相关。之后即可根据多 个权重参数各自对应的重要性度量值,对深度学习模型进行网络剪枝。 在一种可能得实施方式中,训练数据可以包括样本数据以及其对应的样本标签, 样本数据的类型可以包括但不限于以下各种类型之一:文本、图片以及音频。 在一种可能得实施方式中,预测业务可以包括但不限于以下各种业务之一:自然 语言处理、图像识别、语音识别以及对业务对象进行分类。 在一种可能得实施方式中,深度学习模型可以包括卷积神经网络,该卷积神经网 5 CN 111598238 A 说 明 书 2/10 页 络包括多个卷积核通道,多个卷积核通道各自包括多个权重参数中的至少一个。相应的,根 据多个权重参数各自对应的重要性度量值,对深度学习模型进行网络剪枝,可以包括:确定 多个卷积核通道各自对应的重要性度量值;其中,对于多个卷积核通道中的任一当前通道, 该当前通道对应的重要性度量值为,该当前通道包括的各个权重参数分别对应的重要性度 量值的和;根据多个卷积核通道各自对应的重要性度量值,对卷积神经网络进行网络剪枝。 在一种可能的实施方式中,根据多个卷积核通道各自对应的重要性度量值,对卷 积神经网络进行网络剪枝,包括:从多个卷积核通道中选择至少一个目标卷积核通道;其 中,对于至少一个目标卷积核通道中的任一第一通道,以及多个卷积核通道中未被选择的 任一第二通道,第一通道对应的重要性度量值不大于第二通道对应的重要性度量值;删除 至少一个目标卷积核通道。 在一种可能的实施方式中,根据多个权重参数各自对应的重要性度量值,对深度 学习模型进行网络剪枝,包括:从多个权重参数中选择至少一个目标权重参数;其中,对于 至少一个目标权重参数中的任一第一参数,以及多个权重参数中未被选择的任一第二参 数,第一参数对应的重要性度量值不大于第二参数对应的重要性度量值;删除至少一个目 标权重参数。 在一种可能的实施方式中,深度学习模型包括多个网络层,多个网络层各自包括 多个权重参数中的至少一个。相应的,根据多个权重参数各自对应的重要性度量值,对深度 学习模型进行网络剪枝,包括:确定多个网络层各自对应的剪枝策略;其中,对于多个网络 层中的任一当前层,该当前层对应的剪枝策略指示了该当前层需要删除的权重参数的数量 或比例;对于每个网络层,根据该网络层对应的剪枝策略,以及该网络层包括的各个权重参 数分别对应的重要性度量值,对该网络层进行网络剪枝。 在一种可能的实施方式中,该方法还包括:根据多条训练数据对进行网络剪枝后 的深度学习模型进行微调训练。 在一种可能的实施方式中,该方法还包括:确定是否达到终止条件;其中,终止条 件包括:进行网络剪枝的当前次数达到预设次数,或者,进行微调训练后的深度学习模型的 规模满足预设条件;在达到终止条件的情况下,将进行微调训练后的深度学习模型确定为 压缩后的深度学习模型。 第二方面,提供了一种深度学习模型的压缩装置,该装置包括: 获取单元,配置为获取经训练得到的深度学习模型,以及获取用于训练所述深度学习 模型的多条训练数据;其中,所述深度学习模型用于实现预测业务,所述深度学习模型包括 多个权重参数; 梯度确定单元,配置为根据所述深度学习模型对应的损失函数以及所述多条训练数 据,确定所述多个权重参数各自对应的梯度值; 重要性度量单元,配置为确定所述多个权重参数各自对应的重要性度量值;其中,对于 所述多个权重参数中的任一当前参数,所述当前参数对应的重要性度量值与所述当前参数 的绝对值正相关,与所述当前参数对应的梯度值的绝对值正相关; 剪枝处理单元,配置为根据所述多个权重参数各自对应的重要性度量值,对所述深度 学习模型进行网络剪枝。 在一种可能的实施方式中,所述训练数据包括样本数据以及其对应的样本标签, 6 CN 111598238 A 说 明 书 3/10 页 所述样本数据的类型包括以下各种类型之一:文本、图片以及音频。 在一种可能的实施方式中,所述预测业务包括以下各种业务之一:自然语言处理、 图像识别、语音识别以及对业务对象进行分类。 在一种可能的实施方式中,所述深度学习模型包括卷积神经网络,所述卷积神经 网络包括多个卷积核通道,所述多个卷积核通道各自包括所述多个权重参数中的至少一 个。所述剪枝处理单元,具体配置为确定所述多个卷积核通道各自对应的重要性度量值;其 中,对于所述多个卷积核通道中的任一当前通道,所述当前通道对应的重要性度量值为,所 述当前通道包括的各个权重参数分别对应的重要性度量值的和;根据所述多个卷积核通道 各自对应的重要性度量值,对所述卷积神经网络进行网络剪枝。 在一种可能的实施方式中,所述剪枝处理单元,具体配置为从所述多个卷积核通 道中选择至少一个目标卷积核通道;其中,对于所述至少一个目标卷积核通道中的任一第 一通道,以及所述多个卷积核通道中未被选择的任一第二通道,所述第一通道对应的重要 性度量值不大于所述第二通道对应的重要性度量值;删除所述至少一个目标卷积核通道。 在一种可能的实施方式中,所述剪枝处理单元,具体配置为从所述多个权重参数 中选择至少一个目标权重参数;其中,对于所述至少一个目标权重参数中的任一第一参数, 以及所述多个权重参数中未被选择的任一第二参数,所述第一参数对应的重要性度量值不 大于所述第二参数对应的重要性度量值;删除所述至少一个目标权重参数。 在一种可能的实施方式中,所述深度学习模型包括多个网络层,所述多个网络层 各自包括所述多个权重参数中的至少一个。所述剪枝处理单元,具体配置为确定所述多个 网络层各自对应的剪枝策略;其中,对于所述多个网络层中的任一当前层,所述当前层对应 的剪枝策略指示了所述当前层需要删除的权重参数的数量或比例;对于每个所述网络层, 根据所述网络层对应的剪枝策略,以及所述网络层包括的各个权重参数分别对应的重要性 度量值,对所述网络层进行网络剪枝。 在一种可能的实施方式中,所述装置还包括:模型训练单元,配置为根据所述多条 训练数据,对进行网络剪枝后的所述深度学习模型进行微调训练。 在一种可能的实施方式中,所述装置还包括条件处理单元,配置为确定是否达到 终止条件;其中,所述终止条件包括进行网络剪枝的当前次数达到预设次数,或者,所述终 止条件包括进行微调训练后的所述深度学习模型的规模满足预设条件;在达到终止条件的 情况下,将进行微调训练后的所述深度学习模型确定为压缩后的深度学习模型。 第三方面,提供了一种计算设备,包括处理器,该处理器执行存储器中存储的计算 机指令/代码时,实现第一方面中任一项提供的方法。其中,该存储器可以位于该计算设备 中,也可以位于该计算设备之外。 第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令/代码,该计 算机指令/代码在计算设备中执行时,计算设备实现第一方面中任一项提供的方法。 通过本说明书实施例中提供的方法及装置,对于深度学习模型的每个权重参数, 可以根据该权重参数自身以及其对应的梯度值,综合衡量该权重参数的重要性,然后根据 各个权重参数的重要性对深度学习模型进行网络剪枝,使得深度学习模型的权重参数的数 量被减少,实现了对深度学习模型的规模进行压缩,可增强深度学习模型的可用性,同时还 能够确保深度学习模型具有较好的性能。 7 CN 111598238 A 说 明 书 4/10 页 附图说明 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的 附图。 图1为本说明书实施例中对深度学习模型进行网络剪枝的示意图之一。 图2为本说明书实施例中提供的一种深度学习模型的压缩方法的示意图。 图3为本说明书实施例中对深度学习模型进行网络剪枝的示意图之二。 图4为说明书实施例中提供的一种深度学习模型的压缩装置的示意图。