前言:
依然借用机器翻译任务作为例子来理解这些概念
注意力机制Attention 是 基于Encoder-Decoder框架的
encoder-decoder本质是两个循环神经网络(‘隐藏状态’ 或 ‘记忆细胞’记录当前时间步的信息,并传递到下一时间步),做的事情就是将输入序列映射到输出序列。也即是机器翻译任务中的seq2seq模型。
encoder-decoder本质是两个循环神经网络(隐藏状态/记忆细胞记录当前时间步的信息)
下面是学习attention机制过程中保存的笔记:
一个注意力模型和经典的序列到序列(seq2seq)模型相比,主要有 2 点
不同
:
1.编码器会把更多的数据传递给解码器。编码器把所有时间步的 hidden state(隐藏层状态)传递给解码器,而不是只传递最后一个 hidden state2.注意力模型的解码器在产生输出之前,会做一些额外的处理。为了把注意力集中在与该时间步相关的那些输入部分。解码器做了如下的处理:查看所有接收到的编码器的 hidden state(隐藏层状态)。其中,编码器中每个 hidden state(隐藏层状态)都对应到输入句子中一个单词。(一个hidden state对应一个时间步,时间步对应一个单词);将每个 hidden state(隐藏层状态)乘以经过 softmax 归一化的对应分数,从而使得,得分高对应的 hidden state(隐藏层状态)会被放大,而得分低对应的 hidden state(隐藏层状态)会被缩小弱化。