Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination

原文:https://www.cnblogs.com/Twobox/p/16791412.html

熵:表述一個概率分佈的不確定性。例如一個不倒翁和一個魔方拋到地上,看他們平穩後狀態。很明顯,魔方可能有6種狀態,而不倒翁很大可能就一個狀態,那麼我們說在這種情況下,不倒翁的確定性高於魔方。也就是魔方的熵大於另外一個。那麼我看錶達式:

\(H(p)=-\sum_i^n P_i logP_i\)

image

image

很明顯,當p的概率是0或1時,沒有不確定性,熵值爲0。當爲0.5時,熵最大,最不確定。

相對熵

https://zhuanlan.zhihu.com/p/372835186zui

兩個分佈相似度的一種度量

定義:

image

性質:

D(P||Q) >= 0,當 P=Q時,D(P||Q)=0;

Maximum Entropy RL

https://zhuanlan.zhihu.com/p/444441890

名字很長,但是實際很簡單。

image

1、加上這個實際體現是什麼?2、有什麼好處?

一般來說,我們將state輸入神經網絡後,輸出的action是分佈,即每個動作的概率值。例如 向左0.8 向右0.1 開火0.1。我們具體執行那個動作是通過抽樣來選擇的。

剛纔我們說到,熵是衡量一個概率分佈的不確定性,各變量概率越相近,熵值越大。例如上述例子,當p爲0.5時候,熵最大。也就是說,所謂最大熵目標,也就是希望各動作的概率儘可能的小。換句話說,希望獲得高獎勵的同時,動作的可選擇性儘可能多。

image

如圖,上面的路線更短,傳統RL方法會學習到向上,而最大熵RL則都能夠學習到。說白了就是增加應對不同情況的魯棒性!

MEP背景

image

強化學習在對抗人類方面取得了很多成功,例如 🐕、刀塔、星際爭霸等。但是在合作協作方面都有待進展。一般Agent是通過自博弈,例如🐕,來進行訓練。那麼造成了這麼一個問題:只對特定的對手策略起作用,當換成人的時候時候,因爲沒見過,很大可能就傻了,啥也不是。

論文中有個形象的例子,我們來看下:

image

一個相互協作的烹飪遊戲,2玩家,下面紅色框裏是洋蔥、左邊橙色框裏是盤子、上面藍色框裏是烹飪臺,中間一條和周圍一圈是褐色的是桌面。遊戲目標很見到那,首先將下面3個洋蔥放到上面烹飪臺上,等烹飪時間結束後,再用左邊的盤子裝盤,送到最右邊的出口。

那麼傳統自博弈將出現下面這種情況:一個人在下面不停的送,上面不停的接,並且他只送一個檯面。因爲這樣整體獎勵是最高的。但是這時候下面那個換成一個人,並且就不放洋蔥到那個檯面,這時候上面那個Agent就蒙了。顯然,最直接的原因,就是之前訓練的機器人沒有學習到夥伴的其他情況。

image

MEP

那麼本文的思想很簡單,那不是見識少嗎,那我就先訓練一大堆不同的策略的夥伴,然後讓我們的Agent和這些夥伴協作訓練就行了。梳理下就是 1、先訓練一大堆不同策略的夥伴 2、Agent和這些夥伴協作訓練

PD目標

那麼我們要先訓練出來的這個羣裏,我們真對其2個部分進行優化。首先是當中的每個個體,使用最大熵獎勵,鼓勵每個個體自身有exploratory and multi-modal。也說就是其自身儘可能有不同的操作。其次是對於整個羣裏而言,互相之間儘可能差別大。那麼可以用KL散度作爲目標的另一部分。數學形式如下:

image

細看很簡單,就是每個個體的熵值求平均、每倆之間的相對熵求平均。看公式很明顯,這個算法的時間複雜度爲\(O(n^2)\)\(n\)爲種羣的個體數。對此,提出另一個替代目標PE,該文章通過數學證明,證明PE爲PD的下界,即PD>=PE。

image

PE目標

image

表達式相當簡單,就是把先羣體中每一個策略加起來求個平均,得出一個平均策略,然後對這個平均策略求一個熵就可以了。

訓練最大熵羣體

image

回顧下之前說的最大熵強化學習目標表達式,就是在原來獎勵的基礎上,加上了一個熵作爲附加獎勵。

image

相似的,本文最大熵種羣的訓練目標也是原來獎勵的基礎熵,加上我們的PE目標,也就是羣平均策略的熵。

image

流程很簡單,每次抽一個個體出來與環境交互,根據目標函數,利用交互數據進行訓練。直至收斂。

訓練魯棒性Agent

想法很簡單,每次選羣裏中配合最難的個體出來進行協作訓練。\(\pi^{(A)}\)就是我訓練的最終策略,他的目標就是,不斷提高與最垃圾的那個人配合的分數。形象表達,在工作中最難配合的人都適應了,其他人還算啥。

image

那麼怎麼計算具體的概率呢:我們希望概率正相關難度,也就是負相關合作收益,收益越高,約靠後。

image

最終,我們選取了下面這個形式,將他們以難度排序。例如3個分別排 1、2、3 。那麼第一個的概率就是1/(1+2+3) = 1/6、第二個就是2/6、第三個就是3/6。就是這個意思。

image

總結

我們希望在沒有人類數據的情況下,通過自博弈能夠實現與人類的合作。因爲不同的人行爲不同,所以我們希望我們在訓練之前,儘可能的先訓練一大批行爲不同的行爲模型,然後再和這些模型進行訓練,以提升和真人的配合的魯棒性。如果我們訓練的這個羣裏,行爲越豐富,那麼越能代表大多數真人,那麼我們最終訓練的Agent越能配合形形色色的真人。其中難點是羣體訓練,體現在兩方面,個體多樣性,個體之間的多樣性,這個進化計算的思想是一致的!對於個體多樣性,我們使用熵來進行控制。對於倆倆之間的多樣性,通過相對熵,也就是KL散度來控制。這篇文章做的只是這樣,更重要的是通過推到,找到了一個線性複雜度的替代目標,來代替原先\(n^2\)複雜度的目標。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章