在图像中标注新的对象

给定一个图像,人类可以很容易地推断其中的显着实体,并有效地描述场景,如对象所在的位置(在森林或厨房?),对象具有什么属性(棕色或白色?),更重要的是,物体如何与场景中的其他物体(在田野里奔跑,或被人等等)相互作用。视觉描述的任务旨在开发视觉系统,生成关于图像中对象的上下文描述。视觉描述是具有挑战性的,因为它不仅需要识别对象(熊),还需要识别其他视觉元素,如动作(站立)和属性(棕色),并构建一个流畅的句子来描述图像中的对象,动作和属性如何相关(如棕熊站在森林中的一块岩石上)。

视觉描述的现状

A
B

图A

图B

LRCN [Donahue et al。'15]:站在郁郁葱葱的绿色田野上的棕熊。 MS CaptionBot [Tran et al。'16]:一头大棕熊走过森林。

LRCN [Donahue et al。'15]:一只黑熊站在草地上。 MS CaptionBot [Tran et al。'16]:一只正在吃草的熊。

由两个图像上的现有信息产生的描述。左边是训练数据中存在的对象(熊)的图像。在右边是模型在训练中没有见过的对象(食蚁兽)。

目前的视觉描述或图像描述模型工作得很好,但是它们只能描述在现有图像描述训练数据集中看到的对象,而且他们需要大量的训练样例才能生成好的描述。为了学习如何在上下文中描述诸如“狐狼”或“食蚁兽”的对象,大多数描述模型需要许多狐狼或食蚁兽图像的例子以及相应的描述。然而,目前的视觉描述数据集,如MSCOCO,不包含关于所有对象的描述。相比之下,最近通过卷积神经网络(CNN)进行物体识别的作品可以识别数百种物体。虽然物体识别模型可以识别狐狼和食蚁兽,但描述模型不能构成句子来正确描述这些动物的上下文。在我们的工作中,我们通过构建可以描述新对象的视觉描述系统来克服这个问题,而不需要关于这些对象的图像和句子。

任务:描述新的对象

在这里我们更正式地定义我们的任务。给定由图像和描述对(成对图像 - 句子数据,例如MSCOCO)组成的数据集以及带有对象标签但没有描述的图像(不成对的图像数据,例如ImageNet),我们希望学习如何描述未配对的物体图像 - 句子数据。要做到这一点,我们必须建立一个模型,可以识别不同的视觉成分(例如,狐狼,棕色,站立和田野),并以新颖的方式组成这些模式,形成一个连贯的描述。下面我们描述我们的描述模型的核心组件。

我们的目标是描述不具有说明的训练图像的各种物体。

使用外部数据源

为了针对图像标题训练数据之外的不同类别对象能够标记名称,我们利用了外部的数据源。具体而言,我们使用带有对象标签的ImageNet图像作为未配对的图像数据源,并将来自未注释的文本库(如Wikipedia)的文本作为我们的文本数据源。这些用来分别训练我们的视觉识别CNN和语言模型。

有效地利用外部资源培训

捕获语义相似性

我们希望能够识别出那些没见过的,但是与在配对图像句子训练数据中看到的对象类似的对象(例如,来自ImageNet)。我们使用密集词嵌入来实现这一点。词嵌入是词的稠密高维表示,其中具有相似含义的词在嵌入空间中位置更接近。

在我们以前的作品“深度合成字幕(DCC)”[1]中,我们首先在MSCOCO配对图像描述数据集上训练描述模型。然后,为了描述新的对象,对于每个新颖的对象(例如okapi),我们使用词嵌入来识别MSCOCO数据集(在这种情况下是斑马)中的对象之间最相似的对象。然后,我们将从见过的对象提炼出的参数转移(复制)到没见过的对象(例如,复制网络上关于斑马的重量给霍加皮)。

给新的对象加说明

虽然DCC模型能够描述几个没见过的对象类别,但是将参数从一个对象复制到另一个对象却非常地生硬死板。例如,对于“球拍”,这个词就是复制了“网球”的权重作用,从而导致诸如“一个人在球场上打球拍”的句子。在我们最近的工作[2]中,我们直接在语言模型使用词嵌入。具体来说,我们在语言模型的输入和输出中使用GloVe嵌入。这使模型能够在描述没见过的对象时捕获语义相似性。这使得我们的模型能够生成句子,例如“网球员在挥动球拍击球”。另外,直接在网络中使用密集词嵌入使得我们的模型是端到端的可训练的。

将密集词嵌入整合到语言模型中以捕获语义相似性。

在神经网络中的描述模型和遗忘。

我们将视觉网络和语言模型的输出结合到描述模型。该模型与现有的在ImageNet上预先训练过的描述模型相似。然而,我们观察到,虽然模型是在ImageNet上预先训练好的,但是当模型在COCO图像 - 描述数据集上进行训练/调整时,往往会忘记之前看到的内容。蒙特利尔研究人员以及Google DeepMind等人也观察到了神经网络中关于遗忘的问题。在我们的工作中,我们使用联合培训策略解决了遗忘的问题。

分享特征和针对不同的数据/任务的联合训练来克服“遗忘”

具体来说,我们的网络有三个组成部分:视觉识别网络,描述模型和语言模型。这三个部分共享数据,并协同训练。在训练期间,每批输入包含一些带有标签的图像,一组不同的图像和标题以及一些简单的句子。这三类输入数据训练网络中的不同部分。由于数据在三个部分之间是共享的,所以这个网络就被训练出可以识别图像中的对象,描述图像和生成句子。这种联合训练有助于网络克服遗忘问题,并使模型能够产生对许多新对象类别的描述。

下一步是什么?

在我们的模型中最常见的错误之一就是无法识别对象,而减少这种情况的方式是使用更好的视觉特征。另一个常见的错误来自生成不流利的句子(一只猫和一只猫在床上),或者不符合“常识”(例如,“一个女人正在玩体操”不是特别正确,因为一个人不能玩“ “体操”)。开发可以克服这些问题的解决方案将是有趣的。

在这项工作中,我们提出联合训练作为克服遗忘问题的一种策略,但可能我们并不总能有许多不同的任务和数据集来训练。解决这个问题的另一种方法是建立一个模型,可以学习根据视觉信息和对象标签来组合描述。这样一个模型也应该能够实时整合对象,也就是说,我们现在预先在一组选定的对象上训练模型,我们也应该考虑如何针对新数据进行对模型进行逐步的训练。解决这些问题可以帮助开发更好、更稳定的视觉描述模型。

本博客文章基于以下研究论文:

[1] LA Hendricks,S. Venugopalan,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。深层成分字幕:描述新的对象类别,没有配对的训练数据。在CVPR,2016。

[2] S. Venugopalan,LA Hendricks,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。字幕与不同的对象的图像。在CVPR,2017。

本文的版权归 胡文翠 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨熹的专栏

深度学习与自然语言处理 主要概念一览CS224d-Day 1:

---- CS224d-Day 1: 要开始系统地学习 NLP 课程 cs224d,今天先来一个课程概览。 课程一共有16节,先对每一节中提到的模型,算法,工...

37211
来自专栏机器之心

专栏 | 递归卷积神经网络在解析和实体识别中的应用

38113
来自专栏杨熹的专栏

凸优化有什么用

本文结构: 凸优化有什么用? 什么是凸优化? ---- 凸优化有什么用? 鉴于本文中公式比较多,先把凸优化的意义写出来吧,就会对它更有兴趣。 我们知道在机器学习...

4178
来自专栏YoungGy

信息论中的各种熵

本文简单介绍了信息论中的各种熵,包括自信息、熵;联合熵、条件熵、互信息;KL散度、交叉熵。并在最后用信息论中的交叉熵推导了逻辑回归,得到了和最大似然法相同的结果...

2325
来自专栏AI研习社

如何有效处理特征范围差异大且类型不一的数据?

原题目如下: 1. 特征类型混杂: 连续变量,离散变量,描述变量共存 2. 不同变量之间取值差异大: 例如有些变量取值在 0~1 但有些取值为 10000-5...

4517
来自专栏AI科技大本营的专栏

透析|卷积神经网络CNN究竟是怎样一步一步工作的?

译者 | zhwhong 当你听到说深度学习打破了某项新技术障碍,那么十有八九就会涉及到卷积神经网络。它们也被称作CNNs或着ConvNets,是深层神经网络领...

3369
来自专栏算法channel

TensoFlow 实战 3层网络求解嵌入词向量,附代码详解

已经介绍了Word2Vec中的Skip-Gram模型的基本原理,以及训练过程的3个策略,详细请参考:

912
来自专栏人工智能头条

如何使用 RNN 模型实现文本自动生成 |

4111
来自专栏量化投资与机器学习

【深度】监督&强化学习算法在A股中的应用

6304
来自专栏新智元

谷歌开源神经网络模型,压缩图片比传统方法提升25%(附论文)

【新智元导读】 谷歌官方博客今天发布了一篇文章,介绍如何使用神经网络压缩图片。在论文中,谷歌证明了神经网络可以获得比现在普遍使用的压缩方法质量更好、大小更小的图...

4134

扫码关注云+社区

领取腾讯云代金券