回顾
上一篇笔记里,我们的初学笔记里,我们已经对Attention机制的主要内容作了全面的介绍,这篇笔记,主要是补充我在第二次学习Attention机制时对一些细节的理解与记录。下面我会把整个Attention机制的主要流程通过另外一种方式再过一遍,对其中的一些关键参数的维度,这里也会有所标注。温故而知新,挺好。
Attention的全流程
我们用上面的图来说明Attention机制的整个工作流程。
首先,是Decoder部分:
原始输入是语料分词后的token_id,分批次传入Embedding层得到词向量,再将词向量传入Encoder中的特征提取器进行特征提取,这里使用的是RNN系列的模型(RNN、LSTM、GRU),用RNNs代称,为了更好的捕捉一个句子前后的语义特征,我们这里使用双向的RNNs。两个方向的RNNs所产生的两部分隐藏层状态拼接成一个状态hs进行输出。这是后面Attention所需要用到的重要状态值,它包含了各个输入词的语义,在普通的Seq2Seq模型中,它就是生成的语义编码c。
再看Decoder部分: