用語言建模世界:UC伯克利多模態(tài)世界模型利用語言預(yù)測未來(1)
當(dāng)前,人與智能體(比如機器人)的交互是非常直接的,你告訴它「拿一塊藍色的積木」,它就會幫你拿過來。但現(xiàn)實世界的很多信息并非那么直接,比如「扳手可以用來擰緊螺母」、「我們的牛奶喝完了」。這些信息不能直接拿來當(dāng)成指令,但卻蘊含著豐富的世界信息。智能體很難了解這些語言在世界上的含義。
圖源:谷歌機器人團隊論文「Interactive Language: Talking to Robots in Real Time」。
UC 伯克利 Dynalang 研究的關(guān)鍵思想是,我們可以將語言看作是幫助我們更好地對世界進行預(yù)測的工具,比如「我們的牛奶喝完了」→打開冰箱時沒有牛奶;「扳手可以用來擰緊螺母」→使用工具時螺母會旋轉(zhuǎn)。Dynalang 在一個模型中結(jié)合了語言模型(LM)和世界模型(WM),使得這種范式變成多模態(tài)。研究者認為,將語言生成和行動統(tǒng)一在一個智能體架構(gòu)中是未來研究的一個令人興奮的方向。
論文概覽
人工智能長期以來的目標是開發(fā)能夠在物理世界中與人類自然交互的智能體。當(dāng)前的具身智能體可以遵循簡單的低層指令,比如「拿一塊藍色的積木」或者「經(jīng)過電梯,然后向右轉(zhuǎn)」。
然而,要實現(xiàn)自由交流的互動智能體,就需要理解人們在「此時此地」之外使用語言的完整方式,包括:傳遞知識,比如「左上角的按鈕是關(guān)掉電視的」;提供情境信息,如「我們的牛奶喝完了」;以及協(xié)同,比如跟別人說「我已經(jīng)吸過客廳了」。我們在文本中閱讀的很多內(nèi)容或者從他人口中聽到的信息都在傳遞有關(guān)世界的知識,無論是關(guān)于世界如何運行還是關(guān)于當(dāng)前世界狀態(tài)的知識。
我們?nèi)绾问怪悄荏w能夠使用多樣化的語言呢?一種訓(xùn)練基于語言的智能體解決任務(wù)的方法是強化學(xué)習(xí)(RL)。然而,目前的基于語言的 RL 方法主要是學(xué)習(xí)從特定任務(wù)指令生成行動,例如將目標描述「拿起藍色的積木」作為輸入,輸出一系列運動控制。
然而,當(dāng)考慮到自然語言在現(xiàn)實世界中所服務(wù)的多樣功能時,直接將語言映射到最優(yōu)行動是一個具有挑戰(zhàn)性的學(xué)習(xí)問題。以「我把碗放好了」為例:如果任務(wù)是清洗,智能體應(yīng)該繼續(xù)進行下一個清洗步驟;而如果是晚餐服務(wù),智能體應(yīng)該去取碗。當(dāng)語言不涉及任務(wù)時,它只與智能體應(yīng)該采取的最優(yōu)行動弱相關(guān)。將語言映射到行動,尤其是僅使用任務(wù)獎勵,對于學(xué)會使用多樣化語言輸入完成任務(wù)來說是一個弱學(xué)習(xí)信號。
不同的是,UC 伯克利的研究者提出,智能體使用語言的一種統(tǒng)一方法是幫助它們預(yù)測未來。前面提到的語句「我把碗放好了」有助于智能體更好地預(yù)測未來的觀察結(jié)果(即,如果它采取行動打開櫥柜,它將在那里看到碗)。
我們遇到的很多語言可以通過這種方式與視覺體驗聯(lián)系起來。先前的知識,比如「扳手可以用來擰緊螺母」,幫助智能體預(yù)測環(huán)境變化。諸如「包裹在外面」的陳述有助于智能體預(yù)測未來的觀察結(jié)果。這個框架還將標準指令遵循歸入預(yù)測范疇:指令幫助智能體預(yù)測自己將如何受到獎勵。類似于下一個 token 預(yù)測允許語言模型形成關(guān)于世界知識的內(nèi)部表示,研究者假設(shè)預(yù)測未來的表示為智能體理解語言以及它與世界的關(guān)系提供了豐富的學(xué)習(xí)信號。
基于此,他們提出了 Dynalang,一種從在線經(jīng)驗中學(xué)習(xí)語言和圖像世界模型,并利用該模型學(xué)習(xí)如何行動的智能體。
Dynalang 將學(xué)習(xí)用語言對世界建模(帶有預(yù)測目標的監(jiān)督學(xué)習(xí))與學(xué)習(xí)根據(jù)該模型采取行動(帶有任務(wù)獎勵的強化學(xué)習(xí))分離開來。該世界模型接收視覺和文本輸入作為觀察模態(tài),并將它們壓縮到潛在空間。研究者通過在線收集的經(jīng)驗訓(xùn)練世界模型,使其能夠預(yù)測未來的潛在表示,同時智能體在環(huán)境中執(zhí)行任務(wù)。他們通過將世界模型的潛在表示作為輸入,訓(xùn)練策略來采取最大化任務(wù)獎勵的行動。由于世界建模與行動分離,Dynalang 可以在沒有行動或任務(wù)獎勵的單模態(tài)數(shù)據(jù)(僅文本或僅視頻數(shù)據(jù))上進行預(yù)訓(xùn)練。
此外,他們的框架還可以統(tǒng)一語言生成:智能體的感知可以影響智能體的語言模型(即其對未來 token 的預(yù)測),使其能夠通過在動作空間輸出語言來描述環(huán)境。
論文鏈接:https://arxiv.org/pdf/2308.01399.pdf項目主頁:https://dynalang.github.io/代碼鏈接:https://github.com/jlin816/dynalang
研究者在具有不同類型語言上下文的多樣化環(huán)境中對 Dynalang 進行了評估。在一個多任務(wù)家庭清潔環(huán)境中,Dynalang 學(xué)會利用關(guān)于未來觀察、環(huán)境動態(tài)和修正的語言提示,更高效地完成任務(wù)。在 Messenger 基準測試中,Dynalang 可以閱讀游戲手冊來應(yīng)對最具挑戰(zhàn)性的游戲階段,優(yōu)于特定任務(wù)的架構(gòu)。在視覺 - 語言導(dǎo)航中,研究者證明 Dynalang 可以學(xué)會在視覺和語言復(fù)雜的環(huán)境中遵循指令。
Dynalang 學(xué)會使用語言來預(yù)測未來的(文本 + 圖像)觀察結(jié)果和獎勵,從而幫助解決任務(wù)。在這里,研究者展示了在 HomeGrid 環(huán)境中真實的模型預(yù)測結(jié)果。智能體在接收環(huán)境中的視頻和語言觀察的同時,探索了各種房間。根據(jù)過去的文本「瓶子在客廳」,在時間步 61-65,智能體預(yù)測將在客廳的最后一個角落看到瓶子。根據(jù)描述任務(wù)的文本「拿起瓶子」,智能體預(yù)測將因為拿起瓶子而獲得獎勵。智能體還可以預(yù)測未來的文本觀察:在時間步 30,給定前半句「盤子在」,并觀察到櫥柜上的盤子,模型預(yù)測下一個最可能的 token 是「廚房」。
研究者考慮了一系列具有視覺輸入和多樣化語言的環(huán)境。HomeGrid 是一個具有指令和多樣化提示的具有挑戰(zhàn)性的視覺網(wǎng)格世界。Messenger 是一個具有符號輸入的基準測試,包含數(shù)百個人工編寫的游戲手冊,需要進行多次推理。Habitat 是一個模擬逼真的 3D 家居環(huán)境,用于視覺 - 語言導(dǎo)航,在其中智能體必須在數(shù)百個場景中定位物體。LangRoom 是一個簡單的視覺網(wǎng)格世界,具有部分可觀察性,智能體需要同時生成動作和語言。
詳解 Dynalang 工作原理
使用語言來理解世界很自然地符合世界建模范式。這項工作構(gòu)建在 DreamerV3 的基礎(chǔ)之上,DreamerV3 是一種基于模型的強化學(xué)習(xí)智能體。Dynalang 不斷地從經(jīng)驗數(shù)據(jù)中學(xué)習(xí),這些數(shù)據(jù)是智能體在環(huán)境中執(zhí)行任務(wù)時收集到的。
如下圖(左)所示,在每個時間步,世界模型將文本和圖像壓縮成潛在表示。通過這個表示,模型被訓(xùn)練用于重建原始觀察結(jié)果、預(yù)測獎勵,并預(yù)測下一個時間步的表示。直觀地說,世界模型根據(jù)它在文本中讀到的內(nèi)容,學(xué)習(xí)它應(yīng)該期望在世界中看到什么。
如下圖(右)所示,Dynalang 通過在壓縮的世界模型表示之上訓(xùn)練策略網(wǎng)絡(luò)來選擇行動。它通過來自世界模型的想象的模擬結(jié)果進行訓(xùn)練,并學(xué)會采取能夠最大化預(yù)測獎勵的行動。
與之前逐句或逐段消耗文本的多模態(tài)模型不同,研究者設(shè)計的 Dynalang 將視頻和文本作為一個統(tǒng)一的序列來建模,一次處理一幀圖像和一個文本 token。直觀來說,這類似于人類在現(xiàn)實世界中接收輸入的方式 —— 作為一個單一的多模態(tài)流,人需要時間來聆聽語言。將所有內(nèi)容建模為一個序列使得模型可以像語言模型一樣在文本數(shù)據(jù)上進行預(yù)訓(xùn)練,并提高強化學(xué)習(xí)的性能。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。