Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

CurriculumNet:基于大规模网络图像的弱监督学习算法

我们日常进行的大多数图像搜索行为,获取的结果中都充满了噪声。比如,当你搜索“酒”的时候,可能就会发现一些奇怪的东西……

这样搜索出的数据集,要用来训练一个识别“酒”的模型,在大多数人的认知里是很难的。因为要训练出一个高性能的 CNN 模型,需要大批量经过人工标注的纯净数据。所谓“人工智能”的“先人工,后智能”,前期大规模的人力和时间投入都在对图像的人工标注上。而尤其在需要比较专业的数据集时,无论是图片收集还是人工标注,都需要相当的专业知识作为支撑。

对此,码隆科技创新地提出了“弱监督学习”算法 CurriculumNet,在数据没有或者只有少量人工标注和清洗的情况下,仍然能利用这些噪声数据训练出一个高性能的深度学习模型。在包括WebVision、ImageNet、Clothing-1M 和 Food-101 的四项基准测试中,码隆的方法都获得了最优的性能。该论文发表于最近的 ECCV 2018。

目录

1       摘要

2       引言

3       方法介绍

4       实验

    4.1      实验数据集

    4.2      实验结果

5       总结

1、摘要

我们提出一种简单且有效的弱监督学习方法,它能够在大规模的互联网图像上训练高性能的深度卷积神经网络。这些互联网图像是通过使用粗略地文本查询从互联网上抓取的,且没有任何人工清洗或者标注。我们在课程学习的理论基础上设计了一种新的学习策略,能够有效处理这些含有大量带错误标签的互联网图片数据。我们通过使用特征空间中的分布密度评估数据的复杂性来设计新的学习课程,并以无监督的方式对这些数据按照复杂性进行排序。这样就可以在大规模网络图像中有效地实施课程学习,从而训练一个高性能的 CNN 模型,有效地降低噪音标签数据的负面影响。更重要的是,我们通过实验证明,那些含有大量噪声标签的图像数据可以被看成一种正则化,用来提高 CNN 模型的泛化能力。

我们的方法在四个基准数据库的测试中都获得了最优的性能,包括 WebVision、ImageNet、Clothing-1M 和 Food-101。对于多种模型的融合,我们在 1000 种类别图像分类任务的 WebVision 2017 挑战赛中以 5.2% 的 Top-5 错误率获得了冠军。这个成绩比第二名高出 2.5%,优势明显。

2、 引言

深度卷积网络正在促进许多计算机视觉任务的快速发展,并且在图像分类、目标检测、语义分割等方向取得非常好的效果。之前的方法都是利用全监督学习方法来学习大规模人工标注的数据,如 ImageNet、MS-COCO 和 PASCAL VOC 等,从而使网络学习到强大的深度视觉特征。 因此,大规模且经过人工标注的纯净数据对于训练一个高性能 CNN 模型是至关重要的。但是,获取大量且干净的标注数据是非常昂贵且耗时,这使得深度模型的能力受到数据集大小的制约。另外,对于一些比较专业的数据集的收集和标注是非常困难的,它对标注者的专业知识有一定的要求,而且由于不同标注者的之间思维差异性,他们所提供的标签可能不一致。

一种常用的解决方案是使用网络作为数据和监督的来源,通过输入查询信息(如文本信息),可以从互联网自动收集大量网络图像。这些查询信息可被视为图像的自然标签并对收集的数据提供弱监督信息,这是一种近乎可以无限增加数据集规模的低成本方法。但是,这些标注是非常不可靠的,并且通常包含大量错误的标签。过去的工作表明,这些噪声标签可能会严重影响深度神经网络 在图像分类上的性能。

另一种解决方案是设计噪声清理方法,旨在消除或纠正训练数据中样本的错误标注。 然而,噪声清理方法经常会遇到难以区分噪声样本与难样本的问题,而难样本对于提高模型性能是至关重要的。此外,半监督学习方法则通过使用少量手动标记的数据,然后将在该少量数据上训练的模型推广到没有人工标注的大数据集。

与这些方法不同,我们的方法不去清除或者矫正这些错误标签。 相反,我们通过设计新的学习训练策略来提升标准卷积神经网络模型的性能。

在这项工作中,我们研究卷积网络如何从含有大量噪声标签的大规模图像中学习高性能深度学习模型的问题,例如 WebVision 2017 挑战赛,这是一个与 ImageNet 类别相同的 1000 类图像识别任务,但标签仅由 ImageNet 的 1,000 个语义概念生成的查询文本提供,没有任何人工清理和标注。 图 1 给出了几个图像和类别示例。

图 1 来自于 WebVision 数据集的四个类图像样:Carton、Dog、Taxi 和 Banana

我们的目标是提供一种能够有效处理大量噪音标签和数据不平衡的解决方案。在训练图像的数量足够大的情况下,我们设计了一系列实验来研究噪声标签对深度网络性能的影响。我们设计一个简单且非常高效的训练策略,它能够利用含有大量噪声的标签来提高卷积神经网络模型的泛化能力和识别性能。我们从实验发现,在使用我们的方法时,同时使用干净和含有噪声的数据来训练 CNN, 比仅使用干净的数据来训的效果要好。

这项工作的主要贡献有以下三点:

(1) 我们利用课程学习原理,提出 CurriculumNet 模型。 这使我们能够利用含有大量噪声标签的网络图像来训练高性能 CNN 图片识别模型,这些标签是在没有任何人工标注和清理的情况下获得的。

(2) 我们通过使用分布密度聚类算法,以无监督的方式对数据复杂性进行排序,并以此来设计一个新的学习课程。这可以通过直接探索含有大量噪声的标签来有效实施针对此任务的课程学习。

(3) 我们设计的CurriculumNet很多公开基准数据集上进行实验和测试。这些公开数据集包括WebVision、ImageNet、Clothing1M 和 Food101。CurriculumNet 在这几个评测集上都获得了最优的识别结果。 最近,用CurriculumNet 的方法训练多个模型,在多种模型组合的情况下,我们以 5.2% 的 Top-5 错误率在 CVPR 2017 的 WebVision 挑战赛上获得最佳性能,并且结果大幅超越其他参赛队伍。

3、方法介绍

我们的流程如图 2 所示。它包含三个主要步骤:(i)初始特征生成;(ii)课程结构设计;(iii)课程学习。首先,我们使用整个训练数据库来学习一个初始模型,然后用它来提取训练集中每张图像的深度表示 [ 例如,全链接层(Fully-Connected Layer)特征 ]。这个初始模型旨在粗略地将所有训练集图像映射到某个特征空间,可以发现每个类别中图像在特征空间中潜在的结构和关系,从而提供了一种定义图像复杂性或者标注准确性的方法。我们通过这种定义的复杂性规则来设计课程学习的策略和流程,其中每个类别的所有图像都按照不同的复杂程度排列成多个子集(比如,3个子集在我们的实验中)。

在设计好的课程的基础上,我们采用课程学习的方法来训练CNN分类模型。 首先,我们从一个简单的子集开始训练 CNN,这个子集是通过我们复杂性规则定义出来相对干净的数据。然后,通过逐渐增加复杂度越来越高的数据到训练过程中,来不断提升模型的性能。

图 2

课程学习方法最初是 Bengio 在 2009 年提出的,它最近被应用于处理噪声等异常情况。这种学习想法的主要作用之一是为我们的任务设计一个高效的课程。设计的课程应该能够发现有意义的大规模噪声数据的局部结构,我们的目标是设计一个有效的课程,能够以无监督学习的方式将训练图像按照从简单到复杂的顺序排列在特定的特征空间中。我们应用基于密度的聚类算法,使用数据分布密度来评价训练样本的复杂性。这与之前开发的用于处理小规模或中等规模数据集中的噪声标签的方法不同,我们设计了一种新的课程结构,让我们的训练策略可以应用于标准的 CNN 架构,在大规模图像数据集上获得很好的性能,例如,WebVision 数据库包含超过 2,400,000 张带有大量错误标签的网络图像。

具体而言,我们的目标是将整个训练集分割成多个子集,这些子集从具有干净的图像和更可靠标签的简单子集到包含大量含噪声或者错误标签的图像进行排序。 受到最近一些聚类算法的启发,我们在数据库的每个类别中执行以下步骤。

我们使用初始模型的全连接层特征将每个类别中的所有图像投影到一个深度特征间,这是一个在整个训练集上训练的 Inception\_v2 结构,对每张图像计算,然后我们计算欧几里得距离矩阵按照:

其中 n 是当前类别的图像数量,表示的相似度(一个较小的意味着相似度更大)。然后我们对每张图的特征计算局部密度

其中

其中为了确定首先将个在中的距离从小到大排序,然后选择排在第 k% 的数作为。当 k 介于 50 到 70 之间时结果不受影响,我们在之后的所有实验中根据经验固定 k=60。是与 i 的距离小于的样本个数。假设一组具有正确标签的干净图像通常具有相似的视觉外观,并且这些图像被映射成彼此紧密靠近,这就自然地形成了一个较大的局部密度。 相反,噪声图像通常具有显着的视觉多样性,那么它们就形成了密度值较小的稀疏分布。

然后我们对每个图像特征定义一个距离

如果存在一个特征使等于其中是在所有数据中距离 i 最近的,如果是所有密度中的最大值,是 i 和距离 i 最远点之间的距离。并且具有最大局部密度的点就具有最大的,这个点被选为这一类的聚类中心。由于我们已经计算出该类别的聚类中心,因此与聚类中心的数据点越近,拥有正确标签的置信度就越高。因此,我们简单地进行 k 均值算法,根据数据点到聚类中心的距离,将数据点分成若干簇,其中 c 是聚类中心。图 3 是来自 WebVision 数据集中Cat 的类别的所有图像的图。

图 3 来自 WebVision 数据集的 Cat 类别中所有图像的

在我们的实验中,每个类别都生成三个聚类,并将每个聚类中的图像用作子数据集。由于每个聚类都有一个密度值来衡量其内的数据分布,以及不同聚类之间的关系。这很自然地提供了一种直接的方式来定义子集的复杂性,为设计课程结构提供了一个简单的规则。首先,具有高密度值的子集表示所有图像在特征空间中彼此接近,说明这些图像具有高度的统一性。我们假设这个子集中大多数标签是正确的,并将这个子集定义为干净数据。其次,密度值较小的子集意味着图像的视觉特征差异较大,这可能包括很多与这个类别不太相关的图像。这个子集被认为是噪声数据,通常含有大量的错误标签。因此,我们在每个类别中生成三个子集,按照干净、噪声到高噪声排列,数据的复杂程度越来越高。每个类别都有相同数量的子集,我们将它们组合到所有类别中,这就形成了我们的最终课程结构,在干净、嘈杂和高度嘈杂的子集上依次训练。图 3 显示来自 WebVision 2017 数据集中猫类别的三个子集的数据分布,以及样本图像。可以发现,来自干净子集的图像具有非常相近的视觉特征,而高度嘈杂的子集包含许多与干净子集完全不同的随机图像。

深度学习的过程通过遵循数据本身的结构来执行。 设计的课程结构能够以无监督的方式发现基于视觉特征的基础数据结构。 我们设计了一种依赖于这种直觉的学习策略:学习和训练任务按难度越来越大排序,深度学习模型在轻松的任务得到处理后,才再进入训练更困难的任务。 我们设计一个多阶段的学习策略,可以有效地训练标准的神经网络,并且增强了处理大量错误标签的能力。

图 4  课程学习模型训练流程图

图 4 描述了课程学习的详细过程,整个模型训练过程通过逐渐增加训练子集的数据复杂度,分三个阶段进行训练。

首先,使用标准的CNN结构,例如 Inception_v2。该模型开始仅使用干净的数据子集进行训练,每个类别中的图像都具有非常相近的视觉特征。这使得模型可以从每个类别中学习基本且清晰的视觉信息,为之后的训练过程提供基本模型。

其次,当第一阶段训练的模型收敛后,我们通过添加具有更强视觉多样性的噪声数据来继续模型的训练,允许模型从难样本中学习具有更强区别性的视觉特征。虽然噪声数据可能包含不正确的标签,但它大致保留了数据的主要结构,并且难样本通常含有更强的差异性特征,从而提升模型性能。

再次,使用包含大量不正确标签,且视觉不太相关图像的高噪声数据来进一步训练该模型。通过前两阶段的训练,模型能够学到深层特征已经能够捕捉数据的基本结构。我们观察到,在最后阶段添加的高噪声子集数据不但不会对学习的数据结构产生负面影响。相反,它提高了模型的泛化能力,并且通过正则化的方式避免模型对干净数据的过度拟合。第三阶段训练收敛后,获得最终的深度模型。

4、实验

4.1 实验数据集

我们在四个公开数据集上评估了我们的方法。这四个数据集分别为 WebVision、Clothing 1M、Food101 和 ImageNet。在我们的实验中,我们采用BN-Inception 网络结构作为我们 CurriiculumNet 的基准网络结构。我们在 BN-Inception 上比较了 多种训练方案的性能。 此外,我们将 CurriculumNet 的性能 与最新的学术方法进行了比较,其中包括 CleanNet、FoodNet 和 MentorNet,这些方法基本都是研究怎么从噪音标签数据中训练高性能 CNN 模型。

4.2 实验结果

我们在四个标准的数据集进行了实验来验证我们的 CurriculumNet 性能,并与当前其他方法最好的结果进行了对比。其中 为了验证我们 CurriculumNet 处理噪声数据的能力,我们将 Food101 中 20%的样本标签重构成噪声标签。实验结果如表 1,可以发现我们的 CurriculumNet 在与其他方法对比的时候有明显优势。

表 1 我们在四个公开数据集中的实验结果

为了验证我们这个方法在更大数据集上的性能,我们将 WebVision 和 ImageNet 两个数据库合并成一个包含 300 万以上样本的噪声数据。我们在这个合并数据库上验证我们的 CurriculumNet 性能。实验结果如表 2 所示,CurriculumNet 不仅在 WebVision 这种噪声数据集上获得很好的性能,在 WebVision+ImageNet 这种加入大量标注数据以后的数据集也有不错的效果。

表 2 我们探讨模型在 WebVision 和 ImageNet 上合集的效果

5、总结

我们提出了一种新的训练策略 CurriculumNet,它能够在大规模没有人工标注的弱监督数据集上训练出高识别率的 CNN 模型。我们利用课程学习的思想,提出了利用聚类密度测量数据复杂度的新型学习策略。我们通过实验表明,我们所提出的方法 CurriculumNet 具有强大的能力来处理大量噪声标签数据。该方法不仅减小了噪声标签的负面影响,还能利用高噪声数据来提高模型泛化能力。我们提出的 CurriculumNet 在 WebVision、ImageNet、Clothing 1M 和 Food-101 四个基准数据集上实现了当前最好的识别结果。我们方法通过模型融合在 WebVision Challenge 2017 中获得了 5.2%的 Top 5 错误率,其性能大大优于其他参赛队伍。

码隆科技
码隆科技

以AI赋能企业,以科技激活效率。这里是专注于商品识别赛道的码隆科技。

理论ECCV 2018CurriculumNet弱监督学习
42
相关数据
码隆科技机构

码隆科技成立于2014年7月,是一家专注于深度学习与计算机视觉技术创新,打造国际领先视觉智能技术平台的人工智能公司,拥有世界一流的顶尖研发团队和经数亿级图像训练的深度学习算法模型,凭借扎实高效的工程架构能力及产品实现能力,为企业客户提供国际领先的计算机视觉解决方案。码隆科技认为“真正的人工智能不在于自己有多智能,而在于能让其他产品变得更智能”,希望通过人工智能技术使机器能够像人类一样""看懂""商品。码隆科技已正式进军国际市场,旨在帮助全球更多传统行业企业实现更高效、高品质和更安全的企业产品革新。成立三年来,凭藉其主打产品ProductAI®人工智能商品识别平台,公司已迅速占领了服装、纺织、家具、电商、设计、快消、零售、营销、版权图像平台等行业服务市场份额,实现行业创新应用,帮助各行业企业增加收入,降低成本,提高效率。码隆科技于2016年与中国顶尖大学清华大学成立了人工智能联合实验室,并在2017年CVPR会议上举办的大规模视觉理解WebVision挑战赛中一举夺冠。

http://www.malongtech.cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

欧几里得距离技术

在数学中,欧几里得距离或欧几里得度量是欧几里得空间中两点间“普通”(即直线)距离。 使用这个距离,欧氏空间成为度量空间。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

推荐文章
YangPro
感谢分享,请问有原文链接以及源码公布吗?
应该d<0为1.,other为0