-
参考自以下
-
0 Abstract
受到机器翻译和目标检测等的启发, 提出了基于注意力机制的图像描述生成模型
-
1 Introduction
-
获取图片重要信息,原先的方法是使用CNN的高层网络来表征视觉信息, 但是这样会丢失很多有用的低层次图像信息,而低层次信息能够使模型生成更丰富详细的描述
-
提出两种基于注意力机制的图像描述生成模型: 使用基本反向传播训练的Soft Attetnion方法和使用强化学习训练的Hard Attention方法
-
-
2 Related work
-
机器翻译中的Encoder/Decoder技术也可用于图像描述生成
-
相关工作,大多数将图像单一地表示为特征向量, 还有一些工作使用了图像中的目标检测技术
-
-
3 Model details
-
目标:输入原始图片,生成相应的图片描述y,生成的句子长度为c,词典的大小为k
y = { y 1 , . . . , y c } , y i ∈ R K {y=\{y_1,...,y_c\},y_i \in R^K} y={y1,...,yc},yi∈RK
-
编码:用卷积网络提取图片特征向量a,L个低层次特征向量,每个向量D维,对应于图像的一个部分
a = { a 1 , . . . , a L } , a i ∈ R D {a=\{a_1,...,a_L\},a_i \in R^D} a={a1,...,aL},ai∈RD
-
解码:LSTM,基于上下文内容向量,前一隐态,前面生成的词汇
-
part1
i t i_t it, f t f_t ft, c t c_t ct, o t o_t ot, h t h_t ht 分别为输入、遗忘、记忆、输出门、隐藏层
W , U , Z , b W, U, Z, b W,U,Z,b 是学习的参数和偏置
E ∈ R m × K E \in R^{m \times K} E∈Rm×K 是词嵌入矩阵,m/n分别表示嵌入维度和LSTM维度
σ \sigma σ 是sigmoid激活函数
-
part2
向量 z t ^ \hat{z_t} zt^ 是 t t t 时刻图像相关输入部分的动态表示。
定义了一种机制 ϕ \phi ϕ ,从 a i a_i ai 中计算 z t ^ \hat{z_t} zt^ , i = , . . . , L i = ,... ,L i=,...,L ,对应于从图片不同部分提取的特征标记向量。
对于每一个位置 i i i , 这种机制可以计算出一个积极的权重 α i \alpha_i αi , 可以将这个权重解释为 i i i 是产生下一个单词需要注意的正确位置的概率(Soft), 也可解释为位置 i i i 与 a i a_i ai 结合的相关重要性(Hard)。
每个注释向量 a i ai ai的权重 α i \alpha_i αi 是注意力模型 f a t t f_{att} fatt 根据 h t − 1 h_{t-1} ht−1 得到的, 之后便可以计算内容向量 z t ^ \hat{z_t} zt^ -
part3
LSTM初始的记忆与隐藏状态由两个独立MLPs(多层神经网络)喂进注释向量时计算得出
-
part4
最后的输出,使用一个深层的网络, 根据图像内容向量、之前生成的单词、解码器隐含层状态向量, 计算下一个输出单词的概率
-
-
-
4.1 Stochastic “Hard” Attention f a t t f_{att} fatt
-
随机的"hard"注意
-
part1
-
权重 α t i {\alpha_{t_i}} αti 所扮演的角色是图像区域 a i a_i ai 在时刻 t 被选中作为输入decoder的信息的概率,有且仅有一个区域会被选中。为此,引入变量 s t , i s_{t,i} st,i ,当区域 i 被选中时取值为1,否则为0
-
将 s t s_t st 视作隐变量,为参数是 { α i } {\{\alpha_i\}} {αi} 的多元贝努利分布(贝努利分布就是两点分布)
-
-
part2
-
为了使用极大似然估计,需要将隐变量 marginalize out,然后用marginal log-likelihood的下界(variational lower bound)来作为目标函数 L s L_s Ls ,这一思路就是EM算法的思路
-
式中的 y y y 是为图像 a a a 生成的一句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
-
权重 α t i {\alpha_{t_i}} αti 所扮演的角色是图像区域 a i a_i ai 在时刻 t 的输入decoder的信息中的所占的比例。即,将各区域 a i a_i ai 与对应的权重 α t , i {\alpha_{t,i}} αt,i 做加权求和就可以得到 z t ^ \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 = { a 1 , . . . , a L } , a i ∈ R D {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
最新推荐文章于 2020-12-14 20:30:49 发布