Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions

1、提出问题

现在的图像描述模型仍然缺乏可控性(controllability)和可解释性(explainablity)——即它们的行为很难受到影响和解释。例如,在注意力驱动模型的情况下,架构隐含地选择在每个时间步关注哪些区域,但无法从外部进行监督。虽然可以以多种方式描述图像,但这种架构无法控制描述哪些区域以及每个区域的重要性。这种缺乏的可控性造成了人与人工智能之间不同,因为人类可以以各种方式描述图像,并根据任务和手头的上下文选择最合适的方式。

图:(a)是具有全局视觉特征的图像描述模型;(b)基于注意力机制的图像描述模型;(c)是本文提出的 Show,Control and Tell 模型,我们的方法可以为给定的图像生成多个描述,这取决于控制信号。

2、创新点

  • 本文介绍了 Show、Control 和 Tell,它们明确地解决了之前的缺点。它可以根据控制信号生成不同的自然语言描述,该控制信号可以作为序列给出,也可以作为需要描述的一组图像区域给出。因此,我们的方法能够按照给定的条件,通过关注不同的区域和以不同的顺序来描述相同的图像。
  • 该模型通过预测一系列名词块来明确考虑句子的层次结构。此外,我们还考虑了 visual words 和 textual words,从而在单词级别提供了额外的grounding。
  • 本文根据一组精心设计的基线评估模型,在 Flickr30k 实体和 COCO 上,我们半自动地用基础图像区域进行增强以用于训练和评估目的。

3、方法

句子是自然语言的结构,但本质上是分层的。在最底层,一个句子可能被认为是一个词序列:在句子描述图像的情况下,我们可以进一步区分描述图像中视觉呈现的东西 visual words 和图像中不存在的实体 textual words 。进一步分析单词之间的语法依赖关系,单词可以组织成树状结构:在依赖关系树中,每个单词都与其修饰词链接在一起。(如图所示)

图:描述的依赖树示例。名词块用圆框标记,对应的图像区域的块使用相同的颜色来描绘。

给定一个依赖树,名词可以和它们的修饰词分组,从而构建 noun chunks 。每个图像区域对应一个noun chunks,如果存在多个可能的映射,则块也可能与同一类的多个图像区域相关联。

各种描述图像的方式导致不同的块序列,链接在一起形成一个流畅的句子。因此,描述在所考虑的区域有所不同,描述它们的顺序也有所不同。因此我们设计了一个模型,它接受序列或者图片区域集合作为控制输入。

图:方法的概述。给定一个图像和一个控制信号,该图显示了生成受控的描述的过程和语言模型的架构。

3.1、Generating controllable captions

给定一个图像 I 和一个有序的区域集 R =(r0, r1, …, rN) 作为输入,我们的图像描述模型的目标是生成一个句子 y =(y0,y1, …, yT ) 来依次描述 R 中的所有区域,同时保持语言的流畅性。

我们的模型以输入图像 I 和区域集序列 R 为条件,区域集 R 充当控制信号,并预测对应于句子的 word level 和chunk level 的两个输出分布:在一个时间步生成一个单词的概率为 p(yt|R, I; θ) ;从一个块切换到另一个块的概率为 p(gt|R, I; θ),其中 gt 是一个布尔类型的 chunk-shifting gate。在生成过程中,模型维持一个指向当前区域集合 ri 的指针,并且可以通过门 gt 转移到 R 中的下一个元素。

为了生成输出的描述,我们采用了具有自适应注意力的循环神经网络。在每个时间步,我们根据之前的隐藏状态 ht-1,当前的图像区域集 rt 和当前的单词 wt 来计算隐藏状态 ht,即 ht=RNN(wt,rt,ht-1)。在训练时,rt 和 wt 是t时刻对应的 ground-truth 区域集和单词;在测试时,wt 从模型预测的第一个分布中采样,而下一个图像区域的选择由从第二个分布中采样的 gt 决定:

其中 {gk}k 是采样门值的序列,N是R中区域集的数量。

Chunk-shifting gate:
我们通过一种自适应机制计算 p(gt|R),其中 LSTM 计算其内部状态并潜在表示之间的兼容性函数。兼容性分数与 rt 中的分数进行比较,并将结果作为切换到 R 中的下一个区域。

LSTM 首先引入一个chunk sentinel st 。计算如下:

其中 Wig∈\in∈Rd×k,Whg∈\in∈Rd×d 是学习的权重参数;mt∈\in∈Rd 是 LSTM 记忆单元;xt∈\in∈Rk 是 LSTM 在时间 t 的输入;⊙\odot⊙表示逐元素乘积;σ 表示 sigmoid 激活函数。

然后,我们通过单层神经网络计算 ht 和 sentinel 向量sct之间的兼容性分数,同时计算 ht 和 rt 之间的兼容性函数:

其中 n 是 rt 的区域数;1∈\in∈Rn 是一个所有元素都设置为 1 的向量;wTh 是一个行向量。

从一个块转移到下一个块的概率定义为:

在测试阶段,根据 p(gt|R) 采样 gt ∈{0, 1} 的值,并转移到 R 中的下一个区域。

Adaptive attention with visual sentinel:

当块转移门预测块结束后,就将生成的过程和控制信号R连接起来,但一旦选择了 rt,就需要第二种机制来关注其区域并区分视觉和文本词。为此,我们建立了一个带有 visual sentinel 的自适应注意力机制。

visual sentinel 类似于上面的公式,定义为:

Wis ∈\in∈Rd×k ,Whs ∈\in∈Rd×d 是学习的权重矩阵。

然后在 rt 中的区域和 visual sentinel 向量 svt 上生成一个注意分布:

其中 [·] 表示拼接操作。

基于注意力分布,我们获得了一个上下文向量,可以将其送到 LSTM 作为网络的输入:

请注意,上下文向量主要是 rt 中的一个区域或 visual sentinel 的近似值。然而,rt 将根据块转移机制在不同的时间步变化,因此遵循控制输入。该模型可以通过 visual sentinel 交替生成视觉和文本词。

3.2、Objective

图像描述模型使用考虑模型的两个输出分布的损失函数进行训练。样本的损失函数定义为:

我们使用 self-critical 序列训练方法,该方法将 REINFORCE 算法与测试时在推理模型下获得的奖励作为基线。

在每个时间步,我们从 p(yt|R) 和 p(gt|R) 中采样以获得下一个单词 wt+1 和区域集 rt+1。一旦到达 EOS 标签,我们计算采样句子 ws 的奖励,并针对采样单词序列 ws 和块转移门序列 gs 进行反向传播。因此,最终的梯度表达式为:

其中 b=r(w^) 是使用推理过程获得的句子的奖励(即通过以最大概率对单词和门值进行采样)。然后我们建立一个奖励函数,它联合考虑描述的质量及其与控制信号 R 的对齐情况。

Rewarding caption quality

为了奖励生成描述的整体质量,我们使用图像描述指标作为奖励。我们采用了 CIDEr 指标(特别是 CIDEr-D 分数),该指标已被证明与人类判断的相关性最好。

Rewarding the alignment

我们引入了基于 Needleman-Wunsch 算法的对齐分数。

给定一个预测的标题 y 和它的目标对应物 y *,我们从两个句子中提取所有名词,并评估它们之间的对齐。

我们使用以下评分系统:匹配两个名词的奖励等于它们词嵌入之间的余弦相似度;获得的差距等于最小相似度值的负奖励,即 -1。一旦计算出最佳比对,我们就相对于序列的长度对其分数 al(y, y *) 进行归一化。因此,对齐分数定义为:

其中 #y 和 #y* 分别表示 y 和 y* 中包含的名词的数量。注意 NW(·,·)∈\in∈[−1, 1]。

(没太看懂)

3.3、Controllability through a set of detections

设计了一个方法对 R 进行排序(没太看懂)

3.4、Implementation details

Language model and image features

我们使用具有两个 LSTM 层的语言模型:底层的输入是当前的单词、图像以及第二层的隐藏状态。该层通过 visual sentinel 和块门来预测上下文向量。相反,第二层将上下文向量和第一层的隐藏状态作为输入,并预测下一个词。

为了提取图像区域,我们使用 Faster R-CNN 的 ResNet-101。

论文笔记:Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions相关推荐

  1. 最新论文笔记(+11):Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks

    Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks(用于许可区块链网络的隐私 ...

  2. 【论文笔记】MDCSpell: A Multi-task Detector-Corrector Framework for Chinese Spelling Correction

    文章目录 论文内容 论文思路 模型架构 损失函数 训练细节 实验结果 个人总结 论文复现 : https://blog.csdn.net/zhaohongfei_358/article/details ...

  3. 【论文笔记】An Unsupervised Style Transfer Framework for Profanity Redaction

    Towards A Friendly Online Community: An Unsupervised Style Transfer Framework for Profanity Redactio ...

  4. 论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot

    ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robots 文章概括 摘 ...

  5. 论文笔记:《DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks》

    论文笔记:<DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks> 摘要 1. ...

  6. 论文笔记(八):360 VR Based Robot Teleoperation Interface for Virtual Tour

    360 VR Based Robot Teleoperation Interface for Virtual Tour 文章概括 摘要 1. 介绍 2. 方法和系统设计 2.1 系统结构 2.2 远程 ...

  7. 【论文笔记】Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learn

    文章目录 [论文笔记] Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement ...

  8. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  9. 图像内复制粘贴篡改取证matlab_[论文笔记] 篡改检测:RGB-N

    [论文笔记] Learning Rich Features for Image Manipulation Detection 说在前面 个人心得: 第一次关注篡改检测,最常见的篡改方式是拼接.复制移动 ...

最新文章

  1. docker安装gitlab_Gitlab 中 CI/CD 自动化部署与使用
  2. 超全PHP学习资源整理:入门到进阶系列
  3. 多看看飞鸽传书等系统级的源代码
  4. 除以13(信息学奥赛一本通-T1175)
  5. 7-176 求n以内最大的k个素数以及它们的和 (20 分)
  6. HGOI 20190816 省常中互测8
  7. Windows安装JDK
  8. win10安装cmder和WSL
  9. ROS 机器人操作系统:概述
  10. PT px pc 的区别
  11. jqGrid设置三级表头和表头合并
  12. 往事如烟 - 简朴的老白树
  13. MATLAB实现自编码器(三)——堆栈自编码器Stacked Autoencoders实现手写数字分类
  14. 一加手机电池测试软件,6款手机电池续航测试:一加手机8Pro排第二 华为P40Pro倒数第三...
  15. Django的列表分页
  16. STA之一.时序分析
  17. 帝国模板本地安装测试时显示“不支持mysql数据”
  18. 面试笔试算法-搜索综合问题
  19. 计算机毕业设计Python+djang的图书馆图书借阅归还管理系统(源码+系统+mysql数据库+Lw文档)
  20. 2016年底江浙沪绕行游记

热门文章

  1. Android——腾讯QQ的Tab按钮动画效果完美实现
  2. java使用爬虫工具jsoup实现抓取网页的内容及图片并写入到word文档中
  3. 频繁模式挖掘Frequent Pattern Mining
  4. 八百八十岁也没活明白
  5. 关于Qt 5-MSVC 2015 64位在 win7 64位系统debug程序崩溃的问题
  6. 物联网平台thingsboard在Windows上的安装和部署
  7. Python数据分析pandas入门(一)------十分钟入门pandas
  8. Port Triggering
  9. [044] 微信公众平台开发教程第20篇-新手解惑40则
  10. CSDN验证不了手机