AI鍵盤俠來了:DeepMind開始訓練智能體像人一樣「玩」電腦
如果機器可以像人類一樣使用計算機,則可以幫助我們完成日常任務(wù)。在這種情況下,我們也有可能利用大規(guī)模專家演示和人類對交互行為的判斷,它們是推動人工智能最近取得成功的兩個因素。
最近關(guān)于 3D 模仿世界中自然語言、代碼生成和多模態(tài)交互行為的工作(2021 年 DeepMind 交互智能體團隊)已經(jīng)產(chǎn)生了具備卓越表達能力、上下文感知和豐富常識的模型。這項研究有力地證明了以下兩種組件的力量:機器與人類之間一致的豐富、組合輸出空間;為機器行為提供信息的大量人類數(shù)據(jù)和判斷。
具備這兩種組件但受到較少關(guān)注的一個領(lǐng)域是數(shù)字設(shè)備控制(digital device control),它包括使用數(shù)字設(shè)備來完成大量有用任務(wù)。由于幾乎完全使用數(shù)字信息,該領(lǐng)域在數(shù)據(jù)采集和控制并行化方面具有很好的擴展性(與機器人或聚變反應(yīng)堆相比)。該領(lǐng)域還將多樣化、多模態(tài)輸入與富有表達能力、可組合且兼容人類的可供性相結(jié)合。
近日,在 DeepMind 的新論文《A Data-driven Approach for Learning to Control Computers》,研究者重點探究了訓練智能體像人一樣進行鍵盤和鼠標的基本計算機控制。
論文地址:https://arxiv.org/pdf/2202.08137.pdf
DeepMind 對計算機控制進行初步調(diào)查采用的基準是 MiniWob++ 任務(wù)套件(一組具有挑戰(zhàn)性的計算機控制問題),它包含一組執(zhí)行點擊、打字、填寫表格和其他此類基本計算機交互任務(wù)的指令(下圖 1 b)。MiniWob++ 進一步提供了以編程方式定義的獎勵。這些任務(wù)是邁向更開放人機交互的第一步,其中人類使用自然語言指定任務(wù)并提供有關(guān)性能的后續(xù)判斷。
研究者重點訓練智能體來解決這些任務(wù),使用的方法在原則上適用于任何在數(shù)字設(shè)備上執(zhí)行的任務(wù),并且具備符合預期的數(shù)據(jù)和計算擴展特性。因此,他們直接結(jié)合強化學習(RL)和行為克隆(BC)兩種技術(shù),其中行為克隆通過人類與智能體行動空間之間的對齊來輔助完成(也就是鍵盤和鼠標)。
具體地,研究者探究使用鍵盤和鼠標進行計算機控制,并通過自然語言指定對象。并且,他們沒有專注于手工設(shè)計的課程和專門的行動空間,而是開發(fā)了一種基于強化學習的可擴展方法,并結(jié)合利用實際人機交互提供的行為先驗。
這是 MiniWob(2016 年由 OpenAI 提出的一種與網(wǎng)站交互的強化學習智能體的基準,MiniWob++ 是它的擴展版本)構(gòu)想中提出的一種組合,但當時并未發(fā)現(xiàn)可以生成高性能智能體。因此,之后的工作試圖通過讓智能體訪問特定 DOM 的操作來提升性能,并通過受限的探索技術(shù)使用精心策劃的指導來減少每個步驟中可用的行動數(shù)量。通過重新審視模仿與強化學習的簡單可擴展組合,研究者發(fā)現(xiàn)實現(xiàn)高性能主要的缺失因素僅是用于行為克隆的人類軌跡數(shù)據(jù)集的大小。隨著人類數(shù)據(jù)的增加,性能會可靠地提升,使用的數(shù)據(jù)集大小是以往研究中的 400 倍。
研究者在 MiniWob++ 基準測試中的所有任務(wù)上都實現(xiàn)了 SOTA 和人類平均水平,并找到了跨任務(wù)遷移的強有力證據(jù)。這些結(jié)果證明了訓練機器使用計算機過程中統(tǒng)一的人機界面非常有用。總之,研究者結(jié)果展示了一種超越 MiniWob++ 基準測試能力以及像人類一樣控制計算機的方案。
對于 DeepMind 的這一研究,網(wǎng)友大都驚呼「不可思議」。
方法
MiniWob++
MiniWob++ 是 Liu 等人在 2018 年提出的基于 web 瀏覽器的套件,是早期 MiniWob(Mini World of Bits)任務(wù)套件的擴展,而 MiniWoB 是一個用于與網(wǎng)站交互的強化學習基準,其可以感知小網(wǎng)頁(210x160 像素)的原始像素和產(chǎn)生鍵盤和鼠標動作。MiniWob++ 任務(wù)范圍從簡單的按鈕點擊到復雜的表單填寫,例如,在給出特定指令時預訂航班(圖 1a)。
之前關(guān)于 MiniWob++ 的研究已經(jīng)考慮了能夠訪問 DOM 特定動作的架構(gòu),從而允許智能體直接與 DOM 元素交互而無需鼠標或鍵盤導航到它。DeepMind 的研究者選擇僅使用基于鼠標和鍵盤的操作,并進一步假設(shè)該接口將更好地遷移到計算機控制任務(wù),而無需與緊湊的 DOM 進行交互。最后,MiniWob++ 任務(wù)需要單擊或拖動操作,而這些操作無法通過基于 DOM 元素的操作來實現(xiàn)(參見圖 1b 中的示例)。
與之前的 MiniWob++ 研究一樣,DeepMind 的智能體可以訪問由環(huán)境提供的文本字符串字典,該字典被輸入到給定任務(wù)的輸入字段中(參見附錄圖 9 示例)。
下圖為運行 MiniWob++ 的計算機控制環(huán)境。人類和智能體都使用鍵盤和鼠標控制計算機,人類提供用于行為克隆的示范行為,智能體受過訓練以模仿這種行為或表現(xiàn)出追求獎勵的行為。人類和智能體嘗試解決 MiniWob++ 任務(wù)套件,其中包括需要單擊、鍵入、拖動、填寫表格等。
環(huán)境接口
如果想要智能體像人類一樣使用計算機,它們需要接口來傳輸和接收觀察結(jié)果和動作。最初的 MiniWob++ 任務(wù)套件提供了一個基于 Selenium 的接口。DeepMind 決定實現(xiàn)一個可替代環(huán)境堆棧,旨在支持智能體可以在 web 瀏覽器中實現(xiàn)各種任務(wù)。該接口從安全性、特性和性能方面進行了優(yōu)化 (圖 1a)。
原來的 MiniWob++ 環(huán)境實現(xiàn)通過 Selenium 訪問內(nèi)部瀏覽器狀態(tài)并發(fā)出控制命令。相反,DeepMind 的智能體直接與 Chrome DevTools 協(xié)議 (CDP) 交互,以檢索瀏覽器內(nèi)部信息。
智能體架構(gòu)
DeepMind 發(fā)現(xiàn)沒有必要基于專門的 DOM 處理架構(gòu),相反,受最近關(guān)于多模態(tài)架構(gòu)的影響,DeepMind 應(yīng)用了最小模態(tài)特定處理,其主要依靠多模態(tài) transformer 來靈活處理相關(guān)信息,如圖 2 所述。
感知。智能體接收視覺輸入(165x220 RGB 像素)和語言輸入(示例輸入顯示在附錄圖 9 中)。像素輸入通過一系列四個 ResNet 塊,具有 3×3 內(nèi)核,strides 為 2、2、2、2,以及輸出通道(32、128、256、512)。這產(chǎn)生了 14×11 的特征向量,DeepMind 將其展平為 154 個 token 列表。
三種類型的語言輸入任務(wù)指令、DOM 和任務(wù)字段使用同一個模塊處理:每個文本字符串被分成 token,每個 token 映射被到大小為 64 的嵌入。
策略:智能體策略由 4 個輸出組成:動作類型、光標坐標、鍵盤鍵索引和任務(wù)字段索引。每個輸出都由單個離散概率分布建模,除光標坐標外,光標坐標由兩個離散分布建模。
動作類型是從一組 10 種可能的動作中選擇的,其中包括一個無操作(表示無動作)、7 個鼠標動作(移動、單擊、雙擊、按下、釋放、上滾輪、下滾輪)和兩個鍵盤動作(按鍵、發(fā)出文本)。
DeepMind 從 77 名人類參與者那里收集了超過 240 萬個 104 MiniWob++ 任務(wù)演示,總計大約 6300 小時,并使用模仿學習和強化學習 (RL) 的簡單混合來訓練智能體。
實驗結(jié)果
MiniWob++ 上的人類水平性能
由于大部分研究通常只解決了 MiniWob++ 任務(wù)的一個子集,因此該研究在每個單獨的任務(wù)上采用已公開的最佳性能,然后將這些子任務(wù)的聚合性能與該研究提出的智能體進行比較。如下圖 3 所示,該智能體大大超過了 SOTA 基準性能。
此外, 該智能體在 MiniWob++ 任務(wù)組件中實現(xiàn)了人類水平的平均性能。這種性能是通過結(jié)合 BC 和 RL 聯(lián)合訓練來實現(xiàn)的。
研究者發(fā)現(xiàn),雖然該智能體的平均性能與人類相當,但有些任務(wù)人類的表現(xiàn)明顯優(yōu)于該智能體,如下圖 4 所示。
任務(wù)遷移
研究者發(fā)現(xiàn),與在每個任務(wù)上單獨訓練的智能體相比,在 MiniWob++ 的全部 104 個任務(wù)上訓練一個智能體可以顯著提升性能,如下圖 5 所示。
擴展
如下圖 7 所示,人類軌跡數(shù)據(jù)集(human trajectory dataset)的大小是影響智能體性能的關(guān)鍵因素。使用 1/1000 的數(shù)據(jù)集,大約相當于 6 小時的數(shù)據(jù),會導致快速過擬合,并且與僅使用 RL 的性能相比沒有顯著提升。隨著該研究將此基線的數(shù)據(jù)量增加到三個數(shù)量級直至完整數(shù)據(jù)集大小,智能體的性能得到了持續(xù)的提升。
此外,研究者還注意到,隨著算法或架構(gòu)的變化,在數(shù)據(jù)集大小上的性能可能會更高。
消融實驗
該智能體使用像素和 DOM 信息,并且可以配置為支持一系列不同的操作。該研究進行了消融實驗以了解各種架構(gòu)選擇的重要性。
該研究首先消融不同的智能體輸入(圖 8a)。當前的智能體配置強烈依賴 DOM 信息,如果刪除此輸入,性能會下降 75%。相反,視覺信息的輸入對該智能體的影響不太顯著。
如圖 8b 所示,該研究移除了智能體使用環(huán)境給定的文本輸入選項(任務(wù)字段)的能力。有趣的是,移除之后的智能體仍然能夠解決涉及表單填寫的任務(wù),但它是通過 highlight 文本,并將其拖動到相關(guān)的文本框,以從人類軌跡中學會完成這個任務(wù)。值得注意的是,在原始 Selenium 版本的環(huán)境中智能體實現(xiàn)這種拖動操作并不簡單。
圖 8b 還展示了一個消融實驗結(jié)果,其中智能體使用與特定 DOM 元素交互的替代動作。這意味著智能體無法解決涉及單擊畫布內(nèi)特定位置、拖動或 highlight 文本的任務(wù)。