[关闭]
@songying 2018-10-18T20:36:32.000000Z 字数 2221 阅读 1582

Show and tell: Neural Image Caption Generation with Visual Attention

Attention


https://zhuanlan.zhihu.com/p/35703999
https://www.cnblogs.com/taojake-ML/p/6113459.html

这篇文章是attention mechanism的开山之作。

Abstract

我们引入attention来自动描述images的内容。

Introduction

在本文中, 我们针对 caption generation 提出了两种基于注意力机制的方法: 基于基本反向传播训练的soft Attention方法和 使用强化学习训练的Hard Attention方法。

本文中我们的贡献如下:
1. 提出两种基于注意力机制的图像描述生成模型: 使用基本反向传播训练的Soft Attetnion方法和使用强化学习训练的Hard Attention方法.
2. 可视化注意力模型.
3. 在多个数据集上量化验证Attention的作用.

Image Caption Generation with Attention Mechanism

3.1. Model Detail

本节先介绍两种注意力机制的共同框架, 二者主要的区别在第四节中描述。

模型的目标是将图片转化为编码过的句子


其中, K是词典的大小(包含单词的数量), C是句子的长度.

3.1.1 Encoder: Convolutional Features

本层目的是使用CNN获取image的特征。
使用CNN提取L个低层次特征向量, 每个D维特征向量对应于图像的一部分:

3.1.2: Decoder: LSTM Network

我们使用LSTM来进行解码生产文本描述,计算过程如下

  • : LSTM的输入门
  • : LSTM 的遗忘门
  • : LSTM 的输出门
  • : LSTM 当前输入的单元状态
  • : LSTM 的记忆
  • : LSTM 的隐层状态
  • : 是上下文向量矩阵,
  • : 表示的是图片某一位置的信息
  • : 是词向量矩阵

简而言之, 上下文向量 时刻图像相关部分的动态表示。 我们定义了一种机制 来根据向量 来计算, 其中, 对应的是图像不同上提取到的特征。对于每个位置 i, 该机制生成一个权重 , 表示的是 位置 i 对 生成下一个词的影响力或重要性。而权重 是用 注意力模型 来计算所得的, 而针对hard attention 与 soft attention,我们有不同的

隐层的初始状态表示:

最终的输出为:

4. Learning Stochastic “Hard” vs Deterministic “Soft” Attention

本节中我们讨论两种注意力机制 : stochastic attention and deterministic attention.

二者区别:

Stochastic “Hard” Attention

我们使用位置变量 表示在生成 个词时模型所关注的区域。如果第i个位置被用来提取图像特征的位置,那么我们就设 , 其余位置都设置为0。

Deterministic "Soft" Attention

Soft Attention是参数化的(Parameterization),因此可导,可以被嵌入到模型中去,直接训练。梯度可以经过Attention Mechanism模块,反向传播到模型其他部分。

Hard Attention是一个随机的过程。Hard Attention不会选择整个encoder的输出做为其输入,Hard Attention会依概率Si来采样输入端的隐状态一部分来进行计算,而不是整个encoder的隐状态。为了实现梯度的反向传播,需要采用蒙特卡洛采样的方法来估计模块的梯度。

目前Soft Attention是研究热点。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注