通俗易懂理解Attention机制
阅读大概需要5分钟
跟随小博主,每天进步一丢丢
作者:何之源
链接:https://zhuanlan.zhihu.com/p/28054589
来源:知乎
Attention机制理论
在Encoder-Decoder结构中,Encoder把所有的输入序列都编码成一个统一的语义特征c再解码,因此, c中必须包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈。如机器翻译问题,当要翻译的句子较长时,一个c可能存不下那么多信息,就会造成翻译精度的下降。Attention机制通过在每个时间输入不同的c来解决这个问题,下图是带有Attention机制的Decoder:
每一个c会自动去选取与当前所要输出的y最合适的上下文信息。具体来说,我们用衡量Encoder中第j阶段的hj和解码时第i阶段的相关性,最终Decoder中第i阶段的输入的上下文信息就来自于所有对的加权和。
举个栗子
以机器翻译为例(将中文翻译成英文):
输入的序列是“我爱中国”,因此,Encoder中的h1、h2、h3、h4就可以分别看做是“我”、“爱”、“中”、“国”所代表的信息。在翻译成英语时,第一个上下文c1应该和“我”这个字最相关,因此对应的就比较大,而相应的 就比较小。c2应该和“爱”最相关,因此对应的就比较大。最后的c3和h3、h4最相关,因此、的值就比较大。
至此,关于Attention模型,我们就只剩最后一个问题了,那就是:这些权重是怎么来的?
事实上,同样是从模型中学出的,它实际和Decoder的第i-1阶段的隐状态、Encoder第j个阶段的隐状态有关。
同样还是拿上面的机器翻译举例,的计算(此时箭头就表示对h'和同时做变换):
的计算:
的计算:
以上就是带有Attention的Encoder-Decoder模型计算的全过程。
实例代码
之前我写的一篇实现机器翻译的代码和Attention机制公式详解的文章:
基于attention的seq2seq机器翻译实践详解
IELTS a bit
under way 进行中;航行中;在行进
dislodge vt. 驱逐;使...移动;用力移动
vi. 驱逐;离开原位
setting n. 环境;安装;沉落
v. 放置;沉没;使...处于某位置
replenish vt. 补充,再装满;把...装满;给...添加燃料
flourishing adj. 繁华的;繁茂的;盛行的
v. 茂盛
优质公众号推荐
主攻内容:Python基础巩固,进阶以及有趣应用
公号特色:全面发展,包括但不限于Python、Linux等。
功能简介:领域包括了「面向 Python 基础,进阶和有趣应用」的一站式技术分享,挖掘学习者在学习当中遇到的各类问题并分享经验,关注实用技能和有趣新闻,感兴趣的推荐关注。
笔者自述:号主是一个爱读书的码农,致力于打造一个有用、良心、走心的公众号。
【这个公众号博主是在我300粉丝的时候认识的,一句话总结:被技术耽误的大文豪O.O】
推荐阅读:
精彩知识回顾
谈谈我在自然语言处理入门的一些个人拙见
大数定律和中心极限定理的区别和联系
深度学习之激活函数详解
深度学习之卷积神经网络CNN理论与实践详解
深度学习之RNN、LSTM及正向反向传播原理
TreeLSTM Sentiment Classification
基于attention的seq2seq机器翻译实践详解
【干货】基于注意力机制的seq2seq网络
欢迎关注深度学习自然语言处理公众号,我会每天更新自己在机器学习,深度学习,NLP,linux,python以及各种数学知识学习的一点一滴!再小的人也有自己的品牌!期待和你一起进步!
长按识别二维码
点个赞呗
通俗易懂理解Attention机制相关推荐
- 深入理解attention机制
深入理解attention机制 1. 前言 2. attention机制的产生 3. attention机制的发展 4. attention机制的原理 5. attention的应用 参考文献 1. ...
- 干货|理解attention机制本质及self-attention
点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 上一篇,我们讲述了attention的知识,这篇接上篇,更加深入的理 ...
- 理解Attention机制原理及模型
目前采用编码器-解码器 (Encode-Decode) 结构的模型非常热门,是因为它在许多领域较其他的传统模型方法都取得了更好的结果.这种结构的模型通常将输入序列编码成一个固定长度的向量表示,对于长度 ...
- 【论文阅读】深入理解Attention机制
1. 什么是Attention机制? 其实我没有找到attention的具体定义,但在计算机视觉的相关应用中大概可以分为两种: 1)学习权重分布:输入数据或特征图上的不同部分对应的专注度不同,对此Ja ...
- 【Attention】深入理解Attention机制
原文链接: 1. 什么是Attention机制? 其实我没有找到attention的具体定义,但在计算机视觉的相关应用中大概可以分为两种: 1)学习权重分布:输入数据或特征图上的不同部分对应的专注度不 ...
- 系统学习NLP(二十三)--浅谈Attention机制的理解
转自:https://zhuanlan.zhihu.com/p/35571412 Attentin机制的发家史 Attention机制最早是应用于图像领域的,九几年就被提出来的思想.随着谷歌大佬的一波 ...
- 浅谈Attention机制
浅谈Attention机制 Attention注意机制现在大热,很多深度学习的框架都带上了注意力机制,而且也取得了很好的性能指标.乘着大热也来水一水文章,发表发表自己的看法.事先说明老哥我在NLP上萌 ...
- python attention机制_[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心)...
[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心) 笔者在[深度概念]·Attention机制概念学习笔记博文中,讲解了Attention机制的概念与技术细节,本篇内 ...
- attention机制--加权
参考:https://zhuanlan.zhihu.com/p/35571412 什么是注意力机制? 注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度 ...
- 理解LSTM/RNN中的Attention机制
转自:http://www.jeyzhang.com/understand-attention-in-rnn.html,感谢分享! 导读 目前采用编码器-解码器 (Encode-Decode) 结构的 ...
最新文章
- 计算机网络面试知识总结1
- 菜鸟学习Hibernate——简单的一个例子
- Your WebGL implementation doesn't seem to support hardware accelerated rendering. Check your browser
- WindowsAPI-Findwindow函数和FindWindowEx用法
- 多线程编程2-NSOperation
- 每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。...
- ‘UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte‘成功解决
- 【Antlr】cannot create implicit token for string literal in non-combined grammar xx
- 史上最详细的Studio教程二来啦
- vbs整人代码,表白+提醒 两段代码就OK
- 100以内的奇数和是多少_一百以内所有奇数和偶数有哪些
- 【Unity3D】个人开发台球小游戏
- Python学习笔记(二)(图灵学院)
- 右键新建没有Word怎么办?右键新建添加Word方法!
- 3 个月前被裁员了,心情跌落谷底,直到我看到了这本神书…
- 海尔张瑞敏 :人不成熟的五大特征
- 职工食堂报餐系统源码java,企业食堂报餐消费管理系统
- 2018思辨与创新章末测试答案
- 学区房和学位房的区别-查查吧深圳学区房地图
- 用八爪鱼获取微博社区管理中心的举报文本