NLP系列3:seq2seq-->pgn
seq2seq
每个词在编码器端,经过双向LSTM,在解码端编码层的隐藏状态和解码器的隐藏状态,做一个加法attention:
其中:
- \(h_i\) -> encoder hidden
- \(s_t\) -> decoder state
- \(b_{attn}\) -> 偏置向量
得到上下文向量\(h_t^*\):
其中:
- \(h_t^*\) -> context vector
有上下文向量和解码的隐藏状态,经过两层线性层,得到最后的词表概率分布
在预测阶段选择概率最大的那个词,作为解码端的输出。在训练的时候,通过求负对数函数,得到损失函数,令损失函数最小:
整个句子的损失为:
- 贡献
Seq2Seq的模型结构在摘要的生成方面提供了可能。
-
缺点
1、无法生成OOV,只能生成词汇表的词
2、会产生错误的事实,比如姓名之间,Amy可能变成Bob;
3、自我重复,如:贴膜,贴膜,质量比较高,贴膜,质量比较高,贴膜,质量比较高,贴膜,质量比较高,贴膜,质量比较高,贴膜,质量比较高,贴膜,质量
改进
指针生成网络 - > PGN
-
一句话概括
将decoder端的softmax加上源端的attention分布的混合概率,两部分的权重依赖\(p_{gen}\),该值在0~1,越大,表示越依赖生成部分。
文章思路
- 首先使用了一种混合的指针生成网络,他能够从源端复制单词,也能够从词表冲生成词语。
- 使用coverage,去追踪那些已经被总结的单词,保证不会重复生成。
pointer generator model
指针生成网络是baseline和指针网络的混合,它可以通过指向去复制,也可以从固定的词表当中去生成词汇。注意力分布的计算和上下文向量的计算不变。
多增加了一个生成概率,属于0~1.对于每一个解码时刻,都存在这样的上下文向量,解码状态隐藏层和解码的输入共同计算概率:
其中:
- \(t\) -> time step
- \(h_t^*\) -> context vector
- \(s_t\) -> decoder state
- \(x_t\) -> decoder input
最后词\(w\)的概率由词表概率和源端(encoder的输入)的attention分布共同获得,如果\(w\)未在源端出现,则\(a\)为0。在预测阶段,输出一个概率分布,其维度是词表长度加上源端句子中未出现在词表冲的单词个数。
其中:
- \(a_i^t\) -> attention weight
因为指针网络控制输出是copy自原文还是从字典生成得到的,如果词w没有在源端,所以我们attention部分的权重应该为0;w若是属于oov,那么\(p_{gen}=0\) .
笔者极端理解情况:假设原始输入的是道奇........,预测是丰田,丰田是个oov词,\(p_{gen}=0\),丰田原文又没有出现,\(a_i^t=0\),那这样是不是就又出现
优点-->解决了seq2seq的1、2两个问题
- pointer-generator network能够很容易的复制输入的文本内容,可以通过\(P_{gen}\)来调节;
- pointer-generator network能够从输入的文本内容中复制oov词汇,这是最大的优点,这个也可以采用更小的词汇表vocabulary,较少计算量和存储空间;
- pointer-generator network训练会更快,在seq2seq训练过程中用更少的迭代次数就能取得一样的效果。
coverage mechanism
在序列到序列的模型中,重复问题是一个普遍问题,尤其长文本摘要生成任务中。在我们的coverage模型中,使用了一个\(c^t\),其代表了当前解码时刻,\(t\)之前的所有注意力分布的和。
\(c^0\)是个零向量,在计算attention得分的时候,我们将词向量作为新的输入.
也需要增加loss惩罚项:
以第一时刻为例,\(c_1\)表示的是\(a_0\),那么\(a_0\)跟\(a_1\)当中选择最小的作为loss.如果\(a_0\)和\(a_1\)关注的都是同样的分布,那么loss就会比较大,如果他们关注的是不同的分布,因为选择的是两个中最小的一个,所以这样loss会比较小.目的就是想让他每一时刻关注的分布是不一样的,这样避免重复.
优点 --> 解决了seq2seq repeat问题
思考
-
问答摘要是人为做出来的,具有主观性,有时候模型生成的是正确的,但是和参考摘要去匹配却只有很低的分.
-
训练参数减少是因为有了copy功能,解决了oov问题,我们的vocab就会更小,所以较少了训练参数量.
参考
本文来自博客园,作者:爱吃帮帮糖,转载请注明原文链接:https://www.cnblogs.com/monkeyT/p/12337556.html