集束搜尋(Beam Search)是什麼?

集束搜尋是一種啟發式搜尋演算法,用於序列預測任務,它在每個時間步保留多個最有可能的候選序列(集束),而非僅僅選擇最佳選項。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Beam Search
主題標籤
自然語言處理、生成式AI、模型訓練
考點定位
非 iPAS 核心術語
最後更新
2026/06/17
集束搜尋(Beam Search)是什麼? 自然語言處理生成式AI
術語快查

搜尋意圖: 如果你在找「集束搜尋 是什麼」或「集束搜尋 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 集束搜尋是一種啟發式搜尋演算法,用於序列預測任務,它在每個時間步保留多個最有可能的候選序列(集束),而非僅僅選擇最佳選項。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

翻譯一句話時,如果不只看目前最好的路徑,而是多留幾條備選,會不會更穩? 你可以把集束搜尋想成每一步都保留幾個最有希望的候選答案。 它常用在序列生成,像翻譯、摘要、字幕生成這類任務。

你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。

容易混淆

集束搜尋 vs 貪婪解碼? 集束搜尋:保留多個候選路徑 貪婪解碼:每一步只選當下最佳 最關鍵的區別:前者留備案,後者只看眼前最好的一條

集束搜尋 vs 暴力搜尋? 集束搜尋:用集束寬度控制保留數量 暴力搜尋:把所有可能都展開 最關鍵的區別:Beam 是折衷做法,不是全試也不是只試一條

集束搜尋 vs 分類器? 集束搜尋:常用在生成式模型 分類器:輸出固定類別標籤 最關鍵的區別:前者找序列,後者選類別

記住這句就好

每一步都留幾條備案,避免太早走死路

實際案例

機器翻譯 句子前半段多個翻譯分支都還不錯,集束搜尋能保留較好的整體候選

圖片描述 模型在描述圖像時會同時保留幾個詞組組合,最後挑出整體最順的句子

算法與應用

重點 你要看什麼 為什麼重要
集束寬度 每一步保留幾個候選 越大通常越準但越慢
優點 降低早期誤判風險 比貪婪解碼更穩
缺點 計算量較高 不是越大就一定越好

常見問題

集束寬度越大越好嗎?

不一定。它會提高成本,還可能讓結果在某些任務上變得不自然。

Beam search 會保證最佳解嗎?

通常不會,它是啟發式方法,不是全域最優保證。

它和維特比演算法一樣嗎?

不一樣,維特比通常是動態規劃,Beam 是保留有限候選的搜尋。

情境判斷

Q1:如果你只想快速產出一條句子,貪婪解碼是不是更省? → 是,因為它每一步只選一條路,速度快但風險也較高

Q2:如果生成結果常在前幾個字就走偏,Beam search 有沒有機會改善? → 有,因為它能保留幾條備用路徑,降低太早犯錯的機率