一种蒸馏数据的方法、介质及视觉任务处理方法技术

技术编号:38415047 阅读:19 留言:0更新日期:2023-08-07 11:18
本发明专利技术公开一种蒸馏数据的方法,其首先从第一数据集、第二数据集中分别采样,得到第一样本数据、第二样本数据,然后通过N次迭代,对第一数据集进行更新。其中初始的第一数据集由第二数据集随机采样得到。每次迭代则首先通过特征提取模块分别提取第一样本数据及第二样本数据的特征,得到第一特征、第二特征,然后计算第一特征与第二特征的差异,并将其作为监督信号进行反向传播,更新第一数据集。该方法基于对比学习的技术实现数据蒸馏,可以对多种标签数据或无标签数据进行蒸馏,得到的蒸馏数据可以应用到包括分类在内的多种视觉任务中。可以应用到包括分类在内的多种视觉任务中。可以应用到包括分类在内的多种视觉任务中。

【技术实现步骤摘要】
一种蒸馏数据的方法、介质及视觉任务处理方法


[0001]本专利技术涉及计算机视觉
,特别涉及一种蒸馏数据的方法、介质及视觉任务处理方法。

技术介绍

[0002]数据蒸馏(Dataset Distillation或Dataset Condensation)任务的目标是将数量为N的大型训练数据集(或称真实数据集)提炼成一组数量为M的合成数据集,其中M<<N,且期望相同的模型使用合成数据集训练与使用大型数据集训练得到尽可能一致的结果,或者说在测试集中的准确率接近。数据蒸馏的核心是降低数据的冗余性,将相似的多个图像合成进更少的图像,提高图像中的有效信息密度。
[0003]现有的数据蒸馏技术都是在分类任务中进行,由于分类任务自带了类别信息,因此现有数据蒸馏技术的技术原理基本相同,都是在分类数据集上利用分类标签,根据类别标签将相同类别图像合成到一张或一簇代表这一类别的合成图像上。可以看出,现有的方法合成数据共用一个类别标签,无需对标签做任何改动。但是这也使得在其他任务的数据集以及无标签数据,如目标检测数据集中每个图像对应的标签各不相同时,会导致合成图像的标签必须是一个包含所有待合成样本标签信息的“综合标签”,这个综合标签如何生成并没有一个很好的解决方案。可见,现有的蒸馏手段难以用于除分类数据集外的其他数据集,并且无法用于除了分类任务外的其他任务。且目前暂时没有可用于分类标签外其他诸如检测、分割等标签数据,或者无标签数据的数据蒸馏方法,更没有将蒸馏数据应用至分类外任务的框架范式。
[0004]此外,现有的数据蒸馏技术的合成数据规模较小,通常小于或等于ImageNet1k数据集,即120万张图像。

技术实现思路

[0005]针对现有技术中的部分或全部问题,本专利技术第一方面提供一种蒸馏数据的方法,包括:
[0006]从第一数据集、第二数据集中分别采样一个批次的样本,得到第一样本数据、第二样本数据,其中所述第一数据集由所述第二数据集随机采样的子集初始化得到;以及
[0007]通过N次迭代,对所述第一数据集进行更新,其中N为自然数,且每次迭代包括:
[0008]通过特征提取模块分别提取所述第一样本数据及第二样本数据的特征,得到第一特征、第二特征;以及
[0009]计算所述第一特征与第二特征的差异,并将所述差异作为监督信号进行反向传播,更新第一数据集。
[0010]进一步地,所述方法还包括:对所述特征提取模块进行更新。
[0011]进一步地,在每次更新第一数据集前,先更新一次所述特征提取模块。
[0012]进一步地,更新所述特征提取模块的一次迭代包括:
[0013]对所述第二样本数据进行两次不同的数据增强处理,得到正样本对;
[0014]将所述正样本对分别输入所述特征提取模块的正样本编码器及负样本编码器,以得到正样本特征向量及负样本特征向量;
[0015]计算所述正样本特征向量及负样本特征向量的相似度向量,并计算所述负样本特征向量与预存储的负样本特征向量的相似度矩阵;
[0016]计算损失,并反向传播更新所述正样本编码器;以及
[0017]将所述负样本特征向量放入负样本特征向量队列中,并将等量的队列末尾的负样本特征向量移出队列,实现队列更新,同时根据正样本编码器的参数按照动量更新方法更新负样本编码器的参数。
[0018]进一步地,所述数据增强处理包括:平移、和/或旋转、和/或随机裁剪、和/或颜色变换、和/或翻转。
[0019]进一步地,所述正样本编码器包括骨干网络、以及投射层。
[0020]进一步地,所述负样本编码器的结构与正样本编码器相同。
[0021]进一步地,所述损失根据InfoNCE损失函数计算得到。
[0022]进一步地,通过特征提取模块分别提取所述第一样本数据及第二样本数据的特征包括:
[0023]对所述第一样本数据及第二样本数据做相同的数据增强变换,得到增强后的第一样本数据及第二样本数据;
[0024]通过所述特征提取模块的负样本编码器,提取所述增强后的第一样本数据及第二样本数据的特征向量。
[0025]进一步地,所述第一特征及第二特征包括:
[0026]特征图,其由所述负样本编码器的骨干网络的一个或多个层输出;以及
[0027]特征向量,其由所述负样本编码器的投射层输出。
[0028]进一步地,计算所述第一特征与第二特征的差异包括:
[0029]根据所述第一特征及第二特征的特征图计算得到距离损失矩阵;
[0030]根据所述第一特征及第二特征的特征向量计算得到相似度矩阵;
[0031]根据所述相似度矩阵,对所述距离损失矩阵进行加权平均,得到最终的距离损失。
[0032]基于如前所述的蒸馏数据的方法,本专利技术第二方面还提供一种蒸馏数据的计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行如前所述的蒸馏数据的方法。
[0033]本专利技术第三方面还提供一种视觉任务处理方法,通过任务处理模块执行指定视觉任务,其中所述任务处理模块包括:
[0034]骨干网络,其采用如前所述的蒸馏数据的方法得到的第一数据集,通过对比学习方法对所述特征提取模块进行迭代更新得到;以及
[0035]输出头网络,其通过随机生成得到。
[0036]进一步地,所述任务处理模块还通过带标签的下游任务数据集进行调整。
[0037]本专利技术提供的一种蒸馏数据的方法,基于对比学习的技术实现数据蒸馏,可以对多种标签数据或无标签数据进行蒸馏,此外所述方法得到的蒸馏数据可以应用到包括分类在内的多种视觉任务中。换言之,本专利技术通过将新颖的人工智能技术应用于数据蒸馏技术
领域,显著地提高了数据蒸馏速度并降低了数据冗余度。此外,本专利技术还可以应用于图像处理
,以高效地显著降低图像数据的冗余度。
附图说明
[0038]为进一步阐明本专利技术的各实施例的以上和其它优点和特征,将参考附图来呈现本专利技术的各实施例的更具体的描述。可以理解,这些附图只描绘本专利技术的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
[0039]图1示出本专利技术一个实施例的一种蒸馏数据的方法的流程示意图;
[0040]图2示出本专利技术一个实施例的一种蒸馏数据的方法的过程示意图;
[0041]图3示出本专利技术一个实施例的一种视觉任务处理方法的过程示意图;以及
[0042]图4示出本专利技术一个实施例的一种视觉任务处理方法的骨干网络的更新过程示意图。
具体实施方式
[0043]以下的描述中,参考各实施例对本专利技术进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构或操作以免模糊本专利技术的专利技术点。类似地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种蒸馏数据的方法,其特征在于,包括步骤:从第一数据集、第二数据集中分别采样,得到第一样本数据、第二样本数据,其中所述第一数据集由所述第二数据集随机采样得到;以及通过N次迭代,对所述第一数据集进行更新,其中N为自然数,且每次迭代包括:通过特征提取模块分别提取所述第一样本数据及第二样本数据的特征,得到第一特征、第二特征;以及计算所述第一特征与第二特征的差异,并将所述差异作为监督信号进行反向传播,更新所述第一数据集。2.如权利要求1所述的方法,其特征在于,还包括步骤:对所述特征提取模块进行更新。3.如权利要求1所述的方法,其特征在于,还包括步骤:在每次更新第一数据集前,先对所述特征提取模块进行更新。4.如权利要求2所述的方法,其特征在于,更新所述特征提取模块的一次迭代包括步骤:对所述第二样本数据进行两次不同的数据增强处理,得到正样本对;将所述正样本对分别输入所述特征提取模块的正样本编码器及负样本编码器,以得到正样本特征向量及负样本特征向量;计算所述正样本特征向量及负样本特征向量的相似度向量,并计算所述负样本特征向量与预存储的负样本特征向量的相似度矩阵;计算损失,并反向传播更新所述正样本编码器;以及将所述负样本特征向量放入负样本特征向量队列中,并将等量的队列末尾的负样本特征向量移出队列,实现队列更新,同时根据正样本编码器的参数按照动量更新方法更新负样本编码器的参数。5.如权利要求4所述的方法,其特征在于,所述数据增强处理包括:平移、和/或旋转、和/或随机裁剪、和/或颜色变换、和/或翻转。6.如权利要求4所述的方法,其特征在于,所述正样本编码器包括骨干网络、以及投射层;以及所述负样本编码...

【专利技术属性】
技术研发人员:许思杰张钟毓张行程
申请(专利权)人:上海人工智能创新中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1