Pointer Generator Network
原文链接:https://arxiv.org/abs/1704.04368
Motivation
对于文本总结问题,传统seq2seq模型会产生事实性错误、病句(红色),而指针网络会产生重复的情况(绿色)。指针网络+覆盖机制消除了重复,达到了比较好的效果。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222703580-113583357.png)
Review: seq2seq with attention
下图是包含注意力机制的seq2seq模型,每一步的输出通过对前面编码器的隐态进行注意力加权得到。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222716385-798824029.png)
Pointer Generator Network
指针生成网络如下所示,attention权重与该步隐态共同决定概率pgen,决定模型预测来源是词表还是输入。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222730373-776758448.png)
pgen如下公式所示,即编码器隐态、解码器隐态、输入分别进行线性变换,加入偏置后经过非线性激活函数。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222748117-1980456760.png)
Coverage Mechanism
通过引入覆盖机制,防止了重复预测同一单词。
第t步计算覆盖向量ct并加入loss,以减少重复情况。首先针对每个输入计算eit,方式类似attention权重,但将覆盖向量ct加入了计算。然后将其进行softmax并加和得到at。将t步之前的所有a求和得到覆盖向量ct。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222805169-1474890649.png)
将cit与ait的最小值求和加入loss,以对重复现象进行惩罚。在最小化loss的过程中也就必须减少重复。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222819737-1096654962.png)
Results
下图显示了文本总结的效果,加上覆盖机制的指针网络能够达到很好的效果,并避免了重复现象。
![](https://img2020.cnblogs.com/blog/1950008/202005/1950008-20200519222845472-1876427837.png)