丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給楊曉凡
發(fā)送

1

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

本文作者: 楊曉凡 2017-09-08 17:19 專題:NIPS 2017
導(dǎo)語:內(nèi)容廣闊、具有輕量化設(shè)計、還有高靈活性

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

雷鋒網(wǎng) AI 科技評論按:這周,機(jī)器學(xué)習(xí)頂級會議 NIPS 2017 的論文評審結(jié)果已經(jīng)通知到各位論文作者了,許多作者都馬上發(fā) Facebook/Twitter/Blog/朋友圈分享了論文被收錄的喜訊。大家的熟人 Facebook 人工智能研究院研究員田淵棟也有一篇論文入選,論文名為「ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games」。這篇論文介紹了他們構(gòu)建的強(qiáng)化學(xué)習(xí)研究平臺 ELF,為環(huán)境設(shè)計、高速訓(xùn)練、算法優(yōu)化等重要任務(wù)提供了整套高效易用的解決方案,并且還一并把這個平臺開源了。田淵棟本人也在平臺開源后發(fā)表了一篇知乎專欄,介紹了關(guān)鍵思想和開發(fā)中的一些小故事。以下雷鋒網(wǎng) AI 科技評論根據(jù)論文對 ELF 平臺做一個更詳細(xì)的介紹。

ELF 總體介紹

ELF 名字的來源是 Extensive, Lightweight, Flexible 的首字母縮寫,意指這個平臺涵蓋的內(nèi)容廣闊、具有輕量化設(shè)計、還有高靈活性。這是一個為強(qiáng)化學(xué)習(xí)研究人員設(shè)計的平臺,它為游戲提供了多樣化的屬性、高效率的模擬和高度可定制的環(huán)境設(shè)置。在這個平臺上不僅可以更改游戲的參數(shù),也可以構(gòu)建新的游戲。強(qiáng)化學(xué)習(xí)方法的訓(xùn)練也集成在了環(huán)境中,深入而且具有高靈活性;對并行發(fā)生的事件的模擬尤其進(jìn)行了優(yōu)化?;贓LF,作者們設(shè)計了一個即時戰(zhàn)略(RTS)游戲引擎,其中包含了三個初始環(huán)境,分別為Mini-RTS、搶旗子和塔防。Mini-RTS 是一個迷你的定制化即時戰(zhàn)略游戲,它包含了所有星際游戲中的基本變化(戰(zhàn)爭迷霧,收集資源,建造部隊,用部隊攻擊和防御等等)。這個Mini-RTS游戲在4核MacBook Pro上的運(yùn)行速度高達(dá)16.5萬幀/秒,這比其它現(xiàn)有環(huán)境的速度提高了一個數(shù)量級。如此之高的訓(xùn)練速度就讓人類首次可以端到端地訓(xùn)練出一個能夠完成整場比賽的人工智能,用來對抗游戲內(nèi)置的基于規(guī)則的bot玩家。更進(jìn)一步地,基于ELF的人工智能在6個CPU和1個GPU上只需要一天的時間就可以完成訓(xùn)練。玩另外兩個游戲的人工智能在訓(xùn)練時也有相似甚至更高的訓(xùn)練效率。

許多真實世界的場景和復(fù)雜的游戲(比如星際),本質(zhì)上都是分為不同的層次的。作者們建立的即時戰(zhàn)略游戲中的內(nèi)置 bot 可以掌握所有的游戲數(shù)據(jù),而且?guī)в幸粋€內(nèi)置層次化指令系統(tǒng);這樣的指令系統(tǒng)讓任意控制層次上的訓(xùn)練變得可行。 正如在論文中展示出的,層次化的控制系統(tǒng)讓作者們得以訓(xùn)練出能夠完成整場比賽的人工智能,它不僅能夠表現(xiàn)出最高層次的游戲策略,也能用內(nèi)置的技巧處理低階的指令。以往的即時戰(zhàn)略游戲研究都只關(guān)注了低階的局部戰(zhàn)術(shù)戰(zhàn)役情形。另一方面,對游戲數(shù)據(jù)的全面掌控也給監(jiān)督學(xué)習(xí)訓(xùn)練帶來了可能性,只需要小規(guī)模的內(nèi)部數(shù)據(jù)就可以。

ELF 對用于訓(xùn)練的環(huán)境和參與者之間互動關(guān)系的變化具有非常高的適應(yīng)性,這樣的表現(xiàn)得益于 EFL 采用的 C++/Python 混合框架。這其中包括了一對一、多對一和一對多映射?,F(xiàn)有的強(qiáng)化學(xué)習(xí)訓(xùn)練環(huán)境(比如 OpenAI 的 Gym 和 Universe)都只能在一種 Python 接口上封裝一個游戲,這就讓切換互動關(guān)系變得很麻煩。ELF 的并行部分是用 C++ 編寫的,這對加速模擬訓(xùn)練過程至關(guān)重要。最后,ELF 可以用來承載任意用 C/C++編寫的游戲,包括 Atari 系列游戲、棋類游戲和物理引擎,只要寫一個簡單的適配軟件就可以。

在 PyTorch 編寫的靈活的強(qiáng)化學(xué)習(xí)后端支持之下,作者們與眾多的基準(zhǔn)模型進(jìn)行了對比,并且討論了訓(xùn)練中使用到的有效技巧。論文中展示的第一個結(jié)果是玩部分信息即時策略游戲的AI,它送通過端到端的方式訓(xùn)練的。作者們使用了 A3C(Asynchronous Advantages Actor-Critic)模型,探索了幀跳躍、時間視域、網(wǎng)絡(luò)架構(gòu)、序列學(xué)習(xí)等等設(shè)計方法。結(jié)果表明帶有Leaky ReLU和 Batch Normaliztion 的網(wǎng)絡(luò)在長期視界訓(xùn)練和漸進(jìn)序列訓(xùn)練下,跟內(nèi)置的基于規(guī)則的AI進(jìn)行Mini-RTS完整比賽可以取得超過70%的勝率。在其它游戲中還取得了更好的結(jié)果。

ELF架構(gòu)

ELF 使用了經(jīng)典的生產(chǎn)者-消費(fèi)者模型,生產(chǎn)者玩N局游戲,每局游戲都在一個單獨(dú)的C線程中。當(dāng)游戲中的一組M個游戲當(dāng)前狀態(tài)就緒的時候,對應(yīng)的游戲會被鎖定,這組狀態(tài)通過daemon送進(jìn)Python一側(cè)。消費(fèi)者(例如執(zhí)行器、優(yōu)化器等等)通過Python/C++界面獲得帶有歷史記錄的成組的游戲感知,然后把回復(fù)發(fā)回給鎖定的這組游戲;本來鎖定后在等待下一步操作或者下一個值的這組游戲就可以繼續(xù)運(yùn)行了。

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

ELF 執(zhí)行架構(gòu)

為了結(jié)構(gòu)的簡潔性,生產(chǎn)者和消費(fèi)者目前在同一個進(jìn)程中進(jìn)行。不過它們也可以分開在不同的進(jìn)程中,甚至在不同的機(jī)器上。在訓(xùn)練(或者評估)開始之前,不同的消費(fèi)者可以要求提供不同長度的歷史狀態(tài)。比如一個執(zhí)行器需要的的狀態(tài)歷史比較短,而一個優(yōu)化器需要的狀態(tài)歷史就比較長。

如下圖是 ELF 的用法示例。

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

ELF 初始化

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

ELF 主體循環(huán)

根據(jù)論文中的介紹,ELF的架構(gòu)有如下幾個特點(diǎn):

用 C 語言編寫,具有多線程能力?,F(xiàn)代強(qiáng)化學(xué)習(xí)方法經(jīng)常需要很高的并行訓(xùn)練程度,在多樣的情境下獲得更豐富的經(jīng)驗。然而多數(shù)現(xiàn)有的強(qiáng)化學(xué)習(xí)環(huán)境(Open AI 的Gym和Universe,RLE,Atari,Doom)提供的Python接口只能封裝一個游戲?qū)嵗?。這樣導(dǎo)致的結(jié)果就是,應(yīng)用現(xiàn)代強(qiáng)化學(xué)習(xí)方法的時候需要在 Python 代碼中編寫并行計算機(jī)制。然而,由于 Python 中全局解釋器鎖GIL的限制,Python中線程級別的并行化只能發(fā)揮出多核CPU很小的一部分性能。進(jìn)程級別的并行化也會給帶來進(jìn)程間額外的數(shù)據(jù)交換開銷,并且增加框架設(shè)計難度。相比之下,用 C 線程實現(xiàn)的并行化在多核 CPU 上的拓展性要好得多。

環(huán)境與模型之間的靈活配置。ELF 可以支持一個到多個消費(fèi)者,每一個消費(fèi)者都可以從收到的一組狀態(tài)中了解到當(dāng)前環(huán)境的狀況;消費(fèi)者一般就是一個神經(jīng)網(wǎng)絡(luò)模型。這些不同的消費(fèi)者之間可以選擇分享一些參數(shù)、可以更新權(quán)重、可以存在于不同的進(jìn)程甚至不同的計算機(jī)上。這種架構(gòu)就為游戲環(huán)境和模型更換互動關(guān)系提供了很高的靈活性??梢詾槊恳粋€游戲環(huán)境各自分配一個模型,就是“一對一”的,比如A3C,這種情況下每個智能體都有單獨(dú)的一個模型副本用來進(jìn)行預(yù)測和更新。類似地,可以把多個環(huán)境分配給一個模型,就是“多對一”,比如 BatchA3C或GA3C,模型可以進(jìn)行批量的前向預(yù)測,更好地利用GPU。模型里同樣可以包含前向規(guī)劃的方法,比如蒙特卡洛樹搜索(MCTS)和自我對局,同一個環(huán)境可能要接收多個模型計算出的多個結(jié)果,也就是“一對多”。在 ELF 中,這些訓(xùn)練設(shè)定都只需要很小的改動就可以完成。

高度可定制以及統(tǒng)一的接口。在作者們的 RTS 引擎中實現(xiàn)的游戲可以用原始像素數(shù)據(jù)或者游戲內(nèi)部的低維數(shù)據(jù)進(jìn)行訓(xùn)練。相比感知類的任務(wù),游戲內(nèi)部的數(shù)據(jù)對邏輯推理類的研究任務(wù)更為重要。值得一提的是,ELF 同樣支持基于網(wǎng)格的視覺渲染,便于debug時嘗試不同情境。

ELF 提供了一個統(tǒng)一的接口,可以承載任何用 C/C++編寫的現(xiàn)有程序,包括 Atari 系列游戲、棋類游戲和自定義的RTS游戲引擎,只需一個簡單的適配器即可。這就可以讓現(xiàn)有強(qiáng)化學(xué)習(xí)方法的多線程游戲和訓(xùn)練變得很容易?;谶@個 RTS 引擎,作者們一并編寫了三個完善的游戲環(huán)境,如下圖。(結(jié)構(gòu))

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

ELF 功能結(jié)構(gòu)。作者們基于 ELF 平臺開發(fā)了 RTS 引擎,基于引擎實現(xiàn)了三個游戲環(huán)境

強(qiáng)化學(xué)習(xí)后端。作者們提出了一個基于Python的強(qiáng)化學(xué)習(xí)后端軟件。它的設(shè)計非常靈活易用,便于實現(xiàn)模型中的強(qiáng)化學(xué)習(xí)方法。其中實現(xiàn)了A3C、策略梯度、Q-Learning、信任區(qū)域策略優(yōu)化等多個基準(zhǔn)方法,基本都不需要很長的 Python 代碼就可以。

即時戰(zhàn)略游戲(RTS)

研究人員們普遍認(rèn)為即時戰(zhàn)略游戲是象棋和圍棋后的下一個人工智能的大挑戰(zhàn)。在即時戰(zhàn)略游戲中,玩家一般需要收集資源、建造單位(建筑、小兵等等),并且在戰(zhàn)爭迷霧中探索環(huán)境(有限的視野之外的區(qū)域是不可見的)進(jìn)攻敵人或者進(jìn)行防御,直到分出勝負(fù)。即時戰(zhàn)略游戲的特點(diǎn)是極高而且一直在變化的行動空間(比如10個單位,每個單位有5種可能的選擇,行為空間就是510)、微妙的游戲狀況以及大幅度延時的回報。典型的職業(yè)選手一分鐘可以進(jìn)行200~300個操作,而一場游戲通常要進(jìn)行20到30分鐘。

直接用在研究中的即時戰(zhàn)略游戲引擎很少。面向消費(fèi)者的游戲(比如星際1、2)都有著復(fù)雜的動態(tài)變化、單位交互和圖像表現(xiàn),玩這些游戲也長期以來被證明是一件復(fù)雜的事情。除此之外,它們并不是開源的,外部程序無法獲得游戲內(nèi)部的狀態(tài),沒法簡單地用在研究中。開源的即時戰(zhàn)略游戲有 Spring、OpenRA、Warzone 2100,它們關(guān)注的是復(fù)雜的圖像和特效、簡潔的用戶界面、穩(wěn)定的網(wǎng)絡(luò)連接、靈活的地圖編輯器和即插即用的游戲mod。它們中大多數(shù)都采用了基于規(guī)則的AI,沒有能夠高于實時速度運(yùn)行的設(shè)計、而且也沒有提供能夠直接用于現(xiàn)代機(jī)器學(xué)習(xí)架構(gòu)的接口。其它的一些即時戰(zhàn)略游戲也有各種各樣的限制導(dǎo)致它們不適用于機(jī)器學(xué)習(xí)研究。

為了得到高速、可定制、適合用于強(qiáng)化學(xué)習(xí)的即時戰(zhàn)略游戲環(huán)境,作者們自己編寫了一個RTS游戲引擎??刂茊挝弧⒁苿?、攻擊、特定技能、對其它單位的影響等等基礎(chǔ)設(shè)定一應(yīng)俱全,而且這個引擎設(shè)計了具有不同層次的指令集,只要改變可用的指令、可用的單位、特定情況下引發(fā)的單位操作三個要素,就可以構(gòu)建出新的游戲。引擎中也為此提供了易用的工具。引擎中集成的基于規(guī)則的AI也可以用類似的方法進(jìn)行拓展。在 ELF 中,作者們一并提供了三個游戲,Mini-RTS、搶旗子和塔防。這三個游戲都具有以下的特點(diǎn):

足夠復(fù)雜的游戲性。每個游戲中的單位都是以真實坐標(biāo)移動的,具有體積和碰撞檢測,它們的動作也是需要占用時間的。RTS引擎是時間觸發(fā)型的,在每一次觸發(fā)到時候,游戲中的bot會根據(jù)觀察到的信息做出決定、給單位下達(dá)命令。然后這些命令就被執(zhí)行、游戲狀態(tài)發(fā)生變化,游戲就繼續(xù)執(zhí)行。盡管這樣的游戲機(jī)制算不上簡單,Mini-RTS游戲還是能夠在MacBook Pro筆記本上跑出每個核心40K幀/秒的高速度,這個速度比多數(shù)現(xiàn)有的環(huán)境要高出一個數(shù)量級。這樣,在單臺機(jī)器上也只需要一天就能完成AI模型的訓(xùn)練。

內(nèi)置的層次化命令結(jié)構(gòu)。一個智能體可以下達(dá)戰(zhàn)略型的命令,比如“侵略性更強(qiáng)的站位”,可以下達(dá)戰(zhàn)術(shù)型的指令,比如“hit and run”,微操型的也可以,比如單獨(dú)拉回一個單位以避免吃到傷害。理想狀況下,一個強(qiáng)有力的智能體應(yīng)當(dāng)掌握所有級別的命令;不過實際中的常用做法是關(guān)注某一個特定級別的指令層級別,然后把其它層次留給硬性的規(guī)格處理。為了提供這樣的可能性,這個RTS引擎使用了一個層次化的指令系統(tǒng),它能夠為游戲提供不同層次的控制能力。高層次的指令衍生出的低層次指令可能會影響到所有的單位;一個低層次的、發(fā)給特定單位的持續(xù)動作指令需要占用幾次出發(fā)的時間,這期間每次觸發(fā)的時候可以給單位發(fā)送立即型的指令。

內(nèi)置的基于規(guī)則的AI。與游戲環(huán)境一起,作者們設(shè)計了基于規(guī)則的bot。這些內(nèi)置bot可以掌握地圖中所有的信息并且按照固定的策略行動(比如造5個坦克然后攻擊地方基地)。這些AI的行動方式就是先發(fā)出高層次的指令,然后翻譯成低層次的指令并執(zhí)行。

有了 ELF,研究員們第一次可以在即時戰(zhàn)略游戲中訓(xùn)練能夠玩整局游戲的AI,并且取得了比內(nèi)置的AI強(qiáng)得多的表現(xiàn)。相比之下,其它現(xiàn)有的即時戰(zhàn)略游戲AI要么是基于規(guī)則的,要么專注于戰(zhàn)術(shù)執(zhí)行。

測試

作者們在 ELF 中的游戲里測試評估了這個平臺的可用性。

執(zhí)行性能

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

可以看到,隨著使用的CPU核心數(shù)目的增加,每個核心的平均性能表現(xiàn)并沒有發(fā)生大的變化。ELF的高效與可拓展性可見一斑。相比之下,OpenAI 的Gym 要提高性能就困難得多。

A3C模型訓(xùn)練表現(xiàn)

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

基于A3C 的AI模型對戰(zhàn)內(nèi)置基于規(guī)則的bot的勝率

由于訓(xùn)練輸入是稀疏且混雜的,作者們嘗試構(gòu)建了帶有 Leaky ReLU 和 Batch Normalization 的CNN模型。BN可以通過正態(tài)化每個濾波器的輸出來穩(wěn)定訓(xùn)練中的梯度變化,Leaky ReLU 則可以保留帶負(fù)號的線性響應(yīng)信號,這在輸入特征稀疏的情境中非常重要??梢钥吹?,兩種方法結(jié)合以后的效果格外地高。

組合訓(xùn)練提高模型表現(xiàn)

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

作者們在測試中發(fā)現(xiàn),組合訓(xùn)練對AI訓(xùn)練非常重要。他們的做法是,在訓(xùn)練AI模型的時候,先讓內(nèi)置AI玩一定的時間,然后交給要訓(xùn)練的AI接著玩。這就降低了游戲初始時的難度,而且給游戲帶來了更多的變化,避免掉進(jìn)局部最小值里。

總結(jié)

這樣,ELF 不僅用合理的結(jié)構(gòu)設(shè)計提供了一個包含一組游戲設(shè)計選項的研究平臺、一個輕量級的游戲模擬器和一個靈活的實驗環(huán)境,實際使用中也確實能給強(qiáng)化學(xué)習(xí)研究人員帶來很大的便利。在ELF的基礎(chǔ)上,前向建模、層次化強(qiáng)化學(xué)習(xí)、不確定規(guī)劃、復(fù)雜行為空間強(qiáng)化學(xué)習(xí)等方法也可以在即時戰(zhàn)略游戲中得到更高效的研究。引用田淵棟在知乎專欄里的話說:“如果大家對強(qiáng)化學(xué)習(xí)和游戲AI有興趣,這個框架會提供很大幫助”。

論文地址:https://arxiv.org/abs/1707.01067

項目地址:https://github.com/facebookresearch/ELF/ 

雷鋒網(wǎng) AI 科技評論編譯整理

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

詳解Facebook田淵棟NIPS2017論文:讓大家都能做得起深度強(qiáng)化學(xué)習(xí)研究的ELF平臺

分享:
相關(guān)文章

讀論文為生

日常笑點(diǎn)滴,學(xué)術(shù)死腦筋
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說