第8章 Attention

使用Attention,seq2seq能像我们人一样将注意力集中在必要的信息上。换言之,借助Attention,我们理解了模型时如何工作的。

我们没有办法理解神经网络内部进行了什么工作(基于何种逻辑工作),而Attention赋予了模型“人类可以理解的结构和意义”。

所谓残差连接,就是指“跨层连接”。此时,在残差连接的连接处,有两个输出被相加。因为加法在反向传播时“按原样”传播梯度,所以残差连接中的梯度可以不受任何影响地传播到前一个层。这样一来,即使加深了层,梯度也能正常传播,而不会发生梯度消失(或者梯度爆炸),学习可以顺利进行。

在时间方向上,RNN层地反向传播会出现梯度消失或梯度爆炸的问题。梯度消失可以通过LSTM、GRU等Gated RNN应对,梯度爆炸可以通过梯度裁剪应对。而对深度学习方向上的梯度消失,残差连接很有效。

回看机器翻译的历史,我们可以发现主流方法随着时代的变迁而演变。具体来说,就是从“基于规则的翻译”到“基于用例的翻译”,再到“基于统计的翻译”。现在,神经机器翻译取代了过往的计数,获得了广泛关注。

Transformer是基于Attention构成的,其中使用了Self-Attention技巧,这一点很重要。Self-Attention直译为“自己对自己的Attention”,也就是说,这是以一个时序数据为对象的Attention,旨在观察一个时序数据中每个元素与其他元素的关系。

本章我们学习了Attention的结构,并实现了Attention层。然后,我们使用Attention实现了seq2seq,并通过简单的实验,确认了Attention的出色效果。另外,我们对模型推理时的Attention的权重(概率)进行了可视化。从结果可知,具有Attention的模型以与人类相同的方式将注意力放在了必要的信息上。

本章所学的内容

1.在翻译、语音识别等将一个时序数据转换为另一个时序数据的任务中。时序数据之间常常存在对应关系;

2.Attention从数据中学习两个时序数据之间的对应关系;

3.Attention使用向量内积(方法之一)计算向量之间的相似度,并输出这个相似度的加权和向量;

4.因为Attention中使用的运算时可微分的,所以可以基于误差反向传播法进行学习;

5.通过将Attention计算出的权重(概率)可视化,可以观察输入与输出之间的对应关系;

6.在基于外部存储装置扩展神经网络的研究示例中,Attention被用来读写内存。

使用单词网络,可以计算两个单词之间的相似度。计算单词之间的相似度意味着我们可以测量单词和单词在语义上的距离。而如果没有理解单词含义,就没有办法正确完成此类任务。从这一点来看,同义词库可以说(间接)赋予了计算机理解单词含义的能力。

LSTM的记忆单元是私有存储,对其他层不可见。LSTM将必要信息记录在记忆单元中,并基于记忆单元的信息计算隐藏状态。与此相对,GRU中不需要记忆单元这样的额外存储。

《深度学习进阶:自然语言处理》读书笔记:第8章 Attention相关推荐

  1. 《深度学习进阶 自然语言处理》第五章:RNN通俗介绍

    文章目录 5.1 概率和语言模型 5.1.1 概率视角下的word2vec 5.1.2 语言模型 5.1.3 将CBOW模型用作语言模型的效果怎么样? 5.2 RNN 5.2.1 循环神经网络 5.2 ...

  2. 《深度学习进阶 自然语言处理》第六章:LSTM介绍

    文章目录 6.1 RNN的问题 6.1.1 RNN的复习 6.1.2 梯度消失和梯度爆炸 6.1.4 梯度爆炸的对策 6.2 梯度消失和LSTM 6.2.1 LSTM的接口 6.2.2 LSTM层的结 ...

  3. 读书笔记:深度学习进阶-自然语言处理(俗称鱼书二)

    文章目录 前言 一.神经网络的复习 二.自然语言和单词的分布式表示 2.1什么是自然语言处理 2.2同义词词典 2.3基于计数的方法 2.3.1基于python的语料库的预处理 2.3.2单词的分布式 ...

  4. 《深度学习进阶 自然语言处理》书籍介绍

    写在开头 前面几篇文章介绍了图灵<深度学习入门>一书,接下来将继续带读作者的另一书籍:<深度学习进阶 自然语言处理>. 在这儿我觉得非常有必要解释一下,现在社会上有这么多NLP ...

  5. 《深度探索C++对象模型》读书笔记第五章:构造析构拷贝语意学

    <深度探索C++对象模型>读书笔记第五章:构造析构拷贝语意学 对于abstract base class(抽象基类),class中的data member应该被初始化,并且只在constr ...

  6. 【汇总推荐】深度学习、自然语言处理干货笔记汇总

    今天这篇文章对十一月份推送的干货笔记,做一个总结,大家可以进行分类查找,希望对大家有所帮助. 人工智能实战技巧与学习方法系列免费公开课 [重磅福利]人工智能实战技能与学习方法系列公开课免费分享 深度学 ...

  7. 《Python深度学习》第一部分读书笔记

    第1章 什么是深度学习 文章目录 第1章 什么是深度学习 1.1 人工智能.机器学习与深度学习 1.1.1 人工智能 1.1.2 机器学习 1.1.3 从数据中学习表示 1.1.4 深度学习的深度 1 ...

  8. 《深度学习进阶 自然语言处理》学习笔记(2)

    前篇链接 link 目录 第五章 RNN 语言模型 RNN模型 模型架构 一个典型RNN单元的计算图 损失函数的设置 评价指标 总结 第六章 Gated RNN 上一章RNN存在的问题 梯度爆炸与梯度 ...

  9. 深度学习进阶 自然语言处理

  10. 强化学习(RLAI)读书笔记第六章差分学习(TD-learning)

    第六章:Temporal-Difference Learning TD-learning算法是强化学习中一个独具特色而又核心的想法,结合了蒙特卡洛算法和动态规划的想法.和MC一样不需要环境模型直接从s ...

最新文章

  1. mysql中的 explain 关键字学习笔记
  2. 苹果CMS V10 播放记录_苹果cms新手入门安装配置教程
  3. 微型计算机1tb等于,计算机应用基础第一套试卷100分
  4. python中int函数规则_python数字规则和内建函数
  5. 工作绩效数据、工作绩效信息和工作绩效报告的区别
  6. python简单程序实例-python实现的简单窗口倒计时界面实例
  7. unity 改变ui文字_如何在Unity中实现逐字打印UI中的Text文字
  8. 详解百度地图API之地图操作
  9. Qt 周立功USBCAN总线上位机
  10. mysql索引失效的常见原因
  11. TeamViewer15免费版更换账户登录设备
  12. Java 第三方ui库_Uiautomator打包使用第三方库,报错的解决方案
  13. 2014微软校园招聘笔试试题(英文)
  14. 论文导读:TOWARDS END-TO-END SPOKEN LANGUAGE UNDERSTANDING
  15. 锂电池电量百分比计算_锂电池容量计算
  16. HTML5 JavaScript CSS 表单实现购物优惠打折
  17. 强大的iOS开发必备工具
  18. 计算机网络应用基础教学计划,高一计算机网络应用基础教学计划
  19. [山东科技大学OJ]1334 Problem D: 动态的字符串排序
  20. MISC-zip压缩包的总结

热门文章

  1. 到底谁牛 Linux邮件服务器软件比较
  2. 根据ID取商品详情原数据 API 返回值说明
  3. 实验21:烟雾传感器实验
  4. Searchme一个很酷的搜索引擎
  5. 天天基金估值数据接口http://j4.dfcfw.com/charts/pic6/基金代码.png
  6. 瑞隆源 | 防雷硬角儿 · 压敏电阻杜绝电路NG
  7. 小弟想转行,请兄弟们给出点招啊.....
  8. 2018 年 JavaScript 生态圈调查报告出炉!
  9. CAD创建和组织数据库
  10. 基于AidLux平台实现智慧社区中高空抛物和车辆车牌识别