NLP之简单笔记:啥是attention model

what is attention model?

在seq2seq中包含encoder和decoder,输入通过encoder得到中间语义编码c,然后c通过decoder再得到输出。

直接上图(参考https://zhuanlan.zhihu.com/p/28054589)
NLP之简单笔记:啥是attention model_第1张图片
从图中可以看到,c传到decoder中的权重是相同的,这样会出现什么问题呢?我们以机器翻译为例进行说明。

现在我们要把“机器学习”翻译成英文“machine learning”,我们希望在翻译“机器”为“machine”的时候,给c的的权重更大,“机器”翻译为“learning”的权重更小;同理,我们希望翻译“学习”为“learning”的时候,给c的权重更大,“学习”翻译为“machine”的权重更小,即我们希望传到decoder不同时间点的c是不同的。这就是attention机制的原理。

下面贴几张李宏毅老师的PPT截图,进行说明。
NLP之简单笔记:啥是attention model_第2张图片
如上图所示,h1和z0通过某种方式,得到:
在这里插入图片描述,可以用余弦相似度或者训练一个神经网络等方法。

NLP之简单笔记:啥是attention model_第3张图片
同理,得到
在这里插入图片描述
再经过softmax得到:
在这里插入图片描述,和hi作加权成绩求和得到c0。同理得到c1,如下图所示:
NLP之简单笔记:啥是attention model_第4张图片

你可能感兴趣的:(NLP之简单笔记:啥是attention model)