Facebook創建Habitat,一個極具世界真實感的模擬系統

  • 2020 年 2 月 20 日
  • 筆記

來源:TC

編輯:元子

【新智元導讀】誰能指望從未見過真正走廊的AI了解牆壁和門是什麼?考慮到實際機械人在現實生活中的移動速度太慢,不能指望他們很快勾畫出現實環境。Facebook創建的Habitat可以構建足夠真實感的虛擬環境,以至於AI在導航中學習到的東西也可以應用於現實世界。「新智元急聘主筆、編輯、運營經理、客戶經理,添加HR微信(Dr-wly)或掃描文末二維碼了解詳情。」

訓練一個智能體在複雜的3D世界中導航,在計算上是昂貴和耗時的。Facebook的工程師們通過一種末尾淘汰制的方法,將最慢的智能體淘汰,獲得了巨大的性能提升。

Habitat:在3D環境中導航成功率99.9%

「嵌入式人工智能」意味着機器學習系統可以與周圍環境智能互動,例如,使用對話上下文響應語音命令,也可以讓機械人知道它進入了錯誤的房間。

要創建這樣的「具體化」系統,我們需要使用真實世界的合理摹本來訓練它們,沒見過走廊的人工智能不可能知道牆壁和門是什麼的。考慮到現實生活中機械人的移動速度太慢,我們不能指望他們在這裡學到教訓。而Habitat可以提供一套模擬的真實世界環境,具有足夠的真實感,讓人工智能能夠導航現實世界。

而在機械人和AI訓練中比較常見的模擬器也可以實現同樣的功能。我們可以同時運行很多個實例,例如可以同時跑幾千個實例。每個包含智能體的實例都試圖解決一個問題,並向分派任務給它的中央系統彙報最終結果。但不幸的是,與簡單的虛擬環境相比,逼真的3D環境需要大量的計算,這減慢了學習速度。

由Dhruv Batra教授和佐治亞理工學院博士生Erik Wijmans領導的Facebook的研究人員找到了一種方法來加速這一過程的數量級或更多。結果是一個人工智能系統可以在一個3D環境中從一個起點導航到目標,成功率99.9%,很少出錯。

簡單的導航是「嵌入式AI」或機械人的基礎。Batra說:「 從A點到達B點如果系統有地圖,這很容易;沒有的話就是一個開放的問題。導航失敗意味着建立在其之上的任何堆棧都將崩潰。」

他們發現,問題在於培訓系統花了太多的時間來等待滯後的智能體。「這不一定是他們學得很慢,」Wijmans解釋說,「但如果你是在模擬一居室公寓的導航,那麼要做到這一點要比在10居室的豪宅導航容易得多。」中央系統的設計是等待所有被調度的智能體完成它們的虛擬任務並返回報告。如果單個智能體花費的時間是其他智能體的10倍,這意味着在系統等待更新信息並發送新批數據時,會浪費大量時間。

Facebook團隊的創新之處在於,在這些不幸的落後者完成任務之前,聰明地將其剔除。經過一段時間的模擬之後,收集的所有數據都會被添加到集合中。Wijmans說:「所有這些智能體都在奔波,他們都在做自己的事,而且他們彼溝通。一個人會告訴其他人,『好吧,我快完成了,』他們都會彙報他們的進度。任何落後於其他人的人都會減少在進行大規模同步之前所做的工作量。」在這種情況下,就可以看到每個工作人員同時停止並同時共享。

如果機器學習的智能感到「難受」,我肯定會在這一點上發生,並且該智能體確實會受到系統的「懲罰」,因為它不會像其他智能體那樣獲得虛擬的「強化」。效率低下算法重要性被降級,但是他們的貢獻仍然很有價值。Wijmans解釋說:「無論是成功還是失敗,我們都利用智能體積累的所有經驗,無論是成功還是失敗,我們仍然可以從中學到東西。」

這意味着沒有浪費的周期,一些智能體在等待其他智能體完成工作。 按時完成任務需要更多的經驗,這意味着下一批稍好一點的智能體完成的時間要早得多,這是一個自我強化的周期,可以帶來可觀的收益。

在他們進行的實驗中,研究人員發現,這個叫做分散分佈式近端策略優化(DD-PPO)的系統,看起來幾乎可以理想地擴展,性能幾乎線性地增長,計算能力也隨之增加。也就是說,將計算能力提高10倍會得到接近10倍的結果。另一方面,標準的算法導致了非常有限的收益,10x或100x的計算能力只能帶來一個小的結果提升,因為這些複雜的模擬器在束縛自己。

這些有效的方法使得Facebook的研究人員可以在指定的時間內,在虛擬環境中生成能夠解決點對點導航任務的智能體,可靠性為99.9%。他們甚至表現出了對錯誤的魯棒性,找到了一種方法來快速識別出他們走錯了路,然後返回另一條路。

研究人員推測,這些智能體已經學會了「利用結構規律」,在某些情況下,這句話意味着人工智能找到了作弊的方法。但Wijmans澄清說,他們使用的環境更有可能有一些實際的布局規則。「這些是我們數字化的真實房屋,他們正在學習西式房屋的布局,」他說。正如你不會期望廚房直接進入卧室一樣,人工智能已經學會了識別其他模式並做出其他「假設」。下一個目標是找到一種方法,讓這些智能體用更少的資源完成它們的任務。每個智能體都有一個虛擬攝像機,它可以提供普通的和深度的圖像,但也有一個可靠的坐標系統來告訴它去了哪裡,以及一個始終指向目標的指南針。要是總是這麼容易就好了!但在這次實驗之前,即使有這些資源,即使有更多的訓練時間,成功率也相當低。

Habitat本身不斷更新,增添了一些互動性和可定製性

「在這些改進之前,Habitat是一個靜態的系統空間,」Wijmans解釋說。「智能體可以移動並撞到牆壁,但它不能打開抽屜或打翻桌子。我們這樣做是因為我們想要快速、大規模的模擬——但是如果你想解決像『從我的桌子上拿起我的筆記本』這樣的任務,最好那台筆記本確實能夠被實際拿起。」

因此,Habitat現在允許用戶向房間添加對象,對這些對象施加力,檢查碰撞等等。畢竟,在現實生活中,除了在無摩擦的3D結構中滑行之外,還有更多的東西。

這些改進應該會使Habitat成為一個更健壯的實驗平台,而且也將使在該平台中進行訓練的智能體能夠直接將他們的學習成果轉移到現實世界中——該團隊已經開始了這方面的工作,並將很快發表一篇論文。