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