注意力机制中的文本(上下文)向量[Context vector]【亟待解决】

1.无注意力机制的Context vector作用提供全局信息。

很清楚,这种定长的context vector设计有个很致命的问题,无法记忆长句子。当处理完所有输入序列后,模型对最初的输入单词已经**“忘得差不多了”**。也就是编码器输出的context vector并不能很好地表征长句子的开头部分信息。所以注意力机制就是为了解决这个问题提出的。

最初提出注意力机制就是为了解决神经机器翻译任务中长的源句子的记忆问题。注意力机制的做法并不要创建一个与编码器最后一个隐状态(last hidden state)完全无关的context vector,而是要创建一个与编码器所有的隐状态有关的 加权 context vector,当然也包括 最后一个隐状态(这就是所谓global attention)

现在context vector 能遍历整个输入序列,所以我们不用担心遗忘的问题。接下来就要学习源语言和目标语言之间的对齐,这种对齐由context vector控制。
 

机器翻译在encoder端以时序输入了一句话(暂且假设这句话是word-level,及逐词入),context vector相当于一个表征,表示为各个词语的加权语境向量,也就是说,这个vector使得这句话中的某个词,与其他词语之间存在上下文关系。一般来说,这里用attention模型赋予权重,在decoding的过程中,由于时序关系,encoder端和decoder端们的hidden units的对齐模型是在不断变化的,weight(用softmax计算)也是在不断变化的。//其实就是Seq2Seq里面编码器解码器的hidden state 更新方式的过程

 

以上为个人理解与网上资料参考,如果有不恰大的地方,欢迎批评与指正,感谢!

参考资料

什么是上下文向量?context vector - 知乎

图解注意力机制_白酱六条的博客-CSDN博客_注意力机制图解

猜你喜欢

转载自blog.csdn.net/weixin_43332715/article/details/124522385