同ip网站怎么做怎样做网站平台
Attention应用 :
注意力机制即 Attention mechanism在序列学习任务上具有巨大的提升作用,在编解码器框架内,通过在编码段加入Attention模型,对源数据序列进行数据加权变换,或者在解码端引入Attention 模型,对目标数据进行加权变化,可以有效提高输入序列对目标序列的注意力的表现。
Attention理解:
上图中Encoder-Decoder框架是没有体现出“注意力模型”的,所以可以把它看作是注意力不集中的分心模型,原因请观察下目标句子Target中每个单词的生成过程如下:
其中f是Decoder的非线性变换函数,可以看出不论生成哪个单词,它们的使用的输入句子Source的语义编码c都是一样的,c是由encoder的Source每个单词编码产生的,这样Source中任意单词对生成某个目标单词yi影响力(权重)都是一样的,没有体现模型出的Attention能力, 在机器翻译场景应用中,用Encoder-Decoder框架来解释,比如输入是英文句子:what's your name?,Encoder-Decoder会逐句翻译成“什么”,"是",“你的”,“名字",显然不对,Source句子中每个单词权重对decoder所有目标单词影响力相同,这是没有引入Attention机制的原理,如果引用Attention模型,在翻译成”是什么“时,比如给出类似概率(权重)值:(what's,0.8),(your,0.1),(name,0.1),这时what's对目标单词生产影响力最大,所以在翻译成"是什么"时,就会与输入词"what's”关联关系最大
Attention如何学习权重值:
:
算出之后,把这个向量作为 RNN 的输入。然后第一个时间点的输出的编码
由
和初始状态
共同决定。我们计算得到
之后,替换之前的
再和每一个输入的encoder的vector计算匹配度,然后softmax,计算向量加权,作为第二时刻的输入……如此循环直至结束,公式如下:
得到之后,就可以作为第t时刻RNN的输入,而
可以作为t时刻RNN的隐状态的输入,这样就能够得到新的隐状态
,如此循环,直到遇到停止符为止。
参考: https://blog.csdn.net/guohao_zhang/article/details/79540014