论文笔记: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 ...
随机推荐
- 解读socketserver源码
解读python中SocketServer源码 再看继承 真正的大餐来之前,还是来点儿开胃菜!回顾一下关于类的继承的知识: 我们先看上面的代码,这是一个简单的类继承,我们可以看到父类Base和子 ...
- 修改文件MD5值
1.查看文件的MD5值 (1)下载MD5Checker http://getmd5checker.com/download.html 或者 链接: https://pan.baidu.com/s/1e ...
- 流程控制:顺序结构: 代码默认从上到下依次执行 分支结构: 细分在分为如下 循环结构: while .. for ..
# ### 流程控制: ''' 流程: 代码执行的过程 流程控制: 对代码执行的过程进行管控 顺序结构: 代码默认从上到下依次执行 分支结构: 细分在分为如下 循环结构: while .. for . ...
- javascript的ES6学习总结(第二部分)
1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...
- MIPI-Layout说明(转载)
转载于:http://www.ccm99.com/thread-3713-1-1.html 前言:随着新的总线协议不断提高信号速率,如今的PCB 设计人员需要充分理解高速布线的要求并控制PCB 走线的 ...
- P3803 【模板】多项式乘法(FFT)
传送门: 参考博客 1:大佬 attack 参考博客 2:大佬 胡小兔 在这里再膜拜一下这两位大佬 Orz%%% #include<iostream> #include<cstd ...
- python 图像处理,画一个正弦函数
import numpy as np from PIL import Image import matplotlib.pyplot as plt import math size = 300 new_ ...
- 2018-2019 20175232 实验二《Java面向对象程序设计》实验报告
一.实验内容及步骤 1熟练掌握Junit和TDD: TDD(Test Driven Devlopment, 测试驱动开发)我们是该“先写产品代码,然后再写测试代码,通过测试发现了一些Bugs,修改代码 ...
- 爬虫----scrapy账号登录豆瓣,并且重定向到电影界面,获取界面信息
Request:这是url重定向 FormRequest:这是表单提交,就是登录界面时,输入账号.密码,点击登陆的过程 # -*- coding: utf-8 -*-import scrapyfrom ...
- Qt QComBox 文本框输入itemText && 文本框查找item && 本文框添加Item &&设置显示Item数量
comBox的几种状态图如下: 图1:ui->comboBox->setEditable(true); 图2:ui->comboBox->setEditable(false ...