0
雷鋒網(wǎng) AI 科技評(píng)論按:OpenAI 近期發(fā)布了一個(gè)新的訓(xùn)練環(huán)境 CoinRun,它提供了一個(gè)度量智能體將其學(xué)習(xí)經(jīng)驗(yàn)活學(xué)活用到新情況的能力指標(biāo),而且還可以解決一項(xiàng)長(zhǎng)期存在于強(qiáng)化學(xué)習(xí)中的疑難問(wèn)題——即使是廣受贊譽(yù)的強(qiáng)化算法在訓(xùn)練過(guò)程中也總是沒(méi)有運(yùn)用監(jiān)督學(xué)習(xí)的技術(shù),例如 Dropout 和 Batch Normalization。但是在 CoinRun 的泛化機(jī)制中,OpenAI 的研究人員們發(fā)現(xiàn)這些方法其實(shí)有用,并且他們更早開(kāi)發(fā)的強(qiáng)化學(xué)習(xí)會(huì)對(duì)特定的 MDP 過(guò)擬合。 CoinRun 在復(fù)雜性方面取得了令人滿意的平衡:這個(gè)環(huán)境比傳統(tǒng)平臺(tái)游戲如《刺猬索尼克》要簡(jiǎn)單得多,但它仍是對(duì)現(xiàn)有算法的泛化性的有難度的挑戰(zhàn)。雷鋒網(wǎng) AI 科技評(píng)論介紹如下。
任務(wù)間的泛化一直是當(dāng)前深度強(qiáng)化學(xué)習(xí)(RL)算法的難點(diǎn)。雖然智能體經(jīng)過(guò)訓(xùn)練后可以解決復(fù)雜的任務(wù),但他們很難將習(xí)得經(jīng)驗(yàn)轉(zhuǎn)移到新的環(huán)境中。即使人們知道強(qiáng)化學(xué)習(xí)智能體傾向于過(guò)擬合——也就是說(shuō),不是學(xué)習(xí)通用技能,而更依賴于他們環(huán)境的細(xì)節(jié)——強(qiáng)化學(xué)習(xí)智能體始終是通過(guò)評(píng)估他們所訓(xùn)練的環(huán)境來(lái)進(jìn)行基準(zhǔn)測(cè)試。這就好比,在監(jiān)督學(xué)習(xí)中對(duì)你的訓(xùn)練集進(jìn)行測(cè)試一樣!
之前的強(qiáng)化學(xué)習(xí)研究中已經(jīng)使用了 Sonic 游戲基準(zhǔn)、程序生成的網(wǎng)格世界迷宮,以及通用化設(shè)計(jì)的電子游戲 AI 框架來(lái)解決這個(gè)問(wèn)題。在所有情況下,泛化都是通過(guò)在不同級(jí)別集合上的訓(xùn)練和測(cè)試智能體來(lái)進(jìn)行度量的。在 OpenAI 的測(cè)試中,在 Sonic 游戲基準(zhǔn)中受過(guò)訓(xùn)練的智能體在訓(xùn)練關(guān)卡上表現(xiàn)出色,但是如果不經(jīng)過(guò)精細(xì)調(diào)節(jié)(fine-tuning)的話,在測(cè)試關(guān)卡中仍然會(huì)表現(xiàn)不佳。在類(lèi)似的過(guò)擬合顯示中,在程序生成的迷宮中訓(xùn)練的智能體學(xué)會(huì)了記憶大量的訓(xùn)練關(guān)卡,而 GVG-AI 智能體在訓(xùn)練期間未見(jiàn)過(guò)的難度設(shè)置下表現(xiàn)不佳。
CoinRun 是為現(xiàn)有算法而設(shè)計(jì)的一個(gè)有希望被解決的場(chǎng)景,它模仿了 Sonic 等平臺(tái)游戲的風(fēng)格。CoinRun 的關(guān)卡是程序生成的,使智能體可以訪問(wèn)大量且易于量化的訓(xùn)練數(shù)據(jù)。每個(gè) CoinRun 關(guān)卡的目標(biāo)很簡(jiǎn)單:越過(guò)幾個(gè)或靜止或非靜止的障礙物,并收集到位于關(guān)卡末尾的一枚硬幣。 如果碰撞到障礙物,智能體就會(huì)立即死亡。環(huán)境中唯一的獎(jiǎng)勵(lì)是通過(guò)收集硬幣獲得的,而這個(gè)獎(jiǎng)勵(lì)是一個(gè)固定的正常數(shù)。 當(dāng)智能體死亡、硬幣被收集或經(jīng)過(guò)1000個(gè)時(shí)間步驟后,等級(jí)終止。
OpenAI 訓(xùn)練了 9 個(gè)智能體來(lái)玩 CoinRun,每個(gè)智能體都有不同數(shù)量的可用訓(xùn)練關(guān)卡。其中 8 個(gè)智能體的訓(xùn)練關(guān)卡數(shù)目從 100 到 16000 不等,最后一個(gè)智能體的關(guān)卡數(shù)目不受限制,因此它也永遠(yuǎn)不會(huì)經(jīng)歷相同的訓(xùn)練關(guān)卡。OpenAI 使用一個(gè)常見(jiàn)的 3 層卷積網(wǎng)絡(luò)架構(gòu)(他們稱之為Nature-CNN),在其上訓(xùn)練智能體的策略。他們使用近端策略優(yōu)化(PPO)對(duì)智能體進(jìn)行了訓(xùn)練,總共完成了 256M 的時(shí)間步驟。由于每輪訓(xùn)練平均持續(xù) 100 個(gè)時(shí)間步驟,具有固定訓(xùn)練集的智能體將會(huì)看到每個(gè)相同的訓(xùn)練級(jí)別數(shù)千到數(shù)百萬(wàn)次。而最后那一個(gè)不受限制的智能體,經(jīng)過(guò)不受限制的集合訓(xùn)練,則會(huì)看到約 200 萬(wàn)個(gè)不同的關(guān)卡,每個(gè)關(guān)卡一次。
OpenAI 收集了數(shù)據(jù)并繪制出了下面的圖,每個(gè)點(diǎn)表示智能體在 10000 輪訓(xùn)練中的表現(xiàn)的平均值。在測(cè)試時(shí)使用智能體進(jìn)行從未見(jiàn)過(guò)的關(guān)卡。他們發(fā)現(xiàn),當(dāng)訓(xùn)練關(guān)卡數(shù)目低于 4000 時(shí),就會(huì)出現(xiàn)嚴(yán)重的過(guò)擬合。事實(shí)上,即使有 16000 個(gè)關(guān)卡的訓(xùn)練,仍會(huì)出現(xiàn)過(guò)擬合現(xiàn)象!不出所料,接受了不受限水平訓(xùn)練的智能體表現(xiàn)最好,因?yàn)樗梢栽L問(wèn)最多的數(shù)據(jù)。這些智能體用下圖中的虛線表示。
他們將 Nature-CNN 基線與 IMPALA 中使用的卷積網(wǎng)絡(luò)進(jìn)行了比較,發(fā)現(xiàn) IMPALA- cnn 智能體在任何訓(xùn)練集下的泛化效果都要好得多,如下所示。
在接下來(lái)的實(shí)驗(yàn)中,OpenAI 使用了 500 個(gè)CoinRun級(jí)別的固定訓(xùn)練集。OpenAI 的基準(zhǔn)智能體在如此少的關(guān)卡數(shù)目上泛化,這使它成為一個(gè)理想的基準(zhǔn)訓(xùn)練集。他們鼓勵(lì)其他人通過(guò)在相同的 500 個(gè)關(guān)卡上進(jìn)行訓(xùn)練來(lái)評(píng)估他們自己的方法,直接比較測(cè)試時(shí)的性能。 利用該訓(xùn)練集,他們研究了幾種正則化技術(shù)的影響:
? dropout (當(dāng)一個(gè)復(fù)雜的前饋神經(jīng)網(wǎng)絡(luò)在小的數(shù)據(jù)集上訓(xùn)練時(shí)容易造成過(guò)擬合。為了防止這種情況的發(fā)生,可以通過(guò)在不同的時(shí)候讓不同的特征檢測(cè)器不參與訓(xùn)練的做法來(lái)提高神經(jīng)網(wǎng)絡(luò)的性能)和 L2 批量正則化(就是在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中,讓每一層神經(jīng)網(wǎng)絡(luò)的輸入都保持相同分布的批標(biāo)準(zhǔn)化):兩者都帶來(lái)了更好的泛化性能,而 L2 正則化的影響更大
? 數(shù)據(jù)增強(qiáng)和批量標(biāo)準(zhǔn)化:數(shù)據(jù)增強(qiáng)和批量標(biāo)準(zhǔn)化都顯著改善了泛化。
? 環(huán)境隨機(jī)性:與前面提到的任何一種技術(shù)相比,具有隨機(jī)性的訓(xùn)練在更大程度上改善了泛化(詳見(jiàn)論文 https://arxiv.org/abs/1812.02341)。
OpenAI 還開(kāi)發(fā)了另外兩個(gè)環(huán)境來(lái)研究過(guò)擬合:一個(gè)名為 CoinRun-Platforms 的 CoinRun 變體和一個(gè)名為 RandomMazes 的簡(jiǎn)單迷宮導(dǎo)航環(huán)境。 在這些實(shí)驗(yàn)中,他們使用了原始的 IMPALA-CNN 架構(gòu)和 LSTM,因?yàn)樗麄冃枰銐虻膬?nèi)存來(lái)保證在這些環(huán)境中良好地運(yùn)行。
在 CoinRun-Platforms 中,智能體試圖在 1000 步時(shí)限內(nèi)收集幾個(gè)硬幣。硬幣被隨機(jī)地分散在關(guān)卡的不同平臺(tái)上。在 CoinRun-Platforms 中,關(guān)卡更大、更固定,因此智能體必須更積極地探索,偶爾還要回溯其步驟。
當(dāng)他們?cè)诨€智能體實(shí)驗(yàn)中測(cè)試運(yùn)行 CoinRun-Platforms 和 RandomMazes 時(shí),智能體在所有情況下都非常嚴(yán)重過(guò)擬合。在 RandomMazes 中,他們觀察到特別強(qiáng)的過(guò)擬合,因?yàn)榧词故褂?20,000 個(gè)訓(xùn)練關(guān)卡是,仍然與無(wú)限關(guān)卡的智能體存在相當(dāng)大的泛化差距。
OpenAI 的結(jié)果再次揭示了強(qiáng)化學(xué)習(xí)中潛在的問(wèn)題。使用程序生成的 CoinRun 環(huán)境可以精確地量化這種過(guò)擬合。有了這個(gè)度量,研究人員們可以更好地評(píng)估關(guān)鍵的體系結(jié)構(gòu)和算法決策。他相信,從這個(gè)環(huán)境中吸取的經(jīng)驗(yàn)教訓(xùn)將適用于更復(fù)雜的環(huán)境,他們希望使用這個(gè)基準(zhǔn),以及其他類(lèi)似的基準(zhǔn),向具有通用泛化能力的智能體迭代前進(jìn)。
對(duì)于未來(lái)的研究,OpenAI建議如下:
? 研究環(huán)境復(fù)雜性與良好泛化所需的關(guān)卡數(shù)量之間的關(guān)系
? 調(diào)查不同的循環(huán)體系結(jié)構(gòu)是否更適合在這些環(huán)境中進(jìn)行泛化
? 探索有效結(jié)合不同正則化方法的方法
如果你對(duì)這一系列研究感興趣,OpenAI 歡迎你加入他們!
詳細(xì)內(nèi)容可以參見(jiàn)論文 https://arxiv.org/abs/1812.02341
via blog.openai.com,雷鋒網(wǎng) AI 科技評(píng)論編譯
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。