论文阅读_Show, Attend and Tell: Netural Image Caption Generation with Visual Attention
参考自以下
https://www.cnblogs.com/Determined22/p/6914926.html
https://www.jianshu.com/p/7582df96b081
https://zhuanlan.zhihu.com/p/35703999
0 Abstract
受到机器翻译和目标检测等的启发, 提出了基于注意力机制的图像描述生成模型
1 Introduction
获取图片重要信息,原先的方法是使用CNN的高层网络来表征视觉信息, 但是这样会丢失很多有用的低层次图像信息,而低层次信息能够使模型生成更丰富详细的描述
提出两种基于注意力机制的图像描述生成模型: 使用基本反向传播训练的Soft Attetnion方法和使用强化学习训练的Hard Attention方法
2 Related work
机器翻译中的Encoder/Decoder技术也可用于图像描述生成
相关工作,大多数将图像单一地表示为特征向量, 还有一些工作使用了图像中的目标检测技术
3 Model details
目标:输入原始图片,生成相应的图片描述y,生成的句子长度为c,词典的大小为k
y={y1,...,yc},yi∈RK{y=\{y_1,...,y_c\},y_i \in R^K} y={y1,...,yc},yi∈RK
编码:用卷积网络提取图片特征向量a,L个低层次特征向量,每个向量D维,对应于图像的一个部分
a={a1,...,aL},ai∈RD{a=\{a_1,...,a_L\},a_i \in R^D} a={a1,...,aL},ai∈RD
解码:LSTM,基于上下文内容向量,前一隐态,前面生成的词汇
part1
iti_tit, ftf_tft, ctc_tct, oto_tot, hth_tht 分别为输入、遗忘、记忆、输出门、隐藏层
W,U,Z,bW, U, Z, bW,U,Z,b 是学习的参数和偏置
E∈Rm×KE \in R^{m \times K}E∈Rm×K 是词嵌入矩阵,m/n分别表示嵌入维度和LSTM维度
σ\sigmaσ 是sigmoid激活函数
part2
向量 zt^\hat{z_t}zt^ 是 ttt 时刻图像相关输入部分的动态表示。
定义了一种机制 ϕ\phiϕ ,从 aia_iai 中计算 zt^\hat{z_t}zt^ ,i=,...,Li = ,... ,Li=,...,L ,对应于从图片不同部分提取的特征标记向量。
对于每一个位置 iii , 这种机制可以计算出一个积极的权重 αi\alpha_iαi , 可以将这个权重解释为 iii 是产生下一个单词需要注意的正确位置的概率(Soft), 也可解释为位置 iii 与 aia_iai 结合的相关重要性(Hard)。
每个注释向量aiaiai的权重 αi\alpha_iαi 是注意力模型 fattf_{att}fatt 根据 ht−1h_{t-1}ht−1 得到的, 之后便可以计算内容向量 zt^\hat{z_t}zt^part3
LSTM初始的记忆与隐藏状态由两个独立MLPs(多层神经网络)喂进注释向量时计算得出
part4
最后的输出,使用一个深层的网络, 根据图像内容向量、之前生成的单词、解码器隐含层状态向量, 计算下一个输出单词的概率
4.1 Stochastic “Hard” Attention fattf_{att}fatt
随机的"hard"注意
part1
权重 αti{\alpha_{t_i}}αti 所扮演的角色是图像区域 aia_iai 在时刻 t 被选中作为输入decoder的信息的概率,有且仅有一个区域会被选中。为此,引入变量 st,is_{t,i}st,i ,当区域 i 被选中时取值为1,否则为0
将 sts_tst 视作隐变量,为参数是 {αi}{\{\alpha_i\}}{αi} 的多元贝努利分布(贝努利分布就是两点分布)
part2
为了使用极大似然估计,需要将隐变量 marginalize out,然后用marginal log-likelihood的下界(variational lower bound)来作为目标函数 LsL_sLs ,这一思路就是EM算法的思路
式中的 yyy 是为图像 aaa 生成的一句caption(由一系列one-hot编码构成的词序列)。不等号那里是Jensen不等式
part3
- 对目标函数求梯度
- 用 N 次蒙特卡洛采样近似
- 在蒙特卡洛方法估计梯度时,可以使用滑动平均来减小梯度的方差。在第 k 个mini-batch时,滑动平均被估计为先前对数似然伴随指数衰减的累积和
part4
为进一步减小方差,引入多元贝努利分布的熵 H[s] ;而且对于一张给定图片,0.5的概率将 s~{\widetilde{s}}s 设置为它的期望值 α 。这两个技术提升了随机算法的鲁棒性。最终的学习规则如下。
其中的两个系数是超参数。实际上,这个规则等价于REINFORCE:attention选择的一系列action的reward是与在采样attention轨迹下目标句子的对数似然成比例的。
4.2. Deterministic “Soft” Attention
确定的"Soft"注意力
part1
权重 αti{\alpha_{t_i}}αti 所扮演的角色是图像区域 aia_iai 在时刻 t 的输入decoder的信息中的所占的比例。即,将各区域 aia_iai 与对应的权重 αt,i{\alpha_{t,i}}αt,i 做加权求和就可以得到 zt^\hat{z_t}zt^
和机器翻译中非常标准的end-to-end训练非常像,整个模型光滑、可微,利用反向传播来进行end-to-end的训练
part2
文章定义了归一化加权几何平均值(NWGM)
表示caption的结果可以通过文本向量很好的近似,即caption结果有效,也表示soft attention是关于attention位置的边缘似然的近似
part3
双向随机正则,目的是为了让attention平等的对待图片的每一区域,强迫使图像的每个区域在整个解码过程中的权重之和都相等,在目标函数中体现为一个惩罚项,来使图像的各个区域都对生成caption起到贡献
增加一个跟时间有关的维度因子可以让模型的注意力集中在图像的目标上,让解码器决定是把重点放在语言建模还是在每个时间步骤的上下文中
part4
- Soft attention通过最小化下式进行训练
4.3 Training Procedure
2种attention模型均使用SGD与自适应学习率进行训练, 在Flickr8k数据集上使用RMSProp效果最好, 而在Flickr30k和MSCOCO上使用Adam
用vgg在ImageNet上进行预训练。VGG第四层最大池化层前的输出为14×14×512,flatten之后为196×512,L=196,D=512,即annotation vectors,也就是前面的 a={a1,...,aL},ai∈RD{a=\{a_1,...,a_L\},a_i \in R^D}a={a1,...,aL},ai∈RD
为了提高效率,每个mini-batch由“拥有相同长度句子”的样本组成,mini-batch尺寸为64,即将不同长度的语句映射到固定长度64。在最大的MS COCO数据库上,使用NVIDIA Titan Black训练时间为3天。
用bleu等指标评分
5 Experiments
5.1 各数据集实验结果
5.2 Evaluation Procedures
对比不同CNN结构对结果的影响
没有使用模型融合的方法,只是用了单独一个模型,且在没有检测模块的前提下,给出了针对每个单词的注意力区域
数据集的划分问题
5.3 Quantitative Analysis
表格中记录
5.4 Qualitative Analysis: Learning to attend
通过将attention部分可视化, 可以在模型的输出端增加额外的解释层。别的模型是通过目标检测才做到的
19层的OxfordNet的使用
attention模型对于区域的学习非常符合人类的认知
6 Conclusion
论文阅读_Show, Attend and Tell: Netural Image Caption Generation with Visual Attention相关推荐
- Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
显示,参加和讲述:具有视觉注意的神经图像字幕生成 Abstract 原文 Inspired by recent work in machine translation and object detec ...
- 图像标注:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
这篇文章是2015年ICML上的一篇文章,把attention机制引入到图像领域的文章,作者Kelvin Xu .Yoshua Bengio等人,来自多伦多大学和蒙特利尔大学. Image capti ...
- 论文阅读-Boosting Data-driven Evolutionary Algorithm with Localized Data Generation
1.昂贵且耗时问题,具有数据量小,适应度函数未知的特点. 2.论文中使用Localized Data Generation在原有数据的基础上,生成近似的数据: 3.对于适应度预测部分,采用多个网络进行 ...
- 【论文阅读】Knowledge Enhanced GAN for IoT Traffic Generation
CCF A 用于物联网流量生成的知识图谱增强 GAN Shuodi Hui, Huandong Wang, Zhenhua Wang, Xinghao Yang, Zhongjin Liu, Depe ...
- 论文阅读:Noise-Resilient Training Method for Face Landmark Generation From Speech
文章目录 前言 方法 预处理 网络结构 噪声适应性训练 Noise-Resilient Training 系统概述 实验 实施细节 前言 这是篇从语音生成3d landmarks的文章, 从题目中可以 ...
- 场景图生成论文阅读笔记 之 Graph R-CNN for Scene Graph Generation
2018 ECCV <Graph R-CNN for Scene Graph Generation> 比较早使用图网络进行场景图生成的论文,对后续工作具有一定的启发性,在这做一记录 文章目 ...
- Github标星24k,127篇经典论文下载,这份深度学习论文阅读路线图不容错过
作者 | Floodsung 翻译 | 黄海广 来源 | 机器学习初学者(ID:ai-start-com) [导读]如果你是深度学习领域的新手,那么你可能会遇到的第一个问题是"我应该从哪篇 ...
- 深度学习论文阅读路线图
https://www.toutiao.com/a6703859415763649031/ 作者:floodsun编译:ronghuaiyang 这是作者一年前整理的东西,有些最新的论文没有包含进去, ...
- 崇志宏 【转载】深度学习进阶规划(论文阅读顺序推荐)--东南大学
阅读文献是搞清楚深度学习本质的基本方式,转载按照顺序阅读文献的整理,对大家会有很好的帮助! 东南大学 崇志宏 1 Deep Learning History ...
最新文章
- 工作中MySql的了解到的小技巧
- hexo绑定个人域名
- USB-A接口和USB-B接口有什么区别?
- jquery实现回车键触发事件
- Vim试水之六:NerdTree插件安装
- 将 Visual Studio 的代码片段导出到 VS Code
- 第二节:如何正确使用WebApi和使用过程中的一些坑
- Android音视频之AudioRecord录音(一)
- Spring IOC基础使用
- 数学中有关c语言的知识点总结,七年级数学基本函数的基本知识点归纳
- 视频转换器怎么用?迅捷视频转换器图文操作教程分享
- IDEA如何导入项目
- SSM流程及核心原理
- redis key 操作大全
- 2020福建计算机等级考试考点,【图解】2020年福建计算机等级考试考生网报步骤...
- 【故事编程:Lambda表达式】之最甜的巧克力(二)
- windows对图片进行标记处理等操作
- Nginx常用Rewrite(伪静态规则)WordPress/PHPCMS/ECSHOP/ShopEX/SaBlog/Discuz/DiscuzX/PHPWind/Typecho/DEDECMS...
- Team Tic Tac Toe
- 计算机控制系统直流电机闭环调速实验,51系列单片机直流电机闭环调速实验1.pdf...
热门文章
- C++ DISALLOW_COPY_AND_ASSIGN宏的作用
- python判断线程是否执行完成_判断Threading.start新线程是否执行完毕的实例
- 阿里云日本区正式开服 飞天系统全球化部署格局初定
- 大小不同图片归一化到给定大小
- debian linux下载路径,Debian 常用命令,debian常用命令
- vm虚拟机安装教程win7
- R语言实战 第2版 中文目录
- 训练好的神经网络 如何预测_普通人如何拥有好声音 精简版入门训练方法总结...
- 使用 kubeadm 初始化 worker节点出现 not ready 故障
- k8s节点NotReady状态