论文笔记:Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions
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相关推荐
- 最新论文笔记(+11):Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks
Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks(用于许可区块链网络的隐私 ...
- 【论文笔记】MDCSpell: A Multi-task Detector-Corrector Framework for Chinese Spelling Correction
文章目录 论文内容 论文思路 模型架构 损失函数 训练细节 实验结果 个人总结 论文复现 : https://blog.csdn.net/zhaohongfei_358/article/details ...
- 【论文笔记】An Unsupervised Style Transfer Framework for Profanity Redaction
Towards A Friendly Online Community: An Unsupervised Style Transfer Framework for Profanity Redactio ...
- 论文笔记(七):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 文章概括 摘 ...
- 论文笔记:《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. ...
- 论文笔记(八):360 VR Based Robot Teleoperation Interface for Virtual Tour
360 VR Based Robot Teleoperation Interface for Virtual Tour 文章概括 摘要 1. 介绍 2. 方法和系统设计 2.1 系统结构 2.2 远程 ...
- 【论文笔记】Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learn
文章目录 [论文笔记] Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement ...
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning 2017-06-06 21: ...
- 图像内复制粘贴篡改取证matlab_[论文笔记] 篡改检测:RGB-N
[论文笔记] Learning Rich Features for Image Manipulation Detection 说在前面 个人心得: 第一次关注篡改检测,最常见的篡改方式是拼接.复制移动 ...
最新文章
- docker安装gitlab_Gitlab 中 CI/CD 自动化部署与使用
- 超全PHP学习资源整理:入门到进阶系列
- 多看看飞鸽传书等系统级的源代码
- 除以13(信息学奥赛一本通-T1175)
- 7-176 求n以内最大的k个素数以及它们的和 (20 分)
- HGOI 20190816 省常中互测8
- Windows安装JDK
- win10安装cmder和WSL
- ROS 机器人操作系统:概述
- PT px pc 的区别
- jqGrid设置三级表头和表头合并
- 往事如烟 - 简朴的老白树
- MATLAB实现自编码器(三)——堆栈自编码器Stacked Autoencoders实现手写数字分类
- 一加手机电池测试软件,6款手机电池续航测试:一加手机8Pro排第二 华为P40Pro倒数第三...
- Django的列表分页
- STA之一.时序分析
- 帝国模板本地安装测试时显示“不支持mysql数据”
- 面试笔试算法-搜索综合问题
- 计算机毕业设计Python+djang的图书馆图书借阅归还管理系统(源码+系统+mysql数据库+Lw文档)
- 2016年底江浙沪绕行游记