近年來,強化學習(Reinforcement Learning, RL)在許多領域都取得了亮眼的成果,從 AlphaGo 擊敗世界棋王,到機器人控制、自駕車以及遊戲 AI NPC,都能看見它的身影。然而,現實世界中的許多問題,往往並不是只需要一個 Agent 就能完成。
想像一下,如果我們希望利用 AI 控制整座城市的交通號誌,難道只需要一個 Agent 負責所有路口嗎?或者,在一群無人機共同執行搜救任務時,就只需要一個 AI 控制所有飛機嗎?
當問題規模逐漸變大,單一 Agent 往往難以應付,因此便誕生了 多智能體強化學習(Multi-Agent Reinforcement Learning, MARL)。
然而,MARL 並不是最終答案。雖然它成功將大型問題拆分成多個 Agent,但當 Agent 數量持續增加時,又會面臨另一個更大的挑戰——擴展性(Scalability)。
本文將從多智能體強化學習開始介紹,說明它所面臨的限制,以及研究者如何透過 階層式多智能體強化學習(Hierarchical Multi-Agent Reinforcement Learning, H-MARL) 來改善這些問題。
什麼是多智能體強化學習(MARL)?
在介紹 MARL 之前,先回顧一下最基本的強化學習。
在傳統的 Reinforcement Learning 中,環境中通常只有一個 Agent。Agent 透過觀察目前的環境狀態(State),選擇一個動作(Action),環境再根據這個動作回傳獎勵(Reward),Agent 則根據這些回饋不斷修正自己的策略(Policy),希望長期獲得最大的累積獎勵。
這樣的架構適合許多單一決策者的問題,例如:
- AlphaGo 下圍棋
- 自駕車控制車輛
- 機器人學習走路
- AI 玩 Atari 遊戲
但現實世界並不是只有一個決策者。
例如:
- 一座城市有數百個交通號誌。
- 一支足球隊有十一位球員。
- 一群機器人需要共同搬運貨物。
- 多架無人機需要協同完成巡邏任務。
這些問題都需要多個 Agent 同時做決策,也因此催生了 Multi-Agent Reinforcement Learning。
簡單來說,MARL 就是將原本只有一個 Agent 的環境,擴展成多個 Agent 同時存在。
每個 Agent 都會:
- 觀察自己的環境
- 做出自己的決策
- 獲得 Reward
- 更新自己的 Policy
最大的不同在於,每個 Agent 的行為不只會影響環境,也會影響其他 Agent。因此,大家其實是在一個彼此互相影響的環境中共同學習。
為什麼需要多智能體?
既然一個 Agent 可以學習,那為什麼不直接讓一個更大的 Agent 負責全部工作?
以交通號誌控制為例。
假設一座城市有一百個路口,如果只使用一個 Agent,那麼它需要同時觀察所有路口的車流狀況、等待時間、號誌狀態,再一次決定一百個路口下一秒應該切換成什麼燈號。
隨著路口數量增加,Agent 必須考慮的資訊會呈現爆炸性的成長。
一方面,狀態空間(State Space)會越來越大;另一方面,動作空間(Action Space)也會迅速膨脹。即使是現代深度強化學習模型,也很難有效處理如此龐大的搜尋空間。
因此,一個更自然的做法就是:
讓每個路口都有自己的 Agent。
每個 Agent 只需要負責自己的路口,只觀察附近的交通資訊,再決定是否切換紅綠燈。
如此一來,每個 Agent 面對的問題都變得簡單許多,而整個系統則透過多個 Agent 的合作完成大型任務。
這正是 MARL 最核心的思想:將一個大型決策問題拆解成許多較小的子問題,交由不同 Agent 分工合作。
多智能體強化學習面臨哪些挑戰?
雖然 MARL 大幅降低了單一 Agent 的負擔,但它也帶來了新的問題。
1. 非定常環境(Non-stationary Environment)
在傳統 RL 中,環境通常被假設是固定的。
但在 MARL 中,每個 Agent 都在持續學習。
今天 Agent B 還沒有學會某個策略,明天可能已經學會了;因此,對 Agent A 而言,它所面對的環境其實每天都在改變。
換句話說,Agent 不只是適應環境,同時也必須適應其他正在學習的 Agent,使得整個訓練過程比單一 Agent 更加困難。
2. Credit Assignment Problem
假設五台機器人一起完成了一項任務,最後得到 +100 的 Reward。
但我們無法得知究竟是哪一台機器人貢獻最大?
是哪一台拖累了團隊?
又或者每個人都只貢獻了一小部分?
由於 Reward 往往是整個團隊共享,因此如何公平地將 Reward 分配給每位 Agent,一直都是 MARL 的重要研究課題。
3. 擴展性(Scalability)
這也是本文中我最想討論的問題。
假設系統只有四個 Agent,它們彼此溝通、交換資訊並不困難。
但是如果變成 1000 個 Agent
情況就完全不同了。
隨著 Agent 數量增加,整個系統需要面對許多新的挑戰,例如:
- Agent 之間需要交換更多資訊(Communication Cost)
- Agent 之間更難彼此協調(Coordination)
- Joint State Space 持續成長
- Joint Action Space 快速膨脹
- 訓練時間與記憶體需求大幅增加
換句話說,MARL 雖然解決了單一 Agent 的問題,但當 Agent 數量持續增加時,又會產生新的擴展性瓶頸。
那麼,有沒有一種方法,可以讓大量 Agent 不需要彼此直接溝通,仍然能夠有效合作呢?
階層式多智能體強化學習(Hierarchical MARL)
一個很直覺的想法,就是參考人類社會的組織方式。
在一家公司裡,並不是每位員工都直接與所有人溝通。
通常會有:
- 經理
- 組長
- 員工
經理負責制定整體方向,組長負責分配任務,而員工則專注完成自己的工作。
透過這種階層式管理,即使公司有上千名員工,也能維持良好的運作效率。
階層式多智能體強化學習便是借用了這樣的概念。
它將 Agent 分成不同層級。
高層 Agent(Manager)負責制定整體策略,例如決定目前應該優先改善哪一個區域、哪一種任務或哪一個目標。
低層 Agent(Worker)則根據高層所給予的目標,專注完成自己的局部控制。
以交通號誌為例,Manager 可以決定某一區域目前應優先讓南北向車流通行,而各個路口的 Worker Agent 則根據這個目標,自主決定何時切換紅綠燈。
如此一來,高層負責「做對的事情」,低層負責「把事情做好」,彼此分工合作。
為什麼階層式架構能改善擴展性?
Hierarchical MARL 並沒有減少 Agent 的數量。
而是改變 Agent 之間的協調方式。
傳統 MARL 中,每個 Agent 都可能需要直接考慮其他 Agent 的行為,因此 Agent 越多,協調成本越高。
但在 Hierarchical MARL 中,Manager 扮演了協調者的角色。
高層負責全域規劃,低層只需要關心自己的局部任務,因此:
- Agent 不需要和所有人直接溝通
- Decision Space 被切分成不同層級
- Coordination Complexity 大幅下降
- 系統更容易擴展到大型場景
這也是近年來許多大型多智能體系統,像是智慧交通、物流調度、多機器人協作等領域,開始採用階層式架構的重要原因。
結語
多智能體強化學習讓我們能夠將大型決策問題拆解成多個 Agent 分工合作,是目前智慧交通、無人機協同控制、機器人協作等領域的重要研究方向。
然而,當 Agent 數量持續增加時,系統仍然會受到協調成本、通訊成本以及狀態空間快速成長等因素影響,使得擴展性成為 MARL 最重要的挑戰之一。
階層式多智能體強化學習(Hierarchical MARL)正是在這樣的背景下誕生。它透過引入不同層級的決策架構,將高層規劃與低層控制分離,不僅降低了系統的複雜度,也提升了處理大規模多智能體問題的能力。
在我的碩士研究中,我也採用了 Hierarchical Multi-Agent Reinforcement Learning 的概念,將交通路網劃分為不同區域,由高層 Manager 負責制定區域性的控制策略,再由各個路口的 Worker Agent 執行實際的號誌控制。這種分層式設計不僅改善了系統的擴展性,也讓不同層級的 Agent 能夠專注於各自擅長的決策任務。


發表留言