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