前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习中的软注意力分析及代码

深度学习中的软注意力分析及代码

作者头像
用户1908973
发布2018-07-20 16:45:09
5640
发布2018-07-20 16:45:09
举报
文章被收录于专栏:CreateAMindCreateAMind

本文摘自 http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.html

基于Attention的图片主题生成

参考 Show, Attend and Tell: Neural Image Caption Generation with Visual Attention https://arxiv.org/abs/1502.03044

code:https://github.com/jazzsaxmafia/show_attend_and_tell.tensorflow

https://github.com/shmsw25/show-attend-and-tell

https://github.com/kelvinxu/arctic-captions 作者代码

⟹⟹ A bird flying over a body of water

如上,根据图片,生成主题描述。

模型

如上图,模型把图片经过CNN网络,变成特征图。 LSTM的RNN结构在此上运行Attention模型,最后得到主题输出。

编码

特征图均匀地切割成多个区域,表示为

L表示切割的区域个数。 如区域大小为14×14,D=196。

输出的主题y可以编码为

K是字典的单词个数,C是句子长度。 yi的形式为 (0,0,…,0,1,0,…,0,0),即只有第i处位置为1,其它位置为0。

解码使用lstm

z^t是对整张图片部分信息的动态表示,一个Attention模型,如下计算

其中 i表示第 i个特征区域,共 L 个。 函数 fatt采用多层网络实现,利用前一时刻的隐藏状态 ht−1 与 L 个特征区域,分别得到每个区域的权重 αti 。 权重 αti可以理解为(1)下一步选择哪一个特征区域的概率,也可以理解为(2)每一个特征区域在下一次输入中所占的比例。 不同的理解与应用,体现在函数 ϕ 的不同实现上。 按(1)实现称为 Stochastic “Hard” Attention ,按(2)实现称为 Deterministic “Soft” Attention。 下图上一排为 soft 模型,下一排为 hard 模型。

LSTM中的记忆单元与隐藏单元的初始值,是两个不同的多层感知机,采用所有特征区域的平均值来进行预测的:

而最终的单词概率输出,采用深度输出层实现

Deterministic “Soft” Attention

上面的随机模型需要采样位置 st,我们还可以通过直接计算 ẑ t

这就是Deterministic “Soft” Attention模型,通过 α 来选择感兴趣的特征区域。 该模型可以通过端到端的的反馈方法进行学习。

在计算 α 的时候,有

来保证感兴趣的所有区域的权重和为1。 另外,可以加入一个新的正则化,每一个区域在 TT 步中,被观察的权重拉近:

这个正则的加入,可以使得生成的主题更加丰富。就是结果更好嘛!

另外,在 z^t 的计算中添加一个标量进行缩放,通过前一个隐藏单元 ht−1 来计算

最终,端到端的目标函数可写为

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于Attention的图片主题生成
    • 模型
      • 编码
        • 解码使用lstm
          • Deterministic “Soft” Attention
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档