# Summary
## Beam Search (束搜索)
**通俗理解:** 不是每次只选1个最好的词,而是同时保留K条"候选路径"。
**例子 (beam_size=3):**
```Java
"今天天气" →
路径1: "今天天气很好" (概率0.6)
路径2: "今天天气不错" (概率0.5)
路径3: "今天天气真棒" (概率0.4)
继续扩展每条路径,始终保留总概率最高的3条
```
**优点:** 能找到全局概率更高的句子,不会因为[[贪心算法]]选择错过好结果
**缺点:** 生成的文本可能比较"安全"、缺乏创意,容易重复
## Group Beam Search (分组束搜索)
**通俗理解:** 把 beam 分成几组,每组内部竞争,**强制不同组之间生成不同的内容**。
**为什么需要?**
- 普通 beam search 的多条路径可能很相似:"天气很好"、"天气真好"、"天气挺好"
- 分组后强制多样性,可能得到:"天气很好"、"阳光灿烂"、"适合出游"
**参数:**
- `num_beams=6, num_beam_groups=3` → 6条beam分成3组,每组2条