来源:Coursera吴恩达深度学习课程

本周的课程我们都在使用这个编码解码的构架(a Encoder-Decoder architecture)来完成机器翻译。当你使用RNN读一个句子,于是另一个会输出一个句子。注意力模型(the Attention Model)会使它工作得更好。注意力这种思想(the attention idea)已经是深度学习中最重要的思想之一,我们看看它是怎么运作的

假设有一个很长的法语句子,绿色的编码器读取并记忆整个句子,然后在感知机中传递(to read in the whole sentence and then memorize the whole sentences and store it in the activations conveyed here)。这个紫色的解码网络(the decoder network)将生成英文翻译。但是,人工翻译并不会读整个法语句子,再记忆里面的东西,然后从零开始,机械式地翻译成一个英语句子。人工翻译可能是看一部分,翻译一部分,一直这样下去。因为记忆整个的像这样的的句子是非常困难的。

看这个Bleu score-Sentence length曲线图,我们看到这个编码解码结构对于短句子效果非常好,于是它会有一个相对高的Bleu分(Bleu score),但是对于长句子而言,比如说大于30或者40词的句子,它的表现就会变差(蓝色曲线)。整体来看,很短的句子很难得到所有词会难以翻译;对于长句子,效果也不好,因为在神经网络中,记忆非常长句子是非常困难的。在之后的学习中,会学习注意力模型,它翻译得很像人类。有了注意力模型,机器翻译系统的表现会像绿色曲线,因为翻译只会翻译句子的一部分,不会有一个巨大的下倾(huge dip),这个下倾实际上衡量了神经网络记忆一个长句子的能力,这是我们不希望神经网络去做的事情。

注意力模型源于Dimitri, Bahdanau, Camcrun Cho, Yoshe Bengio。(Bahdanau D, Cho K, Bengio Y. Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer Science, 2014.)虽然这个模型源于机器翻译,但它也推广到其他应用领域。Andrew认为在深度学习领域,这个是个非常有影响力和开创性的论文。

看这个法语:Jane visite l'Afrique en Septembre(1)假定我们使用一个双向的RNN(a bidirectional RNN),为了计算每个输入单词的的特征集(set of features),我们必须要理解输出y-帽^<1>一直到y-帽^<5>的双向RNN。但是我们并不是只翻译一个单词,让我们先去掉上面的Y,然后对于句子里的每五个单词,计算一个句子中单词的特征集,也有可能是周围的词生成英文翻译。我们将使用另一个RNN生成英文翻译。用记号S来表示RNN的隐藏状态(the hidden state in this RNN),记为S^<1>。我们希望第一个生成的单词将会是Jane,那么我们应该看输入的法语句子的哪个部分?似乎你应该先看第一个单词或者它附近的词,但是别看太远了,比如句尾。

注意力模型就会计算注意力权重(a set of attention weights)。用α^<1,1>来表示生成第一个词时应该放多少注意力在这个第一块信息处。α^<1,2>表示计算第一个词Jane时,我们应该花多少注意力在输入的第二个词上面。α^<1,3>同理。注意力权重将评估应该花多少注意力在记号为C的内容上。这就是RNN的一个单元,如何尝试生成第一个词的,这是RNN的其中一步(蓝色标记)(2)对于RNN的第二步(紫色标记),我们将有一个新的隐藏状态S^<2>,使用一个新的注意力权值集(a new set of the attention weights),α^<2,1>表示在生成第二个词时应该花多少注意力在输入的第一个法语词jane上, visits就会是第二个标签了(the ground trip label)。α^<2,2>也同理,花多少注意力在visite词上。当然我们第一个生成的词Jane也会输入到这里,于是我们就有了需要花注意力的上下文,然后会一起生成第二个词,(3)第三步S^<3>(绿色标记),visits也是输入,我们再有上下文C,它取决于不同的时间集(time sets),其他分析过程类似。

如上图橘色标记,直观来想就是RNN向前进一次生成一个词,直到最终生成可能是。注意力权重α^<t,t>表示当你尝试生成第t个英文词,应该花多少注意力在第t个法语词上面。当生成一个特定的英文词时,这允许它在每个时间步去看周围词距内的法语词要花多少注意力。

以上就是关于注意力模型的一些直观的东西。

说明:记录学习笔记,如果错误欢迎指正!转载请联系我。

注意力模型直观理解(Attention Model Intuition)相关推荐

  1. 3.7 注意力模型直观理解-深度学习第五课《序列模型》-Stanford吴恩达教授

    注意力模型直观理解 (Attention Model Intuition) 在本周大部分时间中,你都在使用这个编码解码的构架(a Encoder-Decoder architecture)来完成机器翻 ...

  2. 【注意力模型】Harmonious Attention Network for Person Re-Identification

    文章目录 Abstract 1 Introduction 2 Related Work 3 Harmonious Attention Network 3.1 Harmonious Attention ...

  3. 多层注意力模型:Hierarchical Attention Networks for Document Classification

    1.简介 文本分类问题一直是自然语言处理(NLP)中一个广受人们关注的问题.可能好多刚接触深度学习做NLP的项目就是使用循环神经网络(RNN)对IMDB影评进行分类.但使用循环神经网络时一般会遇到一个 ...

  4. 带你玩转序列模型之Bleu得分注意力模型语音识别

    目录 一.Bleu得分 二.注意力模型直观理解 三.注意力模型 四.语音识别 五.触发字检测 一.Bleu得分 先跳过,等回头用得到了再来补. 二.注意力模型直观理解 在本周大部分时间中,你都在使用这 ...

  5. Multi-Decoder Attention Model with Embedding Glimpse for Solving Vehicle Routing Problems 学习笔记

    文章目录 摘要 零.一些基础 1.波束搜索(Beam Search) 2.Glimpse层 一.介绍 二.相关工作 三.模型 1.多译码器注意力模型和搜索(Multi-Decoder Attentio ...

  6. Attention Model(注意力模型)思想初探

    1. Attention model简介 0x1:AM是什么 深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但 ...

  7. Attention Model(注意力模型)学习大全

    深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但是在我们深入仔细地观察时,其实眼睛聚焦的就只有很小的一块,这个 ...

  8. 深度学习笔记——Attention Model(注意力模型)学习总结

    深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但是在我们深入仔细地观察时,其实眼睛聚焦的就只有很小的一块,这个 ...

  9. 以Attention Model为例谈谈两种研究创新模式

    在研读AttentionModel相关文献过程中,我再次深切感受到了科研中的两种创新模式:模型创新与应用创新.若干年前,也就是在我年轻不懂事的花样年华里,具体而言,就是在科学院读博士的后期,这种感受就 ...

最新文章

  1. 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
  2. 聚美优品 html 资源,跨界整合行业资源 聚美优品向阳而生
  3. Android防火墙原型系统设计,Android系统网络安全性研究及防火墙设计
  4. 大数据文字游戏_基于大数据的成功应用有哪些 ?
  5. Effective Java之覆盖equal时要遵守通用约定(八)
  6. AI:狄拉克之海上的涟漪
  7. Thinking in Java Reading Note(5.初始化与清理)
  8. uniapp App权限开启
  9. java传智播客答案_传智播客_java基础入门习题答案.docx
  10. 汽车HUD抬头显示全产业链深度解析报告
  11. Ubuntu 14.04LTS下如何安装搜狗拼音输入法
  12. hp服务器装2012系统还原,用HP GEN8+WIN2012+Hyper V+黑群晖5.2组建家庭NAS中心 篇四:WIN 2012 安装 存储池调试及修复...
  13. CDN概念和基本原理
  14. 小狗AI自动建站系统
  15. 关于webservice服务在springboot项目中的开发的介绍
  16. 【JAVA】 多态-上溯造型
  17. Javascript 脚本语言
  18. SAP资产折旧-工作量法业务实践和实操
  19. 见缝插针php源码,见缝插针 小游戏源码
  20. 大学三年级(yuan)

热门文章

  1. Debain 安装SVN服务器 支持http/https 全程指导
  2. Android中获取手机设备信息、RAM、ROM存储信息,如宽、高、厂商名、手机品牌
  3. 网站在线监控工具Statping
  4. srsLTE系统安装教程
  5. unidbg第二讲 例子讲解com.sun.jna.JniDispatch32
  6. 将一个字符串逆序输出
  7. python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中
  8. Julia数据可视化:Gadfly.jl包的使用
  9. 01背包问题 动态规划求解方法 动态方程的详细解释 能理解的解释(附python代码)
  10. spreadsheet属性方法事件