前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读学习 - CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images

论文阅读学习 - CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images

作者头像
AIHGF
修改2020-06-12 16:19:38
1.8K0
修改2020-06-12 16:19:38
举报
文章被收录于专栏:AIUAIAIUAI

原文:论文阅读学习 - CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images - AIUAI

论文:CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images - ECCV2018 作者:Sheng Guo, Weilin Huang, Haozhi Zhang, Chenfan Zhuang, Dengke Dong, Matthew R. Scott, Dinglong Huang 团队:码隆科技 实现:<Github - research-curriculumnet - Caffe>

1. 主要点

  • 对于大规模网络图像数据的半监督学习
  • 利用课程学习(curriculum learning)实现的原则性学习策略(principled learning strategy),以有效的处理大量噪声标签(noisy labels) 和数据不均衡(data imbalance) 问题.
  • 设计新的课程学习方法,通过在特征空间中数据的分布密度(distribution density),评估数据的复杂度;并以无监督的方式对数据复杂度进行排名.
  • 实验说明,高度噪声标签也能够作为一种正则方法,提升模型的泛化能力.

2. 目标

有效的处理大规模网络图像数据集中存在大量噪声标签和数据不均衡的问题.

3. CurriculumNet

基于课程学习的思想,其类似于人类的学习过程,模型从简单的问题开始学起,然后逐渐学习越来越复杂的任务问题.

CurriculumNet 中设计了一种无监督课程学习方法,如图 Fig.2,逐渐的增加噪声标签数据的数据量. 主要包括三步:

[1] - 初始特征生成(initial features generation);

首先,采用全部的训练数据,学习初始模型;然后,利用训练的模型计算训练数据集中每一张图像的深度特征表示(如,FC 层输出特征).

[2] - 课程设计(curriculum design);

训练的初始模型旨在粗略地将训练图像映射到特征空间,以挖掘每一类别内图像的潜在结构及潜在关系; 其提供了定义图像复杂度的有效方法.

对定义的图像复杂度进行分析,以设计学习课程. 其中,每一类别内所有图像,根据复杂度次序,被划分为多个子集.

[3] - 课程学习(curriculum learning).

基于设计的课程,进行课程学习. 即,

首先从包含全部类别的简单数据子集开始训练 CNNs 模型. 这里,假设在简单数据子集中包含更多的准确标签的干净图像.

然后,在训练过程中逐渐连续的添加复杂度越来越高的数据,来提升模型的识别能力.

3.1. 课程设计(Curriculum Design)

Curriculum Learning - ICML2009 Yoshua Bengio

设计课程学习的目标是:能够以无监督的方式对训练图像由简单到复杂进行排序.

这里,采用基于密度聚类算法(density based clustering algorithm),根据数据分布密度(data distribution density) 评估训练样本的复杂度.

具体地,将全部训练数据集划分为多个数据子集,并将数据子集由简单到复杂进行排名,其中简单数据子集中包含更多标签更可靠的干净图像;而复杂数据子集则包含更多大量的噪声标签.

Clustering by fast search and find of density peaks - 2014Science

根据基于密度聚类算法,对每一类别图像数据集进行处理.

[1] - 首先,对全部训练数据集训练 Inception_V2 模型,作为初始模型;

对于每一类的图像数据集,生成三个聚类,并将每个聚类的图像作为数据子集.

由于,每个聚类都包含一个密度值来度量其数据分布,以及不同聚类间的关系(relationship). 因此,很容易定义每个数据子集的复杂度,给定课程学习的设计规则.

具有高密度值的数据子集中,所有的图像在特征空间中更彼此接近,表明这些图像具有更强的相似性. 故,定义该数据子集为干净的,具有更多正确的类别标签;

具有低密度值的数据子集中,所有的图像具有较大的视觉表征差异性,其可能包含更多不正确标签的不相关图像. 故,定义该数据子集为噪声的.

此时,既可以得到三个复杂度不同的数据子集:clean, noisy, highly noisy. 每个图像类别包含相同的数据子集数,将其所有图像类组合为最终的课程学习数据集. 如图 Fig.3(左)

3.2. 课程学习(Curriculum Learning)

设计的课程能够以无监督的方式,基于图像的视觉表征来挖掘潜在的数据结构.

这里,设计 multi-stage 学习方案,如图 Fig.3(右). 通过连续地混合从干净数据子集到高度噪声数据子集的三个阶段,训练 CNN 模型.

[1] - 首先,仅基于干净数据子集训练 Inception_V2 模型,其中,数据子集中,每一类别图像具有更接近的视觉表征,有助于模型学习图像的基本的,及干净的视觉信息,以作为后续处理的基础特征.

[2] - [1] 中 Inception_V2 模型训练收敛后,添加噪声数据,继续学习过程. 此时,图像包含更明显的视觉差异性,使得模型能够学习困难样本的更有意义和判别性更强的特征.

虽然噪声数据包含不正确的类别标签,但其仍粗略的保持着数据的主要结构,故有助于模型能力提升.

[3] - 继续添加 highly noisy 的噪声数据,进一步训练模型. highly noisy 的数据集中包含大量的类别标签不正确的视觉不相关图像.

前两个阶段 [1] 和 [2] 课程学习的深度特征能够挖掘数据的主要潜在结构.

论文作者发现,highly noisy 的数据子集并没有对学习的数据结构产生负面影响. 相反,其可以提高模型的泛化能力,使提供一种正则化方式,使得模型避免对于干净数据出现过拟合.

当最终模型训练收敛后,三个数据子集均被利用.

此外,在训练时,对于不同数据子集的样本,在 [2] 和 [3] 阶段的训练,设置类不同的 loss 权重,对于 clean, noisy 和 highly noisy 数据子集,权重分别为 1, 0.5, 0.5.

4. 实现细节

4.1. 训练参数

数据集:WebVision Datasets.

网络模型:Inception with batchnormalization(bn-inception).

训练参数:

4.2. 数据均衡

对于 WebVision 数据集,存在严重的数据不均衡问题. 例如,对于很多大类别的图像数据样本超过 10000 张,而对于小类别的图像数据样本少于 400 张.

直接采用 CNN 模型进行训练,会导致模型偏向于样本较多的大类别.

对此,这里提出 two-level 数据均衡方法:subset-level balancecategory-level balance.

[1] - subset-level balance

每个 mini-batch 中,对于 stage 1-3,训练样本的选择分别为:(256, 0, 0), (128, 128, 0) 和 (128, 64, 64).

[2] - category-level balance

每个 mini-batch 中,首先从 1000 个类别随机选择 256(stage1),128(stage 2 和 3) 个类别;然后,对于每个选择的类别,仅随机选取其中的一个样本.

注:category-level balance 仅在干净的数据子集上进行. 在噪声数据子集上进行时,模型表现会下降. 因为,从每一类别图像中随机选取一个样本,其很可能得到单个,但完全不相关的样本,其对于模型训练有负面影响.

4.3. Multi-scale 卷积核

在网络的第一个卷积层,采用了三种不同 kernel 尺寸:5x5, 7x7, 9x9. 然后,将三种 kernel 得到的卷积 maps 进行组合,以得到第一个卷积层的最终输出 feature maps.

Multi-scale 卷积核有助于在第一层增强 low-level 的特征,在 WebVision 数据上的 top-5 errors 有 0.5% 的精度提升.

5. Results

5.1. 不同训练策略

基于 Inception_V2 模型,尝试了四种不同的训练策略:

[1] - Model-A - 直接在整个训练数据集进行模型训练;

[2] - Model-B - 仅在干净的数据子集进行模型训练;

[3] - Model-C - 采用提出的课程学习策略进行模型训练,只采用 2-subset 数据子集课程学习,cleannoisy 数据子集.

[4] - Model-D - 采用提出的课程学习策略进行模型训练,采用 3-subset 数据子集课程学习,cleannoisyhighly noisy 数据子集.

5.2. 不同的聚类算法

Fig 4(右).

5.3. WebVision 竞赛最终结果

六种模型的集成结果.

Inception v2, Inception v3, Inception v4,Inception resnet v2模型.

5.4. 不同方法对比

5.5. WebVision+ImageNet 更多干净数据

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 主要点
  • 2. 目标
  • 3. CurriculumNet
    • 3.1. 课程设计(Curriculum Design)
      • 3.2. 课程学习(Curriculum Learning)
      • 4. 实现细节
        • 4.1. 训练参数
          • 4.2. 数据均衡
            • 4.3. Multi-scale 卷积核
            • 5. Results
              • 5.1. 不同训练策略
                • 5.2. 不同的聚类算法
                  • 5.3. WebVision 竞赛最终结果
                    • 5.4. 不同方法对比
                      • 5.5. WebVision+ImageNet 更多干净数据
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档