Advertisement

CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images

阅读量:

CurriculumNet: 采用弱监督学习策略以处理大型网络图像数据集,在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

全部评论 (0)

还没有任何评论哟~