论文笔记:Intention Oriented Image Captions with Guiding Objects

Intention Oriented Image Captions with Guiding Objects

1、提出问题

现在的图像描述生成过程的控制方面受到限制,例如一张图片可能包含许多对象,但描述句子通常只包含一个或少量对象,虽然我们可以使用现有方法准确分类或检测图像中的对象 ,我们不能强迫语言模型来描述我们关心的对象。

2、创新点

本文提出了一种新的方法,可以生成带有引导对象 (CGO) 的图像描述,CGO 可以确保选择的引导对象包含在流畅的描述中。所选对象可以是从图像中检测到的任何对象,即使它在图像描述训练数据中没有。

CGO 建立在编码器-解码器结构之上,但不是从左到右生成序列,而是基于选定对象生成句子。本文设计了一个结合两个 LSTM 的新颖框架来生成对象周围序列的左侧和右侧部分。

在这里插入图片描述

图:现有的图像描述模型都是从左到右生成描述。我们的 CGO 方法开始使用选定的对象生成。 CGO 使我们能够将所选对象精确地纳入描述中,并为图像生成一组多样而全面的描述。

3、方法

给定一个图像,CGO能够将选择的引导对象合并到生成的句子中。在这个过程中,两个LSTM被组合在一起,在引导对象的两边产生部分序列。我们使用LSTM-L表示LSTM生成序列左侧部分的序列,使用LSTM-R表示LSTM生成序列右侧部分的序列。CGO可以灵活地应用于其他现有的RNN语言模型。

在这里插入图片描述

图:CGO 方法。我们根据对象分类器的输出来选择引导对象和对象序列。对象序列用作LSTM-L的输入,提供关于假定的右侧序列的信息。LSTM-L根据视觉特征和输入对象序列生成左侧序列。然后将生成的左侧序列用作LSTM-R的输入,以生成右侧序列。然后将这两个部分序列与引导对象进行连接,得到完整的描述。

3.1、Problem Formulation

给定图像 I,我们的目标是生成一个序列 y=(y1,y2, …, yT) 用于描述,其中 T 表示序列的长度,yi 是模型词汇表中的一个词。词汇表的大小是 V。

θ \theta θ 表示编码器-解码器模型中的参数,学习过程的目标是找到最优的 θ \theta θ

在这里插入图片描述

其中 θ \theta θ* 表示优化的模型参数,y* 表示 ground truth 序列。

当使用 LSTM 作为语言模型时,在每个时间步 t ,它根据图像特征 ft、该时间步的输入词 xt 和 t-1时刻的 LSTM 的隐藏状态 ht−1 预测序列中下一个词的概率。 xt 属于模型词汇表。

在这里插入图片描述

图像特征 ft 在不同的模型设置中有所不同。在某些模型中,例如NIC,图像特征 f 仅在时间步 t = 0 时提供给 LSTM 语言模型。使用注意力机制的模型将在每个时间步 t 都用到图像特征。

在这里插入图片描述

在这里插入图片描述

其中 at 表示时间步 t 的注意力权重的分布, ⊙ \odot 表示逐元素乘法。计算注意力权重的函数 ATT 随着注意力机制的不同而不同。

如果我们希望生成的序列包含一个特定的词,那么期望的序列为 y= (y1, …, yk−1,yk,yk+1, …, yT),其中 yk 是特定的词。此时,模型输出的条件是图像 I 和单词 yk。模型参数被训练为:

在这里插入图片描述

其中 yleft=(y1, …, yk−1) 和 yright=(yk+1, …, yT)。 yleft* 和 yright* 是 ground truth 部分序列。右侧部分序列 yright 可以是任意长度。我们将两个相反方向的 LSTM 组合起来,完成 yk 两侧的序列。

3.2、LSTM-L

首先,对于给定的图像 I 和单词 yk,我们使用 LSTM-L 生成左侧部分序列。

在每个时间步 t,LSTM-L 以图像特征 ft、输入词 xt 和隐藏状态 ht+1 为输入预测前一个词。

在这里插入图片描述

但是,这个过程存在问题。一幅图像通常包含多个对象,这些对象可以按不同的顺序排列在描述中。例如,“there is an apple and a banana on the table” 和 “there is a banana and an apple on the table” 都是正确的描述。

当仅提供 yk 时,LSTM-L 将不知道右侧部分序列 (如图所示) 。
在这里插入图片描述

图:(a)引导对象(“orange”)两侧生成的序列在独立生成时可能是不连贯的。(b)对象标签序列用作 LSTM-L 的输入,提供有关右侧序列的信息。当输入序列不同时,LSTM-L 会生成不同的左侧序列。

在图像描述中,我们可以在生成描述之前获得关于图像中对象的足够信息。因此,我们首先假设描述中会出现一组对象,并设置这些对象的排列顺序。然后我们可以得到假设出现在右侧序列中的对象标签序列。我们将对象标签序列表示为 S={object1, …, objectm} ,其中 m 是 S 中的对象个数,可以任意选择。 S 中的对象不会出现在LSTM-L生成的序列中,但它们会影响序列中的内容(如图所示)。序列 S 用作 LSTM-L 的输入并在 yk 之前编码。 LSTM-L 现在根据图像 I、假设的序列 S 和 yk 生成序列:

在这里插入图片描述

当预测词为结尾标签 < END > 时,左侧序列完成,句子到达开头。

此时,对于给定的图像,我们最小化模型的交叉熵损失为:

在这里插入图片描述

注意,损失只计算生成的左侧部分序列,即在 t=k 之前的步长的输出。

3.3、LSTM-R

从 LSTM-L 得到左侧部分序列后,LSTM-R 将此序列作为输入,完成句子的另一部分。

该模型现在被训练为:

在这里插入图片描述

实际上,我们不需要将表单中的描述标签处理为右侧部分序列。相反,我们可以简单地按照训练一个正常的LSTM的过程来生成从左到右的句子。给定图像和选定 yk 的训练损失是不同的:

在这里插入图片描述

其中 Lossnormal 和 LossLSTM-R 表示两个过程中的损失函数。但是 Lossnormal 比 LossLSTM-R 有更严格的限制,它生成完整句子的过程可以看作是输入序列长度为零的特殊情况。另一方面,用完整序列训练的 LSTM 让我们可以更灵活地使用模型。当图像中没有检测到物体时(例如:a picture of the blue sky),或者当描述中没有要求包含物体时,我们可以使用 LSTM-R 作为 normal 的语言模型,从时间步 t=0 开始。在这种情况下,该过程被简化为正常的过程并从左到右生成句子。

我们的方法可以应用于所有类型的 RNN 语言模型,用于图像描述。在推理过程中,可以使用各种解码方法,包括贪婪采样和波束搜索方法。

3.4、Novel Word Embedding

在编码过程中,将输入词 xt 表示为one-hot向量 xt ,然后嵌入学习参数 Wx 。在第 t 步,将嵌入向量 Wxxt 作为语言模型的输入。当进行推理时,语言模型不会生成训练过程中没有出现的单词。

在CGO方法中,当选择一个新的对象作为引导对象时,我们可以简单地使用与该对象相似的另一个被看到对象的嵌入向量。相似的对象可以根据 WordNet 或 word2vec 或 GloVe 的嵌入向量之间的距离来选择。在正常的从左到右生成过程中,使用来自相似对象的嵌入向量不能强制语言模型生成新词。然而,使用 CGO,由于新词直接包含在生成的句子中,无需经过编码 - 解码过程,我们不需要语言模型来预测新词。取而代之的是,新词只用在编码过程中,在这个过程中,来自相似对象的嵌入结果就足够了。

3.5、Model Details

**描述模型:**在我们的实验中,我们使用自下而上和自上而下的注意力模型(Up-Down)作为我们的基础模型。 LSTM-L 和 LSTM-R 都是 Up-Down 模型。在我们的实验中,我们使用的预训练模型特征,是从基于 ResNet-101 构建的 Faster RCNN 模型中提取的,并在 MSCOCO 和 Visual Genome 上进行了预训练。

**对象分类器:**现有的目标检测模型或目标分类器可以识别给定图像中的目标。在我们的实验中,我们沿用了之前的工作,使用多标签分类器来确定一个物体是否出现在图像中。我们对MSCOCO对象检测数据集中的80个对象类别进行了分类。我们在分类器中使用与语言模型中相同的特性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值