attention机制

本文详细介绍了attention机制在seq2seq模型中的作用,如何解决长文本信息丢失问题,以及不同类型的attention模型,如Bahdanau、Luong和self attention。同时,讨论了attention与RNN、CNN的关系,并提及在机器翻译领域的应用。
摘要由CSDN通过智能技术生成

(一)tensorflow入门笔记

(二)RNN,LSTM和GRU原理

(三)attention机制

(四)seq2seq实例详解


背景:

seq2seq模型decoder的初始状态一般直接设为encoder最后的隐藏层状态,但是这样输入中较早的信息很容易丢失,在文本较长的情况下decoder不能很好得获取对应的输入信息。有人提出类似人的注意力机制,给对应的输入部分一个更高的权重,使之被“注意”到,也可以理解为一个对齐的过程。在NLP领域,Dzmitry Bahdanau等人首先提出了soft attention模型,也被称为加性注意力模型[1]。后续出现了一系列改进,包括hard attention,copynet,pointer softmax等等,都是源于attention的思想。

FB和google都尝试抛弃RNN的结构进行创新,google选择的是attention模型,FB选择的是CNN。
个人理解:attention可以视为一个全连接层,看似和CNN很相似,不同之处在于CNN利用卷积层做的是一个局部感知,而attention是全局感知,作用于整个句子。


原理:

attention的本质其实就是计算输入与decoder输出的词的相似度,即 ∑ i f ( s i , h j ) {\sum_i f(s_i, h_j)} if(si,hj)。方法可以大致分为四类,dot: f = s T h {f = s^T h} f=sTh,general: f = s T W h {f = s^T W h} f=sTWh, concat: f = W [ s ; h ] {f = W [s;h]} f=W[s;h], perceptron: f = v T t a n h ( W 1 s + W 2 h ) {f = v^T tanh(W_1s+W_2h)} f=vTtanh(W1s+W2h)

基础seq2seq模型中,decoder每次的输入是[ y i − 1 , s i − 1 ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值