logo好方法网

用于对模型蒸馏的方法和装置


技术摘要:
本申请公开了用于对模型蒸馏的方法和装置,涉及计算机视觉技术领域。具体实施方式包括:获取目标模型的训练脚本,以及与所述目标模型的蒸馏相关联的蒸馏相关参数;确定包含所述蒸馏相关参数的多个候选值的搜索空间;将所述训练脚本作为第一组件,并调用所述第一组件,  全部
背景技术:
包 括:获取目标模型的训练脚本,以及与所述目标 模型的蒸馏相关联的蒸馏相关参数;确定包含所 述蒸馏相关参数的多个候选值的搜索空间;将所 述训练脚本作为第一组件,并调用所述第一组 件,在所述搜索空间中搜索所述蒸馏相关参数的 一个候选值,作为用于对目标模型进行蒸馏的目 标值。本申请可以将训练脚本进行组件化,从而 实现在不修改训练脚本中的模型脚本的情况下, 实现自动化搜索蒸馏相关数据的目标值,避免了 在训练脚本中硬编码蒸馏脚本带来的高耦合度, 同时提高了对模型进行蒸馏的灵活性。 CN 111582481 A CN 111582481 A 权 利 要 求 书 1/3 页 1.一种用于对模型蒸馏的方法,所述方法包括: 获取目标模型的训练脚本,以及与所述目标模型的蒸馏相关联的蒸馏相关参数; 确定包含所述蒸馏相关参数的多个候选值的搜索空间; 将所述训练脚本作为第一组件,并调用所述第一组件,在所述搜索空间中搜索所述蒸 馏相关参数的一个候选值,作为用于对目标模型进行蒸馏的目标值。 2.根据权利要求1所述的方法,其中,所述确定包含所述蒸馏相关参数的多个候选值的 搜索空间,包括: 将所述蒸馏相关参数的多个候选值作为第二组件; 调用所述第二组件,确定包含所述蒸馏相关参数的多个候选值的搜索空间。 3.根据权利要求2所述的方法,其中,所述方法还包括: 获取与所述目标模型的蒸馏相关联的配置信息,并将所述配置信息作为第三组件,其 中,所述配置信息用于指示是否调用组件在所述目标模型的蒸馏相关参数的候选值中进行 搜索;以及 所述调用所述第二组件,确定包含所述蒸馏相关参数的多个候选值的搜索空间,包括: 响应于调用所述第三组件,确定所获取的配置信息指示调用组件在所述目标模型的蒸 馏相关参数的候选值中进行搜索,调用所述第二组件,确定包含所述蒸馏相关参数的多个 候选值的搜索空间。 4.根据权利要求1或2所述的方法,其中,所述目标模型的蒸馏相关参数为所述目标模 型的至少一个处理层中每个处理层的蒸馏相关参数; 所述调用所述第一组件,在所述搜索空间中搜索所述蒸馏相关参数的一个候选值,作 为用于对目标模型进行蒸馏的目标值,包括: 对于至少一个处理层中每个处理层,调用所述第一组件,在所述搜索空间中对该处理 层搜索所述蒸馏相关参数的一个候选值,作为该处理层的所述蒸馏相关参数的目标值。 5.根据权利要求4所述的方法,其中,所述方法还包括: 对于至少一个处理层中每个处理层,利用对该处理层搜索到的、所述蒸馏相关参数的 目标值,对该处理层进行蒸馏; 利用蒸馏后的各个处理层,更新所述目标模型。 6.根据权利要求4所述的方法,其中,所述方法还包括: 基于所述训练脚本,判断以下的至少一者:所述目标模型是否存在支持蒸馏的处理层, 所述目标模型输出的特征图是否支持蒸馏; 若判断结果为否,则输出提示信息;以及 所述确定包含所述蒸馏相关参数的多个候选值的搜索空间,包括: 若判断结果为是,确定包含所述蒸馏相关参数的多个候选值的搜索空间,其中,所述支 持蒸馏的处理层为所述至少一个处理层。 7.根据权利要求1所述的方法,其中, 所述蒸馏相关参数包括指示利用多个教师模型进行蒸馏的指示信息;所述蒸馏相关参 数还包括所述多个教师模型中的各个教师模型在蒸馏中的权重;所述权重的候选值基于设 定的以下至少一项确定:权重的最大值、权重的最小值和权重间隔。 8.一种用于对模型蒸馏的装置,所述装置包括: 2 CN 111582481 A 权 利 要 求 书 2/3 页 第一获取单元,被配置成获取目标模型的训练脚本,以及与所述目标模型的蒸馏相关 联的蒸馏相关参数; 确定单元,被配置成确定包含所述蒸馏相关参数的多个候选值的搜索空间; 调用单元,被配置成将所述训练脚本作为第一组件,并调用所述第一组件,在所述搜索 空间中搜索所述蒸馏相关参数的一个候选值,作为用于对目标模型进行蒸馏的目标值。 9.根据权利要求8所述的装置,其中,确定单元,进一步被配置成按照如下方式执行所 述确定包含所述蒸馏相关参数的多个候选值的搜索空间: 将所述蒸馏相关参数的多个候选值作为第二组件; 调用所述第二组件,确定包含所述蒸馏相关参数的多个候选值的搜索空间。 10.根据权利要求9所述的装置,其中,所述装置还包括: 第二获取单元,被配置成获取与所述目标模型的蒸馏相关联的配置信息,并将所述配 置信息作为第三组件,其中,所述配置信息用于指示是否调用组件在所述目标模型的蒸馏 相关参数的候选值中进行搜索;以及 所述确定单元,进一步被配置成按照如下方式执行所述调用所述第二组件,确定包含 所述蒸馏相关参数的多个候选值的搜索空间: 响应于调用所述第三组件,确定所获取的配置信息指示调用组件在所述目标模型的蒸 馏相关参数的候选值中进行搜索,调用所述第二组件,确定包含所述蒸馏相关参数的多个 候选值的搜索空间。 11.根据权利要求8或9所述的装置,其中,所述目标模型的蒸馏相关参数为所述目标模 型的至少一个处理层中每个处理层的蒸馏相关参数; 所述确定单元,进一步被配置成按照如下方式执行所述调用所述第一组件,在所述搜 索空间中搜索所述蒸馏相关参数的一个候选值,作为用于对目标模型进行蒸馏的目标值: 对于至少一个处理层中每个处理层,调用所述第一组件,在所述搜索空间中对该处理 层搜索所述蒸馏相关参数的一个候选值,作为该处理层的所述蒸馏相关参数的目标值。 12.根据权利要求11所述的装置,其中,所述装置还包括: 蒸馏单元,被配置成对于至少一个处理层中每个处理层,利用对该处理层搜索到的、所 述蒸馏相关参数的目标值,对该处理层进行蒸馏; 更新单元,被配置成利用蒸馏后的各个处理层,更新所述目标模型。 13.根据权利要求11所述的装置,其中,所述装置还包括: 判断单元,被配置成基于所述训练脚本,判断以下的至少一者:所述目标模型是否存在 支持蒸馏的处理层,所述目标模型输出的特征图是否支持蒸馏; 输出单元,被配置成若判断结果为否,则输出提示信息;以及 所述确定单元,进一步被配置成按照如下方式执行所述确定包含所述蒸馏相关参数的 多个候选值的搜索空间: 若判断结果为是,确定包含所述蒸馏相关参数的多个候选值的搜索空间,其中,所述支 持蒸馏的处理层为所述至少一个处理层。 14.一种电子设备,包括: 一个或多个处理器; 存储装置,用于存储一个或多个程序, 3 CN 111582481 A 权 利 要 求 书 3/3 页 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实 现如权利要求1-7中任一所述的方法。 15.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时 实现如权利要求1-7中任一所述的方法。 4 CN 111582481 A 说 明 书 1/9 页 用于对模型蒸馏的方法和装置 技术领域 本申请实施例涉及计算机技术领域,具体涉及计算机视觉技术领域,尤其涉及用 于对模型蒸馏的方法和装置。
技术实现要素:
深度神经网络逐步被应用于各种领域。在追求网络的输出精度的同时,研究者也 在内存和计算资源有限的情况下,致力于得到参数较少、运行速度较快的小模型。 在模型的蒸馏(Distillation)也即知识蒸馏(Knowledge  Distillation)中,教师 (teacher)模型往往是一个比较复杂的模型,精度较高,具有非常好的性能和泛化能力,可 以用这个模型来指导另外一个较为简单、参数运算量更少的学生(student)模型来学习,使 得学生模型也能够具有和教师模型相近的精度和性能。
下载此资料需消耗2积分,
分享到:
收藏