# ICML 當前研究背景和動機: * 多智能體強化學習 (MARL) 在複雜機器人和戰略領域中的重要性 * 通信信息對於多智能體合作的必要性和價值 * 近期多智能體通信領域的研究重要和挑戰 (發什麼消息和發給誰) 有限頻寬問題及現有方法的限制: * 多智能體學習中面臨的有限頻寬問題,特別是在傳輸過程中。 * 現有解決方法(如調度器)的局限性,仍未解決通訊內容的最佳化問題。 本文的解決方案與貢獻: * 透過壓縮通訊訊息解決有限頻寬問題。 * 從通訊理論角度,將有限頻寬轉換為對通訊訊息熵的限制。 * 引入Informative Multi-Agent Communication(IMAC)方法,透過學習通訊協定和調度來實現低熵和有用訊息的傳遞。 * 在不同環境下的實驗表明,IMAC方法能夠有效地處理有限頻寬約束,並實現更快的收斂。 ## Problem Setting 考慮一個 communicative multi-agent RL 任務, 其 tuple 定義為 (n,S,A,r,P,O,Ω,M,γ), n 代表 agent 的數量, S 代表 global 狀態空間, A = {A_i} for i=1,...,n, 代表所有 agent 的動作空間, O = {O_i} 代表所有 agent 的觀察空間, M 代表訊息空間. P : S × A → S 代表狀態轉移機率函數. 所有 agent 共享 reward function r : S × A → R. 每個 agent 都有自己的 observation function Ω(s, i) : S → O_i, γ 是 discount factor ![image](https://hackmd.io/_uploads/rJ_hkTw-C.png) 每個 agent 接收 o_i 和 scheduling message c_i, 然後輸出 a_i 和 message m_i scheduler ![image](https://hackmd.io/_uploads/BJCAxpDWC.png) 會接收 messages [m_1, ..., m_n], 然後發送 c_i = ![image](https://hackmd.io/_uploads/B15JWaw-0.png)(m_1, ..., m_n) 每個 agent 要學 communication protocol![image](https://hackmd.io/_uploads/H1dt76w-A.png)和 policy ![image](https://hackmd.io/_uploads/BkMim6DWA.png) 和 ![image](https://hackmd.io/_uploads/Skwh7TP-A.png)來最大化期望折扣獎勵 ![image](https://hackmd.io/_uploads/BkiCm6wW0.png) ___ ## Connection between Limited Bandwidth and Multi-agent Communication ### Communication Process ![image](https://hackmd.io/_uploads/SkaB4aPZ0.png) 1. 通訊過程的階段: * 通訊過程包括五個主要階段:類比到數位、編碼、傳輸、解碼和數位到類比。 * 每個階段都有特定的功能和流程,用於確保訊息的順利傳輸和解釋。 2. 模擬到數位(Analog-to-Digital): * 智慧體發送連續訊息,並由類比到數位轉換器(ADC)將其轉換為可計數集合。 * ADC 的操作包括取樣和量化,將連續訊號轉換為離散訊號。 3. 編碼(Coding): * 編碼階段將量化後的訊息透過來源編碼方法(如 Huffman 編碼)映射為位元流,以便進行傳輸。 4. 傳輸(Transmission): * 傳輸器將位元流調製成波,並透過通道傳輸波,然後接收器將波解調至另一個位元流,以解碼訊息。 5. 解碼(Decoding): * 解碼是編碼的逆過程,將位元流映射回恢復的訊息,以便最終傳遞給調度器或智慧體。 6. 數位到類比(Digital-to-Analog): * 最後,調度器從數位到類比轉換器(DAC)接收到重構的類比訊息,並將其傳遞給相應的接收智慧體。 7. 頻寬限制的影響: * 這些階段中的每一個都受到頻寬的限制,尤其是在傳輸階段,頻寬限制了資料的傳輸速率和訊息的有效性。 ___ ### Limited Bandwidth Restricts Message’s Entropy 作者把 m_i 建模為連續隨機向量 M_i, 即從某個分布中採樣連續變量. 長時間而言, 這些 m_i 會遵循某些分布. 將連續變量 quantize (量化) 到 discrete symbols. quantize 這個動作會在離散變量的熵和連續變量的微分熵之間產生差距. (微分熵是用來形容"連續"變量的熵) 使用 X 代表機率密度函數![image](https://hackmd.io/_uploads/HyF8jTwWC.png)的連續隨機變量, 我們使用間格 ∆ 量化這個函數成 K 個 level, K = ceil(|X|/∆), 量化變數為 X^∆. 微分熵 H(X) 和熵的差距為一個常數, ![image](https://hackmd.io/_uploads/S1rXnawZC.png), 然後要對這些 quantized symbols 進行編碼. 一組 n 個 quantized symbols 會被編碼成bitstreams. 這些 symbols 可以被視為具有 H(X^Δ) 的離散隨機變量 X^Δ 的 n 個獨立樣本. 令 L 為對 n 個 symbols 進行編碼的平均 bit 數. 最小的 L 滿足 ![image](https://hackmd.io/_uploads/H10XppDbC.png) 這定義了編碼階段. >簡單總結就是原本訊息是連續的, 但我們想做離散的, 要考慮轉換過程前後 訊息 的不同 --- >編碼的部分說完, 接著是傳輸 然後在傳輸中,透過無雜訊頻道,最大頻寬定義為最大資料速率: ![image](https://hackmd.io/_uploads/Byr_TTw-A.png) ### Proposition 1 在無雜訊頻道中,頻道 B 的頻寬限制了 messages’ elements 的熵。 給定一個 message's element X 具有微分熵 H(X) 的 i.i.d 連續隨機變量, 其量化時間序列為 [X^Δ_1, ..., X^Δ_t]. 通訊系統的頻寬 B 以及 signal levels K,通訊系統每秒傳送 n 個符號。 ![image](https://hackmd.io/_uploads/rJieyCv-A.png) 最終可以得到 ![image](https://hackmd.io/_uploads/By7YJAvZR.png) ### Proposition 2 在無雜訊頻道中,頻道B的頻寬限制了訊息的熵。(與命題 1 不同於是 message, 而不是 elements, 但同理 1, 故不贅述) message M_i = [X_1, X_2, ..., X_d] ![image](https://hackmd.io/_uploads/r15fxAv-C.png) ![image](https://hackmd.io/_uploads/SyukzADWA.png) 最終,有限的頻寬 B 強制規定訊息熵 H(M_i) ≤ H_c ∝ B 的上限 H_c。 ___ ## Measurement of a Message’s Entropy 訊息 M_i 作為獨立同分佈的隨機向量可以遵循任意分佈,因此很難確定訊息的熵。 因此,我們保留訊息的歷史記錄,並找到一個 quantity 來衡量訊息的熵。 ### Proposition 3 當有訊息的歷史記錄來估計訊息的平均值 µ 和 標準差 Σ 時,訊息的熵上限為 1/2 log(|Σ|(2πe)^d),其中 d 是 M_i 的維度。 簡單說證明的原理是根據 最大熵原理. 結論就是 **H(M_i) ≤ 1/2 log(|Σ|(2πe)^d)** ## Informative Multi-agent Communication 如上一節所示,有限的頻寬要求代理程式發送低熵訊息。 在本節中,我們首先介紹我們透過 information bottleneck principle 學習有價值的低熵通訊協定的方法。 ### Variational Information Bottleneck for Learning Protocols 作者提出了一種 messages 和 input features 的 **mutual information**(互訊息)的正規化 ![image](https://hackmd.io/_uploads/B1Gl1O_WR.png) M_i 是具有機率密度函數 p_M_i(m_i) 的隨機向量, H_i 是具有機率密度函數 p_H_i (h_i) 的隨機向量,h_i為 [oi,ci]。 這種正則化強制代理發送 low-entropy messages。 現在設想 n 個 agent 有策略 ![image](https://hackmd.io/_uploads/HJv5m_dZ0.png), 通訊協定(protocols) ![image](https://hackmd.io/_uploads/BJ3hQdOWA.png), 這兩個的參數表示成 ![image](https://hackmd.io/_uploads/ryUCm_dZ0.png), 另外還有 schedulers ![image](https://hackmd.io/_uploads/BytY4O_ZA.png), 其參數表示成 ![image](https://hackmd.io/_uploads/Byc6Vu_b0.png) 為了學習在固定 schedulers 下的 protocol, agent i 應該最大化 ![image](https://hackmd.io/_uploads/rkN7SOuZA.png) 但實際上, 作者使用 information bottleneck Lagrangian 來最大化 ![image](https://hackmd.io/_uploads/ByuQLudbR.png) β is the Lagrange multiplier. 互訊息被定義為: ![image](https://hackmd.io/_uploads/HkXP8u_bR.png) 其中 p(h_i, m_i) 為本節開頭說道的兩個機率密度函數的聯合機率. [互訊息-維基百科](https://zh.wikipedia.org/zh-tw/%E4%BA%92%E4%BF%A1%E6%81%AF#:~:text=%E5%9C%A8%E6%A6%82%E7%8E%87%E8%AB%96%E5%92%8C%E8%B3%87%E8%A8%8A,%E5%96%AE%E4%BD%8D%E9%80%9A%E5%B8%B8%E7%82%BA%E4%BD%8D%E5%85%83%EF%BC%89%E3%80%82) 但由於無法知道![image](https://hackmd.io/_uploads/rkXtY_u-0.png)的先驗分布, 所以無法計算![image](https://hackmd.io/_uploads/BksecdubA.png) 作者使用![image](https://hackmd.io/_uploads/ryKk2OOW0.png)的 Gaussian approximation ![image](https://hackmd.io/_uploads/H1Ke3_db0.png), 並將![image](https://hackmd.io/_uploads/rJ3V3OOZA.png)視為 multivariate variational encoders. 由於![image](https://hackmd.io/_uploads/Sk4u2u_bR.png), 我們展開 KL 項獲得![image](https://hackmd.io/_uploads/SJyohuOWC.png) >簡單說就是log分子分母分開成兩項, 接著移項 [Kullback–Leibler divergence](https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence) 接著就得到互訊息的 upper bound: ![image](https://hackmd.io/_uploads/HkCxAO_ZR.png) 這為我們要最大化的目標![image](https://hackmd.io/_uploads/r1u5A_dZC.png)提供了 lower bpund: ![image](https://hackmd.io/_uploads/Hk5jRdubA.png) 所以只要能最大化這個 lower bpund 即可, 其梯度為: ![image](https://hackmd.io/_uploads/B1olyF_b0.png) >總結來說, 就是利用 variational information bottleneck, 我們可以控制訊息的分布, 從而用不同的先驗 ![image](https://hackmd.io/_uploads/Hke2JKu-0.png)來控制它的熵, 以滿足訓練階段不同的有限頻寬.![image](https://hackmd.io/_uploads/By3NWK_ZC.png) 因此 >![image](https://hackmd.io/_uploads/rJmwbFd-R.png) ### Unification of Learning Protocols and Scheduling