Q學習 是什麼?

Q-Learning:Q學習 的完整解釋

一種無模型的強化學習演算法,透過估計狀態-行為對的價值函數來找到最優策略。

核心概念

Q學習的核心在於Q值(Q-value)的概念。Q(s,a)表示在狀態s下採取行為a能夠獲得的期望累積回報。Q學習透過不斷與環境互動,根據實際收到的回報來更新Q值的估計。與策略學習不同,Q學習是一種離策略(off-policy)學習方法,這意味著探索環境時可以採用任意行為策略,而更新時使用最優行為進行計算。

Q值的更新遵循貝爾曼最優方程:Q(s,a) ← Q(s,a) + α[r + γmax(Q(s',a')) - Q(s,a)]。其中α是學習率,r是即時回報,γ是折扣因子,max(Q(s',a'))是下一狀態的最優Q值估計。這個更新規則確保Q值逐漸逼近真實值。

運作原理

Q學習的執行流程相對直觀。首先初始化Q表(所有Q值),可用全零或隨機值。然後在每個時間步,智能體觀察當前狀態s,按照某種探索策略(如ε-貪心策略)選擇行為a。執行行為後獲得回報r和下一狀態s',將其用於更新對應的Q(s,a)。重複這個過程直到收斂。

貝爾曼更新的直觀理解是:新的Q值估計等於舊值加上一個修正項。修正項是預期未來回報與當前估計的差異。當多次訪問同一狀態-行為對時,Q值逐漸穩定。學習率α控制更新幅度,較大的α使學習更快但可能震盪,較小的α則更穩定但收斂慢。

探索與利用的平衡在Q學習中至關重要。初期需要充分探索環境以發現高價值行為,後期應更多利用已知的最好行為。常用的ε-貪心策略以1-ε的概率選擇當前最優行為,以ε的概率隨機探索。隨著學習進行可以逐漸減小ε。

實際應用

Q學習在遊戲AI中有經典應用。例如國際象棋、圍棋相關的簡化版本,或視頻遊戲中的NPC行為控制。機器人導航和路徑規劃也使用Q學習,智能體學會避開障礙並找到最短路徑。在資源管理問題中,如庫存控制或電源管理,Q學習幫助系統學習最優的決策策略。

Q學習特別適合狀態和行為空間都有限的離散問題。當問題規模較小時,可以直接用Q表表示所有Q值,計算效率高。在許多實際應用中,由於狀態空間有限,Q學習提供了簡單有效的解決方案。例如機器人學習簡單的控制任務,或遊戲中的決策訓練。

在醫療領域,Q學習被用於治療策略優化。系統根據患者狀態選擇治療方案,並根據治療效果調整策略。在交通流量控制中,Q學習幫助信號燈系統學習最優的綠燈時間分配。

常見誤區

許多人認為Q學習和策略學習是完全不同的方法,實則Q學習和策略梯度都在解同一類問題。關鍵區別在於Q學習估計值函數,而策略梯度直接優化策略。兩種方法都能找到最優策略,但計算路徑不同。

另一個誤區是認為Q值收斂意味著找到了全局最優解。在非凸問題中,Q值可能收斂到局部最優。此外,ε-貪心策略的選擇會影響學習效率,ε過大會導致過度探索,ε過小則無法充分探索環境,找不到更好的策略。

在高維狀態空間中應用Q表會遇到維數災難。初學者有時忽視這一限制,直接對連續狀態問題應用表格Q學習,結果發現無法有效學習。此時應轉向函數逼近方法,如神經網路Q學習(DQN)。

與相關技術的比較

  • 與策略梯度的比較:Q學習估計狀態-行為價值,策略梯度直接優化策略。Q學習可離策略,策略梯度通常是同策略。Q學習在離散行為空間有優勢,策略梯度更適合連續控制。
  • 與蒙地卡羅方法的比較:Q學習使用時間差分學習,每步更新;蒙地卡羅需要完整回合後才更新。Q學習計算更新,蒙地卡羅無偏但方差較大。在連續任務中,Q學習適用性更強。
  • 與DQN的比較:DQN是Q學習加函數逼近,使用深度神經網路而非表格。DQN能處理高維狀態空間如影像輸入,但訓練複雜度增加。基礎Q學習更易理解和實現,適合小規模問題。
  • 與時間差分學習的比較:Q學習本身是時間差分方法的一種。時間差分是更廣泛的概念,包含SARSA、Q學習等具體演算法。Q學習的優勢是離策略特性。

常見問題