CVPR Spotlight 论文:当零示例学习遇上网络数据

AI 研习社按:本文由美国莱斯大学博士后牛力为 AI 科技评论提供的独家稿件,未经许可不得转载。

细粒度分类是分类问题中一个非常有挑战性的子问题。和传统的粗粒度分类不同,细粒度分类不是区分不同的大类,而是区分一个大类下面的子类,比如不同品种的猫。由于不同子类之间的差异非常微小,所以细粒度分类比粗粒度分类难度更大。并且,为细粒度分类收集训练数据也是一项十分艰巨的任务,原因如下。

首先,一个大类下面往往有大量子类。据统计,世界上有 14000 种鸟,很难为每一种鸟都收集足够的训练数据。其次,为子类标注需要专业的知识。比如标注不同种类的鸟就需要知道每一类鸟的具体细节,比如嘴、翅膀、尾巴的颜色形状等等。大多数人并不具备这种专业知识,因而能做细粒度标注的专家非常稀缺。

由于为细粒度分类收集训练数据异常困难,注定会有很多子类没有对应的训练数据。对于某些种类缺乏训练数据的情况,现有的研究工作主要集中于以下两个领域:第一,收集弱监督数据,也就是标签不准确的数据,比如从网络上获取免费但标签有噪音的数据 (webly supervised learning);第二,借助类别的语义信息,把知识从有标注数据的种类转移到没有标注数据的种类,比如零示例学习 (zero-shot learning)。但上述两个领域的研究都有各自的缺陷。具体来说,基于网络数据学习会受到标签噪音以及网络训练数据和测试数据之间分布差异问题的影响,而零示例学习性能不佳且忽视了大量免费可用的网络数据。基于以上观察,我们尝试将基于网络数据学习和零示例学习结合起来用来做细粒度分类,工作发表在 CVPR 2018 (spotlight):「Webly Supervised Learning Meets Zero-shot Learning: A Hybrid Approach for Fine-grained Classification」。

我们的做法如下,先选取一部分子类进行人工标注,然后为剩余的子类从网上下载图片。为了描述方便,我们把人工标注的子类称为标注子类,把利用网络图片的子类称为网络子类。标注子类和网络子类构成了所有的子类。之前提到了网络数据有标签噪音和数据分布差异的问题,而人工标注的子类没有这两个问题。为了解决基于网络数据学习的两个问题,我们借助于类别的语义信息,将知识从标注子类转移到网络子类。类别的语义信息有很多种,包括特征 (attribute) 和词向量 (word vector) 等等。因为特征需要专家进行标注,比较难获取,所以我们使用从免费的维基文本中学到的词向量。

我们方法的流程图如下,给定一个大类,我们为标注子类收集人工标注的精确数据,为剩余的网络子类从网络上下载图片,然后获取所有子类的词向量。借助词向量,我们建立起标注子类和网络子类之间的联系,将知识从标注子类迁移到网络子类,用来解决网络子类存在的标签噪音和数据分布差异问题。同时,我们在训练阶段也使用了无标签的测试图片,用来减小网络训练图片和测试图片在数据分布上的差异。总之,我们的学习模型把所有子类的词向量以及标注子类、网络子类和测试图片的视觉特征作为输入,输出测试图片的种类。

第一步:学习基于标注子类的词典 (dictionary)

我们用标准的词典学习得到基于标注子类的词典。

第二步:从标注子类转移知识到网络子类用来解决网络子类存在的问题

在上面的表达式中,第一项是标准的词典学习,第二项让基于标注子类的词典和基于网络子类的词典接近,也就是把标注子类的知识转移到网络子类,第三项期望测试集上的词向量矩阵是低秩的,因为相同子类测试图片的词向量应该彼此相似,第四项是在网络训练图片上赋予不同的权重以拉近加权网络数据的中心和测试数据的中心之间的距离,也就是减少网络图片和测试图片在数据分布上的差异,第五项是用同样的权重解决标签噪音的问题,注意到我们用group lasso迫使分类损失矩阵的某些行稀疏,也就是强制某些网络图片的分类损失很小。这些分类损失小的网络图片对应着标签准确的图片,相应的权重也会更大,因为他们对训练鲁棒的分类器更重要。同时,我们对权重加了限制条件,希望在限制的搜索空间内找到最优的权重,可以选出标签准确并且离测试图片分布较近的网络图片。上述问题可以通过交替的方式求解,也就是固定其他变量,求解剩下的一个变量。通过求解上述问题,我们可以获得测试数据的词向量。最后,把测试数据的词向量和测试子类的词向量作比较,我们就可以得到测试数据的子类标签。

在实验部分,我们用了零示例学习常用的三个数据库:CUB、SUN和Dogs。对每个数据库,我们把可见子类 (seen categories) 作为标注子类,把未见子类 (unseen categories) 作为网络子类和测试子类。和零示例学习不同的是,我们为未见子类从Flickr下载了网络图片,也就是说为未见子类提供了弱监督的训练数据。所以我们的学习范式可以看成弱监督的零示例学习,或者有额外子类的弱监督学习。以下是我们的实验设定和实验结果。我们比较了只使用网络子类 (web subcategories) 的方法、只使用标注子类 (labeled subcategories)的方法、和二者简单的结合。结果表明,我们的方法相比较基于网络数据学习和零示例学习的简单结合,效果取得了显著的提升,也说明了从标注子类转移知识到网络子类用来解决网络训练数据存在的问题是一套行之有效的方法。

除了定量分析,我们还提供了一些定性分析。记得在我们学习模型的第二步,我们为网络训练图片分配了不同的权重,期望选出标签准确并且离测试图片分布较近的网络图片。接下来,我们拿Dogs数据库举例,从网络训练图片中选出权重最大和最小的几张图片 (我们把权重范围设定在[0, 1.5])。从下图中可以看出我们方法选出的高权重图片都标签准确,并且物体占据图片的中间大部分区域,这也从另一个角度证明了我们方法的有效性。更多细节请参照我们的论文:

http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/3280.pdf。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-07-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

教程 | 将注意力机制引入RNN,解决5大应用领域的序列预测问题

3724
来自专栏深度学习

机器学习常用神经网络架构和原理

一、为什么需要机器学习? 有些任务直接编码较为复杂,我们不能处理所有的细微之处和简单编码,因此,机器学习很有必要。相反,我们向机器学习算法提供大量数据,让算法不...

3427
来自专栏机器之心

学界 | 普适注意力:用于机器翻译的2D卷积神经网络,显著优于编码器-解码器架构

深度神经网络对自然语言处理技术造成了深远的影响,尤其是机器翻译(Blunsom, 2013; Sutskever et al., 2014; Cho et al...

992
来自专栏PPV课数据科学社区

机器学习系列:(六)K-Means聚类

K-Means聚类 前面几章我们介绍了监督学习,包括从带标签的数据中学习的回归和分类算法。本章,我们讨论无监督学习算法,聚类(clustering)。聚类是用于...

5566
来自专栏UAI人工智能

深度学习入门第四讲

17711
来自专栏机器之心

入门 | 请注意,我们要谈谈神经网络的注意机制和使用方法

27911
来自专栏生信小驿站

R 梯度提升算法①

它是一种传统而重要的Boost算法,在学习时为每一个样本赋上一个权重,初始时各样本权重一样。在每一步训练后,增加错误学习样本的权重,这使得某些样本的重要性凸显出...

1013
来自专栏AI科技评论

干货 | CVPR Spotlight论文:当零示例学习遇上网络数据

AI 科技评论按:本文由美国莱斯大学博士后牛力为 AI 科技评论提供的独家稿件,未经许可不得转载。

1013
来自专栏CDA数据分析师

技能 | 基于树的建模-完整教程(R & Python)

简介: 基于树的学习算法被认为是最好的方法之一,主要用于监测学习方法。基于树的方法支持具有高精度、高稳定性和易用性解释的预测模型。不同于线性模型,它们映射非线性...

2367
来自专栏PPV课数据科学社区

干货:基于树的建模-完整教程(R & Python)

来源:“数盟社区” 原文链接:http://dataunion.org/23697.html 简介 基于树的学习算法被认为是最好的方法之一,主要用于监测学习方...

3857

扫码关注云+社区

领取腾讯云代金券