0
雷鋒網(wǎng) AI 科技評論按:強化學習是學到一個策略解決智能體與環(huán)境間互動問題的重要學習范式。不過以往的強化學習過程都常常很低效,在復雜環(huán)境中往往難以收斂。這一方面由于簡單的策略難以完善、細致地描述各種不同環(huán)境狀態(tài)下的不同行為,另一方面也有由于可能的行為的組合太多所以要探索的空間太大了。
OpenAI的研究人員們這次就開發(fā)了一個層次化的強化學習算法,它可以學習到高階的行動,用來解決一系列不同的任務,同時也可以快速學會解決總共需要上千個步驟的任務。當這個算法用來解決導航問題時,它能夠為不同方向的走或者爬行學到一系列高級別的動作,這也讓智能體能夠快速掌握新的導航任務。
雷鋒網(wǎng) AI 科技評論把OpenAI博客的介紹文章編譯如下。
人類應對復雜問題的方法是把它們分解成一系列小的、可控的步驟。比如“做餡餅”就是由一系列高級別的行為組成的,取面粉、打雞蛋、攤在平底鍋內(nèi)、設定烤箱等等。人類能夠快速學到新任務,靠的就是把已經(jīng)學過的步驟組合起來,即便每個步驟都可能需要百萬個低級別的行動組成,像讓不同的肌肉做不同的動作這樣。
然而,當前的強化學習算法的運行方式都是在低層次的行動中做暴力搜索,解決新問題的時候需要大量的嘗試。對于那些需要依次執(zhí)行很多個步驟的任務來說,這種搜索方法的效率就會變得非常低。
OpenAI的研究人員們提出了一種基于層次化強化學習的解決方案。這種方法中,智能體用幾個高層次動作組成的序列表征復雜的行為。這樣一來,智能體就可以解決復雜得多的任務:整個解決方案中可能需要2000步左右的低層次動作,層次化策略就可以把它們轉(zhuǎn)化成10個高層次動作組成的序列,那么在這個10步動作的序列中進行搜索就比在2000步的序列中進行搜索高效得多。
在最開始的研究中,層次化策略都是顯式地手工編寫的。后來,他們把研究方向轉(zhuǎn)變?yōu)樽屇P驮谂c環(huán)境的互動中自動學到層次化結(jié)構(gòu)。從元學習的角度,研究者們把好的層次結(jié)構(gòu)定義為能夠在以前未見過的任務中迅速達到高回報的結(jié)構(gòu)。這樣,MLSH算法的目標就變成了學到能夠在以前未見過的任務中快速學習的子策略。
研究員們在許多不同的任務中訓練算法,其中的子策略是共享的,然后對于每個樣本任務學到一個新的主策略。在反復訓練新的主策略的過程中,它也能自動找到與主策略的學習表現(xiàn)最符合的子策略。
在訓練一整晚后,一個訓練用于解決9種不同迷宮的MLSH的智能體就學到了分別對應著向上、向右和向下的動作,然后它就可以用這些動作幫它走出迷宮。
在“螞蟻迷宮”環(huán)境中,一個 Mujoco 螞蟻機器人被放在了9種不同的迷宮中,然后要從開始位置找到出口。OpenAI的新算法僅僅通過與環(huán)境互動就成功找到了一組各有不同的子策略,把它們組成序列后走出迷宮。這些訓練得到的子策略之后就可以用來解決更大的任務。
雷鋒網(wǎng) AI 科技評論編譯。
論文地址:https://arxiv.org/abs/1710.09767
GitHub地址:https://github.com/openai/mlsh (包含訓練智能體的代碼和評估算法用到的Mujoco環(huán)境)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。