beam-search及其torch实现

11 篇文章 0 订阅

注: 来源于cs224n2019-a4作业代码
NG视频介绍
我的另一篇博客
在这里插入图片描述
beam-search为一种解码算法,应用于test部分,在train中不使用因为train都会有一个正确答案,并不需要特地的去选择。思想~~最短路径,一定要理解它与维特比算法以及greedysearch之间的区别,这里不多叙述。

流程

以【seq2seq-attention】为例,beam-size= 3,输入X首先通过encoder部分形成decoder的初始状态(decoder-init-state),decoder还需要初始输入’(start)’,然后从输出中选择3个概率最高的词,放入候选列表中,这三个词作为下一轮decoder的输入,每个词生成另外3个概率最高的词(**也就是说第二轮decoder将生成9个词),从这些词中再次选择概率最高的三个词,以此类推,直至出现‘(end)’或者达到最大解码次数为止

代码

https://github.com/pcyin/pytorch_basic_nmt/blob/master/nmt.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值