---
# System prepended metadata

title: ICML

---

# 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