文本生成中的PGN网络

传统的seq2seq-attention

encoder通过self-attention机制计算出各输入向量的隐表示来作为K,V,decoder中每个时间步的输入隐状态作为Q,然后Q和K做点乘经softmax操作得到各输入向量的权重,然后再和V做点乘得到上下文表示,将上下文表示和该时间步的输出隐表示拼接后作为该时间步的解码输出

指针网络 Pointer Network

指针网络就是生成一个指向输入中每个词的概率分布,使用attention权重作为概率分布,(替换了softmax操作)
传统的seq2seq-attention最后经softmax生成vacab的概率分布,根据每个时间步计算的attention权重生成一个输入词汇(假设输入有T个词)的概率分布,学习一个0到1之间的权重,将这两个概率分布按各自的比重相乘后进行拼接,得到一个(V+T)维的概率分布,选取概率最大的作为输出。
优点:适合从输入中直接拷贝某些词
缺点:某个词在vocab中出现过也在输入中出现过,将会有两个概率
在这里插入图片描述

Pointer Generate Network

学习一个0到1之间的gen权重,将两种概率分布分别乘以权重后进行相加,更倾向于选择输入词汇中的词。
在这里插入图片描述

Coverage mechanism

解决输出重复现象
不希望模型在过多的依赖,关注输入中的某个词,尽量使得在不同的时间步去关注不同位置的词。
正则项:期望输入每个位置得到的attention值尽量平均起来
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石头猿rock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值