近日伯克利RISELab推出了多主體強(qiáng)化學(xué)習(xí)包Ray RLlib 0.6.0,并同時(shí)與伯克利BAIR合作推進(jìn)多主體強(qiáng)化學(xué)習(xí)在不同用戶場(chǎng)景下的應(yīng)用,將現(xiàn)有的單主體算法訓(xùn)練拓展到用戶個(gè)性化算法的大規(guī)模訓(xùn)練上。
為什么需要多主體強(qiáng)化學(xué)習(xí)?
在使用強(qiáng)化學(xué)習(xí)的過程中,多主體強(qiáng)化學(xué)習(xí)的想法常??M繞在研究人員的腦海里。相較于單主體強(qiáng)化學(xué)習(xí)算法,多主體的方式將帶來以下優(yōu)勢(shì):對(duì)于問題更自然地解構(gòu)。例如如果想要訓(xùn)練一個(gè)控制移動(dòng)通信蜂窩天線塔控制算法的策略,逾期使用一個(gè)超級(jí)智能體來控制城市中所有的天線,倒不如為每個(gè)天線建立獨(dú)立的模型來的自然,以為在移動(dòng)通信中只有相鄰的天線及其附近的用戶才與每個(gè)站點(diǎn)的控制相關(guān)。具有大規(guī)模學(xué)習(xí)的潛力。首先將觀測(cè)和行動(dòng)從一個(gè)單一的主體解構(gòu)成多個(gè)簡(jiǎn)單的主體不僅減少了單個(gè)智能體輸入輸出的維數(shù),同時(shí)有效增加了在環(huán)境中訓(xùn)練每一步所產(chǎn)生的數(shù)據(jù)量。其次將行動(dòng)和觀測(cè)空間按照主體分為多個(gè)部分,其效果與時(shí)域抽象很類似,這種方法已經(jīng)成功地加速了單主體條件下的學(xué)習(xí)效率。并且一些分層方法也可以利用類似多主體系統(tǒng)的方法來實(shí)現(xiàn)。最后,良好的解構(gòu)還可以更好地遷移到變換的環(huán)境中,更具有適應(yīng)性。而單個(gè)超級(jí)智能體在特定的環(huán)境中可能面臨過擬合的危險(xiǎn)。
單智能體、超級(jí)智能體和多智能體強(qiáng)化學(xué)習(xí)的區(qū)別。
一些多智能體應(yīng)用場(chǎng)景
在緩解交通擁堵方面,只需要控制極少量自動(dòng)駕駛車輛的速度,就能大幅度提高交通流的效率。多主體強(qiáng)化學(xué)習(xí)就可以用于這樣的場(chǎng)景,在混合駕駛的情況下我們暫時(shí)無法通過單一主體來為交通燈和所有的車輛建模,而利用多主體的方法可以有效的解決大范圍內(nèi)多主體間觀測(cè)和行動(dòng)的實(shí)時(shí)性。下圖顯示了加入少量紅色的無人駕駛車輛,整體通行效率大幅提高。詳細(xì)報(bào)道可以閱讀傳送門>>無人駕駛與智能算法如何協(xié)作處理實(shí)際生活中的復(fù)雜交通問題?
移動(dòng)通信中的蜂窩天線控制問題,基站的聯(lián)合配置可以通過優(yōu)化局部使用分布和環(huán)境形態(tài)來得到,這里每一個(gè)基站就可以看作是多主體強(qiáng)化學(xué)習(xí)中的一個(gè),共同覆蓋整個(gè)城市的通信服務(wù)。
在電競(jìng)游戲中OpenAI Five的表現(xiàn)令人印象深刻,其中的智能體訓(xùn)練出配合的策略來與人類抗衡。每一個(gè)AI主體都有一個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)策略并與大規(guī)模的PPO(Proximal Policy Optimization)進(jìn)行聯(lián)合訓(xùn)練。
支持多主體的強(qiáng)化學(xué)習(xí)庫(kù)ray-RLlib
在了解了多主體強(qiáng)化學(xué)習(xí)的優(yōu)勢(shì)的應(yīng)用場(chǎng)景后,我們就來看看這一新版本的強(qiáng)化學(xué)習(xí)庫(kù)具有哪些優(yōu)勢(shì)和特點(diǎn)。RLlib兼容多種強(qiáng)化學(xué)習(xí)分布式算法,包括:A2C / A3C, PPO, IMPALA, DQN, DDPG, 和Ape-XD等等。在接下來的部分中文章將首先探討多主體強(qiáng)化學(xué)習(xí)面臨的挑戰(zhàn)、展示如何通過現(xiàn)有的算法來訓(xùn)練多主體策略,如何在動(dòng)態(tài)和變化增加的多主體環(huán)境中實(shí)現(xiàn)多特定的算法。這一算法包的目的在于減小研究人員從單主體到多主體強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)過程中的研究成本,加速項(xiàng)目的實(shí)施。
支持多主體強(qiáng)化學(xué)習(xí)的難點(diǎn)
像強(qiáng)化學(xué)習(xí)這樣快速變化的領(lǐng)域構(gòu)建軟件面領(lǐng)著巨大的挑戰(zhàn),多主體強(qiáng)化學(xué)習(xí)更是如此。下面讓我們通過例子來感受一下非靜態(tài)環(huán)境中多主體強(qiáng)化學(xué)習(xí)面臨的難點(diǎn)。下圖中紅色車輛的學(xué)習(xí)目標(biāo)是控制車速,而藍(lán)色車輛的學(xué)習(xí)目標(biāo)則是盡可能縮短途中運(yùn)輸?shù)臅r(shí)間。紅色的車輛在一開始就簡(jiǎn)單的初始化為期望的固定速度。然而在多主體的環(huán)境下,其他的主體將會(huì)不斷去優(yōu)化自己的目標(biāo)。在這個(gè)例子下,藍(lán)色的車就會(huì)嘗試超越紅色的車。在單主體的角度下(紅色車)這會(huì)引起一系列問題。因?yàn)樵诩t色車看來,藍(lán)色車也是環(huán)境的一部分。藍(lán)色車超越的行為造成了動(dòng)態(tài)環(huán)境的問題,這違背了單主體在Q學(xué)習(xí)和DQN中需要的馬爾科夫假設(shè)收斂的條件。
非靜態(tài)環(huán)境,兩種主體的學(xué)習(xí)目標(biāo)不一致造成了環(huán)境的變化。
為了解決這一問題,人們提出了多種算法。包括LOLA,RIAI和Q-MIX。在更高的層次這些算法考慮了在強(qiáng)化學(xué)習(xí)過程中其他主體造成的影響。通常在訓(xùn)練時(shí)使用部分中心化的方式,而執(zhí)行時(shí)使用去中心化的方式。這就意味著策略網(wǎng)絡(luò)依賴于其他的主體。下面是Q-MIX中一個(gè)混合網(wǎng)絡(luò)的例子:
Q-MIX的網(wǎng)絡(luò)架構(gòu),個(gè)體的Q估計(jì)通過單一的混合網(wǎng)絡(luò)集成,是的最終的行動(dòng)計(jì)算更有效率。
同樣,類似于A3C和PPO這類的策略梯度算法在多主體的情況下會(huì)面臨很多困難,例如信用分配問題( credit assignment problem)就會(huì)隨著個(gè)體的增加而變得復(fù)雜。例如,道路上發(fā)生了在很多自動(dòng)駕駛汽車間交通擁堵,為了避免碰撞,他們會(huì)將速度設(shè)置為0,那么給主體的獎(jiǎng)勵(lì)與速度的關(guān)系將越來越弱,使得擁堵的解決變得困難。
在上圖所示的交通擁堵中,我們不清楚哪一輛車造成問題的原因最多,解決擁堵問題我們也不知道那一輛車貢獻(xiàn)的最多。對(duì)于這些問題,其中一類解決辦法就是利用中心化的價(jià)值函數(shù)(下圖中的Q部分)為其他主體造成的影響建模,MA-DDPG,就屬于這類方法。通過考慮其他主體的行為,個(gè)體的優(yōu)勢(shì)估計(jì)變換將會(huì)變得穩(wěn)定。
MA-DDPG架構(gòu),在執(zhí)行時(shí)策略只用了局域信息、但在訓(xùn)練時(shí)充分利用了全局信息。
通過上面的例子可以看到,對(duì)于多主體強(qiáng)化學(xué)習(xí)有兩大類不同的挑戰(zhàn)和實(shí)現(xiàn)方式。有時(shí)候利用單主體強(qiáng)化學(xué)習(xí)算法訓(xùn)練多主體策略可以取得很好的效果。例如OpenAI Five成功地結(jié)合了一個(gè)大規(guī)模的PPO和特定的網(wǎng)絡(luò)模型,并利用超參數(shù)”團(tuán)隊(duì)精神”來共享獎(jiǎng)勵(lì)解決多主體訓(xùn)練問題,并利用共享的“主體間最大池化”為模型提供共享的觀測(cè)信息。
利用RLlib進(jìn)行多主體訓(xùn)練
為了在多主體的情況下同時(shí)考慮特定算法和標(biāo)準(zhǔn)單主體強(qiáng)化學(xué)習(xí)算法,RLlib使用了兩條原則來將這一過程大大簡(jiǎn)化:策略被表示成了對(duì)象:在RLlib中所有基于梯度的算法被視為圖對(duì)象,其中包含了策略模型、后處理函數(shù)以及策略損失等。這一策略圖對(duì)象充分適應(yīng)分布式架構(gòu)對(duì)于初始環(huán)境、經(jīng)驗(yàn)收集和改善策略等方面的處理。策略對(duì)象是黑箱:為了支持多主體運(yùn)行,RLlib僅僅需要管理每個(gè)環(huán)境中多主體策略圖的創(chuàng)建和執(zhí)行即可,并在策略優(yōu)化時(shí)加總損失。策略圖對(duì)象被視為一個(gè)黑箱過程,這意味著它可以使用任意的網(wǎng)絡(luò)框架來實(shí)現(xiàn),無論是TensorFlow或者pytorch都可以。此外,策略圖在使用特定算法時(shí)可以共享變量和層而無需而外的架構(gòu)支持。
多主體環(huán)境模型
下面讓我們來感受一下這一算法包是如何工作的。在一個(gè)多主體的環(huán)境中,每一步將會(huì)有多個(gè)行動(dòng)產(chǎn)生,下面控制交通流量的例子引入了多個(gè)控制量(自動(dòng)駕駛車和交通燈)來減少高速路上的擁堵。在這一場(chǎng)景中,每個(gè)主體行為都表現(xiàn)出不同的時(shí)間尺度;環(huán)境中主體的行為是一個(gè)時(shí)間過程。
工具包中的多主體環(huán)境可以為多個(gè)獨(dú)立的主體建模,可以為不同的主體分配不同的策略.可以看到交通燈、和不同的自動(dòng)駕駛汽車使用了不同的策略
利用多主體環(huán)境接口,可以得到多個(gè)主體在每一步的觀測(cè)和獎(jiǎng)勵(lì)值:
# Example: using a multi-agent env> env = MultiAgentTrafficEnv(num_cars=20, num_traffic_lights=5)# Observations are a dict mapping agent names to their obs. Not all# agents need to be present in the dict in each time step.> print(env.reset()) { "car_1": [[...]], "car_2": [[...]], "traffic_light_1": [[...]], } # Actions should be provided for each agent that returned an observation.> new_obs, rewards, dones, infos = env.step( actions={"car_1": ..., "car_2": ...})# Similarly, new_obs, rewards, dones, infos, etc. also become dicts> print(rewards) {"car_1": 3, "car_2": -1, "traffic_light_1": 0}# Individual agents can early exit; env is done when "__all__" = True> print(dones) {"car_2": True, "__all__": False}
任何OpenAI gym中的離散的字典、元組或者Box觀測(cè)空間都可以被用于這些獨(dú)立的個(gè)體上,這使得每個(gè)主體多傳感器輸出成為可能(也包括了主體間的通信過程)在API中包含了多層級(jí)的API,從單主體的共享策略到多策略,再到完全用戶定制化的策略優(yōu)化:
多主體執(zhí)行模型與單主體執(zhí)行模型的比較
API分為了三個(gè)層次,分別是多主體和共享策略、多主體多策略以及定制化的訓(xùn)練策略。使用這三種不同的策略可以在不同的層次針對(duì)不同的場(chǎng)景來訓(xùn)練模型。
性能
RLlib設(shè)計(jì)的初衷就在于大規(guī)模集群多主體的使用,但同時(shí)研究人員了為單核機(jī)器設(shè)計(jì)了較好的接口,是的小型電腦也可以有效地執(zhí)行多主體APIs。下圖展示了多主體策略的表現(xiàn)。其中基準(zhǔn)是一個(gè)小型的浮點(diǎn)數(shù)適量,策略網(wǎng)絡(luò)利用了16*16的小型全連接網(wǎng)絡(luò)。并未每一個(gè)主體分配策略池中的策略。結(jié)果表明,RLlib在單CPU上,為單個(gè)環(huán)境中的1萬個(gè)主體每秒管理7萬次行動(dòng),當(dāng)矢量化關(guān)閉時(shí)性能下降了近四十倍。
同時(shí)也測(cè)試了1-50個(gè)不同策略數(shù)量下的表現(xiàn):
希望這工具能為強(qiáng)化學(xué)習(xí)領(lǐng)域的小伙伴們帶來一種對(duì)于多主體強(qiáng)化學(xué)習(xí)迅速和通用的解決框架,如果你希望使用這個(gè)工具包,只需要使用pip安裝即可:pip install ray[rllib]更多詳細(xì)資料請(qǐng)參看:doc: https://ray.readthedocs.io/en/latest/rllib.htmllab:https://rise.cs.berkeley.edu/blog/scaling-multi-agent-rl-with-rllib/
-
智能體
+關(guān)注
關(guān)注
1文章
278瀏覽量
10987 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
269瀏覽量
11532
原文標(biāo)題:伯克利推出大規(guī)模多主體強(qiáng)化學(xué)習(xí)算法庫(kù)
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Facebook推出ReAgent AI強(qiáng)化學(xué)習(xí)工具包
深度強(qiáng)化學(xué)習(xí)實(shí)戰(zhàn)
伯克利博士論文:DC-DC轉(zhuǎn)換器

美國(guó)勞倫斯伯克利國(guó)家實(shí)驗(yàn)室開發(fā)出“病毒發(fā)電”元件
美國(guó)加州大學(xué)伯克利分校模電資料
伯克利(Berkeley)聯(lián)網(wǎng)程序代碼介紹
華為投入1百萬美元和伯克利合作推進(jìn) AI 技術(shù)
谷歌和UC伯克利的新式Actor-Critic算法快速在真實(shí)世界訓(xùn)練機(jī)器人
推特公開宣布了伯克利機(jī)器人學(xué)習(xí)實(shí)驗(yàn)室最新開發(fā)的機(jī)器人BLUE
UC伯克利新機(jī)器人成果:靈活自由地使用工具
加州大學(xué)伯克利分校的團(tuán)隊(duì)給予跳躍機(jī)器人更高目標(biāo)
加州大學(xué)伯克利分校研發(fā)可以操控的機(jī)器人
研究人員開源RAD以改進(jìn)及強(qiáng)化智能學(xué)習(xí)算法
美國(guó)伯克利市考慮2027年出臺(tái)汽油車禁售令
《自動(dòng)化學(xué)報(bào)》—多Agent深度強(qiáng)化學(xué)習(xí)綜述

評(píng)論