论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN
论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN
ICCV 2017
Paper: http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Towards_Diverse_and_ICCV_2017_paper.pdf
Implementation(Torch): https://github.com/doubledaibo/gancaption_iccv2017
本文的目标是想产生高质量的图像描述语句:more Natural and Diverse !

所以本文采用了 Conditional GAN 来实现这一想法,通过控制 random noise vector Z 来生成具有多样性的语句。
其实模型的整体思路和 seqGAN 是一致的,就是利用 Generator 来产生一个句子,然后交给 Discriminator 来进行判断。
不同之处在于,与 NLP 中的文本生成不同,Image Caption 需要根据图像的内容进行句子的产生,然后就变成了 Conditional GAN 了。文章的写作也是重点体现 CGAN 的作用。
如上图所示,作者也将 random noise Z 添加进去,以控制产生文本的多样性,基于这两个条件,提取特征,输入给 LSTM,每一个时刻输出一个单词,直到遇到表示句子停止的单词符号为止(例如,[End])。这样就生成了一个句子。
然后作者用 LSTM 提取生成的句子和 Ground Truth 句子的向量,然后塞给 Discriminator,进行判断。
重点来了,因为文本的生成是离散的符号生成问题,原本用于图像生成的 CGAN 并不能直接用于此任务。因为梯度的些许改变,也许并不能改变其输出。
所以,这里需要强化学习技术 Policy Gradient 来进行转换,将判别器的得分输出,转变为 智能体的奖赏 r,优化产生器的参数,使其输出的句子能够获得最大的奖励,从而使得最终获得较好的文本生成效果。这样就把文本的生成问题,看做是强化学习中的动作选择问题(Action Selection)。

如上图所示,当给你某一段生成的部分句子,由于交给判别器进行打分,需要完成的一句话。所以,文章采用蒙特卡洛 Rollout 的方法,将句子进行补充完整。然后才交给判别器进行打分,获得奖励信号。根据得到的奖励信号,再进行梯度的调整,进而完成产生器 G 的优化。
所以,期望累积奖赏为:

其梯度为:

其中,$\pi$ 那一项是强化学习中的策略(Policy),将条件 f(I), Z 以及接下来的单词 $S_{1:t-1}$ 作为输入,并且产生一个在拓展词汇表中的条件分布(a conditional distribution over the extended vocabulary),即:产生的所有单词加一个表示语句结束的符号,记为 e。奖励是
,该得分是由判别器 E 给出的。
此外,作者也将该模型拓展到产生段落文字的应用场景(利用 Hierarchical LSTM design)。


论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN的更多相关文章
- 论文笔记:Tracking by Natural Language Specification
Tracking by Natural Language Specification 2018-04-27 15:16:13 Paper: http://openaccess.thecvf.com/ ...
- #论文笔记# [pix2pixHD] High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. "High-Res ...
- 论文笔记之:Natural Language Object Retrieval
论文笔记之:Natural Language Object Retrieval 2017-07-10 16:50:43 本文旨在通过给定的文本描述,在图像中去实现物体的定位和识别.大致流程图如下 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型
看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...
- 论文笔记:Mastering the game of Go with deep neural networks and tree search
Mastering the game of Go with deep neural networks and tree search Nature 2015 这是本人论文笔记系列第二篇 Nature ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...
随机推荐
- jmeter之regular expression extractor ,并循环调用匹配到的多个值
jmeter之regular expression extractor 官方介绍:http://jmeter.apache.org/usermanual/regular_expressions.htm ...
- 测试覆盖率工具EclEmma安装与使用
此文来自于:https://www.cnblogs.com/cnsdhzzl/p/7638883.html EclEmma的简介 一个优秀的开源软件测试工具 eclipse的一个插件 能够对由 Jav ...
- sqlplus用户登录
1.运行SQLPLUS工具 C:\Users\wd-pc>sqlplus 2.直接进入SQLPLUS命令提示符 C:\Users\wd-pc>sqlplus /nolog 3.以OS身份连 ...
- 下载安装Git
1.下载地址:https://git-scm.com/download/win 这里是下载64位的 2.安装步骤 (1)下载完成得到一个exe文件,双击傻瓜式安装 (2)开始安装 (3)选择安装的工 ...
- JavaScript 的if语句和==的判断
一. if(xx)的判断 JavaScript 遇到预期为布尔值的地方(比如if语句的条件部分),就会将非布尔值的参数自动转换为布尔值.系统内部会自动调用Boolean函数. 1.当if括号里面的表达 ...
- python迭代-如何在一个for语句中迭代多个可迭代对象
如何在一个for语句中迭代多个可迭代对象 问题举例 (1)某班学生期末考试成绩,语文,数学,英语分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分 (2)某年级有4个班,某次考试每班英语成绩分 ...
- VS调试SQL Server存储过程
1.打开VS,视图-->SQL Server对象资源管理器.(我用的是VS2012) 2.添加链接,连接到数据库. 3.选择要调试的存储过程,右键,选择调试过程或者执行过程. 4.填写存储过程所 ...
- c#中WebApi开发遇到的坑
一.如何新建一个webApi项目 打开VS→找到解决方案→新建项目→类库或web应用程序→选择空的WebApi项目→在Global.asax文件的Application_Start方法中注册WebAp ...
- carbondata-summary
源码 http://www.zhuyongpeng.cn/1699.html 融合数据白皮书:Apache CarbonData成为主流融合存储技术 http://cloud.yesky.com/46 ...
- 201808_summary
@Consumes @Produces分别表示入参和出参数吗 可以这样讲.但是不是很到位.是限定作用,类似于filterconsumes: 指定处理请求的提交内容类型(Content-Type),例如 ...