讀書筆記 - Clique-based Cooperative Multiagent Reinforcement Learning Using Factor Graphs
《Clique-based Cooperative Multiagent Reinforcement Learning Using Factor Graphs》
在許多情況下,代理不是獨立的,而是與其他代理連線,代理相互互動以共同影響環境。有時,每個代理只能獲取其附近環境的狀態以及其鄰居代理的行為。這種系統稱為多代理系統(MAS)[5]。
如果代理人有共同的興趣並協調完成任務,那麼他們就是合作的,例如,無線網路代理商合作制定一個穩定的大聯盟陣型,以便在每個鏈路的平均費率方面產生顯著的收益[6]。
否則,如果每個代理商只追求自己的利益,那麼它們就是競爭性的,例如,一對一格鬥遊戲中的代理商相互競爭以獲得每個人的最大利潤[7-8]。
在本文中,我們只處理合作代理。在MAS中,代理人必須從環境和其他代理中學習其策略。這使得學習系統更難以收斂。因此,MAS中的一個重要問題是如何使代理與其鄰居的部分狀態資訊及行為進行合作[9-10]。
合作MAS中RL動力學的早期分析由Claus和Boutilier完成[13]。他們分析了雙因素重複遊戲中獨立學習者的動態。此外,Tuyls [14]通過進化博弈論分析了獨立的Q學習(IQL)。 Gomes和Kowalczyk [15]用ε-貪婪的探索分析了IQL。 Kianercy和Galstyan [16]用玻爾茲曼探索分析了IQL。這些結果為設計MARL演算法提供了靈感。
事實上,MARL的大多數理論結果僅限於重複遊戲。從馬爾可夫決策過程和博弈論中得出,隨機博弈被提出作為研究MARL的一般框架[17-18]。在此框架下,已經提出了許多MARL演算法。例子是minimax-Q [17],Friend-or-foe [19],Nash-Q [20],IGA [21]和Wolf-PHC [22]。
隨著代理數量的增加,狀態空間和聯合行動空間迅速增長,這就是MARL中所謂的維數災難問題。
自適應動態規劃(ADP)【23-29】是一種通過使用神經網路逼近價值函式和策略來緩解此類問題的有效方法。
Bazzan等人【34-35】將交通訊號燈代理分成小組以減少聯合行動空間,並提出了一種在隨機博弈stochastic games中協調多代理的方法。
Kok等人【36】提出了稀疏協作Q學習,其中全域性Q值函式被分解為區域性Q值函式,每個Q值函式僅依賴於狀態和動作的所有變數的一小部分。每個代理都維護一個本地Q值函式,並使用max-plus演算法【37】獲得的貪婪聯合動作對其進行更新。
但是,仍有兩個問題需要充分解決:
首先,原始稀疏Q學習不與轉換函式transition function一起使用,這通常意味著相對較低的學習速度。
其次,max-plus演算法只能處理具有兩個變數的區域性Q值函式,這限制了全域性函式分解的推廣。
在本文中,我們的目標是解決可以分解為子任務的多工系統的協調問題。
首先,估計轉換函式並用於更新Q值函式,以減少學習時間。
其次,將代理劃分為團cliques,每個團負責特定的子任務。
在這種情況下,全域性Q值函式被分解為幾個更簡單的區域性Q值函式的總和,這些函式可以包含兩個以上的變數。這意味著可以根據問題考慮更靈活的分解。這種分解可以用因子圖表示,並且通過max-plus演算法以分散式方式獲得貪婪聯合動作greedy joint action。
本文的結構如下。
在第二節中,我們描述了分散式感測器網路(DSN)的協調問題。
第三節介紹隨機遊戲,並提供可能的流行MARL演算法進行比較。
在第四節中,提出了使用因子圖的基於clique的稀疏協作RL演算法。我們將展示如何更新轉換函式,如何將代理分解為派系,以及如何使用因子圖來解決問題。
在第五節中,提出並比較了各種MARL演算法的實驗結果。
第六節給出了結論。
分散式感測器網路(DSN)
DSN問題是一個分散式優化問題,它是NIPS 2005基準測試研討會的一部分[38]。
它由兩個感測器陣列組成。圖1示出了具有八個感測器的DSN,每個感測器具有三個動作,即,聚焦在其左側,聚焦於其右側或根本不聚焦。請注意,角感測器的動作範圍不僅限於單元格。例如,即使焦點位於任何單元格之外,感測器0也可以將焦點對準其左側。
在三個單元格內有兩個目標移動。每個目標有相同的概率移動到其左側單元格,移動到其右側單元格或只是停留在原來的位置。這兩個目標按照從左到右的順序採取行動。每個單元一次最多可被一個目標占用。如果目標決定移出三個單元格之外或移動到已被另一個目標占據的單元格,它將保持原樣。
每個目標在開始時具有最大能量值(即3)。如果至少有三個感測器聚焦在它所在的單元上,目標的能量將減少1,稱為命中。如果它的能量值為0,稱為捕獲,它將從DSN消失而不佔據任何單元。如果所有目標都被消除或經過300步,那麼一輪就會完成。
每次聚焦動作都會產生-1的獎勵。沒有聚焦產生0的獎勵。如果捕獲是由四個感測器引起的,則具有三個最高指數的感測器分別獎勵10。
感測器不知道是否發生了命中或捕獲,但他們知道鄰居的行為。目的是在一輪中獲得儘可能多的累積獎勵。
在本文中,兩個目標最初位於兩個隨機單元格中。在每個步驟中,感測器首先做出動作並對目標起作用,產生中間狀態intermediate state,然後輪到目標移動,轉移到下一個狀態。
很明顯,直接獎勵僅取決於中間狀態,因為它們包含是否存在命中,捕獲,聚焦或無焦點的資訊。
在這個問題中,共有3^8 = 6561個動作和37個狀態。
理論上,單代理RL演算法可以學習一組代理的最優策略,如果它們被視為一個整體。然而有兩個問題使得它不適合DSN問題:
首先,隨著代理數量的增加,聯合行動空間呈指數增長。
其次,在DSN問題中,每個代理都不可能觀察到完整的環境狀態,以及所有其他代理的動作。
接下來,我們介紹幾種MARL演算法來在一定程度上解決這些問題。
協作多代理RL
接下來,我們將介紹協作MAS的理論框架,即Stochastic Games。 然後,將介紹幾種流行的MARL演算法,並與提出的演算法進行比較。
Stochastic Games
Stochastic Games 是元組
:環境的狀態集合
:代理的數目
:代理 i 的動作集合
:轉移函式
稀疏Sparse RL
稀疏RL【36】基於以下假設:全域性Q值函式可以分解為區域性Q值函式,每個函式都依賴於較少代理的動作。
代理之間的依賴關係可以通過 協調圖(CG) 來顯示。
CG是二分圖 G =(V,E),其中每個節點表示代理,並且每個邊表示兩個代理是鄰居。
全域性函式可以根據代理或邊edge進行分解。
在本小節中,我們僅介紹基於代理的稀疏RL,和基於邊的稀疏RL。
1)基於代理的稀疏RL:
全域性函式可以根據代理進行分解。每個代理都儲存一個本地Q值函式,該函式取決於所有狀態和動作的一小部分變數。每個代理 i 更新其Q值函式
2)基於邊緣的稀疏RL:
另一種分解方法是基於邊。 全域性函式被分解為區域性函式,每個函式取決於由邊連線的兩個代理的聯合動作。 其優點在於全域性函式的計算開銷隨著鄰居的數量線性增長。
在邊之間分配信用credit的一種方法是邊更新規則【36】,即,
使用因子圖的基於團的稀疏RL
稀疏RL仍有兩個問題需要充分解決。 首先,原始稀疏RL的收斂速度很慢。 其次,全域性函式只能被分解為包含兩個變數的區域性函式,這在某些情況下可能是不合理的。
因此,我們將其擴充套件到區域性函式包含兩個以上的情況。 我們將證明所提出的方法減少了學習時間並提高了學習策略的質量。
A. Sparse RL with a Transition Function
貪婪聯合動作a由一般的max-plus演算法獲得。
B. Clique-based Decomposition
如何在多個代理之間分配信用credits是MAS中的一個重要問題。
最簡單的方法是在代理之間平均分配全域性獎勵。該方法稱為全域性獎勵,廣泛用於合作MAS。它可能會產生懶惰的代理,因為代理收到的獎勵不一定取決於它自己的貢獻。
另一種極端方式是根據自己的行為為每個代理分配信用,稱為本地獎勵。但其最終結果可能偏離了設計者的初衷,即合作,因為沒有明確的機制來促使代理人互相幫助。
在本文中,我們通過混合上述兩種方法提出了一種新方法。
事實上,我們的方法非常類似於混合團隊學習【43】,Luke已經在遺傳程式設計 genetic programming 中進行了研究【44】。
在這種學習中,具有相同本地興趣的代理聚集在一個團中。在每個團中,有一個學習者負責為同一團內的每個代理 學習和決定。它根據團的表現獲得獎勵,儲存和更新本地Q值函式,該函式取決於其團感知的區域性狀態以及團中代理的聯合行動。
如圖2所示,八個感測器分成三個小組。我們將它們聚集在一起,即每個團負責在單元格中擊中和捕獲目標。此後拓撲是靜止的。
由於團之間存在重疊,我們制定以下信用分配規則。每個團佔據一個單元格,例如,團0佔據單元格0。
在每個步驟中,如果感測器不聚焦其團所佔據的單元格,則其即刻獎勵將不會被新增到其團中。每個團只能感知它佔據的單元格中發生的事情。以Clique 1為例,它只能區分四種狀態,即Cell 1中是否有目標,剩餘多少能量(1,2或3)。
C. Factor Graphs and The General Max-plus Algorithm
使用因子圖的建議來自【39】。至於特定狀態,Q值函式僅取決於動作變數。因此,全域性Q值函式被分解為
其中,本地Q值函式Q0,Q1和Q2分別由三個團的學習者儲存和更新。分解式(12)可以用因子圖【45】表示,如圖3(a)所示。
因子圖是二分圖,它包括變數節點和因子節點。
變數節點視覺化為空圓以表示變數,因子節點視覺化為實心方塊以表示因子。
當且僅當 ai 是 Qj 的引數時,邊連線節點(ai)和節點(Qj)。當且僅當它們之間存在邊時,兩個節點是鄰居。
DSN問題中全域性Q值函式的分解應遵循以下規則。
一方面,應該連線區域性Q值函式之和的因子圖,也就是說,因子圖中任何兩個節點應該至少有一條路徑。否則,必須有獨立的代理或團。
另一方面,因子圖中的迴圈應該儘可能少,因為它們將在訊息傳遞過程中引起訊息爆炸。
用於求解(12)的最大值的演算法經常利用分解全域性函式。max-plus演算法遵循一個簡單的規則,即每個節點不斷向其所有鄰居傳送訊息,直到滿足終止條件。有兩種型別的訊息。設 N(x) 表示節點x的鄰居集。
從 變數節點(ai) 傳送到 因子節點(Qj) 的訊息是
從 因子節點(Qj) 傳送到 變數節點(ai) 的訊息是
當訊息不再改變或達到預定義的迭代次數時,可以通過最大化每個變數節點接收的訊息來計算最大解,
演算法2中示出了一般max-plus演算法的虛擬碼。變數節點和因子節點的數量分別由n和m表示。 在因子圖中,訊息傳送可以是順序的或並行的。
在一種方式中,訊息從葉節點一步一步地傳送到根節點,然後從根節點反向傳播到葉節點。
另一種方式中,如演算法2所示,一個節點在傳送之前不必等待傳入訊息。 如果存在唯一的 ai 以使 b(ai) 最大化,則最大解是唯一的。 在此假設下,通過在無環因子圖中使用通用max-plus演算法可以獲得精確解。
如圖3(a)所示,因子圖包含迴圈。 在這種情況下,通過直接使用通用max-plus演算法,無法確保精確解。 這是因為節點接收的訊息包含以不確定的方式從其傳送的訊息,從而導致訊息爆炸。 通過使用 非同步訊息傳遞asynchronous message passing【48】和 訊息傳遞與阻尼 message passing with damping【49】緩解這個問題。 訊息傳遞message passing的機制仍然不清楚,然而,像演算法這樣的置信傳播在某些情況下已經取得了巨大的成功,例如,turbo碼的解碼【50】。
這裡,為了得到(12)的精確最大值,我們通過將變數節點node(a5)、node(a6)合併為一個節點,node(a4)和node(a7)合併為另一個節點來打破迴圈,如圖 3(b)。 出現的變數的域是 A47 = A4×A7 和 A56 = A5×A6。
在基於clique的分解中,clique中可能有兩個以上的代理,這意味著本地Q值函式可能具有兩個以上的動作變數。
在這種情況下,使用Kok等人[37]提出的max-plus演算法不能直接解決最大化問題。 雖然通過將相關圖轉換為僅具有成對的代理間依賴性的圖,可以將它們的技術推廣到具有兩個以上變數的區域性函式。
但我們認為使用因子圖和一般max-plus演算法以分散式方式獲得貪婪聯合行動的方法更自然和方便。
接下來,我們將在感測器網路上測試我們提出的演算法以及回顧的MARL演算法。
總結
在本文中,我們討論瞭如何在DSN問題中實現合作的問題。首先,我們將稀疏RL與轉換函式結合起來。其次,我們將基於clique的分解作為在代理之間分配信用的方法。第三,我們在因子圖中使用一般max-plus演算法來獲取貪婪的聯合動作。通過這種方式,每個代理只需要感知本地環境並與其鄰居通訊。此外,區域性Q值函式可以包含兩個以上的變數,這意味著可以根據問題考慮更靈活的分解。與其他MARL演算法相比,所提出的演算法獲得了最佳的學習效能,併為DSN問題提供了最佳策略。
我們認為分解的最佳方式在很大程度上取決於所涉及的問題。在DSN問題中,通過將感測器分成派系,我們制定了一個因子圖,可以很容易地轉換為無環路圖。在更復雜的MAS中,因子圖可能具有許多迴圈,這使得一般max-plus演算法的收斂性和穩定性不再適用。在未來,我們將研究所提出的演算法在更多應用中的可行性和有效性,例如交通訊號燈的協調,並嘗試解決包含環路的因子圖的問題。