Files
notes/resource/ai/Beam Search.md
T
Docker7530 6b50219f55 1776654103
2026-04-20 11:01:47 +08:00

1.4 KiB
Raw Blame History

Beam Search(束搜索)通俗解释

一句话:一种在生成序列(文本、翻译、语音)时,比“贪心”更优、比“穷举”更快的搜索算法

1. 核心场景

AI 生成文字时,每一步都要选下一个词:

  • Greedy Search(贪心):每步只选概率最高的1个,容易局部最优、整体很差。
  • Exhaustive Search(穷举):试所有可能,效果最好但太慢、算力爆炸。
  • Beam Search每步只保留概率最高的 k 个候选路径,平衡效果与速度。

2. 超简单比喻

你要走迷宫找终点:

  • 贪心:每步只走眼前最好的一条路。
  • 束搜索(beam=k):每步保留 top-k 条最好的路,一起往前走,最后选整条路径概率最大的。

3. 关键参数

  • beam width(束宽)= k
    • k=1 = 贪心搜索
    • k越大 → 效果越好、越慢
    • k=无穷 = 穷举

4. 工作流程(极简)

  1. 第一步:选出概率最高的 k 个词
  2. 第二步:对这 k 个词,分别生成下一个词,再从所有结果里重新选 top-k
  3. 重复直到结束,选整条序列概率最大的输出。

5. 优点 & 缺点

优点:

  • 比贪心更通顺、更少局部最优
  • 比穷举快得多、可实际使用

缺点:

  • 仍不是全局最优
  • 可能生成重复、呆板、过于安全的句子(现在大模型多用采样代替)