技术摘要:
本申请提供一种模型蒸馏方法、装置、电子设备及存储介质,用于快速有效地将复杂神经网络模型的参数直接迁移到简化神经网络模型上。该方法包括:获得预先训练的第一网络模型和未经训练的第二网络模型,第一网络模型的网络参数多于第二网络模型的网络参数;从第一网络模 全部
背景技术:
人工智能(Artificial Intelligence,AI),是指研究、开发用于模拟、延伸和扩展 人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一 个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出 反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系 统等。 机器学习(Machine Learning,ML),是指人工智能领域中研究人类学习行为的一 个分支。借鉴认知科学、生物学、哲学、统计学、信息论、控制论、计算复杂性等学科或理论的 观点,通过归纳、一般化、特殊化、类比等基本方法探索人类的认识规律和学习过程,建立各 种能通过经验自动改进的算法,使计算机系统能够具有自动学习特定知识和技能的能力。 知识蒸馏(Knowledge Distillation),又被称为模型蒸馏、暗知识提取、蒸馏训练 或蒸馏学习,是指将知识从一个复杂的机器学习模型迁移到另一个简化的机器学习模型, 从而在保持原复杂的机器学习模型的计算准确率基本不变的情况下,简化机器学习模型的 网络结构,以减小机器学习模型在实际应用中的运算量,从而提高机器学习模型的运算速 度,让简化后的机器学习模型能够运行在更多计算性能不强的终端设备上。 在具体的实践中发现,目前在保证简化神经网络模型的性能几乎不受影响的情况 下,难以快速有效地将复杂神经网络模型的参数直接迁移到简化神经网络模型上。
技术实现要素:
本申请实施例的目的在于提供一种模型蒸馏方法、装置、电子设备及存储介质,用 于快速有效地将复杂神经网络模型的参数直接迁移到简化神经网络模型上。 本申请实施例提供了一种模型蒸馏方法,包括:获得预先训练的第一网络模型和 未经训练的第二网络模型,第一网络模型的网络参数多于第二网络模型的网络参数;从第 一网络模型中的第一批量正则化层中提取出第一参数和第二参数,第一参数和第二参数均 是可学习的,第一参数影响网络模型的特征分布的方差,第二参数影响网络模型的特征分 布的均值;根据第一参数和第二参数对第二网络模型中的第二批量正则化层进行初始化, 获得初始化后的第二网络模型;使用第一网络模型对初始化后的第二网络模型进行蒸馏训 练,获得蒸馏训练后的第二网络模型。在上述的实现过程中,通过将复杂神经网络模型中的 特征分布规律直接赋值给简化神经网络模型,从而极大地提升了模型蒸馏的有效性,即在 保证简化神经网络模型的性能几乎不受影响的情况下,快速有效地将复杂神经网络模型的 参数直接迁移到简化神经网络模型上。 可选地,在本申请实施例中,获得预先训练的第一网络模型,包括:获得多个训练 4 CN 111738436 A 说 明 书 2/14 页 图像和多个训练图像对应的标签表,多个训练图像包括目标对象的原始图像和对原始图像 进行空间变换获得的变换图像,标签表包括目标对象的至少一个标签;以多个训练图像为 训练数据,以多个训练图像对应的标签表为训练标签,对预先构建的第一神经网络进行训 练,获得训练后的第一网络模型。在上述的实现过程中,通过获得多个训练图像和多个训练 图像对应的标签表;以多个训练图像为训练数据,以多个训练图像对应的标签表为训练标 签,对预先构建的第一神经网络进行训练,获得训练后的第一网络模型;从而有效地提高了 第一网络模型对训练图像中的多标签识别能力。 可选地,在本申请实施例中,在对预先构建的第一神经网络进行训练之前,还包 括:获得分类神经网络,分类神经网络包括:特征识别网络和归一化指数层;从分类神经网 络中删除归一化指数层,获得特征识别网络;根据特征识别网络和全连接层构建第一神经 网络。 可选地,在本申请实施例中,从第一网络模型中的第一批量正则化层中提取出第 一参数和第二参数,包括:从第一网络模型中的多个批量正则化层筛选出至少一个第一批 量正则化层,第一批量正则化层为跨步卷积计算之前的正则化层;从第一批量正则化层中 提取出第一参数和第二参数。 可选地,在本申请实施例中,根据第一参数和第二参数对第二网络模型中的第二 批量正则化层进行初始化,包括:判断第一批量正则化层对应模块的通道数量是否大于第 二批量正则化层对应模块的通道数量;若是,则使用第一批量正则化层中的第一参数对第 二批量正则化层中的第一参数进行赋值,并使用第一批量正则化层中的第二参数对第一批 量正则化层中的第二参数进行赋值。在上述的实现过程中,若第一批量正则化层对应模块 的通道数量大于第二批量正则化层对应模块的通道数量,则使用第一批量正则化层中的第 一参数对第二批量正则化层中的第一参数进行赋值,并使用第一批量正则化层中的第二参 数对第一批量正则化层中的第二参数进行赋值,从而有效地改善第一批量正则化层对应模 块的通道数量与第二批量正则化层对应模块的通道数量不一致的问题。 可选地,在本申请实施例中,使用第一网络模型对初始化后的第二网络模型进行 蒸馏训练,包括:根据第一批量正则化层对应的特征值和第二批量正则化层对应的特征值 构建蒸馏损失函数,蒸馏损失函数表征第一网络模型和第二网络模型的蒸馏损失,第一批 量正则化层对应的特征值和第二批量正则化层对应的特征值均在批量正则化层之后且在 激活函数计算之前的特征值;根据第一网络模型的分类损失函数和蒸馏损失函数对初始化 后的第二网络模型进行蒸馏训练,分类损失函数表征第一网络模型对输入数据进行预测的 分类标签与训练标签的分类任务损失。在上述的实现过程中,通过根据第一批量正则化层 对应的特征值和第二批量正则化层对应的特征值构建蒸馏损失函数,蒸馏损失函数表征第 一网络模型和第二网络模型的蒸馏损失,第一批量正则化层对应的特征值和第二批量正则 化层对应的特征值均在批量正则化层之后且在激活函数计算之前的特征值;根据第一网络 模型的分类损失函数和蒸馏损失函数对初始化后的第二网络模型进行蒸馏训练,从而极大 地提升了模型蒸馏的有效性,即在保证简化神经网络模型的性能几乎不受影响的情况下, 快速有效地将复杂神经网络模型的参数直接迁移到简化神经网络模型上。 可选地,在本申请实施例中,在获得蒸馏训练后的第二网络模型之后,还包括:对 待预测图像进行归一化处理,获得归一化后的图像;使用蒸馏训练后的第二网络模型对正 5 CN 111738436 A 说 明 书 3/14 页 则化后的图像进行预测,获得待预测图像对应的预测结果。在上述的实现过程中,通过对待 预测图像进行归一化处理,获得归一化后的图像;使用蒸馏训练后的第二网络模型对正则 化后的图像进行预测,获得待预测图像对应的预测结果;也就是说,通过使用蒸馏训练后的 第二网络模型预测待预测图像,从而有效地提高了获得待预测图像对应的预测结果的准确 率。 本申请实施例还提供了一种模型蒸馏装置,包括:模型获得模块,用于获得预先训 练的第一网络模型和未经训练的第二网络模型,第一网络模型的网络参数多于第二网络模 型的网络参数;参数提取模块,用于从第一网络模型中的第一批量正则化层中提取出第一 参数和第二参数,第一参数和第二参数均是可学习的,第一参数影响网络模型的特征分布 的方差,第二参数影响网络模型的特征分布的均值;层初始化模块,用于根据第一参数和第 二参数对第二网络模型中的第二批量正则化层进行初始化,获得初始化后的第二网络模 型;蒸馏训练模块,用于使用第一网络模型对初始化后的第二网络模型进行蒸馏训练,获得 蒸馏训练后的第二网络模型。 可选地,在本申请实施例中,模型获得模块,包括:图像标签获得模块,用于获得多 个训练图像和多个训练图像对应的标签表,多个训练图像包括目标对象的原始图像和对原 始图像进行空间变换获得的变换图像,标签表包括目标对象的至少一个标签;神经网络训 练模块,用于以多个训练图像为训练数据,以多个训练图像对应的标签表为训练标签,对预 先构建的第一神经网络进行训练,获得训练后的第一网络模型。 可选地,在本申请实施例中,模型蒸馏装置,还包括:分类网络获得模块,用于获得 分类神经网络,分类神经网络包括:特征识别网络和归一化指数层;特征网络获得模块,用 于从分类神经网络中删除归一化指数层,获得特征识别网络;神经网络构建模块,用于根据 特征识别网络和全连接层构建第一神经网络。 可选地,在本申请实施例中,参数提取模块,包括:正则化层筛选模块,用于从第一 网络模型中的多个批量正则化层筛选出至少一个第一批量正则化层,第一批量正则化层为 跨步卷积计算之前的正则化层;正则化层提取模块,用于从第一批量正则化层中提取出第 一参数和第二参数。 可选地,在本申请实施例中,层初始化模块,包括:通道数量判断模块,用于判断第 一批量正则化层对应模块的通道数量是否大于第二批量正则化层对应模块的通道数量;正 则化层赋值模块,用于若第一批量正则化层对应模块的通道数量大于第二批量正则化层对 应模块的通道数量,则使用第一批量正则化层中的第一参数对第二批量正则化层中的第一 参数进行赋值,并使用第一批量正则化层中的第二参数对第一批量正则化层中的第二参数 进行赋值。 可选地,在本申请实施例中,蒸馏训练模块,包括:损失函数构建模块,用于根据第 一批量正则化层对应的特征值和第二批量正则化层对应的特征值构建蒸馏损失函数,蒸馏 损失函数表征第一网络模型和第二网络模型的蒸馏损失,第一批量正则化层对应的特征值 和第二批量正则化层对应的特征值均在批量正则化层之后且在激活函数计算之前的特征 值;模型蒸馏训练模块,用于根据第一网络模型的分类损失函数和蒸馏损失函数对初始化 后的第二网络模型进行蒸馏训练,分类损失函数表征第一网络模型对输入数据进行预测的 分类标签与训练标签的分类任务损失。 6 CN 111738436 A 说 明 书 4/14 页 可选地,在本申请实施例中,模型蒸馏装置,还包括:图像正则处理模块,用于对待 预测图像进行归一化处理,获得归一化后的图像;预测结果获得模块,用于使用蒸馏训练后 的第二网络模型对正则化后的图像进行预测,获得待预测图像对应的预测结果。 本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理 器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。 本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算 机程序被处理器运行时执行如上面描述的方法。 附图说明 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使 用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看 作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他相关的附图。 图1示出的本申请实施例提供的模型蒸馏方法的流程示意图; 图2示出的本申请实施例提供的从第一网络模型蒸馏至第二网络模型的蒸馏位置 示意图; 图3示出的本申请实施例提供的模型蒸馏装置的结构示意图; 图4示出的本申请实施例提供的电子设备的结构示意图。