-
多智能體的常見設定:
- 合作關系。比如工業機器人
- 競爭關系。比如拳擊比賽
- 合作-競爭混合。比如機器人足球比賽
- 利己主義。比如股票自動交易系統
-
多智能體系統的術語:
-
有n個智能體;
-
\(S\)為狀態;
-
\(A^i\)表示第\(i\)個智能體的動作;
-
狀態轉移:
\[p(s^{\prime} | s,a^1,a^2...a^n) = \mathbb{P}(S^{\prime} = s^{\prime} | S = s, A^1 = a^1 ... A^n = a^n) \]下一個狀態受到所有agent的影響。
-
\(R^i\)是第\(i\)個智能體獲得的獎勵,\(R^i_t\)是第\(i\)個智能體在時間\(t\)獲得的獎勵。
-
回報\(U^i_t = R_t^i + R_{t+1}^i + ... + R_{\tau}^i\),折扣回報\(U^i_t = R_t^i + \lambda R_{t+1}^i + ... + \lambda^{\tau - t} R_{\tau}^i\)。
-
策略網絡\(\pi(a^i | s;\theta^i)\),每個智能體都有自己的策略網絡。
-
狀態價值函數:\(V^i(s_t;\theta^1,...,\theta^n) = \mathbb{E}[U_t^i|S_t = s_t]\),第\(i\)個agent的狀態價值函數受所有其他策略網絡的影響。
-
-
多智能體系統的收斂問題(無法通過改變策略來獲得更大的期望回報)
- 多個智能體達到收斂的標准是納什均衡。即所有agent都不能通過改變自身策略來獲得更高回報。
-
單智能體策略梯度
-
系統中某一個智能體的狀態價值受其他智能體的影響,將其他智能體的參數固定,對第\(i\)個智能體的狀態價值關於狀態取期望(狀態具有隨機性),得到目標函數:
\[J^i(\theta^1,\theta^2,...,\theta^n) = \mathbb{E}_S[S;\theta^1,...\theta^n] \] -
第\(i\)個網絡的目標就是使用梯度上升最大化\(J^i(\theta^1,...,\theta^n)\)。
-
這種每個agent只更新自己的參數的方式可能永遠也無法收斂。
-
-
多智能體訓練三種常見方法:
-
完全去中心化,就是上面所提的單智能體策略梯度,各個智能體只管優化自己的參數,不和其他智能體共享信息。
-
完全中心化,智能體本身不做決策,而是完全交由一個中央控制器負責訓練和決策,agent執行來自中央控制器的動作指令。
- agent沒有策略網絡。
- 訓練時每個agent將自己的觀測\(o^i\)和獎勵\(r^i\)告訴給中央控制器,由中央控制器告訴agent動作。
- 中央控制器的策略網絡結構只有一個\(\pi(a^i|o^1,...,o^n;\theta^i)\),但每個agent有對應的一套參數\(\theta^i\)。
- 做決策時策略網絡要用到所有agent的觀測。使用不同的網絡參數給不同的agent動作指令。
- 中央控制器有n個策略網絡和n個動作價值網絡(actor-critic),價值網絡輸入是所有agent的觀測和動作。
- 完全中心化的缺點:訓練和使用階段都要和中央控制器通信和同步,導致反應速度慢。
-
中心化訓練+去中心化執行。使用中央控制器來訓練,等訓練結束后舍棄之,決策交由agent來做。
- 每個agent都有一個自己的策略網絡。
- 訓練時有一個中央控制器幫助agent訓練策略網絡,執行階段每個agent根據自己的局部觀測做出決策。
- 中央控制器上有n個動作價值網絡\(q(o,a;w^i)\);
-
-
局部觀測
- 多智能體系統中某一個agent可能不能完全觀察到當前的狀態state;
- 令\(o^i\)表示第\(i\)個agent的觀測,\(o^i \ne s\)。
