自然语言处理中的注意力机制是干什么的?
来源:互联网 发布:淘宝异常交易认证 编辑:程序博客网 时间:2024/05/01 15:13
谈神经网络中注意力机制的论文和博客都不少,但很多人还是不知道从哪看起。于是,在国外问答网站Quora上就有了这个问题:如何在自然语言处理中引入注意力机制?
技术主管Nikhil Dandekar做出了一个简要的回答:
概括地说,在神经网络实现预测任务时,引入注意力机制能使训练重点集中在输入数据的相关部分,忽略无关部分。
注意力是指人的心理活动指向和集中于某种事物的能力。比如说,你将很长的一句话人工从一种语言翻译到另一种语言,在任何时候,你最关注的都是当时正在翻译的词或短语,与它在句子中的位置无关。在神经网络中引入注意力机制,就让它也学会了人类这种做法。
注意力机制最经常被用于序列转换(Seq-to-Seq)模型中。如果不引入注意力机制,模型只能以单个隐藏状态单元,如下图中的S,去捕获整个输入序列的本质信息。这种方法在实际应用中效果很差,而且输入序列越长,这个问题就越糟糕。
图1:仅用单个S单元连接的序列转换模型
注意力机制在解码器(Decoder)运行的每个阶段中,通过回顾输入序列,来增强该模型效果。解码器的输出不仅取决于解码器最终的状态单元,还取决于所有输入状态的加权组合。
图2:引入注意力机制的序列转换模型
注意力机制的引入增加了网络结构的复杂性,其作为标准训练模型时的一部分,通过反向传播进行学习。这在网络中添加模块就能实现,不需要定义函数等操作。
下图的例子,是将英语翻译成法语。在输出翻译的过程中,你可以看到该网络“注意”到输入序列的不同部分。
图3:翻译网络示意图
由于英语和法语语序比较一致,从网络示意图可以看出,除了在把短语“European Economic Zone(欧洲经济区)”翻译成法语“zone économique européenne”时,网络线有部分交叉,在大多数时,解码器都是按照顺序来“注意”单词的。
- 自然语言处理中的注意力机制是干什么的?
- 注意力机制(Attention Mechanism)在自然语言处理中的应用
- 注意力机制(Attention Mechanism)在自然语言处理中的应用
- 注意力机制(Attention Mechanism)在自然语言处理中的应用
- 注意力机制(Attention Mechanism)在自然语言处理中的应用
- 深度学习方法(九):自然语言处理中的Attention Model注意力模型
- 序列模型中的注意力机制
- 深度学习中的注意力机制
- 深度学习中的注意力机制
- 深度学习中的注意力机制
- Attention, 神经网络中的注意力机制
- drupal中的钩子是干什么的
- java中的volatile是干什么的
- 嵌入式中的Makefile是用来干什么的?
- manifest中的largeHeap是干什么用的?
- manifest中的largeHeap是干什么用的?
- manifest中的largeHeap是干什么用的?
- manifest中的largeHeap是干什么用的?
- PAT 乙级 1001. 害死人不偿命的(3n+1)猜想 (15)
- Eclipse关于创建子包,总是子包与父包是并列的关系?
- 每日一个linux命令(2):help、man、info命令
- EL表达式的大全(简单易懂)
- 新版阿里云短信接口调用
- 自然语言处理中的注意力机制是干什么的?
- 文章标题
- 编译安装nginx以及其依赖
- ICP相关资料文章网址
- 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
- 《DEEP LEARNING AS A MIXED CONVEX COMBINATORIAL OPTIMIZATION PROBLEM》解读
- Nginx相关指令和Nginx+tomcat配置集群负载均衡配置文件nginx.conf
- NOIP2017提高组复赛游记
- 【Maven】菜鸟入门Maven遇到的坑--添加依赖关系