CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images

CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images, ECCV, 2018


要点

1、在大规模弱监督网络网络图像上训练深度神经网络,图像为关键词索引的、没有任何人工注释的互联网图像,通过利用课程学习来制定学习策略以有效处理大量噪声标签和数据不均衡问题
2、设计新的学习课程:通过在特征空间使用数据的分布密度来测量数据的复杂性,并以无监督的方式对复杂性进行排序,允许通过直接搜索高噪声标签,以实施有效的课程学习策略
3、目的:提供一种能够有效处理大量噪声标签和数据不平衡的解决方案,通过利用课程学习来开发一种简单但高效的训练策略,通过利用高噪声标签来提高标准深度网络的模型泛化和整体能力
4、新的基于无监督设计学习课程的方法,按照设计的课程对CNN进行训练,其中,噪声标签的数量逐渐增加
5、多阶段学习:更有效地训练标准神经网络,增强处理大量噪声标签的能力
6、课程学习策略使得模型在训练初期能够花更少的时间在复杂的训练样本上;并且可以引导模型的训练朝更好的局部最优而进行,并依次实现更好的泛化效果


相关工作

图像分类的噪声标注处理

1、噪声鲁棒算法和标签清理算法:从有噪声的标签中学习
目的:删除或纠正错误标记的数据
挑战:从硬训练样本中找到被错误标记的样本
2、半监督学习方法:将有噪声的标签与一小组干净的标签相结合
迁移学习

本文方法:
不提出噪声清理或噪声鲁棒或半监督算法
通过引入一种新的训练策略来改善标准神经网络的模型能力,以减轻噪声标签的负面影响
在训练过程中直接考虑了错误标记的样本
通过实验表明,通过一个有效的训练方案,一个标准的深度网络对高噪声标签具有很强的鲁棒性
在高噪声标签上可靠地工作,没有任何清洁(手动注释)的标签,并且学习课程以完全无监督的方式正确设计

课程设计

1、课程学习:
主要被用于处理噪声和异常值,关键点是设计针对任务的学习课程
课程应当能够在特定的特征空间中发现大规模噪声数据中有意义的潜在局部结构
课程应当能够以无监督的方式对训练图像进行从简单到复杂的排序
基于密度的聚类算法:使用数据分布密度来测量训练样本的复杂性
相比于针对中小数据集的噪声标签算法,课程使得标准CNNs的训练策略适用于大型数据集
2、具体流程:
(1)将训练集划分子集:可靠标签的、干净图像的简单子集 -> 更多噪声标签的复杂子集

聚类算法

1、基于Inception_v2架构,使用全部训练集训练一个初始模型
2、基于模型的fc层特征,将每一类的所有图像映射到深度特征空间

图表

网络流程图

训练过程主要包括三个步骤:
1、初始特征生成器
(1)使用所有训练数据来训练一个初始模型
(2)针对训练集,使用初始模型,生成每张图像的深度表示(比如全连接层特征)

2、课程设计
(1)初始模型将所有训练图像大致映射到一个特征空间
(2)针对特征空间,可以发现每一类的底层结构和相关性
(3)特征空间提供定义图像复杂性的有效方法
(4)通过探索复杂性来设计学习课程,其中,每个类别的图像都被划分成按复杂性排序的多个子集

3、课程学习
(1)基于设计的课程,采用课程学习方法,从最简单的子集开始训练CNNs
(2)最简单的子集包括了所有类别的最简单子集
(3)最简单子集含有更多的带有正确标签的干净图像
(4)在训练过程中逐渐加入越来越复杂的数据,逐步提高模型的能力

在这里插入图片描述

聚类

1、猫的三个子集
2、课程学习过程
(1)使用标准的Inception_v2,仅使用干净的数据Subset1训练
	其中每张图像都具有接近的视觉外观,这使得模型能够从每个类别中学习基本但清晰的视觉信息,作为后续过程的基本特征
(2)当第一阶段收敛时,添加Subset2继续学习
	其中图像具有更显著的视觉多样性,使模型从更难的样本中学习到更有意义和辨别性的特征
	尽管有噪声的数据可能包含不正确的标签,但它大致保留了数据的主要结构,从而提高了性能
(3)添加Subset3
	包含大量视觉上不相关且标签不正确的图像的高噪声数据

通过前两阶段课程学习到的深层特征能够捕获数据的主要底层结构
在最后一阶段添加的高噪声数据对学习的数据结构没有负面影响
相比之下,通过提供一种正则化的方式,提高了模型的泛化能力,并允许模型避免在干净的数据上过度拟合
当训练在最后阶段收敛时,得到最终模型,其中三个子集全部合并
在第二阶段和第三阶段对不同子集的样本进行组合时,我们将不同子集的训练样本的损失权重分别设置为干净子集、噪声子集和高噪声子集分别为1、0.5和0.5

在这里插入图片描述

整体梳理:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


实验细节

1、不均衡问题
(1)子集级平衡:在每个min-batch中分别为阶段1-3选择(256,0,0),(128,128,0)和(128,64,64)训练样本
(2)类别级平衡:在每个min-batch中,首先从1000个类别中随机选择256个(阶段1)或128个(阶段2和3)类别,然后从每个选定的类别中随机选择一个样本
	注意,类别级平衡只在干净的子集上实现。当我们把它应用到有噪声或高噪声的子集时,性能下降了
	因为我们从类别级平衡的每个类别中随机收集单个样本,所以有可能从噪声或高噪声子集中获得单个但完全不相关的样本,这将对训练产生负面影响

代码

https://github.com/guoshengcv/CurriculumNet

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>