当前位置:网站首页>《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文阅读(详细)
《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文阅读(详细)
2022-08-11 05:35:00 【KPer_Yang】
参考资料:
danielajisafe/Image-Captioning-Model (github.com)
贡献:
1、提出一种框架下的两种基于注意力的图像字幕生成方法:
a、一种可以通过标准反向传播可训练的“软”确定性的注意力;
b、一种可以通过最大化近似可变的下界或者REINFORCE的可训练的“硬”随机注意力机制;
2、将注意力可视化表示;
3、在三个数据集Flickr8k、Flickr30k、MS COCO达到最好结果;
模型:
模型的总体结构:
由卷积神经网络提取图片特征,然后由带注意力机制的循环神经网络一个单词接着一个单词生成。
两种注意力结构:
硬注意力和软注意力的区别:
1、硬注意力得到的是类似于one-hot向量的权值。而软注意力得到的是softmax的输出权重值。随机硬注意力需要做Multinoulli的假设,也就是说只有一个等于1(事件发生),其余的都等于0(事件不发生)。
2、硬注意力的随机是因为使用Monte Carlo采样的方式求解,而软注意力的确定是因为使用期望的方式求解 z ^ t \widehat {z}_t zt。
1、随机硬注意力:
p ( s t , i = 1 ∣ s j < t , a ) = α t , i z ^ t = ∑ i s t , i a i . p(s_{t,i}=1|s_{j<t}, \pmb{a})=\alpha_{t,i}\\ \widehat{z}_t=\sum_is_{t,i}\pmb{a}_i. p(st,i=1∣sj<t,aa)=αt,izt=i∑st,iaai.
公式的 s t s_t st指的是模型注意到的第t个词的位置。 s t , i s_{t,i} st,i指的是one-hot变量,当图片中的第 i i i个位置被用来提取视觉特征则置1。
2、确定软注意力:
学习随机软注意力需要每次对注意力位置 s t s_t st进行采样,软注意力直接取上下⽂向量 z ^ t \widehat{z}_t zt的期望,是平滑和可微的:
E p ( s t ∣ a ) [ z ^ t ] = ∑ i = 1 L α t , i a i E_{p(s_t|a)}[\pmb{\widehat{z}}_t]=\sum_{i=1}^{L}\alpha_{t,i}\pmb{a}_i Ep(st∣a)[zzt]=i=1∑Lαt,iaai
并且使用softmax进行归一化。将第 k 个单词预测的 softmax 的归⼀化加权⼏何平均 值(NWGM)写为:
N W G M [ p ( y t = k ∣ a ] = e x p ( E p ( s t ∣ a ) [ n t , k ] ) ∑ j e x p ( E p ( s t ∣ a ) [ n t , j ] ) NWGM[p(y_t=k|\pmb{a}]=\frac{exp(E_{p(s_t|a)}[n_{t,k}])}{\sum_jexp(E_{p(s_t|a)}[n_{t,j}])} NWGM[p(yt=k∣aa]=∑jexp(Ep(st∣a)[nt,j])exp(Ep(st∣a)[nt,k])
将注意力嵌入到decoder中:
如图所示,将注意力结合LSTM得到decoder。图中的 z t ^ \widehat{z_t} zt由注意力机制 f a t t f_{att} fatt作用在图片块上生成:
e t i = f a t t ( a i , h t − 1 ) a t i = e x p ( e t i ) ∑ k = 1 L e x p ( e t k ) z ^ t = ϕ ( a i , α i ) \begin{aligned} e_{ti}&=f_{att}(\pmb{a}_i, h_{t-1}) \\ a_{ti}&=\frac{exp(e_{ti})}{\sum_{k=1}^{L}exp(e_{tk})}\\ \widehat{z}_t&=\phi({\pmb{a}_i},{\alpha_i}) \end{aligned} etiatizt=fatt(aai,ht−1)=∑k=1Lexp(etk)exp(eti)=ϕ(aai,αi)
注:多项式分布:多项式分布是二项式分布的推广。二项式做n次伯努利实验,规定了每次试验的结果只有两个。如果现在还是做n次试验,只不过每次试验的结果可以有m个,且m个结果发生的概率互斥且和为1,则发生其中一个结果X次的概率就是多项分布。概率密度函数是:
P ( X 1 = k 1 , X 2 = k 2 , ⋯ , X n = k n ) = n ! ( k 1 ! ) ( k 2 ! ) ⋯ ( k n ! ) ∏ i = 1 n ( p k i ) P(X_1=k_1,X_2=k_2,\cdots,X_n=k_n)=\frac{n!}{(k_1!)(k_2!)\cdots(k_n!)}\prod \limits_{i=1}^n(p_{k_i}) P(X1=k1,X2=k2,⋯,Xn=kn)=(k1!)(k2!)⋯(kn!)n!i=1∏n(pki)
边栏推荐
- SECURITY DAY01 (Monitoring Overview, Zabbix Basics, Zabbix Monitoring Services)
- SECURITY DAY01(监控概述 、 Zabbix基础 、 Zabbix监控服 )
- HCIP实验(pap、chap、HDLC、MGRE、RIP)
- uboot code analysis 1: find the main line according to the purpose
- HPC platform building
- 自定义MVC增删改查
- My meeting of the OA project (meeting seating & review)
- 什么是Inductive learning和Transductive learning
- Open Set Domain Adaptation 开集领域适应
- HCIP-Spanning Tree (802.1D, Standard Spanning Tree/802.1W: RSTP Rapid Spanning Tree/802.1S: MST Multiple Spanning Tree)
猜你喜欢
随机推荐
华为防火墙-1-安全区域
HCIP 重发布/路由策略实验
CLUSTER DAY03 (Ceph overview, the deployment of Ceph CLUSTER, Ceph block storage)
Arcgis小工具_实现重叠分析
FusionCompute8.0.0实验(1)CNA及VRM安装
AUTOMATION DAY07( Ansible Vault 、 普通用户使用ansible)
HCIA实验
Numpy_备注
Conference OA Project My Conference
Raspberry Pi set static IP address
Top20括号匹配
图文带你理解什么是Few-shot Learning
CLUSTER DAY04(块存储应用案例 、 分布式文件系统 、 对象存储)
HCIP MPLS/BGP Comprehensive Experiment
AUTOMATION DAY07 (Ansible Vault, ordinary users use ansible)
HCIP OSPF/MGRE Comprehensive Experiment
deepin v20.6+cuda+cudnn+anaconda(miniconda)
Class definition, class inheritance, and the use of super
八股文之mysql
CLUSTER DAY01(集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群)