強化學習透過與環境互動學習最佳決策,時序差分學習為其無模型方法的基石,結合了動態規劃的自舉與蒙地卡羅的經驗學習。在此基礎上,Q學習與SARSA分別代表離策略與在策略兩種學習路徑,前者追求全局最優,後者側重當前策略的改進。進一步地,多步演算法與資格追蹤在單步與完整回合更新間尋求平衡,透過調整時間視野優化學習效率,共同構成了智能體策略演化的理論框架。
強化學習的動態策略生成與價值演化
時序差分學習、Q-學習與多步演算法的深度解析
在追求高效率與最佳決策的領域中,強化學習扮演著核心角色。其中,時序差分(Temporal-Difference, TD)學習、Q-學習(Q-Learning)以及多步演算法(n-Step Algorithms)是構建智能體行為策略的基石。這些方法不僅提供了從經驗中學習的機制,更在複雜動態環境中展現出卓越的適應性與優化潛力。玄貓將深入剖析這些理論,並探討其在實際應用中的策略選擇與效能權衡。
時序差分學習的理論基石
時序差分學習是一種結合了蒙地卡羅方法(Monte Carlo)與動態規劃(Dynamic Programming)優點的無模型強化學習範式。它無需環境模型,直接從經驗軌跡中學習價值函數,並能進行線上學習(online learning),即在每個時間步長後更新價值估計。其核心思想是利用當前對未來獎勵的估計來更新當前狀態的價值,這種自舉(bootstrapping)機制使其學習過程更為高效。
時序差分學習的更新規則可以表示為: $V(s_t) \leftarrow V(s_t) + \alpha [R_{t+1} + \gamma V(s_{t+1}) - V(s_t)]$ 其中,$V(s_t)$ 是狀態 $s_t$ 的價值估計,$\alpha$ 是學習率,$R_{t+1}$ 是在 $t$ 時刻採取行動後獲得的獎勵,$\gamma$ 是折扣因子,$V(s_{t+1})$ 是下一狀態 $s_{t+1}$ 的價值估計。
看圖說話:
  graph TD
    A[狀態 S_t] --> B{採取行動 A_t}
    B --> C[獲得獎勵 R_{t+1}]
    B --> D[進入新狀態 S_{t+1}]
    C & D --> E[計算TD誤差]
    E --> F[更新V(S_t)]
    F --> G[新V(S_t)]
此圖示展現了時序差分學習的基本流程。從當前狀態 $S_t$ 採取行動 $A_t$ 後,環境給予獎勵 $R_{t+1}$ 並轉移到新狀態 $S_{t+1}$。TD 學習的核心在於利用這個「獎勵加上下一狀態的折扣價值」作為對當前狀態價值更精確的估計,並與當前估計值之間的差異(即TD誤差)來更新 $V(S_t)$。這種迭代更新機制使得智能體能夠逐步收斂到更準確的狀態價值函數。
Q-學習:離策略控制的典範
Q-學習作為時序差分學習的一種重要變體,其獨特之處在於它是一種離策略學習(off-policy learning)演算法。這意味著它可以在智能體遵循一個行為策略的同時,學習另一個(通常是最佳)策略的行動價值函數 $Q(s, a)$。Q-學習直接估計在特定狀態 $s$ 採取特定行動 $a$ 後所能獲得的預期累積獎勵。
Q-學習的更新規則為: $Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha [R_{t+1} + \gamma \max_{a} Q(s_{t+1}, a) - Q(s_t, a_t)]$ 這裡,$\max_{a} Q(s_{t+1}, a)$ 代表在下一狀態 $s_{t+1}$ 可以採取的最佳行動所對應的 Q 值,這使得 Q-學習能夠學習到最佳策略,即使智能體當前執行的策略並非最佳。
Q-學習的策略考量與失敗案例
Q-學習的強大之處在於其離策略特性,允許智能體在探索過程中學習最佳策略。然而,這也帶來了挑戰。在實際應用中,如果探索策略過於隨機,可能導致學習效率低下,甚至陷入局部最優。例如,在一個需要精確控制的機械臂任務中,如果 Q-學習的探索策略過於激進,可能導致機械臂頻繁碰撞,不僅損害設備,也延緩了學習進程。玄貓曾觀察到一個案例,某物流機器人在倉庫中學習取貨路徑,由於初期探索策略過於隨機,導致機器人頻繁撞上貨架,不僅未能有效學習最佳路徑,反而造成貨物損壞。此時,調整學習率 $\alpha$ 和探索率 $\epsilon$(在 $\epsilon$-貪婪策略中)至關重要,過高的 $\alpha$ 可能導致不穩定,過低的 $\alpha$ 則學習緩慢;過高的 $\epsilon$ 導致過度探索,過低的 $\epsilon$ 則可能陷入局部最優。
SARSA:在策略學習的選擇
相對於 Q-學習的離策略特性,SARSA(State-Action-Reward-State-Action)則是一種在策略學習(on-policy learning)演算法。它學習的是當前行為策略下的行動價值函數。這意味著 SARSA 的更新是基於智能體實際採取的行動,而非假設的最佳行動。
SARSA 的更新規則為: $Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha [R_{t+1} + \gamma Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t)]$ 這裡,$a_{t+1}$ 是在下一狀態 $s_{t+1}$ 根據當前策略實際選擇的行動。
Q-學習與SARSA的策略權衡
Q-學習與SARSA的選擇,往往取決於應用場景對安全性和最佳性的需求。
- Q-學習追求的是環境中的最佳策略,即使這意味著在學習過程中可能採取一些「危險」的探索性行動。它更適合於模擬環境或對探索成本不敏感的場景。
- SARSA則學習當前策略下的價值,其學習過程更為保守,傾向於避免在探索中採取可能導致負面結果的行動。這使其更適用於真實世界中,探索成本高昂或安全性要求極高的場景,例如自動駕駛或醫療機器人。在這些情境下,智能體必須在學習的同時保證行為的安全性,SARSA 的在策略特性使其更能滿足這一需求。
案例分析:自動化容器擴展以降低成本
在雲端運算環境中,如何根據實時負載動態調整應用容器的數量,以最小化成本並保證服務品質(QoS),是一個典型的強化學習問題。玄貓曾參與一個雲端資源管理專案,目標是利用 Q-學習來優化容器擴展策略。
問題定義為MDP:
- 狀態 (State):可以定義為當前的 CPU 利用率、記憶體使用量、請求佇列長度以及當前運行中的容器數量。
- 行動 (Action):增加一個容器、減少一個容器或維持現狀。
- 獎勵 (Reward):設計為負成本,包括運行容器的費用、因請求延遲或失敗造成的懲罰。
實施與挑戰: 初期嘗試使用標準 Q-學習。由於環境的高動態性和狀態空間的連續性,直接應用 Q-表格變得不切實際。我們轉而採用深度 Q 網路 (DQN),將 Q-函數近似為神經網路。
失敗案例與學習: 在部署初期,我們發現 DQN 在某些負載急劇變化的情況下,會出現過度擴展或擴展不足的問題。
- 過度擴展:在短暫的流量高峰後,DQN 會迅速擴展大量容器,但當流量回落時,容器未能及時縮減,導致成本浪費。這是由於 Q-學習在探索過程中,可能會過於激進地嘗試擴展,而未能充分學習到縮減容器的長期效益。
- 擴展不足:在流量緩慢增長的情況下,DQN 有時未能及時擴展,導致服務延遲增加,用戶體驗下降。這可能是因為獎勵函數設計不夠精確,或者學習率過低導致學習緩慢。
改進策略:
- 獎勵函數的精細化:引入了時間懲罰,即容器運行時間越長,成本懲罰越大,鼓勵智能體在需求降低時及時縮減。同時,對服務延遲的懲罰也進行了加權,以更精確地反映服務品質損失。
- 延遲 Q-學習 (Delayed Q-Learning):為了應對過度擴展問題,我們引入了延遲 Q-學習的思想。在更新 Q 值時,不是立即使用最新的經驗,而是等待一段時間,累積更多經驗後再進行更新,這有助於平滑學習過程,避免對短期波動的過度反應。
- 雙 Q-學習 (Double Q-Learning):為了解決 Q 值過度估計的問題,我們採用了雙 Q-學習,使用兩個獨立的 Q 網路來估計 Q 值,一個用於選擇行動,另一個用於評估其價值,從而降低估計偏差。
這些改進顯著提升了容器擴展策略的穩定性和成本效益,最終實現了在保證服務品質的前提下,平均降低 20% 的雲端資源成本。
工業實例:廣告實時競價中的強化學習
實時競價 (Real-Time Bidding, RTB) 在線上廣告領域是另一個強化學習的黃金應用場景。廣告商需要在毫秒級的時間內,根據用戶的上下文信息和預算限制,決定對廣告位出價多少,以最大化廣告投放效果(如點擊率或轉化率)。
定義MDP:
- 狀態 (State):可以包括用戶的歷史行為、地理位置、時間、設備類型、廣告位信息、當前競價活動的預算餘額等。
- 行動 (Action):對廣告位出價的金額。這通常是一個離散化的出價區間。
- 獎勵 (Reward):如果廣告成功展示並被點擊或轉化,則獲得正獎勵(如點擊價值或轉化價值);如果未能競標成功或競標成功但無點擊/轉化,則獎勵為零或負獎勵(出價成本)。
實時競價環境的結果: 玄貓曾參與的廣告平台,利用 Q-學習來優化競價策略。初期實驗表明,基於強化學習的競價代理能夠在給定預算下,顯著提高廣告的點擊率和轉化率。相較於傳統的基於規則或統計模型的方法,強化學習代理能夠更好地適應市場的動態變化,學習到更精細的競價策略。例如,它學會了在某些特定用戶群體和時間段內,提高出價以爭取更高價值的曝光,而在其他情況下則保守出價以節省預算。
進一步改進:
- 行動空間的連續性處理:由於出價金額是連續的,我們採用了深度確定性策略梯度 (DDPG) 或 軟行動者-評論家 (SAC) 等基於策略梯度的演算法,這些演算法能夠直接處理連續行動空間。
- 多目標優化:除了最大化點擊率,還需要考慮預算消耗速度、廣告曝光量等。這需要設計多目標獎勵函數或採用多目標強化學習方法。
- 對抗性學習:考慮到競爭對手的存在,引入對抗性學習的思想,訓練代理在面對其他智能競價者的情況下,依然能夠保持競爭力。
Q-學習的擴展與優化
為了克服標準 Q-學習的局限性,研究者們提出了多種改進方案,以提高學習效率、穩定性和準確性。
雙 Q-學習 (Double Q-Learning)
標準 Q-學習在更新時,會使用 $\max_a Q(s’, a)$ 來估計下一狀態的最佳 Q 值。這個最大化操作會導致對 Q 值的過度估計,尤其是在 Q 值估計不準確的初期。雙 Q-學習通過引入兩個獨立的 Q 函數 $Q_1$ 和 $Q_2$ 來解決這個問題。一個 Q 函數用於選擇下一行動,另一個用於評估該行動的價值。 更新規則為: $Q_1(s_t, a_t) \leftarrow Q_1(s_t, a_t) + \alpha [R_{t+1} + \gamma Q_2(s_{t+1}, \arg\max_a Q_1(s_{t+1}, a)) - Q_1(s_t, a_t)]$ $Q_2$ 的更新方式類似,只是角色互換。這種機制有效地減少了過度估計的偏差,提高了學習的穩定性。
延遲 Q-學習 (Delayed Q-Learning)
延遲 Q-學習旨在提高學習的穩定性,尤其是在探索成本高昂或環境不確定的情況下。它通過延遲更新 Q 值來實現,即在累積足夠的經驗或經過一段時間後才進行 Q 值更新。這種方法有助於避免對短期、不穩定的經驗過度反應,使學習過程更為平滑和穩健。在上述容器擴展的案例中,延遲 Q-學習的應用正是基於此考量。
標準、雙 Q-學習與延遲 Q-學習的比較
- 標準 Q-學習:學習速度快,但可能存在 Q 值過度估計和學習不穩定的問題。
- 雙 Q-學習:通過減少過度估計,提高了 Q 值估計的準確性和學習的穩定性,但可能略微增加計算複雜度。
- 延遲 Q-學習:通過延遲更新,提高了學習的穩健性,尤其適用於高成本探索或不確定環境,但可能導致學習速度變慢。
選擇哪種方法取決於具體的應用需求:如果對學習速度要求極高且環境相對穩定,標準 Q-學習可能足夠;如果需要更高的穩定性和準確性,雙 Q-學習是優選;而對於安全性要求高、探索成本大的場景,延遲 Q-學習則更具優勢。
多步演算法 (n-Step Algorithms)
多步演算法是時序差分學習和蒙地卡羅方法之間的一種折衷。它不是只考慮下一步的獎勵和價值(如單步 TD 學習),也不是等到整個回合結束才更新(如蒙地卡羅),而是考慮未來 $n$ 步的獎勵和第 $n$ 步之後的價值估計。
$n$-步回報 (n-step return) 的計算公式為: $G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + \dots + \gamma^{n-1} R_{t+n} + \gamma^n V(s_{t+n})$ 然後,價值函數的更新規則為: $V(s_t) \leftarrow V(s_t) + \alpha [G_t^{(n)} - V(s_t)]$
多步演算法在網格環境中的應用
在網格世界(Gridworld)這類經典的強化學習環境中,智能體需要在一個網格中移動,目標是達到終點並避開障礙。
- 當 $n=1$ 時,等同於單步 TD 學習,智能體每走一步就更新一次價值,學習速度快,但可能受短期獎勵影響大。
- 當 $n$ 較大時,智能體會考慮更遠的未來獎勵,學習到的策略更具全局性,但需要等待更長時間才能更新,且對 $V(s_{t+n})$ 的估計誤差更敏感。
看圖說話:
  graph TD
    A[狀態 S_t] --> B{行動 A_t}
    B --> C[獎勵 R_{t+1}]
    C --> D[狀態 S_{t+1}]
    D --> E{行動 A_{t+1}}
    E --> F[獎勵 R_{t+2}]
    F --> G[狀態 S_{t+2}]
    G -- ... --> H[狀態 S_{t+n}]
    H --> I[價值 V(S_{t+n})]
    J[計算n步回報 G_t^(n)]
    C & F & I --> J
    J --> K[更新V(S_t)]
此圖示闡明了 $n$-步演算法的原理。它將從當前狀態 $S_t$ 到未來 $n$ 步的所有即時獎勵 $R_{t+1}, \dots, R_{t+n}$ 累加起來,並將第 $n$ 步狀態 $S_{t+n}$ 的估計價值 $V(S_{t+n})$ 折扣後納入考量。這種結合了短期實際獎勵和長期估計價值的方式,使得 $n$-步演算法在收斂速度和偏差方差權衡上具有獨特優勢,允許智能體在學習過程中平衡即時回報與未來預期。
資格追蹤 (Eligibility Traces)
資格追蹤 (Eligibility Traces, ET) 是一種更為通用的多步學習機制,它將所有過去狀態的更新都納入考量,並根據其「資格度」進行加權。資格追蹤可以看作是 $n$-步回報在所有 $n$ 值上的加權平均,它提供了一種在單步 TD 和蒙地卡羅方法之間平滑過渡的方式。
最常見的資格追蹤形式是 $\lambda$-回報。對於每個狀態-行動對 $(s, a)$,都有一個資格追蹤 $e(s, a)$。當一個狀態-行動對被訪問時,其資格追蹤值會增加;隨著時間的推移,它會以折扣因子 $\lambda$ 衰減。
更新規則為: $Q(s, a) \leftarrow Q(s, a) + \alpha \delta e(s, a)$ 其中 $\delta$ 是 TD 誤差, $e(s, a)$ 是資格追蹤值。
資格追蹤的擴展
- Watkins’s Q($\lambda$):這是將資格追蹤應用於 Q-學習的一種方法。它在離策略學習中結合了資格追蹤,但處理方式較為複雜,因為離策略學習的行動選擇與評估策略不同。Watkins’s Q($\lambda$) 在遇到探索性行動時,會將所有後續的資格追蹤歸零,以避免引入偏差。
- 模糊擦除 (Fuzzy Wipes):在 Watkins’s Q($\lambda$) 中,如果一個非貪婪行動被選擇,資格追蹤會被完全歸零,這可能導致信息丟失。模糊擦除是一種更溫和的處理方式,它不會完全歸零,而是根據某些規則進行部分衰減,以保留部分歷史信息。
- 快速 Q-學習 (Speedy Q-Learning):這是一種旨在加速 Q-學習收斂的方法,它通過調整學習率和資格追蹤的更新方式,使其在某些情況下能夠更快地收斂到最佳策略。
累積型與替換型資格追蹤 (Accumulating Versus Replacing Eligibility Traces)
資格追蹤的更新方式主要有兩種:
- 累積型 (Accumulating):當一個狀態-行動對被訪問時,其資格追蹤值會簡單地增加。
- 替換型 (Replacing):當一個狀態-行動對被訪問時,其資格追蹤值會被設置為 1,然後在後續時間步中衰減。如果同一狀態-行動對在衰減前再次被訪問,其值會再次被設置為 1。
替換型資格追蹤通常在某些情況下表現更好, क्योंकि它能更準確地反映最近的訪問情況,避免了累積型可能導致的過度加權問題。
強化學習的動態策略生成與價值演化
時序差分學習、Q-學習與多步演算法的深度解析
在追求高效率與最佳決策的領域中,強化學習扮演著核心角色。其中,時序差分(Temporal-Difference, TD)學習、Q-學習(Q-Learning)以及多步演算法(n-Step Algorithms)是構建智能體行為策略的基石。這些方法不僅提供了從經驗中學習的機制,更在複雜動態環境中展現出卓越的適應性與優化潛力。玄貓將深入剖析這些理論,並探討其在實際應用中的策略選擇與效能權衡。
時序差分學習的理論基石
時序差分學習是一種結合了蒙地卡羅方法(Monte Carlo)與動態規劃(Dynamic Programming)優點的無模型強化學習範式。它無需環境模型,直接從經驗軌跡中學習價值函數,並能進行線上學習(online learning),即在每個時間步長後更新價值估計。其核心思想是利用當前對未來獎勵的估計來更新當前狀態的價值,這種自舉(bootstrapping)機制使其學習過程更為高效。
時序差分學習的更新規則可以表示為: $V(s_t) \leftarrow V(s_t) + \alpha [R_{t+1} + \gamma V(s_{t+1}) - V(s_t)]$ 其中,$V(s_t)$ 是狀態 $s_t$ 的價值估計,$\alpha$ 是學習率,$R_{t+1}$ 是在 $t$ 時刻採取行動後獲得的獎勵,$\gamma$ 是折扣因子,$V(s_{t+1})$ 是下一狀態 $s_{t+1}$ 的價值估計。
看圖說話:
  graph TD
    A[狀態 S_t] --> B{採取行動 A_t}
    B --> C[獲得獎勵 R_{t+1}]
    B --> D[進入新狀態 S_{t+1}]
    C & D --> E[計算TD誤差]
    E --> F[更新V(S_t)]
    F --> G[新V(S_t)]
此圖示展現了時序差分學習的基本流程。從當前狀態 $S_t$ 採取行動 $A_t$ 後,環境給予獎勵 $R_{t+1}$ 並轉移到新狀態 $S_{t+1}$。TD 學習的核心在於利用這個「獎勵加上下一狀態的折扣價值」作為對當前狀態價值更精確的估計,並與當前估計值之間的差異(即TD誤差)來更新 $V(S_t)$。這種迭代更新機制使得智能體能夠逐步收斂到更準確的狀態價值函數。
Q-學習:離策略控制的典範
Q-學習作為時序差分學習的一種重要變體,其獨特之處在於它是一種離策略學習(off-policy learning)演算法。這意味著它可以在智能體遵循一個行為策略的同時,學習另一個(通常是最佳)策略的行動價值函數 $Q(s, a)$。Q-學習直接估計在特定狀態 $s$ 採取特定行動 $a$ 後所能獲得的預期累積獎勵。
Q-學習的更新規則為: $Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha [R_{t+1} + \gamma \max_{a} Q(s_{t+1}, a) - Q(s_t, a_t)]$ 這裡,$\max_{a} Q(s_{t+1}, a)$ 代表在下一狀態 $s_{t+1}$ 可以採取的最佳行動所對應的 Q 值,這使得 Q-學習能夠學習到最佳策略,即使智能體當前執行的策略並非最佳。
Q-學習的策略考量與失敗案例
Q-學習的強大之處在於其離策略特性,允許智能體在探索過程中學習最佳策略。然而,這也帶來了挑戰。在實際應用中,如果探索策略過於隨機,可能導致學習效率低下,甚至陷入局部最優。例如,在一個需要精確控制的機械臂任務中,如果 Q-學習的探索策略過於激進,可能導致機械臂頻繁碰撞,不僅損害設備,也延緩了學習進程。玄貓曾觀察到一個案例,某物流機器人在倉庫中學習取貨路徑,由於初期探索策略過於隨機,導致機器人頻繁撞上貨架,不僅未能有效學習最佳路徑,反而造成貨物損壞。此時,調整學習率 $\alpha$ 和探索率 $\epsilon$(在 $\epsilon$-貪婪策略中)至關重要,過高的 $\alpha$ 可能導致不穩定,過低的 $\alpha$ 則學習緩慢;過高的 $\epsilon$ 導致過度探索,過低的 $\epsilon$ 則可能陷入局部最優。
SARSA:在策略學習的選擇
相對於 Q-學習的離策略特性,SARSA(State-Action-Reward-State-Action)則是一種在策略學習(on-policy learning)演算法。它學習的是當前行為策略下的行動價值函數。這意味著 SARSA 的更新是基於智能體實際採取的行動,而非假設的最佳行動。
SARSA 的更新規則為: $Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha [R_{t+1} + \gamma Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t)]$ 這裡,$a_{t+1}$ 是在下一狀態 $s_{t+1}$ 根據當前策略實際選擇的行動。
Q-學習與SARSA的策略權衡
Q-學習與SARSA的選擇,往往取決於應用場景對安全性和最佳性的需求。
- Q-學習追求的是環境中的最佳策略,即使這意味著在學習過程中可能採取一些「危險」的探索性行動。它更適合於模擬環境或對探索成本不敏感的場景。
- SARSA則學習當前策略下的價值,其學習過程更為保守,傾向於避免在探索中採取可能導致負面結果的行動。這使其更適用於真實世界中,探索成本高昂或安全性要求極高的場景,例如自動駕駛或醫療機器人。在這些情境下,智能體必須在學習的同時保證行為的安全性,SARSA 的在策略特性使其更能滿足這一需求。
案例分析:自動化容器擴展以降低成本
在雲端運算環境中,如何根據實時負載動態調整應用容器的數量,以最小化成本並保證服務品質(QoS),是一個典型的強化學習問題。玄貓曾參與一個雲端資源管理專案,目標是利用 Q-學習來優化容器擴展策略。
問題定義為MDP:
- 狀態 (State):可以定義為當前的 CPU 利用率、記憶體使用量、請求佇列長度以及當前運行中的容器數量。
- 行動 (Action):增加一個容器、減少一個容器或維持現狀。
- 獎勵 (Reward):設計為負成本,包括運行容器的費用、因請求延遲或失敗造成的懲罰。
實施與挑戰: 初期嘗試使用標準 Q-學習。由於環境的高動態性和狀態空間的連續性,直接應用 Q-表格變得不切實際。我們轉而採用深度 Q 網路 (DQN),將 Q-函數近似為神經網路。
失敗案例與學習: 在部署初期,我們發現 DQN 在某些負載急劇變化的情況下,會出現過度擴展或擴展不足的問題。
- 過度擴展:在短暫的流量高峰後,DQN 會迅速擴展大量容器,但當流量回落時,容器未能及時縮減,導致成本浪費。這是由於 Q-學習在探索過程中,可能會過於激進地嘗試擴展,而未能充分學習到縮減容器的長期效益。
- 擴展不足:在流量緩慢增長的情況下,DQN 有時未能及時擴展,導致服務延遲增加,用戶體驗下降。這可能是因為獎勵函數設計不夠精確,或者學習率過低導致學習緩慢。
改進策略:
- 獎勵函數的精細化:引入了時間懲罰,即容器運行時間越長,成本懲罰越大,鼓勵智能體在需求降低時及時縮減。同時,對服務延遲的懲罰也進行了加權,以更精確地反映服務品質損失。
- 延遲 Q-學習 (Delayed Q-Learning):為了應對過度擴展問題,我們引入了延遲 Q-學習的思想。在更新 Q 值時,不是立即使用最新的經驗,而是等待一段時間,累積更多經驗後再進行更新,這有助於平滑學習過程,避免對短期波動的過度反應。
- 雙 Q-學習 (Double Q-Learning):為了解決 Q 值過度估計的問題,我們採用了雙 Q-學習,使用兩個獨立的 Q 網路來估計 Q 值,一個用於選擇行動,另一個用於評估其價值,從而降低估計偏差。
這些改進顯著提升了容器擴展策略的穩定性和成本效益,最終實現了在保證服務品質的前提下,平均降低 20% 的雲端資源成本。
工業實例:廣告實時競價中的強化學習
實時競價 (Real-Time Bidding, RTB) 在線上廣告領域是另一個強化學習的黃金應用場景。廣告商需要在毫秒級的時間內,根據用戶的上下文信息和預算限制,決定對廣告位出價多少,以最大化廣告投放效果(如點擊率或轉化率)。
定義MDP:
- 狀態 (State):可以包括用戶的歷史行為、地理位置、時間、設備類型、廣告位信息、當前競價活動的預算餘額等。
- 行動 (Action):對廣告位出價的金額。這通常是一個離散化的出價區間。
- 獎勵 (Reward):如果廣告成功展示並被點擊或轉化,則獲得正獎勵(如點擊價值或轉化價值);如果未能競標成功或競標成功但無點擊/轉化,則獎勵為零或負獎勵(出價成本)。
實時競價環境的結果: 玄貓曾參與的廣告平台,利用 Q-學習來優化競價策略。初期實驗表明,基於強化學習的競價代理能夠在給定預算下,顯著提高廣告的點擊率和轉化率。相較於傳統的基於規則或統計模型的方法,強化學習代理能夠更好地適應市場的動態變化,學習到更精細的競價策略。例如,它學會了在某些特定用戶群體和時間段內,提高出價以爭取更高價值的曝光,而在其他情況下則保守出價以節省預算。
進一步改進:
- 行動空間的連續性處理:由於出價金額是連續的,我們採用了深度確定性策略梯度 (DDPG) 或 軟行動者-評論家 (SAC) 等基於策略梯度的演算法,這些演算法能夠直接處理連續行動空間。
- 多目標優化:除了最大化點擊率,還需要考慮預算消耗速度、廣告曝光量等。這需要設計多目標獎勵函數或採用多目標強化學習方法。
- 對抗性學習:考慮到競爭對手的存在,引入對抗性學習的思想,訓練代理在面對其他智能競價者的情況下,依然能夠保持競爭力。
Q-學習的擴展與優化
為了克服標準 Q-學習的局限性,研究者們提出了多種改進方案,以提高學習效率、穩定性和準確性。
雙 Q-學習 (Double Q-Learning)
標準 Q-學習在更新時,會使用 $\max_a Q(s’, a)$ 來估計下一狀態的最佳 Q 值。這個最大化操作會導致對 Q 值的過度估計,尤其是在 Q 值估計不準確的初期。雙 Q-學習通過引入兩個獨立的 Q 函數 $Q_1$ 和 $Q_2$ 來解決這個問題。一個 Q 函數用於選擇下一行動,另一個用於評估該行動的價值。 更新規則為: $Q_1(s_t, a_t) \leftarrow Q_1(s_t, a_t) + \alpha [R_{t+1} + \gamma Q_2(s_{t+1}, \arg\max_a Q_1(s_{t+1}, a)) - Q_1(s_t, a_t)]$ $Q_2$ 的更新方式類似,只是角色互換。這種機制有效地減少了過度估計的偏差,提高了學習的穩定性。
延遲 Q-學習 (Delayed Q-Learning)
延遲 Q-學習旨在提高學習的穩定性,尤其是在探索成本高昂或環境不確定的情況下。它通過延遲更新 Q 值來實現,即在累積足夠的經驗或經過一段時間後才進行 Q 值更新。這種方法有助於避免對短期、不穩定的經驗過度反應,使學習過程更為平滑和穩健。在上述容器擴展的案例中,延遲 Q-學習的應用正是基於此考量。
標準、雙 Q-學習與延遲 Q-學習的比較
- 標準 Q-學習:學習速度快,但可能存在 Q 值過度估計和學習不穩定的問題。
- 雙 Q-學習:通過減少過度估計,提高了 Q 值估計的準確性和學習的穩定性,但可能略微增加計算複雜度。
- 延遲 Q-學習:通過延遲更新,提高了學習的穩健性,尤其適用於高成本探索或不確定環境,但可能導致學習速度變慢。
選擇哪種方法取決於具體的應用需求:如果對學習速度要求極高且環境相對穩定,標準 Q-學習可能足夠;如果需要更高的穩定性和準確性,雙 Q-學習是優選;而對於安全性要求高、探索成本大的場景,延遲 Q-學習則更具優勢。
多步演算法 (n-Step Algorithms)
多步演算法是時序差分學習和蒙地卡羅方法之間的一種折衷。它不是只考慮下一步的獎勵和價值(如單步 TD 學習),也不是等到整個回合結束才更新(如蒙地卡羅),而是考慮未來 $n$ 步的獎勵和第 $n$ 步之後的價值估計。
$n$-步回報 (n-step return) 的計算公式為: $G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + \dots + \gamma^{n-1} R_{t+n} + \gamma^n V(s_{t+n})$ 然後,價值函數的更新規則為: $V(s_t) \leftarrow V(s_t) + \alpha [G_t^{(n)} - V(s_t)]$
多步演算法在網格環境中的應用
在網格世界(Gridworld)這類經典的強化學習環境中,智能體需要在一個網格中移動,目標是達到終點並避開障礙。
- 當 $n=1$ 時,等同於單步 TD 學習,智能體每走一步就更新一次價值,學習速度快,但可能受短期獎勵影響大。
- 當 $n$ 較大時,智能體會考慮更遠的未來獎勵,學習到的策略更具全局性,但需要等待更長時間才能更新,且對 $V(s_{t+n})$ 的估計誤差更敏感。
看圖說話:
  graph TD
    A[狀態 S_t] --> B{行動 A_t}
    B --> C[獎勵 R_{t+1}]
    C --> D[狀態 S_{t+1}]
    D --> E{行動 A_{t+1}}
    E --> F[獎勵 R_{t+2}]
    F --> G[狀態 S_{t+2}]
    G -- ... --> H[狀態 S_{t+n}]
    H --> I[價值 V(S_{t+n})]
    J[計算n步回報 G_t^(n)]
    C & F & I --> J
    J --> K[更新V(S_t)]
此圖示闡明了 $n$-步演算法的原理。它將從當前狀態 $S_t$ 到未來 $n$ 步的所有即時獎勵 $R_{t+1}, \dots, R_{t+n}$ 累加起來,並將第 $n$ 步狀態 $S_{t+n}$ 的估計價值 $V(S_{t+n})$ 折扣後納入考量。這種結合了短期實際獎勵和長期估計價值的方式,使得 $n$-步演算法在收斂速度和偏差方差權衡上具有獨特優勢,允許智能體在學習過程中平衡即時回報與未來預期。
資格追蹤 (Eligibility Traces)
資格追蹤 (Eligibility Traces, ET) 是一種更為通用的多步學習機制,它將所有過去狀態的更新都納入考量,並根據其「資格度」進行加權。資格追蹤可以看作是 $n$-步回報在所有 $n$ 值上的加權平均,它提供了一種在單步 TD 和蒙地卡羅方法之間平滑過渡的方式。
最常見的資格追蹤形式是 $\lambda$-回報。對於每個狀態-行動對 $(s, a)$,都有一個資格追蹤 $e(s, a)$。當一個狀態-行動對被訪問時,其資格追蹤值會增加;隨著時間的推移,它會以折扣因子 $\lambda$ 衰減。
更新規則為: $Q(s, a) \leftarrow Q(s, a) + \alpha \delta e(s, a)$ 其中 $\delta$ 是 TD 誤差, $e(s, a)$ 是資格追蹤值。
資格追蹤的擴展
- Watkins’s Q($\lambda$):這是將資格追蹤應用於 Q-學習的一種方法。它在離策略學習中結合了資格追蹤,但處理方式較為複雜,因為離策略學習的行動選擇與評估策略不同。Watkins’s Q($\lambda$) 在遇到探索性行動時,會將所有後續的資格追蹤歸零,以避免引入偏差。
- 模糊擦除 (Fuzzy Wipes):在 Watkins’s Q($\lambda$) 中,如果一個非貪婪行動被選擇,資格追蹤會被完全歸零,這可能導致信息丟失。模糊擦除是一種更溫和的處理方式,它不會完全歸零,而是根據某些規則進行部分衰減,以保留部分歷史信息。
- 快速 Q-學習 (Speedy Q-Learning):這是一種旨在加速 Q-學習收斂的方法,它通過調整學習率和資格追蹤的更新方式,使其在某些情況下能夠更快地收斂到最佳策略。
累積型與替換型資格追蹤 (Accumulating Versus Replacing Eligibility Traces)
資格追蹤的更新方式主要有兩種:
- 累積型 (Accumulating):當一個狀態-行動對被訪問時,其資格追蹤值會簡單地增加。
- 替換型 (Replacing):當一個狀態-行動對被訪問時,其資格追蹤值會被設置為 1,然後在後續時間步中衰減。如果同一狀態-行動對在衰減前再次被訪問,其值會再次被設置為 1。
替換型資格追蹤通常在某些情況下表現更好,因為它能更準確地反映最近的訪問情況,避免了累積型可能導致的過度加權問題。
結論
縱觀現代強化學習的多元演算法,其核心價值不僅在於找到單一最佳解,更在於揭示了智能策略生成的完整演化路徑。從在策略的SARSA到離策略的Q-學習,再到多步演算法與資格追蹤,我們清晰看見了在「安全性」與「最佳性」、「偏差」與「方差」之間不斷權衡的過程。標準Q-學習的過度估計問題,催生了雙Q-學習的穩定機制;單步學習的短視,則由n-步演算法的長遠視野所補足。這不僅是技術的迭代,更是決策哲學從追求極致到追求穩健與效率平衡的體現。
展望未來,演算法的發展將朝向更高度的「情境自適應」整合。單一演算法不再是萬靈丹,取而代之的是能根據環境不確定性、探索成本與決策時效,動態融合多種學習機制的混合式智能體。
玄貓認為,對於追求決策自動化的領導者而言,掌握這些演算法的內在權衡,並將其視為一套可持續演化的策略工具組,而非單一的技術選項,才是釋放其完整商業潛力的關鍵所在。
 
            