主要参考tensorflow官网案例进行理解,帮助新人进行理解,也方便自己的查询记忆!
将Attention机制应用到NLP领域中
编码端
正常进行编码,attention机制主要是应用在解码端部分!
框架使用的是keras框架,虽然与tensorflow框架稍有不同,但是并不妨碍如何运用attention机制的理解!
解码端
attention计算定义,通过相应计算将编码端的输出、及隐藏状态投入进而生成状态向量context_vector,及attention_weights。
计算公式具体如下:
将解码器输入与context_vector通过tf.concat进行连接。意义在哪?放上这个图方便理解
GRU是LSTM的简化,运算代价更低。
生成的向量及权重中,貌似就只使用了向量,权重难道留着过年了????费解!
权重好像没啥用,官网说的用来后期制图,暂时搁置吧。。。以后继续更新
参考链接:https://www.tensorflow.org/tutorials/text/nmt_with_attention