问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度学习中的Beam Search算法详解

创作时间:
作者:
@小白创作中心

深度学习中的Beam Search算法详解

引用
CSDN
1.
https://m.blog.csdn.net/fj1024/article/details/140043591

在自然语言处理和深度学习领域,beam search是一种常用的解码策略。它通过保留多个候选序列来避免贪心搜索的局限性,但同时也存在一些缺点。本文将详细介绍beam search的工作原理、缺点以及一些改进方法。

Beam Search的基本原理

束搜索(Beam Search)是一种在序列生成任务中常用的解码策略。与贪心搜索不同,束搜索在每个时间步解码时,不再只保留一个分数最高的作为输出,而是保留num_beams个。当num_beams=1时,束搜索就退化成了贪心搜索。

Beam Search的缺点

尽管束搜索比贪心搜索表现更好,但它仍然存在一些问题。例如,生成的文本可能会出现重复、空洞或前后矛盾的情况。为了解决这些问题,研究人员提出了多种改进方法。

改进方法

随机采样

随机采样(sampling)通过引入随机性来替代选择概率最大的词。这种方法可以增大所选词的范围,从而避免过度依赖最高概率的词。

Temperature随机采样

Temperature随机采样通过调整温度参数(T)来控制softmax函数产生的单词概率分布的平滑程度。具体来说:

  • 当温度参数T较高时,指数运算的结果会变得更加平均,导致概率分布更加均匀,各个类别的概率差异较小。
  • 当温度参数T较低时,指数运算的结果会更加集中,导致概率分布更加尖锐,各个类别的概率差异较大。

当温度参数T趋近于无穷大时,softmax函数的输出将趋近于均匀分布,即每个类别的概率接近于1/n,其中n是类别的数量。而当温度参数T趋近于零时,softmax函数的输出将趋近于一个独热编码,即只有最大值对应的类别的概率接近于1,其他类别的概率接近于0。

Top K采样

Top K采样方法在采样前将输出的概率分布截断,取出概率最大的k个词构成一个集合,然后将这个子集词的概率再归一化,最后从新的概率分布中采样词汇。

Top P采样

Top P采样方法通过累加概率,选取前若干个词的概率进行累加,直到达到预设的阈值p。然后取出前面这若干个词,重新进行概率归一化,并把剩下词的概率设为0。

惩罚重复

为了解决重复问题,可以通过惩罚因子将出现过词的概率变小,或者强制不使用重复词来解决。

停止解码策略

束搜索的停止解码策略通常包括两种情况:

  1. 解码到end字符
  2. 早停,即候选序列得分已经低于已解码完的当前最优序列

这些改进方法和策略共同作用,使得束搜索能够在保持较高效率的同时,生成更高质量的序列。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号