4 分鐘!OpenAI 的機(jī)器手學(xué)會(huì)單手解魔方了,完全自學(xué)無需編程
OpenAI 的機(jī)器手學(xué)會(huì)單手解魔方了,而且還原一個(gè)三階魔方全程只花了 4 分鐘,其靈巧程度讓人自嘆不如。
給你一個(gè)魔方,只允許使用一只手,還時(shí)不時(shí)有人給你搗亂,你能在 4 分鐘內(nèi)還原它嗎?我不能,兩只手都不行。
OpenAI 的仿人機(jī)器手 Dactyl 做到了?,F(xiàn)在它轉(zhuǎn)魔方的視頻被瘋狂刷屏,網(wǎng)友紛紛表示:人工智能機(jī)器人的一個(gè)新里程碑誕生了!這是機(jī)器人在機(jī)體靈活性以及機(jī)器學(xué)習(xí)軟件方面的飛躍!
視頻中我們看到,這只機(jī)器手雖然動(dòng)作看起來有點(diǎn)笨拙,讓人老是懸著一顆心仿佛魔方時(shí)刻都可能掉下來,但每一步動(dòng)作最終都非常準(zhǔn)確。
視頻的后半部分研究人員加大了難度:用布遮擋、使用工具干擾,機(jī)器手依然在忘我的玩著魔方。
對(duì)于一個(gè)成年人來說,單手操控三階魔方其實(shí)也不是一件容易的事情。而一只機(jī)器手能夠達(dá)成這樣的成就,真的讓人印象深刻!
MIT 著名機(jī)器人專家和教授 Leslie Kaelbling 表示根本沒想到它居然能夠完成這項(xiàng)操作!密歇根大學(xué)機(jī)器操控專家 Dmitry Berenson 對(duì)此也給予肯定,并大加贊揚(yáng)。
OpenAI 訓(xùn)練類人機(jī)器手來解魔方的嘗試,早在 2017 年 5 月就開始了。之所以對(duì)解魔方情有獨(dú)鐘,是因?yàn)檠芯咳藛T認(rèn)為,如果能成功訓(xùn)練這樣一只機(jī)器手來完成復(fù)雜的操作任務(wù),就能為通用型機(jī)器人奠定基礎(chǔ)。在 2017 年 7 月,OpenAI 在模擬環(huán)境中解決了魔方。但直到 2018 年 7 月,機(jī)器手解魔方仍然只能操作一個(gè)方塊?,F(xiàn)在,這個(gè)目標(biāo)終于達(dá)成,請(qǐng)觀看下面視頻,機(jī)器手在約 4 分鐘的時(shí)間里成功還原了一個(gè)三階魔方。
這是機(jī)器手解魔方的完整過程,視頻未經(jīng)任何編輯單手解魔方對(duì)人類來說都是一項(xiàng)具有挑戰(zhàn)性的任務(wù),孩子們需要幾年的時(shí)間才能掌握所需的靈活性。機(jī)器手也仍沒完美掌握,成功率只有 60%。
接下來,我們將詳細(xì)描述 OpenAI 機(jī)器手解魔方的方法。
一、單手解魔方:OpenAI 新算法能無限生成仿真環(huán)境
OpenAI 使用強(qiáng)化學(xué)習(xí)和 Kociemba 算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)來模擬解決魔方問題。我們專注于一個(gè)機(jī)器目前難以掌握的問題:感知和靈巧的操作。因此,我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)由 Kociemba 算法生成的還原所需的旋轉(zhuǎn)和翻轉(zhuǎn)。
域隨機(jī)化使得僅在模擬中訓(xùn)練的網(wǎng)絡(luò)可以轉(zhuǎn)移到真實(shí)的機(jī)器人上
任務(wù)中面臨的最大挑戰(zhàn)是在模擬環(huán)境中創(chuàng)建足夠多樣化的環(huán)境來捕捉真實(shí)世界的物理環(huán)境。對(duì)于像魔方和機(jī)器手這樣復(fù)雜的物體來說,很難測(cè)量和建模摩擦、彈性和動(dòng)力學(xué)等因素,而僅靠domain randomization是不夠的。
為了克服這一問題,我們開發(fā)了一種新的方法,稱為自動(dòng)域隨機(jī)化(Automatic Domain Randomization,ADR),該算法能夠無休止地在仿真中生成越來越困難的環(huán)境。
這樣,我們就不必對(duì)現(xiàn)實(shí)世界做一個(gè)精確的建模,而且在模擬中學(xué)習(xí)到的神經(jīng)網(wǎng)絡(luò)可以遷移應(yīng)用于現(xiàn)實(shí)世界。
ADR 從一個(gè)單一的、非隨機(jī)的環(huán)境開始,在該環(huán)境中,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)解魔方。隨著神經(jīng)網(wǎng)絡(luò)性能的提高并達(dá)到性能閾值,域隨機(jī)化的量也隨之增加。這使得任務(wù)更加困難,因?yàn)樯窠?jīng)網(wǎng)絡(luò)現(xiàn)在必須學(xué)會(huì)將其推廣到更隨機(jī)的環(huán)境中。網(wǎng)絡(luò)不斷學(xué)習(xí),直到再次超過性能閾值,然后更多隨機(jī)化,重復(fù)這個(gè)過程。
ADR 適應(yīng)魔方的大小隨機(jī)化的參數(shù)之一是魔方的大小(上圖)
ADR 從一個(gè)固定大小的魔方開始,隨著訓(xùn)練的進(jìn)行,逐漸增加隨機(jī)化的范圍。我們將同樣的技術(shù)應(yīng)用于所有其他參數(shù),如魔方的重量、機(jī)器人手指的摩擦力和手的視覺表面材料等。因此,神經(jīng)網(wǎng)絡(luò)必須學(xué)會(huì)在所有這些越來越困難的條件下解魔方。
自動(dòng)與手動(dòng)的域隨機(jī)化
Domain randomization 要求我們手動(dòng)指定隨機(jī)化范圍,這很困難,因?yàn)樘嗟碾S機(jī)化會(huì)使學(xué)習(xí)變得困難,但太少的隨機(jī)化則會(huì)阻礙遷移到真正的機(jī)器人。ADR 通過自動(dòng)擴(kuò)展隨時(shí)間變化的隨機(jī)范圍來解決這個(gè)問題,不需要人工干預(yù)。ADR 消除了對(duì)領(lǐng)域知識(shí)的需求,使我們的方法更容易應(yīng)用于新任務(wù)。與手動(dòng)域隨機(jī)化相比,ADR 還使任務(wù)始終具有挑戰(zhàn)性,訓(xùn)練從不收斂。
在魔方塊翻轉(zhuǎn)任務(wù)中,我們將 ADR 與手動(dòng)域隨機(jī)化進(jìn)行了比較,這個(gè)任務(wù)已經(jīng)有了一個(gè)強(qiáng)大的基線。在開始階段,ADR 在真實(shí)機(jī)器人上的成功次數(shù)較少。但隨著 ADR 增大熵值(熵值是環(huán)境復(fù)雜性的度量),性能最終會(huì)比基線性能翻倍,無需人工調(diào)整。
穩(wěn)健性測(cè)試
利用 ADR,我們能夠在仿真環(huán)境中訓(xùn)練神經(jīng)網(wǎng)絡(luò),再用到真實(shí)機(jī)器手上解魔方。這是因?yàn)?ADR 將網(wǎng)絡(luò)暴露于無窮無盡的隨機(jī)模擬中。正是由于訓(xùn)練過程中的這種復(fù)雜性,使網(wǎng)絡(luò)可以從模擬世界轉(zhuǎn)移到現(xiàn)實(shí)世界,因?yàn)樗仨殞W(xué)會(huì)快速識(shí)別和適應(yīng)它所面對(duì)的任何物理世界。
機(jī)器手解魔方時(shí)對(duì)它施加干擾
為了測(cè)試我們的方法的局限性,我們?cè)趩问纸饽Х降臅r(shí)候做了各種各樣的干擾實(shí)驗(yàn)。這不僅測(cè)試了我們控制網(wǎng)絡(luò)的穩(wěn)健性,也測(cè)試了我們的視覺網(wǎng)絡(luò),在這里我們用視覺網(wǎng)絡(luò)來估算魔方的位置和方向。
我們發(fā)現(xiàn),我們用 ADR 訓(xùn)練的系統(tǒng)對(duì)干擾的穩(wěn)健性令人驚訝,盡管我們沒有對(duì)這些干擾條件進(jìn)行過訓(xùn)練:在所有干擾測(cè)試中,機(jī)器手都能成功地完成大多數(shù)翻轉(zhuǎn)和旋轉(zhuǎn)面,盡管性能沒有達(dá)到最佳。
元學(xué)習(xí)
我們認(rèn)為,元學(xué)習(xí),或 learning to learn,是構(gòu)建通用系統(tǒng)的一個(gè)重要前提,因?yàn)樵獙W(xué)習(xí)使它們能夠快速適應(yīng)環(huán)境中不斷變化的條件。ADR 背后的假設(shè)是,一個(gè)記憶增強(qiáng)網(wǎng)絡(luò)與一個(gè)充分隨機(jī)化的環(huán)境相結(jié)合,導(dǎo)致了 emergent meta-learning,其中網(wǎng)絡(luò)實(shí)現(xiàn)了一個(gè)學(xué)習(xí)算法,允許自己快速調(diào)整其行為以適應(yīng)其所部署的環(huán)境。
為了系統(tǒng)地測(cè)試這一點(diǎn),我們測(cè)量了神經(jīng)網(wǎng)絡(luò)在不同的擾動(dòng)下(如重新設(shè)置網(wǎng)絡(luò)的內(nèi)存、重新設(shè)置動(dòng)態(tài)、或斷開一個(gè)關(guān)節(jié))每次翻轉(zhuǎn)魔方(旋轉(zhuǎn)魔方使不同顏色的面朝上)成功的時(shí)間。我們?cè)诜抡姝h(huán)境進(jìn)行這些實(shí)驗(yàn),這使我們能夠在一個(gè)受控的環(huán)境中進(jìn)行超過 10000 次的性能測(cè)試。
一開始,隨著神經(jīng)網(wǎng)絡(luò)成功地完成更多的翻轉(zhuǎn),每次連續(xù)成功的時(shí)間都在減少,因?yàn)樯窠?jīng)網(wǎng)絡(luò)學(xué)會(huì)了適應(yīng)。當(dāng)施加干擾時(shí)(上圖中垂直的灰色線條),我們看到了成功時(shí)間的一個(gè)峰值。這是因?yàn)榫W(wǎng)絡(luò)采用的策略在變化的環(huán)境中不起作用。然后,網(wǎng)絡(luò)重新學(xué)習(xí)新的環(huán)境,我們?cè)俅慰吹匠晒Φ臅r(shí)間減少到先前的基線。
下圖是機(jī)器手在模擬環(huán)境中解魔方的可視化。
我們使用可解釋性工具箱中的一個(gè)構(gòu)件,即非負(fù)矩陣分解,將這個(gè)高維向量壓縮成 6 組,并為每組分配一個(gè)獨(dú)特的顏色。然后在每一步中顯示當(dāng)前主導(dǎo)組的顏色。
二、為什么說轉(zhuǎn)個(gè)魔方就稱得上實(shí)現(xiàn)了機(jī)器人技術(shù)的飛躍?
實(shí)際上會(huì)玩魔方的機(jī)器人并不只有 Dactyl 一個(gè)。那些專門被設(shè)計(jì)用來解魔方的機(jī)器人,甚至可以比 Dactyl 更快地處理三階、甚至更高階的魔方,那么為什么只有 Dactyl 獲得如此高的評(píng)價(jià)呢?
OpenAI 的研究科學(xué)家和機(jī)器人技術(shù)負(fù)責(zé)人彼得·韋林德(Peter Welinder)認(rèn)為,原因就在于 Dactyl 不是專門用來玩魔方的!玩魔方只是一個(gè) demo,而 Dactyl 最大的亮點(diǎn)在于“自學(xué)習(xí)”!
目前人工智能機(jī)器人之所以能夠在特定場(chǎng)景下超越人類,因?yàn)樗轻槍?duì)這個(gè)特定任務(wù)進(jìn)行不斷的微調(diào)和優(yōu)化后的結(jié)果,通過編程來盡可能高效地執(zhí)行任務(wù)。但跳出機(jī)器人的“舒適區(qū)”后,它可能連人類的嬰兒都不如。
人工智能和機(jī)器人行業(yè)一直希望達(dá)成這樣的目標(biāo):制造一個(gè)機(jī)器人,它可以自己學(xué)會(huì)處理各種現(xiàn)實(shí)世界中的實(shí)際任務(wù),而無需經(jīng)過長(zhǎng)時(shí)間的訓(xùn)練或者有針對(duì)性的編程。是 Dactyl 讓他們看到了曙光!
Dactyl 擁有“自學(xué)習(xí)”特性,這意味著它能夠自動(dòng)適應(yīng)各種場(chǎng)景。OpenAI 希望有一天,只存在科幻電影里的經(jīng)典機(jī)器人角色,能夠走出熒幕,走進(jìn)千家萬戶,為人類提供服務(wù)。
OpenAI 團(tuán)隊(duì)認(rèn)為,Dactyl 此次成功解決魔方任務(wù)也印證了其可以在處理實(shí)際問題之前,通過仿真訓(xùn)練學(xué)習(xí)新任務(wù)。