OpenAI的研究人員在即將發(fā)表的一篇論文《靈巧的手工操作》中描述了一個系統(tǒng),該系統(tǒng)使用了一個強化模型,在這個模型中,人工智能通過嘗試和錯誤來學習,指導機器人用最先進的精度抓取和操作物體。更讓人印象深刻的是,它是完全數(shù)字化的,在一個計算機模擬中訓練的,沒有提供任何人類演示來學習。
研究小組寫道:“雖然靈巧地操縱物體對人類來說是一項基本的日常任務(wù),但對于自主機器人來說,這仍是一項挑戰(zhàn)。”“現(xiàn)代機器人通常是為特定任務(wù)而設(shè)計的,在受限的環(huán)境中,它們在很大程度上無法使用復雜的末端執(zhí)行器……在這項工作中,我們演示了訓練控制策略的方法,這些策略執(zhí)行手控操作,并將它們部署在一個物理機器人上。”
那么他們是怎么做到的呢?
研究人員使用MuJoCo物理引擎模擬一個真實的機器人可能在其中工作的物理環(huán)境,并用Unity渲染圖像,訓練計算機視覺模型識別姿勢。但是這個方法有它的局限性,團隊寫道——這個模擬僅僅是物理設(shè)置的一個“粗略的近似”,這使得它“不太可能”產(chǎn)生能夠很好地轉(zhuǎn)化為現(xiàn)實世界的系統(tǒng)。
他們的解決方案是隨機化環(huán)境的各個方面,比如物理(摩擦、重力、關(guān)節(jié)極限、物體尺寸等等)和視覺外觀(燈光條件、手和物體的姿態(tài)、材料和紋理)。這既降低了過度擬合的可能性——當神經(jīng)網(wǎng)絡(luò)學習訓練數(shù)據(jù)中的噪聲,對其性能產(chǎn)生負面影響時,就會出現(xiàn)這種現(xiàn)象——也增加了產(chǎn)生一種算法的機會,該算法可以根據(jù)真實世界的指尖位置和目標姿態(tài)成功地選擇動作。
接下來,研究人員用384臺機器(每個機器有16個CPU內(nèi)核)訓練了這個模型——一個周期性的神經(jīng)網(wǎng)絡(luò),讓它們每小時產(chǎn)生大約兩年的模擬體驗。在8臺GPU電腦上進行優(yōu)化后,他們進入了下一個步驟:訓練一個卷積神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)可以從三個模擬相機圖像中預測機器人“手”中的物體位置和方向。
一旦模型被訓練,它就進入了驗證測試。研究人員使用了一只“影子靈巧手”,這是一只機械手,有五個手指,總共有24個自由度。與此同時,兩套相機——運動捕捉相機和RGB相機——作為系統(tǒng)的眼睛,允許它跟蹤物體的旋轉(zhuǎn)和方向。(雖然這只“影子靈巧手”有觸覺傳感器,但研究小組只選擇了它的關(guān)節(jié)感應能力,用于控制手指的位置。)
在兩個測試中的第一個,算法的任務(wù)是重新定位一個標有字母的塊。團隊選擇了一個隨機的目標,每次人工智能完成時,他們都選擇了一個新的目標,直到機器人(1)放棄了塊,(2)花了一分鐘多的時間來操作塊,或者(3)達到了50個成功的旋轉(zhuǎn)。在第二次測試中,該塊用八角形棱鏡交換。
結(jié)果呢?這些模型不僅展示了“前所未有”的表現(xiàn),而且還自然地發(fā)現(xiàn)了在人類身上觀察到的各種抓握類型,如三腳架(用拇指、食指和中指的一種抓握)、棱柱式抓握(用拇指和手指相對的一種抓握)和指尖夾握。他們還學習了如何旋轉(zhuǎn)和滑動機器人的手指,以及如何利用重力、平移和扭轉(zhuǎn)力將物體放置到想要的位置。
他們寫道:“我們的系統(tǒng)不僅能重新發(fā)現(xiàn)人類身上已經(jīng)發(fā)現(xiàn)的,還能讓它們更好地適應自身的局限和能力。”
這并不是說這是一個完美的系統(tǒng)。它沒有被明確訓練來處理多個對象——它很難旋轉(zhuǎn)一個球形的第三個物體。在第二次測試中,仿真與真實機器人之間存在可測量的性能差異。
但最終,研究結(jié)果證明了當代深度學習算法的潛力,研究人員總結(jié)道:“(這些)算法可以應用于解決復雜的現(xiàn)實世界機器人問題,而這些問題是現(xiàn)有的非基于學習的方法無法解決的。”