多智能體強化學習


  1. 多智能體的常見設定:

    1. 合作關系。比如工業機器人
    2. 競爭關系。比如拳擊比賽
    3. 合作-競爭混合。比如機器人足球比賽
    4. 利己主義。比如股票自動交易系統
  2. 多智能體系統的術語:

    1. 有n個智能體;

    2. \(S\)為狀態;

    3. \(A^i\)表示第\(i\)個智能體的動作;

    4. 狀態轉移:

      \[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的影響。

    5. \(R^i\)是第\(i\)個智能體獲得的獎勵,\(R^i_t\)是第\(i\)個智能體在時間\(t\)獲得的獎勵。

    6. 回報\(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\)

    7. 策略網絡\(\pi(a^i | s;\theta^i)\),每個智能體都有自己的策略網絡。

    8. 狀態價值函數:\(V^i(s_t;\theta^1,...,\theta^n) = \mathbb{E}[U_t^i|S_t = s_t]\),第\(i\)個agent的狀態價值函數受所有其他策略網絡的影響。

  3. 多智能體系統的收斂問題(無法通過改變策略來獲得更大的期望回報)

    1. 多個智能體達到收斂的標准是納什均衡。即所有agent都不能通過改變自身策略來獲得更高回報。
  4. 單智能體策略梯度

    1. 系統中某一個智能體的狀態價值受其他智能體的影響,將其他智能體的參數固定,對第\(i\)個智能體的狀態價值關於狀態取期望(狀態具有隨機性),得到目標函數:

      \[J^i(\theta^1,\theta^2,...,\theta^n) = \mathbb{E}_S[S;\theta^1,...\theta^n] \]

    2. \(i\)個網絡的目標就是使用梯度上升最大化\(J^i(\theta^1,...,\theta^n)\)

    3. 這種每個agent只更新自己的參數的方式可能永遠也無法收斂。

  5. 多智能體訓練三種常見方法:

    1. 完全去中心化,就是上面所提的單智能體策略梯度,各個智能體只管優化自己的參數,不和其他智能體共享信息。

    2. 完全中心化,智能體本身不做決策,而是完全交由一個中央控制器負責訓練和決策,agent執行來自中央控制器的動作指令。

      1. agent沒有策略網絡。
      2. 訓練時每個agent將自己的觀測\(o^i\)和獎勵\(r^i\)告訴給中央控制器,由中央控制器告訴agent動作。
      3. 中央控制器的策略網絡結構只有一個\(\pi(a^i|o^1,...,o^n;\theta^i)\),但每個agent有對應的一套參數\(\theta^i\)
      4. 做決策時策略網絡要用到所有agent的觀測。使用不同的網絡參數給不同的agent動作指令。
      5. 中央控制器有n個策略網絡和n個動作價值網絡(actor-critic),價值網絡輸入是所有agent的觀測和動作。
      • 完全中心化的缺點:訓練和使用階段都要和中央控制器通信和同步,導致反應速度慢。
    3. 中心化訓練+去中心化執行。使用中央控制器來訓練,等訓練結束后舍棄之,決策交由agent來做。

      1. 每個agent都有一個自己的策略網絡。
      2. 訓練時有一個中央控制器幫助agent訓練策略網絡,執行階段每個agent根據自己的局部觀測做出決策。
      3. 中央控制器上有n個動作價值網絡\(q(o,a;w^i)\);
  6. 局部觀測

    1. 多智能體系統中某一個agent可能不能完全觀察到當前的狀態state;
    2. \(o^i\)表示第\(i\)個agent的觀測,\(o^i \ne s\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM