什么是注意力(Attention)?

  注意力机制可看作模糊记忆的一种形式。记忆由模型的隐藏状态组成,模型选择从记忆中检索内容。深入了解注意力之前,先简要回顾Seq2Seq模型。传统的机器翻译主要基于Seq2Seq模型。该模型分为编码层和解码层,并由RNN或RNN变体(LSTM、GRU等)组成。编码矢量是从模型的编码部分产生的最终隐藏状态。该向量旨在封装所有输入元素的信息,以帮助解码器进行准确的预测。其用于充当模型解码器部分的初始隐藏状态。

  Seq2Seq模型的主要瓶颈是需要将源序列的全部内容压缩为固定大小的矢量。如果文本稍长,则很容易丢失文本的某些信息。为解决这个问题,注意力应运而生。注意机制通过使解码器回顾源序列隐藏状态,然后将其加权平均值作为附加输入提供给解码器来缓解该问题。使用注意力,顾名思义,模型在解码阶段选择最适合当前节点的上下文作为输入内容。

注意力与传统的Seq2Seq模型有两个主要区别:

  第一,编码器向解码器提供更多数据,并且编码器会向解码器提供所有节点的隐藏状态,而不仅仅是编码器的最后节点的隐藏状态。

  第二,解码器不直接将所有编码器提供的隐藏状态作为输入,而是采用选择机制来选择与当前位置最匹配的隐藏状态。为此,它尝试通过计算每个隐藏状态的得分值并对得分进行softmax计算来确定哪个隐藏状态与当前节点相关性最高,这使得隐藏状态的更高相关性具有更大的分数值,不太相关的隐藏状态具有较小的分数值。然后它将每个隐藏状态与其softmax得分相乘,从而放大分数高的隐藏状态,淹没分数低的隐藏状态。该评分练习在解码器侧的每个迭代时间完成。

参考:

https://baijiahao.baidu.com/s?id=1646339383512667132&wfr=spider&for=pc

最新文章

  1. 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
  2. Swift3.0P1 语法指南——集合类型
  3. IUnknown—COM和MFC
  4. Random()方法的使用
  5. placeholder兼容
  6. 【MySQL】SQL语句嵌套1
  7. 我的window平台下的软件
  8. 过滤器Filter(2)
  9. dubbo初体验
  10. HDU 3501 Calculation 2
  11. 国际化之DateFormat、NumberFormat
  12. deb包转化为rpm包
  13. 一篇文章学懂Shell脚本,最简明的教程在这里
  14. jquery---筛选总结
  15. Codeforces 425E Sereja and Sets dp
  16. chrome刷新CSS
  17. git 28原则
  18. (3) MySQL分区表使用方法
  19. JAVA设计模式-设计原则
  20. SQL Server 2008 R2 企业版安装教程

热门文章

  1. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
  2. 一种获取context中keys和values的高效方法 | golang
  3. 错误捕捉过滤器 .NetCore版
  4. 前端面试之JavaScript的基本数据类型!
  5. MySQL调优之分区表
  6. 深入浅出Java线程池:使用篇
  7. Python 学习笔记(1)
  8. PowerApps画布应用编码规范 和指南
  9. linux:nginx
  10. Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)