AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
73/100 第八週:📌 多智慧體與競合學習
73.自我博弈與 Nash 均衡 🤼♂️ 對手也在學,你怎麼應對?
________________________________________
🎯 單元導讀:
在單智慧體強化學習中,環境是固定的,AI 只要面對「世界規則」即可。
但在多智慧體環境(Multi-Agent)中,你的對手也在進化!
這意味著:環境本身會改變,而且是「對手意識到你的策略後做出的反應」!
這樣的互動就形成了「博弈學習(Game-Theoretic Learning)」場景,也催生了強化學習中一個重要的分支概念——
🧠 **自我博弈(Self-Play)**與 納許均衡(Nash Equilibrium)。
________________________________________
🧠 一、什麼是自我博弈(Self-Play)?
自我博弈是一種訓練方式,讓 AI 與「歷史版本的自己」或「另一個對等策略」反覆對弈來進行學習。
常見於:
類型 範例
對弈遊戲 棋類(AlphaZero、AlphaGo)
雙方對抗 格鬥遊戲、足球對戰
多人競技 Capture the Flag、Dota 2(OpenAI Five)
________________________________________
📦 二、自我博弈的三種形式
類型 說明 優點
👯♂️ 同步自我博弈 雙方策略同時更新 激發多樣化策略
🧓 歷史策略對抗 與過去版本對手對戰 增加穩定性,避免策略遺忘
💡 Population-based 與多個 agent 輪流對戰 避免 overfitting,形成戰略生態圈
________________________________________
📘 三、什麼是 Nash 均衡?
在非合作博弈中,若每位玩家都知道其他玩家的策略後,仍沒有動機單方面改變自己的策略,那麼這組策略即為 Nash 均衡。
📌 用白話來說:如果改變策略只會讓自己變差,那我就沒理由改。
________________________________________
🎮 四、舉例理解 Nash 均衡(剪刀石頭布)
在博弈中,是否形成 Nash 均衡 取決於雙方有無誘因改變策略。若一方固定出剪刀,另一方若一直出布會持續輸,因此「一直出剪刀 vs 一直出布」不是 Nash 均衡;反之,若雙方都以 1/3 機率隨機出剪刀、石頭、布,彼此無法預期對方行動,也無誘因單方面改變策略,形成穩定平衡,這就是Nash 均衡,預期回報為 0。
________________________________________
🔁 五、強化學習中的應用場景
任務 是否存在 Nash 均衡? 是否需要自我博弈?
雙人棋類遊戲(如圍棋) ✅(理論上) ✅ 必須
多 agent 自駕車道讓行 ✅(弱 Nash 均衡) ✅(自適應學習)
多玩家競技市場競標 ✅(混合策略均衡) ✅(博弈對抗)
________________________________________
📊 六、演算法與技術對照
在多智慧體博弈學習中,存在多種典型方法。
Fictitious Play(虛擬對局法):假設對手策略在短期內固定不變,逐步調整自己的應對策略,適合雙方逐漸收斂穩定的情境。
PSRO (Policy Space Response Oracle)(策略空間回應預言機):透過演算法持續發掘對手策略的弱點,並擴充自身策略池,適合長期自我博弈與策略整合。
AlphaZero(阿爾法零):結合蒙地卡羅搜尋、自我對弈與策略壓縮,能完整自我學習高效對弈策略。
LOLA (Learning with Opponent-Learning Awareness)(考慮對手學習的強化學習):考慮對手同時也在學習,適用於雙方動態互相適應與競爭的場景,展現更高的對抗適應性。
________________________________________
🧩 七、挑戰與反思任務
1️⃣ 若兩個 AI 互相學習且策略不斷變動,是否還能收斂?什麼情況下會陷入「無限追逐」?
👉 當雙方學習速度適中、環境穩定、存在穩定解時,有機會收斂至平衡(如 Nash 均衡)。但若雙方策略改變速度過快、目標相互對立,可能出現「無限追逐」(Non-stationary chasing)現象:
例如 A 針對 B 的策略調整,而 B 又馬上因應 A 反調整,雙方不斷修正,形成不穩定振盪或螺旋現象。這在動態博弈、自適應競爭中非常常見。
在多智慧體動態博弈中,為避免彼此策略不斷追逐導致學習不穩定,可採多種穩定化設計。
首先,降低學習速度(如調低 learning rate、使用 target network 與 soft update)能讓更新節奏放慢,減少震盪;其次,引入歷史對手自對弈機制(如 AlphaZero、PSRO),透過策略池與歷史模型對抗,增加穩定性與泛化能力;再來,加入 entropy 正則化(如 SAC 中的最大熵學習)可鼓勵策略保持隨機性,避免陷入局部對抗死循環;同步或分段訓練(Alternating Update)透過輪流更新對抗方,降低雙方同時快速追逐的風險;最後,透過 Meta-learning 或 Opponent Modeling(如 LOLA)讓 agent 學會預測對手學習行為,提升面對動態對手時的適應能力。這些設計共同目標就是:讓學習在動態環境下仍能穩定收斂並具備良好對抗表現。
核心觀念:
你不能假設環境靜態,而要想辦法設計出「穩定在動態環境中學習」的機制。
2️⃣ 你能想像 Nash 均衡存在,但實際上策略表現不佳的例子嗎?(提示:混合策略)
👉 例如在剪刀石頭布中,雙方採用均勻混合策略(各出剪刀、石頭、布機率均為 1/3),確實構成 Nash 均衡,因為沒人有誘因單方面改變策略。但實際上,預期報酬為零,整體效能並不好,這反映出「存在均衡 ≠ 達成最優效益」。在某些場景中,存在穩定卻平庸的均衡點。
3️⃣ 如何設計自我博弈過程,避免出現策略崩潰或「模式崩壞」的問題?
👉 常見設計方法包括:
維持策略多樣性(如 entropy regularization,鼓勵策略保持探索性);
自對弈池機制(如 AlphaZero,保留歷史策略做對抗);
限制過擬合對手策略(避免專門學習剋制單一對手,導致對新對手失效);
策略對抗混合訓練(融合弱化、強化、自對抗訓練,提升泛化穩定性)。
________________________________________
✅ 八、小結與啟示:
• 自我博弈讓 AI 能夠對手意識地演化策略,是對抗式強化學習的核心
• Nash 均衡是博弈中的穩定點,但不一定代表「最好」
• 結合歷史版本、自適應訓練、對手建模,可讓策略更強健
• OpenAI Five、AlphaZero、DeepNash 等都是自我博弈與均衡學習的經典應用