掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及深度学习领域,尤其涉及一种神经网络训练方法及装置、设备、计算机存储介质。

背景技术

近年来,边缘设备例如移动电话、可穿戴设备等,都需要在本地处理深度学习相关的任务,然而边缘设备却普遍受限于有限的资源和功耗以及时延和成本。为了推荐基于深度学习的产品在边缘设备上的应用,相关技术提出了知识蒸馏(Knowledge Distillation,KD)这一模型压缩方法。

具体的,基于知识蒸馏的模型压缩方法是将训练好的较复杂的“教师”模型的推理预测能力迁移到较简单的“学生”模型,即将“教师”模型预测的“软标签”作为训练监督,来指导“学生”模型的训练,进而减少“学生”模型在边缘设备端所需的计算资源以及提高其运算速度。

然而,为了进一步获得更为准确的“软标签”以提升“学生”模型的网络性能,相关技术常通过多网络模型的知识整合蒸馏算法以为“学生”模型提供有效的训练监督,复杂性较高,使得训练时间和空间成本较大。

发明内容

本公开实施例提供一种神经网络训练方法和装置、设备,及计算机存储介质。

本公开的技术方案是这样实现的:

本公开实施例提供一种神经网络训练方法,所述方法包括:

执行循环过程直至获得满足预设数量的锚定样本的软标签;至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练;其中,所述循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从所述当前训练样本集中确定所述当前锚定样本和至少一个知识传递样本;其中,所述当前锚定样本为所述当前训练样本集中的任意一个,所述至少一个知识传递样本为所述当前训练样本集中、所述当前锚定样本以外的至少一个其他样本;基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率;基于所述当前锚定样本与每一所述知识传递样本之间的相似度,所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

这样,针对神经网络下的每个训练样本,可利用其他样本与该样本间的相似度以及其他样本的预测概率来辅助该训练样本软标签的生成,进而基于满足预设数量的训练样本的软标签为神经网络执行高效的训练监督。

上述方法中,所述至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练,包括:基于每一所述锚定样本的软标签和对应该锚定样本的预测概率,确定每一所述锚定样本的KL散度;基于每一所述锚定样本的硬标签和对应该锚定样本的预测概率,确定每一所述锚定样本的交叉熵损失;基于所述预设数量的锚定样本的交叉熵损失和所述预设数量的锚定样本的KL散度对所述神经网络进行训练。

这样,通过准确性高的软标签确定的目标损失函数可以实现通过更小的数据和更高的学习率训练模型。

上述方法中,所述神经网络包括编码器和分类器;所述基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,包括:基于所述神经网络的编码器,确定所述当前锚定样本的样本特征和每一所述知识传递样本的样本特征;基于所述当前锚定样本的样本特征和每一所述知识传递样本的样本特征,确定所述当前锚定样本与每一所述知识传递样本之间的相似度;基于所述神经网络的分类器,确定所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率。

这样,可以基于神经网络的编码器获得当前锚定样本与每一知识传递样本之间相似度,基于神经网络的分类器获得当前锚定样本的预测概率和每一知识传递样本的预测概率,以进一步实现基于样本相似度、当前锚定样本的预测概率和知识传递样本的预测概率作用于锚定样本软标签的生成。

上述方法中,所述基于所述当前锚定样本的样本特征和每一所述知识传递样本的样本特征,确定所述当前锚定样本与每一所述知识传递样本之间的相似度,包括:对所述当前锚定样本的样本特征进行归一化处理,得到所述当前锚定样本的归一化样本特征;对每一所述知识传递样本的样本特征进行归一化处理,得到每一所述知识传递样本的归一化特征;对所述当前锚定样本的归一化样本特征和每一所述知识传递样本的归一化特征进行点积运算处理,得到所述当前锚定样本与每一所述知识传递样本之间的相似度。

这样,可以对当前锚定样本与每一知识传递样本的经归一化转换至同一量纲下的样本特征进行点积运算,进而确定出两两样本之间的成对相似度。

上述方法中,所述基于所述当前锚定样本与每一所述知识传递样本之间的相似度,所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签,包括:基于所述当前锚定样本与每一所述知识传递样本之间的相似度,确定每一所述知识传递样本对所述当前锚定样本的知识传递参数;基于每一所述知识传递样本对所述当前锚定样本的知识传递参数、所述当前锚定样本的预测概率以及每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

上述方法中,所述基于每一所述知识传递样本对所述当前锚定样本的知识传递参数、每一所述知识传递样本的预测概率以及所述当前锚定样本的预测概率,确定所述当前锚定样本的软标签,包括:基于每一所述知识传递样本对所述当前锚定样本的知识传递参数和每一所述知识传递样本的预测概率执行一次知识传递处理,得到所述当前锚定样本的初始知识传递概率;基于所述初始知识传递概率和所述当前锚定样本的预测概率执行一次知识融合处理,得到所述当前锚定样本的初始软标签;基于所述当前锚定样本的初始软标签,执行循环过程直至所述至少一个知识传递样本的预测概率小于预设概率阈值的情况下,得到所述当前锚定样本的软标签;其中,所述循环过程包括:在循环过程的每个周期中,基于上一周期得到的所述当前锚定样本的软标签和每一所述知识传递参数执行知识传递处理,获得所述当前锚定样本的知识传递概率;基于所述当前锚定样本的知识传递概率和所述当前锚定样本的预测概率执行知识融合处理,得到下一周期的所述当前锚定样本的软标签。

这样,对于同一批次下的每个训练样本,都可以结合来自同一批次训练样本中的每一其他样本该训练样本的相似度,对每一其他样本的“暗知识”进行加权和整合传递至当前训练样本,直至知识完全融合,进而获得每一训练样本鲁棒的软标签。

上述方法中,所述基于所述当前锚定样本与每一所述知识传递样本之间的相似度,确定每一所述知识传递样本对所述当前锚定样本的知识传递参数,包括:对所述当前锚定样本与每一所述知识传递样本之间的至少一个相似度进行累加处理,得到相似度累加值;基于所述锚定样本与每一所述知识传递样本之间的相似度、所述相似度累加值,确定每一所述知识传递样本对所述当前锚定样本的知识传递参数。

这样,可以通过对样本相似度的标准化处理获得每一知识传递样本对锚定样本的“知识”传递权重值,进而根据该权重值进行每一知识传递样本其预测概率的加权传递。

上述方法中,所述基于每一所述知识传递样本对所述当前锚定样本的知识传递参数和每一所述知识传递样本的预测概率进行一次知识传递处理,得到所述当前锚定样本的初始知识传递概率,包括:基于每一所述知识传递样本对所述当前锚定样本的知识传递参数和所述每一所述知识传递样本的预测概率,确定每一所述知识传递样本对所述当前锚定样本的知识传递概率;对每一所述知识传递样本对所述当前锚定样本的至少一个知识传递概率进行累加处理,得到知识传递概率累加值;基于所述知识传递概率累加值进行一次知识传递处理,得到所述当前锚定样本的初始知识传递概率。

这样,可以实现对其他样本预测概率的进行加权和整合以传递至当前锚定样本。

上述方法中,所述方法还包括:获取训练数据集,所述训练数据集包括至少一个批次的训练数据子集;从所述训练数据集中选择一个批次的之前未被选中作为训练样本集的所述训练数据子集,作为所述当前训练样本集。

这样,可以采用多批次,即mini-batch的形式进行神经网络训练。

上述方法中,对所述训练数据集执行随机采样处理,得到至少一个第一训练数据;确定每一所述第一训练数据的硬标签,并基于每一所述第一训练数据的硬标签对所述训练数据集中未被选中作为所述第一训练数据的剩余数据,继续进行相似度采样处理,得到每一所述第一训练数据对应的至少一个第二训练数据;将基于所述至少一个第一训练数据和每一所述第一训练数据对应的至少一个第二训练数据构建的一个批次的所述训练数据子集,作为所述当前训练样本集。

这样,能够保证当前训练样本集中的每一训练样本存在与其视觉性相似的至少一个其他样本,进而可以实现根据样本间的相似度在样本之间进行知识的加权传递。

本公开实施例提供一种神经网络训练装置,包括:

获取单元,用于执行循环过程直至获得满足预设数量的锚定样本的软标签;其中,所述循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从所述当前训练样本集中确定所述当前锚定样本和至少一个知识传递样本;其中,所述当前锚定样本为所述当前训练样本集中的任意一个,所述至少一个知识传递样本为所述当前训练样本集中、所述当前锚定样本以外的至少一个其他样本;基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率;

训练单元,用于至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练。

本公开实施例提供一种计算机设备,所述计算机设备包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的神经网络训练方法。

本公开实施例提供一种计算机可读存储介质,其上存储有程序,应用于计算机设备中,所述程序被处理器执行时,实现如上所述的神经网络训练方法。

本公开实施例提出的技术方案,计算机设备可以执行循环过程直至获得满足预设数量的锚定样本的软标签;至少基于预设数量的锚定样本的软标签和预设数量的锚定样本,对神经网络进行训练;其中,循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从当前训练样本集中确定当前锚定样本和至少一个知识传递样本;其中,当前锚定样本为当前训练样本集中的任意一个,至少一个知识传递样本为当前训练样本集中、当前锚定样本以外的至少一个其他样本;基于神经网络,确定当前锚定样本与每一知识传递样本之间的相似度、以及当前锚定样本的预测概率和每一知识传递样本的预测概率;基于当前锚定样本与每一知识传递样本之间的相似度,当前锚定样本的预测概率和每一知识传递样本的预测概率,确定当前锚定样本的软标签。如此,针对神经网络下的每个训练样本,可利用其他样本与该样本间的相似度以及其他样本的预测概率来辅助该训练样本软标签的生成,进而基于满足预设数量的训练样本的软标签为神经网络执行高效的训练监督。可见,本公开以同一神经网络下跨样本的知识整合代替传统的跨网络的知识整合,在仅利用单个网络的基础上实现了基于样本间相似度的知识整合并获得有效的软标签。

附图说明

图1为相关技术中多教师模型的知识整合蒸馏算法的原理示意图;

图2为相关技术中多学生模型的知识整合蒸馏算法的原理示意图;

图3为本公开实施例提出的神经网络训练方法的实现流程示意图一;

图4为本公开实施例提出的神经网络训练方法的实现流程示意图二;

图5为本公开实施例提出的神经网络训练方法的实现流程示意图三;

图6为本公开实施例提出的神经网络训练方法的实现流程示意图四;

图7为本公开实施例提出的神经网络训练方法的实现流程示意图五;

图8为本公开实施例提出的神经网络训练方法的实现流程示意图六;

图9为本公开实施例提出的神经网络训练方法的实现流程示意图七;

图10为本公开实施例提出的神经网络训练方法的实现流程示意图八;

图11为本公开实施例提出的神经网络训练方法的实现流程示意图九;

图12为本公开实施例提出的神经网络训练方法的实现流程示意图十;

图13为本公开实施例提出的神经网络训练方法的实现流程示意图十一;

图14为本公开实施例提出的知识整合自蒸馏算法的原理示意图一;

图15为本公开实施例提出的知识整合自蒸馏算法的原理示意图二;

图16为本公开实施例提出的神经网络训练装置的组成结构示意图;

图17为本公开实施例提出的计算机设备的组成结构示意图。

具体实施方式

为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。

对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)知识蒸馏:采取教师-学生(Teacher-Student)模式,将复杂且大的模型作为教师模型即Teacher,学生模型Student结构较为简单,用Teacher来辅助Student模型的训练。旨在通过软标签(soft-target)将从高容量教师模型中学到的“暗”知识转移到学生模型,软标签可以是班级概率,也可以是老师输出的特征表示,其中包含的信息比单标签更完整。

一般地,大模型往往是单个复杂网络或者是若干网络的集合,拥有良好的性能和泛化能力,而小模型因为网络规模较小,表达能力有限。因此,可以利用大模型学习到的知识去指导小模型训练,使得小模型具有与大模型相当的性能,但是参数数量大幅降低,从而实现模型压缩与加速。

2)自蒸馏:知识蒸馏的其中一种特殊情况,自蒸馏(Self-Distillation)则指的是自己蒸馏到自己,可以看作是:首先对两个单独的模型F1,F2进行集成学习,然后蒸馏成F2。即Teacher Model就是Student Model的集成版本,称为自集成(Self-Ensemble)。

3)知识整合:通过整合多个预先训练的教师模型的知识来增强软标签,如引入的多老师版的知识蒸馏(Multi-Model Ensemble via Adversarial Learning,MEAL)、多学生版的知识蒸馏KDCL。

近年来,深度神经网络推动了计算机视觉的快速发展,其中图像分类任务被视为最基本也是最重要的任务之一。目前有大量的工作旨在攻克图像分类任务性能提升的瓶颈,尤其是在大规模的数据集上。

最近研究表明,有监督的图像分类训练的瓶颈来源于不够准确的“硬标签”,即人为标注的单标签(一张图片一个类别,one-hot标签),这一问题导致的学习目标不完善是阻碍分类准确性进一步提高,监督学习存在极大局限性的关键因素。

知识蒸馏算法的提出为该问题提供了一个较好的解决方案,即利用一个预训练的教师模型所预测的软概率矢量,即“软标签”作为训练监督,来指导学生模型的训练。

另一方面,需要在本地处理深度学习相关的任务边缘设备,例如移动电话、可穿戴设备等,都普遍受限于有限的资源和功耗以及时延和成本。知识蒸馏算法的提出可以促使基于深度学习的产品在边缘设备上的广泛应用。

众所周知,多个网络的集合通常比集合中的单个网络产生更好的预测。因此,在最先进的方法中,采用多个老师或学生对互补知识进行编码,如通过整合多个预先训练的教师模型的知识来增强软标签,而他们的“综合”软标签是更可靠的学习目标,我们将此类算法称之为知识整合蒸馏算法。

示例性的,图1为相关技术中多教师模型的知识整合蒸馏算法的原理示意图,如图1所示,教师模型#1至教师模型#N针对锚定样本的预测概率为{p

示例性的,图2为相关技术中多学生模型的知识整合蒸馏算法的原理示意图,如图2所示,学生模型#1至学生模型#N针对锚定样本的预测概率为{p

然而,虽然知识整合蒸馏算法可以提供有效的训练监督,但是其不得不依赖额外的网络或分支,复杂性较高,大大增大了训练时间和空间成本。

鉴于此,如何通过较少的训练时间和空间成本获得有效的软标签,以进行更为准确的网络训练监督是亟待解决的问题,是本公开实施例所要讨论的内容,下面将结合以下具体实施例进行阐述。

本公开实施例提供一种神经网络训练方法和装置、设备,及计算机存储介质,通过针对神经网络下的每个训练样本,可利用其他样本与该样本间的相似度以及其他样本的预测概率来辅助该训练样本软标签的生成,进而基于满足预设数量的训练样本的软标签为神经网络执行高效的训练监督。可见,本公开以同一神经网络下跨样本的知识整合代替传统的跨网络的知识整合,在仅利用单个网络的基础上实现了基于样本间相似度的知识整合并获得有效的软标签。

本公开实施例提出的神经网络训练方法应用于计算机设备中。下面说明本公开实施例提出的计算机设备的示例性应用,本公开实施例提出的计算机设备可以实施为手机终端、笔记本电脑,平板电脑,台式计算机,智能电视、车载设备、可穿戴设备、工业设备等。

下面,将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。

本公开一实施例提供了一种神经网络训练方法,图3为本公开实施例提出的神经网络训练方法的实现流程示意图一,如图3所示,在本公开的实施例中,计算机设备执行神经网络训练的方法可以包括以下步骤:

S100、执行循环过程直至获得满足预设数量的锚定样本的软标签。

可以理解的是,训练样本的标签越准确,模型训练效果越好,为了克服人为硬标签在模型训练上带来的瓶颈和缺陷,可以通过知识蒸馏算法为训练样本生成更为鲁棒的软标签,以通过软标签进行高效的训练监督来提升模型的性能。

在一些实施例中,可以通过知识蒸馏算法为全部训练样本集中的每个训练样本生成其对应的软标签;或者通过知识蒸馏算法为全部训练样本集中的部分训练样本如某一批次训练样本,生成其对应的软标签。

其中,图4为本公开实施例提出的神经网络训练方法的实现流程示意图二,如图4所示,本公开实施例提供的循环过程包括以下步骤:

S101、获取当前训练样本集,在执行循环过程的每个周期中从当前训练样本集中确定当前锚定样本和至少一个知识传递样本;其中,当前锚定样本为当前训练样本集中的任意一个,至少一个知识传递样本为当前训练样本集中、当前锚定样本以外的至少一个其他样本。

在一些实施例中,当前训练样本集可以是用于进行神经网络训练的全部数据集,也可以是用于进行神经网络训练的多批次训练数据集中的任意一个批次的训练数据集。

在一些实施例中,锚定样本指当前训练数据集中需要进行软标签生成的训练样本;知识传递样本指训练数据集中、用于作用于锚定样本软标签生成的至少一个其他训练样本。

在本公开实施例中,计算机设备在每个周期可以从训练样本集中确定任意一个感兴趣的、之前未被确定为锚定样本的训练样本作为当前锚定样本,并将当前训练样本集中、除当前锚定样本之外的至少一个其他样本确定为知识传递样本。

其中,在将训练样本集中不同的训练样本作为当前锚定样本时,其对应的知识传递样本是不相同的。例如,同一批次样本为{x

在本公开实施例的一实施方式中,在训练样本集中,每个训练样本都存在与其具有视图相似性的至少一个其他训练样本。

S102、基于神经网络,确定当前锚定样本与每一知识传递样本之间的相似度、以及当前锚定样本的预测概率和每一知识传递样本的预测概率。

应理解,在本公开实施例中,为了实现基于样本的视图相似性在样本之间传递和整合知识,在从训练样本集中确定出当前锚定样本和该锚定样本对应的至少一个知识传递样本之后,可以确定锚定样本与知识传递样本之间的样本相似度,以及基于锚定样本与知识传递样本之间的相似度用来进行传递和整合的“知识”。

在一些实施例中,可以通过神经网络确定当前锚定样本与每一知识传递样本之间的相似度。这里,将当前锚定样本和至少一个知识传递样本输入神经网络之后,神经网络可以分别确定当前锚定样本的样本特征和每一知识传递样本的样本特征,进而基于当前锚定样本的样本特征和每一知识传递样本的样本特征确定出当前锚定样本与每一知识传递样本之间的样本相似度。

在一些实施例中,锚定样本与知识传递样本之间用来进行传递和整合的“知识”可以是在图像分类、目标检测、图像分割等任务上的样本的预测概率。例如,在分类任务上样本属于某个类别的概率。

其中,可以通过神经网络确定锚定样本的预测概率与每一知识传递样本的预测概率。

S103、基于当前锚定样本与每一知识传递样本之间的相似度,当前锚定样本的预测概率和每一知识传递样本的预测概率,确定当前锚定样本的软标签。

在本公开实施例中,通过神经网络确定出锚定样本与每一知识传递样本之间的相似度,以及锚定样本与每一知识传递样本各自的预测概率之后,便可以进一步基于当前锚定样本与每一知识传递样本之间的相似度、当前锚定样本的预测概率以及每一知识传递样本的预测概率执行知识的传递和整合操作,以作用于当前锚定样本软标签的生成。

可以理解的是,在本公开实施例中,可以基于当前锚定样本与每一知识传递样本之间的相似度,表征每一知识传递样本对锚定样本的“知识”影响程度,从而对每一知识传递样本的预测概率按其“知识”影响程度执行知识的加权传递操作,针对当前锚定样本对应的至少一个知识传递样本,对以不同影响程度传递的每一知识传递样本的知识进行整合,共同作用于当前锚定样本软标签的生成。

可见,生成训练样本软标签的不再知识蒸馏算法下不同网络模型间的知识整合,而是基于自蒸馏算法的单一网络模型下,不同样本间的知识整合。这样,不再需要多个其他网络模型作用软标签的生成,而是在单一网络模型下,针对每个训练样本,基于该训练样本与其他样本间的相似度对其他样本的“暗知识”进行传递和整合,以作用于该训练样本软标签的生成。

S110、至少基于预设数量的锚定样本的软标签和预设数量的锚定样本,对神经网络进行训练。

在本公开实施例中,生成满足预设数量的锚定样本的软标签之后,便可以至少基于预设数量的锚定样本以及该锚定样本鲁棒的软标签更新神经网络的目标损失函数,以实现对神经网络的更新优化。

可见,为了提高模型的泛化能力以及训练监督的准确性,模型监督训练过程中的不再是基于训练样本对应的硬标签进行模型训练,而是结合上述样本间的知识整合的自蒸馏方法获得的鲁棒的软标签,以进行模型训练。

本公开实施例提供一种神经网络训练方法,通过针对神经网络下的每个训练样本,可利用其他样本与该样本间的相似度以及其他样本的预测概率来辅助该训练样本软标签的生成,进而基于满足预设数量的训练样本的软标签为神经网络执行高效的训练监督。可见,本公开以同一神经网络下跨样本的知识整合代替传统的跨网络的知识整合,在仅利用单个网络的基础上实现了基于样本间相似度的知识整合并获得有效的软标签。

在本公开实施例的一实施方式中,图5为本公开实施例提出的神经网络训练方法的实现流程示意图三,如图5所示,计算机设备基于神经网络,确定当前锚定样本与每一知识传递样本之间的相似度、以及当前锚定样本的预测概率和每一知识传递样本的预测概率的方法还包括以下步骤:

S102a、基于神经网络的编码器,确定当前锚定样本的样本特征和每一知识传递样本的样本特征。

S102b、基于当前锚定样本的样本特征和每一知识传递样本的样本特征,确定当前锚定样本与每一知识传递样本之间的相似度。

在本公开实施例中,神经网络设置有编码器,编码器用于对每个训练样本进行特征提取并进行特征编码,得到以向量形式表征的样本特征。

在一些实施例中,可以通过神经网络的编码器对当前锚定样本和每一知识传递样本分别进行特征提取,分别获得当前锚定样本的样本特征和每一知识传递样本的样本特征,并分别对其样本特征进行特征编码,将样本特征表示为向量的形式。即通过神经网络的编码器确定出当前锚定样本以向量形式表征的样本特征与每一知识传递样本以向量形式表征的样本特征。

这里,可以基于样本特征确定当前锚定样本与每一知识传递样本之间的视图相似性,即样本相似度。

在本公开实施例中,图6为本公开实施例提出的神经网络训练方法的实现流程示意图四,如图6所示,基于当前锚定样本的样本特征和每一知识传递样本的样本特征,确定当前锚定样本与每一知识传递样本之间的相似度的方法包括以下步骤:

S102b1、对当前锚定样本的样本特征进行归一化处理,得到当前锚定样本的归一化样本特征。

S102b2、对每一知识传递样本的样本特征进行归一化处理,得到每一知识传递样本的归一化特征。

S102b3、对当前锚定样本的归一化样本特征和每一知识传递样本的归一化特征进行点积运算处理,得到当前锚定样本与每一知识传递样本之间的相似度。

可以理解的是,在基于样本特征确定样本之间的相似度之前,需要先将使用向量形式的样本特征转换至同一量纲下,使得计算严格本相似度拥有统一的标准。

这里,计算机设备可以分别对当前锚定样本的样本特征和每一知识传递样本的样本特征先进行归一化处理,获得当前锚定样本的归一化样本特征和每一知识传递样本的归一化特征,以实现将使用向量形式表征的样本特征转换至同一量纲下。

之后,通过对当前锚定样本的归一化特征和每一知识传递样本的归一化特征进行点积运算处理,进而得到当前锚定样本与每一知识传递样本之间的相似度。

其中,样本之间相似度的计算公式如下所示:

A(i,j)=σ(F(x

其中,公式(1)中,F(x

如此,基于公式(1)便可以计算出当前锚定样本与每一知识传递样本,即两两之间的成对样本相似度,并将该相似度结果存储于亲和矩阵A中,假设训练样本集中样本的个数为N,则表征全部样本间相似度的亲和矩阵可以为A∈R

可见,在本公开实施例中,可以对当前锚定样本与每一知识传递样本的经归一化转换至同一量纲下的样本特征进行点积运算,进而确定出两两样本之间的成对相似度。

S102c、基于神经网络的分类器,确定当前锚定样本的预测概率和每一知识传递样本的预测概率。

在本公开实施例中,神经网络还设置有分类器,分类器用于确定每个训练样本对应的预测概率。

例如,分类任务下,对于当前锚定样本和每一知识传递样本,神经网络的分类器可以通过softmax函数计算当前锚定样本和每一知识传递样本的预测概率。其中,样本预测概率的计算公式如下所示:

其中,公式(2)中,

例如,分类任务下,训练样本集中训练样本的预测概率可以表示为

可见,在本公开实施例中,可以基于神经网络的编码器获得当前锚定样本与每一知识传递样本之间相似度,基于神经网络的分类器获得当前锚定样本的预测概率和每一知识传递样本的预测概率,以进一步实现基于样本相似度、当前锚定样本的预测概率和知识传递样本的预测概率作用于锚定样本软标签的生成。

在本公开实施例中,图7为本公开实施例提出的神经网络训练方法的实现流程示意图五,如图7所示,基于当前锚定样本与每一所述知识传递样本之间的相似度,当前锚定样本的预测概率和每一知识传递样本的预测概率,确定当前锚定样本的软标签的方法包括以下步骤:

S103a、基于当前锚定样本与每一知识传递样本之间的相似度,确定每一知识传递样本对当前锚定样本的知识传递参数。

在本公开实施例中,每一知识传递样本的预测概率将以不同的权重值传递至当前锚定样本,以用于当前锚定样本软标签的生成,计算机设备可以通过softmax函数对样本相似度进行标准化处理,计算出每一个知识传递样本对当前锚定样本的“知识”传递权重值,即知识传递参数。

其中,图8为本公开实施例提出的神经网络训练方法的实现流程示意图六,如图8所示,基于当前锚定样本与每一知识传递样本之间的相似度,确定每一所述知识传递样本对当前锚定样本的知识传递参数的方法包括以下步骤:

S103a1、对当前锚定样本与每一知识传递样本之间的至少一个相似度进行累加处理,得到相似度累加值。

S103a2、基于锚定样本与每一知识传递样本之间的相似度、相似度累加值,确定每一知识传递样本对当前锚定样本的知识传递参数。

在本公开实施例中,计算机设备可以先对当前锚定样本与每一个知识传递样本之间的相似度进行累加求和处理,获得求和结果即相似度累加值,然后针对每一知识传递样本,结合当前锚定样本与每一知识传递样本之间的相似度、上述相似度累计值,通过softmax函数计算每一知识传递样本对当前锚定样本的知识传递参数。

知识传递参数的计算公式如下所示:

其中,公式(3)中,exp(A(i,j))表征第i个锚定样本与第j个知识传递样本之间的样本相似度,∑

经公式(3)样本相似度的标准化处理之后,对每一知识传递样本对当前锚定样本的“知识”传递权重值进行累加处理,累加值为1,即

可见,在本公开实施例中,可以通过对样本相似度的标准化处理获得每一知识传递样本对锚定样本的“知识”传递权重值,进而根据该权重值进行每一知识传递样本其预测概率的加权传递。

S103b、基于每一知识传递样本对当前锚定样本的知识传递参数、当前锚定样本的预测概率以及每一知识传递样本的预测概率,确定当前锚定样本的软标签。

在本公开实施例中,得到每一知识传递样本对当前锚定样本的知识传递参数之后,可以基于该每一知识传递样本对当前锚定样本的“知识”传递权重值、当前锚定样本的预测概率以及每一知识传递样本的预测概率进行当前锚定样本的软标签的确定,直至将每个知识传递样本的传递的“暗知识”完全融合至当前锚定样本,便可以获得当前锚定样本准确且鲁棒的软标签。

其中,图9为本公开实施例提出的神经网络训练方法的实现流程示意图七,如图9所示,基于每一知识传递样本对当前锚定样本的知识传递参数、当前锚定样本的预测概率以及每一知识传递样本的预测概率,确定当前锚定样本的软标签的具体方法包括以下步骤:

S103b1、基于每一知识传递样本对当前锚定样本的知识传递参数和每一知识传递样本的预测概率执行一次知识传递处理,得到当前锚定样本的初始知识传递概率。

在本公开实施例中,可以先基于每一知识传递样本对当前锚定样本的知识传递参数和每一知识传递样本的预测概率,对至少一个知识传递样本的“暗知识”进行一次加权整合传递,进而获得当前锚定样本的初始知识传递概率。

在一些实施例中,可以基于每一知识传递样本对当前锚定样本的“知识”传递权重值对每一知识传递样本的预测概率进行加权传递。这里,可以先基于每一知识传递样本对当前锚定样本的知识传递参数和每一知识传递样本的预测概率,先确定每一知识传递样本对当前锚定样本的知识传递概率。

在一些实施例中,可以对每一知识传递样本需加权传递至当前锚定样本的“知识”进行整合后再进行传递。这里,可以先对每一知识传递样本对当前锚定样本的至少一个知识传递概率进行累加处理,得到知识传递概率累加值,然后基于知识传递概率累加值先进行一次知识传递处理,进而得到至少一个知识传递样本第一次传递至当前锚定样本“暗知识”,即初始知识传递概率。

这里,知识传递概率的计算公式如下所示:

公式(4)中,

基于上述可知,训练样本集中训练样本的预测概率可以表示为

直观的,如果第i个锚定样本和第j个知识传递样本相似度较高,即

在本公开实施例中,基于公式(4)计算同一批次中的每个训练样本作为锚定样本时的知识传递概率之后,可以对同一批次中的“暗知识”进行并行传递,即并行传递同一批次所有样本的知识传递概率,即

可见,在本公开实施例中可以实现对其他样本预测概率的进行加权和整合以传递至当前锚定样本。

S103b2、基于初始知识传递概率和当前锚定样本的预测概率进行一次知识融合处理,得到当前锚定样本的初始软标签。

在本公开实施例中,将至少一个知识传递样本的“暗知识”进行加权整合传递之后,便可以基于传递的“暗知识”和当前锚定样本当前已有的“知识”进行一次知识融合处理,以得到当前锚定样本的初始软标签。

这里,在对至少一个知识传递样本的预测概率进行一次加权整合传递之后,便可以基于至少一个知识传递样本对当前锚定样本的初始知识传递概率和当前锚定样本的预测概率执行知识融合处理获得初始软标签。

当前锚定样本初始软标签的生成函数如下:

其中,公式(5)中,

应理解,在对同一批次中样本的“暗知识”进行并行传递的情况下,同一批次下所有训练样本的初始软标签生成函数如下:

其中,公式(6)中,Q

S103b3、基于当前锚定样本的初始软标签,执行循环过程直至至少一个知识传递样本的预测概率小于预设概率阈值的情况下,得到当前锚定样本的软标签。

应保证,为了使至少一个知识传递样本传递的“暗知识”能够完全作用于当前锚定样本软标签的生成,可以对知识的传递和整合进行多次,直至将至少一个知识传递样本传递的知识完全融合至当前锚定样本。

其中,图10为本公开实施例提出的神经网络训练方法的实现流程示意图八,如图10所示,该循环过程包括以下步骤:

S103b31、在循环过程的每个周期中,基于上一周期得到的当前锚定样本的软标签和每一知识传递参数执行知识传递处理,获得当前锚定样本的知识传递概率。

S103b31、基于当前锚定样本的知识传递概率和当前锚定样本的预测概率执行知识融合处理,获得下一周期的当前锚定样本的软标签。

应理解,为了提高软标签准确性,以更好的提升学生模型的性能,上述知识加权传递和整合的过程可以进行多次,直至收敛,实现知识的充分融合。

其中,知识传递和融合过程如下:

其中,公式(7)中,t表示第t次传递和整合的迭代,

可见,在循环过程的每个周期中,先基于上一周期得到的当前锚定样本的软标签和每一知识传递参数执行一次知识传递处理,获得当前锚定样本的知识传递概率,即

这里,在同一批次训练样本的并行传递情况下,知识传递和融合过程如下:

其中,公式(8)中,t表示第t次传递和整合的迭代,

可见,在循环过程的每个周期中,先基于上一周期得到的同一批次下每个训练样本的软标签,然后和每一训练样本的预测概率执行知识融合处理,获得下一周期每个训练样本的软标签。

在循环过程执行多次,即知识传递过程和知识融合过程迭代无限次,每一训练样本的至少一个知识传递样本的预测概率小于预设概率阈值,如知识传递样本的预测概率无穷小趋近于零的情况下,

基于上述知识多次传递和融合过程,每一训练样本软标签的生成函数可以估计为:

如此,每个训练样本的至少一个知识传递样本传递的“暗知识”已完全融合至每个训练样本,每个训练样本对应的软标签准确性较高,准确性趋近于100%

对于同一批次下的所有训练样本,由于在同一量纲下,自然满足

可见,在本公开实施例中,对于同一批次下的每个训练样本,都可以结合来自同一批次训练样本中的每一其他样本该训练样本的相似度,对每一其他样本的“暗知识”进行加权和整合传递至当前训练样本,直至知识完全融合,进而获得每一训练样本准确且鲁棒的软标签。

在本公开实施例中,图11为本公开实施例提出的神经网络训练方法的实现流程示意图九,如图11所示,神经网络训练方法还包括以下步骤:

S120、获取训练数据集,训练数据集包括至少一个批次的训练数据子集。

S130、从训练数据集中选择一个批次的之前未被选中作为训练样本集的训练数据子集,作为当前训练样本集。

在本公开实施例中,可以获取训练数据集,如ImageNet(数据集),但是考虑到该训练数据集过大,实际应用时往往无法将该训练数据一次加载到计算设备中,那么我们可以将该训练数据集划分成至少一个占用容量较小的训练数据子集,以进行至少一个批次的神经网络训练。

在本公开实施例的一实施方式中,可以采用多批次,即mini-batch的形式进行神经网络训练。进而,可以将多个批次训练数据子集中的任意一个批次的训练子集确定为上述训练样本集,通过执行S101-S103的知识整合的自蒸馏算法得到锚定样本的软标签。

其中,在上述训练样本集为一个批次的训练数据子集时,可以针对该训练样本集中的每一个训练样本执行上述S101-S103的知识整合的自蒸馏算法,得到该训练样本集中每一训练样本对应的软标签。

这里,在将某一批次的训练数据子集作为当前训练样本集执行完上述S100-S110之后,可以将训练数据集中之前未被确定为训练样本集的另一批次的训练数据子集继续确定为下一轮的训练样本集,并执行上述S101-S103的知识整合的自蒸馏算法和S100-S110的神经网络训练方法,提升网络性能。

在本公开实施例中,图12为本公开实施例提出的神经网络训练方法的实现流程示意图十,如图12所示,神经网络训练方法还包括以下步骤:

S140、对训练数据集执行随机采样处理,得到至少一个第一训练数据。

S150、确定每一第一训练数据的硬标签,并基于每一第一训练数据的硬标签对训练数据集中未被选中作为第一训练数据的剩余数据继续进行相似度采样处理,得到每一第一训练数据对应的至少一个第二训练数据。

S160、将基于至少一个第一训练数据和每一第一训练数据对应的至少一个第二训练数据构建的一个批次的训练数据子集,作为当前训练样本集。

可以理解的是,为了可以实现根据样本间的相似度在样本之间进行知识的加权传递和整合,首先要确保训练样本中,每个样本都存在与其具有视图相似性的至少一个其他样本。

在本公开实施例的一实施方式中,可以设置一类数据采样器,即在通用随机采样机制之上实现基于视图相似性进行训练样本的采样。

其中,采样处理中,可以先通过该类数据采样器先对上述训练数据集ImageNet进行随机采样,获得至少一个第一训练数据;然后确定每一第一训练数据对应的人为硬标签。

之后,基于该硬标签从训练数据集的剩余的数据中进行相似度采样处理,即采样出与每一第一训练数据的具有视图相似性,即硬标签相同的至少一个第二训练数据,进而由该至少一个第一训练数据与每一第一训练数据对应的至少一个第二训练数据构成一个批次的训练数据子集,并将该一个批次的训练数据子集作为训练样本集。

如此,基于上述方法可以从训练数据集中选取出样本之间存在视图相似性的多个批次的训练数据子集,在基于S101-S103知识整合的自蒸馏算法和S100-S110的神经网络训练方法时,可以将每个批次的训练数据子集作为当前训练样本集。

例如,随机采样获得的第一训练数据的数目为N,为每一第一训练数据选择出M个具有视图相似性的第二训练数据,那么最终构成的一个批次的训练数据子集的样本数目为N×(M+1)。

可见,通过基于样本相似度的数据采样方法,能够保证当前训练样本集中的每一训练样本存在与其视觉性相似的至少一个其他样本,进而可以实现根据样本间的相似度在样本之间进行知识的加权传递。

在本公开实施例中,图13为本公开实施例提出的神经网络训练方法的实现流程示意图十一,如图13所示,至少基于预设数量的锚定样本的软标签和预设数量的锚定样本,对神经网络进行训练的方法还包括以下步骤:

S111、基于每一锚定样本的软标签和对应该锚定样本的预测概率,确定每一锚定样本的相对熵。

S112、基于每一锚定样本的硬标签和对应该锚定样本的预测概率,确定每一锚定样本的交叉熵。

S113、基于预设数量的锚定样本的交叉熵和预设数量的锚定样本的相对熵对神经网络进行训练。

在本公开实施例中,相对熵即KL散度(Kullback Leibler divergence,KLD),交叉熵和相对熵都是用来描述样本真实结果分布和预测结果分布之间的差异性。

在本公开实施例中,在得到预设数量的锚定样本的软标签,并至少基于该预设数量的锚定样本以及锚定样本的软标签进行神经网络的训练时,可以通过计算训练样本的两类差异性来实现对神经网络的训练。

其中,一类是将人为硬标签作为样本的真实结果分布,基于人为硬标签和预测概率之间的差异性确定交叉熵;另一类是将鲁棒的软标签作为样本的“真实”结果分布,基于软标签和预测概率之间的差异性确定相对熵。

应理解,神经网络的训练即最小化交叉熵和相对熵,也就是通过神经网络确定出的样本的预测结果分布近似于样本的真实结果分布。这里,由于经上述循环过程获得满足预设数量的锚定样本的鲁棒的软标签进行神经网络训练,标签准确性好了,那么相应的训练出的神经网络性能也被提升。

这里,损失函数如下所示:

其中,公式(10)中y∈{1,…,K},p(y)=[p(1),…,p(K)]表示硬标签,p

可见,前一部分为根据硬标签和初始预测概率确定的交叉熵,后一部分为根据软标签和初始预测概率确定的KL散度。

在模型训练过程中,基于公式(10)计算交叉熵和KL散度值,并进一步进行最小化,实现神经网络的训练,提升网络模型的性能。

可见,在本公开实施例中,通过准确性高、鲁棒的软标签可以实现通过更小的数据和更高的学习率训练模型。

图14为本公开实施例提出的知识整合自蒸馏算法的原理示意图一,如图14所示,{x

进一步的,可以对其他样本对应的预测概率{p

可见,相比于图1和图2,本申请提出的知识整合仅采用一个网络,是通过在同一批量生产中集合锚定样本以外的其他样本,通过动态汇总来自同一批处理中不同样本的“暗知识”来获得知识集合,即{x

图15为本公开实施例提出的知识整合自蒸馏算法的原理示意图二,如图15所示,同一批次训练样本集中的样本包括锚定样本和至少一个知识传递样本{x

进一步的,通过当前学生模型的分类器classifier确定样本对应的预测概率,包括锚定样本的预测概率p

表1为多教师/学生模型的知识整合蒸馏算法即MEAL和KDCL,与本公开实施例提出的知识加权传递及整合的自蒸馏算法的有效性比较:

表1

基于表1可知,图1和图2所示的MEAL和KDCL方法都需要额外的网络辅助,而相比,本公开实施例提出的知识加权传递及整合的自蒸馏算法无需额外的网络辅助,并且本方案在单个网络下进行更少的训练时间,如100次,便可以获得与线管技术中MEAL和KDCL方法相似的结果,甚至于使用KDCL方法一半的训练次数可以获得与其相似的标签性能。

表2为本公开实施例提出的知识加权传递及整合的自蒸馏算法在多种网络体系结构上的有效性:

表2

由表2可知,相关技术指传统交叉熵损失的训练,本公开实施例提出的知识加权传递及整合的自蒸馏算法在广泛使用的架构如ResNet-5;评估更深/更广的架构如ResNet-152和ResNeXt-152;以及较轻的架构如MobileNet-V2,都以最小的计算开销提高了网络性能,且仅需要花费较少的图形处理器(Graphic Processing Unit,GPU)时间。

如ResNet-50体系架构由76.8提升至78.0,且仅需要花费3.7%的时间。

表3为本公开实施例提出的知识加权传递及整合的自蒸馏算法与相关技术中的自蒸馏方法的有效性比较:

表3

由表3可知,虽然传统自蒸馏方法以及一系列如Label smoothing、Tf-KD

可见,本公开实施例提出的知识加权传递及整合的自蒸馏算法,不仅可以通过在单个网络中实现知识整合来节省内存和时间,而且可以通过在同一小批量中从一组样本中聚合知识来生成同样强大的软标签。

基于上述实施例,在本公开的在一实施例中,图16为本公开实施例提出的神经网络训练装置的组成结构示意图,如图16所示,所述神经网络训练装置10包括获取单元11、训练单元12、选择单元13、采样单元14以及确定单元15。

所述获取单元11,用于执行循环过程直至获得满足预设数量的锚定样本的软标签;其中,所述循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从所述当前训练样本集中确定所述当前锚定样本和至少一个知识传递样本;其中,所述当前锚定样本为所述当前训练样本集中的任意一个,所述至少一个知识传递样本为所述当前训练样本集中、所述当前锚定样本以外的至少一个其他样本;基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率;基于所述当前锚定样本与每一所述知识传递样本之间的相似度,所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

所述训练单元12,用于至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练。

在一些实施例中,所述训练单元12,具体用于基于每一所述锚定样本的软标签和对应该锚定样本的预测概率,确定每一所述锚定样本的相对熵;基于每一所述锚定样本的硬标签和对应该锚定样本的预测概率,确定每一所述锚定样本的交叉熵;基于所述预设数量的锚定样本的交叉熵和所述预设数量的锚定样本的相对熵对所述神经网络进行训练。

在一些实施例中,所述神经网络包括编码器和分类器,所述获取单元12,具体用于基于所述神经网络的编码器,确定所述当前锚定样本的样本特征和每一所述知识传递样本的样本特征;基于所述当前锚定样本的样本特征和每一所述知识传递样本的样本特征,确定所述当前锚定样本与每一所述知识传递样本之间的相似度;基于所述神经网络的分类器,确定所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率。

在一些实施例中,所述获取单元11,还具体用于对所述当前锚定样本的样本特征进行归一化处理,得到所述当前锚定样本的归一化样本特征;对每一所述知识传递样本的样本特征进行归一化处理,得到每一所述知识传递样本的归一化特征;对所述当前锚定样本的归一化样本特征和每一所述知识传递样本的归一化特征进行点积运算处理,得到所述当前锚定样本与每一所述知识传递样本之间的相似度。

在一些实施例中,所述获取单元11,还具体用于基于所述当前锚定样本与每一所述知识传递样本之间的相似度,确定每一所述知识传递样本对所述当前锚定样本的知识传递参数;基于每一所述知识传递样本对所述当前锚定样本的知识传递参数、所述当前锚定样本的预测概率以及每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

在一些实施例中,所述获取单元11,还具体用于对所述当前锚定样本与每一所述知识传递样本之间的至少一个相似度进行累加处理,得到相似度累加值;基于所述锚定样本与每一所述知识传递样本之间的相似度、所述相似度累加值,确定每一所述知识传递样本对所述当前锚定样本的知识传递参数。

在一些实施例中,所述获取单元11,还具体用于基于每一所述知识传递样本对所述当前锚定样本的知识传递参数和每一所述知识传递样本的预测概率执行一次知识传递处理,得到所述当前锚定样本的初始知识传递概率;基于所述初始知识传递概率和所述当前锚定样本的预测概率执行一次知识融合处理,得到所述当前锚定样本的初始软标签;基于所述当前锚定样本的初始软标签,执行循环过程直至所述至少一个知识传递样本的预测概率小于预设概率阈值的情况下,得到所述当前锚定样本的软标签;其中,所述循环过程包括:在循环过程的每个周期中,基于上一周期得到的所述当前锚定样本的软标签和每一所述知识传递参数执行知识传递处理,获得所述当前锚定样本的知识传递概率;基于所述当前锚定样本的知识传递概率和所述当前锚定样本的预测概率执行知识融合处理,得到下一周期的所述当前锚定样本的软标签。

在一些实施例中,所述获取单元11,还具体用于基于每一所述知识传递样本对所述当前锚定样本的知识传递参数和所述每一所述知识传递样本的预测概率,确定每一所述知识传递样本对所述当前锚定样本的知识传递概率;对每一所述知识传递样本对所述当前锚定样本的至少一个知识传递概率进行累加处理,得到知识传递概率累加值;基于所述知识传递概率累加值进行一次知识传递处理,得到所述当前锚定样本的初始知识传递概率。

在一些实施例中,所述获取单元11,还用于获取训练数据集,所述训练数据集包括至少一个批次的训练数据子集。

在一些实施例中,所述选择单元13,用于从所述训练数据集中选择一个批次的之前未被选中作为训练样本集的所述训练数据子集,作为所述当前训练样本集。

在一些实施例中,所述采样单元14,用于对所述训练数据集执行随机采样处理,得到至少一个第一训练数据。

在一些实施例中,所述确定单元15,还用于确定所述第一样本对应的目标初始硬标签。

在一些实施例中,所述采样单元14,还用于基于每一所述第一训练数据的硬标签对所述训练数据集中未被选中作为所述第一训练数据的剩余数据进行相似度采样处理,得到每一所述第一训练数据对应的至少一个第二训练数据。

在一些实施例中,所述确定单元15,还用于将基于所述至少一个第一训练数据和每一所述第一训练数据对应的至少一个第二训练数据构建的一个批次的所述训练数据子集,作为所述当前训练样本集。

在本公开的实施例中,进一步地,图17为本公开实施例提出的计算机设备的组成结构示意图,如图17所示,本公开实施例提出的计算机设备20还可以包括处理器21、存储有处理器21可执行指令的存储器22,进一步地,活体检测设备20还可以包括通信接口23,和用于连接处理器21、存储器22以及通信接口23的总线24。

在本公开的实施例中,上述处理器21可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field Prog RAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。活体检测设备20还可以包括存储器22,该存储器22可以与处理器21连接,其中,存储器22用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器22可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。

在本公开的实施例中,总线24用于连接通信接口23、处理器21以及存储器22以及这些器件之间的相互通信。

在本公开的实施例中,存储器22,用于存储指令和数据。

进一步地,在本公开的实施例中,上述处理器21,用于执行循环过程直至获得满足预设数量的锚定样本的软标签;至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练;其中,所述循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从所述当前训练样本集中确定所述当前锚定样本和至少一个知识传递样本;其中,所述当前锚定样本为所述当前训练样本集中的任意一个,所述至少一个知识传递样本为所述当前训练样本集中、所述当前锚定样本以外的至少一个其他样本;基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率;基于所述当前锚定样本与每一所述知识传递样本之间的相似度,所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

在实际应用中,上述存储器22可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器21提供指令和数据。

另外,在本实施例中的各功能模块可以集成在一个推荐单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本公开实施例提供了一种计算机设备,该计算机设备可以通过可以执行循环过程直至获得满足预设数量的锚定样本的软标签;至少基于预设数量的锚定样本的软标签和预设数量的锚定样本,对神经网络进行训练;其中,循环过程包括以下步骤:获取当前训练样本集,在执行循环过程的每个周期中从当前训练样本集中确定当前锚定样本和至少一个知识传递样本;其中,当前锚定样本为当前训练样本集中的任意一个,至少一个知识传递样本为当前训练样本集中、当前锚定样本以外的至少一个其他样本;基于神经网络,确定当前锚定样本与每一知识传递样本之间的相似度、以及当前锚定样本的预测概率和每一知识传递样本的预测概率;基于当前锚定样本与每一知识传递样本之间的相似度,当前锚定样本的预测概率和每一知识传递样本的预测概率,确定当前锚定样本的软标签。

如此,针对神经网络下的每个训练样本,可利用其他样本与该样本间的相似度以及其他样本的预测概率来辅助该训练样本软标签的生成,进而基于满足预设数量的训练样本的软标签为神经网络执行高效的训练监督。可见,本公开以同一神经网络下跨样本的知识整合代替传统的跨网络的知识整合,在仅利用单个网络的基础上实现了基于样本间相似度的知识整合并获得有效的软标签。

本公开实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的神经网络训练方法。

具体来讲,本实施例中的一种神经网络训练方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种神经网络训练方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:

执行循环过程直至获得满足预设数量的锚定样本的软标签;

至少基于所述预设数量的锚定样本的软标签和所述预设数量的锚定样本,对神经网络进行训练;

其中,所述循环过程包括以下步骤:

获取当前训练样本集,在执行循环过程的每个周期中从所述当前训练样本集中确定所述当前锚定样本和至少一个知识传递样本;其中,所述当前锚定样本为所述当前训练样本集中的任意一个,所述至少一个知识传递样本为所述当前训练样本集中、所述当前锚定样本以外的至少一个其他样本;基于所述神经网络,确定所述当前锚定样本与每一所述知识传递样本之间的相似度、以及所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率;基于所述当前锚定样本与每一所述知识传递样本之间的相似度,所述当前锚定样本的预测概率和每一所述知识传递样本的预测概率,确定所述当前锚定样本的软标签。

相应地,本公开实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令用于实现本公开实施例提出的神经网络训练方法中的步骤。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程计算机设备的处理器以产生一个机器,使得通过计算机或其他可编程计算机设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程计算机设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程计算机设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。

相关技术
  • 神经网络模型的训练方法和装置、电子设备和计算机存储介质
  • 神经网络训练方法、装置、可读存储介质和计算机设备
技术分类

06120113176616