beam search的例子

看了一下网上对beam search的讲解,感觉都说的太杂了,我试图用一个最简单的例子来帮助读者理解。

见下图
在这里插入图片描述
假设我有一个模型,能够根据当前词输出下一个词的概率分布,最后依次这样就能生成一大串文本。
以上面的图为例
“The”
的下一个词的最大概率为“nice”, p=0.5
但这样选容易造成“局部最优”
所以指定beam size是2时,保留概率最大和第二大的组合。

概率最大的是“The nice”(p = 0.5)
概率第二大的是“The dog”(p = 0.4)
概率最小“The car”(p = 0.1)

不再考虑未纳入当前序列的节点即“car”
再向后拓展一步,三个词时有以下组合:

“The dog and”(p = 0.02)
“The dog runs”(p = 0.02)
"The dog has"(p = 0.36)
"The nice woman"(p = 0.2)
“The nice house”(p = 0.15)
“The nice guy”(p = 0.15)

依然是选择其中最大的两种组合作为当前序列

“The dog has”(p = 0.36)
“The nice woman”(p = 0.2)

原来2-grams最大的序列,在3-grams时不再是最大的,体现了局部最优和全局最优的区别(这句话看不懂也没关系,不影响对这个算法的理解)

如果继续向下,按照这个方法继续进行拓展

直到遇到结束符或者达到最大长度为止。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值