Microsoft開源Jericho將使用語言遊戲訓練強化學習

新框架為基於語言的遊戲提供了類似OpenAI的環境。

Microsoft開源Jericho將使用語言遊戲訓練強化學習

語言是人類智力的標誌之一,並且在我們的學習過程中起著關鍵作用。 通過使用語言,我們不斷形成對特定情況的理解。 人腦的許多神奇能力,例如常識性推理,演繹或推理通常通過語言表達。 很難想象任何形式的高級人工智能(AI)都不會依賴語言來表達其與給定環境的相互作用。 近年來,強化學習已顯示出一些幫助AI代理學習自己的語言進行交流的希望。 為了促進基於語言的代理的快速發展,Microsoft Research已開源Jericho,這是一種利用語言遊戲來訓練強化學習代理的學習環境。

使用語言遊戲發展知識的想法具有直覺的意義。 就像嬰兒通過與對象定期互動來學習語言一樣,我們可以通過適當的動機構建AI環境,從而在強化學習代理中發展交流。 從語言學習領域的不同博弈論模型來看,Jericho依賴於最近被稱為交互式小說(IF)遊戲的學科。

IF遊戲

在計算機科學中,IF遊戲被定義為軟件環境,在該軟件環境中,玩家觀察模擬世界的文字描述,發出文字動作並隨著故事的進展獲得分數。 從這個角度來看,IF遊戲是完全基於文本的模擬環境,玩家可以發出文本命令來實現環境中的變化和整個故事的進展。 像Zork I這樣的IF遊戲已經達到了令人難以置信的普及水平。 為了說明如何將IF遊戲應用於訓練AI代理,請考慮下圖所示的遊戲:強化學習代理可以學習與發佈語言命令並接收新狀態的文字描述的環境進行交互。

Microsoft開源Jericho將使用語言遊戲訓練強化學習

像許多自然語言處理(NLP)任務一樣,IF遊戲也需要自然語言理解,但與大多數NLP任務不同,IF遊戲是順序決策問題,其中動作會改變遊戲的後續世界狀態,並且遊戲初期做出的選擇可能具有 對最終結局的長期影響。 此外,IF遊戲也面臨著自己的自然語言學習挑戰:

·組合動作空間:設計了更多的強化學習模型,可以在離散空間或連續空間上運行。 但是,IF遊戲要求代理在自然語言的組合動作空間中進行操作。 例如,一個代理從大小為700的適度詞彙表中生成四個單詞的句子,正在有效地探索7004 = 2400億個可能動作的空間。

·常識性推理:由於缺乏圖形,IF遊戲依靠玩家的常識知識作為與遊戲世界進行交互的先驗。 例如,遇到被鎖定的胸部的人類玩家直觀地瞭解到需要用某種類型的鑰匙來解鎖該胸部,並且一旦被解鎖,該胸部就可以被打開並且可能包含有用的物品。

·知識表示:IF遊戲跨越許多不同的位置,每個位置都有獨特的描述,對象和角色。 玩家通過發出諸如向西走的導航命令在位置之間移動。 由於位置之間的連通性不一定是歐幾里得,因此代理程序需要檢測導航操作是成功還是失敗,以及到達的位置是以前看到的還是新出現的。 除了位置連通性之外,瞭解對象可以嵌套在其他對象(例如冰箱中的食物或胸口的劍)中,也有助於跟蹤每個位置上存在的對象。

為了使IF遊戲成為培訓強化學習代理的可行機制,必須解決這些挑戰。

輸入Microsoft Jericho

Jericho是基於IF遊戲的基於Python的學習環境。 您可以將Jericho視為語言學習的OpenAI體育館。 Jericho針對強化學習模型進行了優化,並提供了諸如遊戲狀態持久性之類的功能,這些功能可以幫助啟用諸如強化學習代理中的記憶之類的功能。 為了使IF遊戲更易於訪問並解決上一節中提到的一些挑戰,Jericho包括以下功能:

·世界對象樹表示法:由於許多遊戲中都有大量的位置,對象和角色,並且可能存在困惑,要求當前位置不存在對象,因此代理需要開發一種方式來記住和推理先前的互動。 遊戲狀態的世界對象樹表示法枚舉了這些元素。

·固定隨機種子以增強確定性:通過使遊戲具有確定性,後續狀態是代理商採取特定行動的直接結果,Jericho可以使用目標探索算法(例如Go-Explore)來系統地構建和擴展被訪問的狀態。

·加載/保存功能:此功能可以恢復以前的遊戲狀態,從而可以使用諸如蒙特卡洛樹搜索之類的計劃算法。

·世界變化檢測和有效動作識別:此功能可提供有關agent影響遊戲狀態變化的最後動作的成功或失敗的反饋。 此外,Jericho可以執行搜索以識別有效行為,這些行為會導致遊戲狀態發生變化。

Microsoft開源Jericho將使用語言遊戲訓練強化學習

Jericho的當前版本包括兩個學習代理,Template-DQN(TDQN)和深度強化相關性網絡(DRRN)。 TDQN模型在基於解析器的遊戲中通常更有效,該遊戲通過從預定義的組動詞和對象生成動詞-對象動作來處理組合動作空間。 DRRN模型可以更好地應用於基於選擇的遊戲,該遊戲在遊戲的每個狀態都提供一系列選擇。 耶利哥(Jericho)提供了一個通用的編碼器,以使兩個模型的輸入表示一致。 雖然兩個代理都使用共同的輸入表示,但是它們在動作選擇方法上有所不同。 DRRN使用Jericho的有效行動標識來估算每個有效行動a的Q值。 然後,它要麼通過選擇具有最高Q值的動作來貪婪地行動,要麼通過從有效行動的分佈中採樣來進行探索。

Microsoft開源Jericho將使用語言遊戲訓練強化學習

在上圖中,我們可以看到Onar,Oinv和Odesc等因素是對文本輸入進行編碼的元素。 在執行每個命令之後,Jericho代理使用公共輸入表示形式,其中包括當前文本觀察值Onar,清單文本Oinv和當前位置描述Odesc(由look命令給出)。 如果在流行的基於文本的遊戲Zork I中使用命令"打開窗口",則Jericho將生成以下表示形式。

·Onar:費勁地將窗口打開到足以允許其進入的程度。

·Oinv:您是空手而歸。

·Odesc:您在白宮後面。 一條小路通向東方的森林。 在房子的一個角落裡有一扇微開的小窗戶。

微軟在包括Zork I在內的32種遊戲中對TDQN和DRRN進行了評估。結果顯示,即使處理多達9800萬個動作空間,Jericho代理的得分也高於其他代理。 這些學習代理的成功表明,Jericho在降低IF遊戲的難度以及使RL代理學習和提高基於語言的技能方面更加有效方面上是有效的。 但是,沒有任何代理能接近人類水平的表現。

Jericho是使語言成為強化學習模型的核心部分的重要一步。 一些初始實驗表明,人類的認知技能(如常識和演繹)仍然是AI代理的高障礙。 但是,傑里科(Jericho)表明,基於語言的訓練可能是釋放這些功能的關鍵。

(本文翻譯自Jesus Rodriguez的文章《Microsoft Open Sources Jericho to Train Reinforcement Learning Using Linguistic Games》,參考:https://towardsdatascience.com/microsoft-open-sources-jericho-to-train-reinforcement-learning-using-linguistic-games-66db65b1e1bd)


分享到:


相關文章: