玩轉魔方,靈活不輸人類,這引人聯想的機械右手

OpenAI官方爲這隻AI機械手激動了:

“機器人的前所未有之境,就算人類也難以做到。”

說的啥新進展?單手玩魔方。

相比之下,人類新手能穩穩拿住魔方都不容易:

而且不僅玩得轉魔方,捆綁Play也不在話下。

沒人告訴它該怎麼調配手指,還需要克服人類強行使的各種絆子,但AI機械手可以隨時調整不斷學習,最後最短時間內完成魔方翻轉。

這就是OpenAI用強化學習最新訓練出的AI系統。

並且,還是單手操作。

視頻一經放出,迅速躥紅推特,攬下6000+點贊,網友驚呼:

AI玩魔方都玩得比我好了!

這事兒不簡單

且不說量子位這樣的手殘黨,單手恢復魔方,對於普通人類而言也並不簡單。

不信的話,隨便拿起身邊一個直徑6釐米的塊狀物體,單手轉起來。小心拿穩了,砸到腳還挺疼的(別問我怎麼知道的)。

而對機械手來說,問題就更復雜了。

機械手遠沒有人手這樣靈活,抓取力度控制也挑戰不小。

就算是“媲美”人手,能使用的場景或泛化遷移能力,也道阻且長。

比如這位MIT工程師,就吃過大虧:

生活大爆炸

而更大的挑戰,是現實世界中複雜的物理參數。

在玩魔方這個任務當中,機械手跟魔方之間的摩擦力、彈性和其他動力學因素都很難測量,更別說精細建模了。

並且,在模擬仿真環境中訓練出來的AI,面對複雜多變的真實物理世界,是否能保持魯棒,也是一個大問題。

比如說帶個橡膠手套,摩擦力就變了:

兩個手指被綁住,難度也會與模擬訓練時大大不同:

甚至可能會跑出來一隻長頸鹿,試圖叼走魔方:

如此種種,使得sim2real(從模擬環境到現實環境)變得非常困難,僅憑過去的域隨機化(Domain Randomization)算法(見注)已經不足以解決。

注:域隨機化(Domain Randomization)由OpenAI提出,能夠創建具有隨機屬性的各種模擬環境,並訓練可在任何環境中工作的模型。

論文地址:https://arxiv.org/abs/1710.06537

所以機械手玩轉魔方,真真是一次力與美的結合、靈與器的共舞。

而OpenAI的核心祕訣,在於進一步開發了一種新的算法,稱爲自動域隨機化(ADR)

當然,機械手的構造也來頭不小。

先看神奇之手的硬件結構

OpenAI的機械手,裝載一個巨大的支架中。

在這個支架裏,包含一個PhaseSpace運動捕捉系統、一個RGB相機。機械手的每個指尖上都有一個LED燈,系統就是通過這一組燈來捕捉機械手的動作。

操縱魔方的機器人手來自影子機器人公司(Shadow Robot Company),基於旗下 Dextrous E系列機械手打造。

這原本是一家想做雙足機器人的公司,因爲發現自己的水平遠不及本田已經造出的機器人,於是棄腳從手,轉而去開發機械手,並造出了世界上第一臺擬真機械手。

影子機器人公司開發的機器人

具體結構上,Dextrous有20個可驅動的關節:中指和無名指各有3個驅動關節和1個非驅動關節,小指和拇指有5個驅動關節,以及一個有2個驅動關節的腕部。

爲了“玩轉魔方”,OpenAI和影子機器人公司,還合作提高了機器手組件的堅固性和可靠性。增加了手的握力,並減小了肌腱應力,並且調整了關節之間的交聯,最大程度地減小了扭矩的限制。

與人類“十指連心”類似,他們除了在機械手上安裝了位置和力傳感器,還在指尖上安裝了超靈敏的觸摸傳感器,以達到接近人手的效果。

實驗中用到的魔方也不是普通的魔方。

不少米粉或許也會覺得眼熟,它是小米的計客超級魔方(GiiKER cube),內部有可感應方向的藍牙與運動傳感器。

計客超級魔方具有90度的面角分辨率,但OpenAI團隊對其進行了修改,將精度提高到了大約5度。

再看軟件算法功力:從模擬到現實

雖然我們看到擰魔方是在實際的機械手上發生的,但實際上這一過程主要發生在模擬軟件中,然後將AI從模擬中學習到的東西轉移到了現實世界中。

OpenAI在機械手上用到了兩大法寶:

一個是曾經打敗Dota 2世界冠軍團隊的AI系統OpenAI Five

另一個是自動域隨機化(ADR,Automatic Domain Randomization)。

ADR會不斷在仿真中生成越來越困難的環境,使系統擺脫精確模型對現實的束縛,從而使模擬環境中的神經網絡能夠遷移到真實世界。

這裏提到的環境中的隨機化是什麼呢?

其中包括模擬器考慮到的物理特性(如幾何形狀、摩擦和重力),以及模擬器未能考慮到的一些物理效應。

比如魔方的大小,就是隨機化參數之一。

ADR在魔方大小上的應用

此外,還有照明條件之類的視覺元素、相機位置和角度、物體的材料和外觀、背景紋理甚至是渲染圖像的後處理效果。

研究人員表示,這項研究的重要意義在於:一旦弄清楚如何在仿真中訓練這些模型,就可以有效地獲取無窮數據,然後將模型遷移到機器人上,在現實世界中利用它們。

既然是用強化學習,必然會涉及到獎勵機制,OpenAI團隊在這個實驗中定義了三個:

  1. 系統當前狀態與目標狀態之間的差異;
  2. 達成目標時給予獎勵;
  3. 每當手中魔方掉落時就受到懲罰。

爲了系統測試每次翻轉魔方成功時間,OpenAI還測量了神經網絡在不同擾動下的結果,比如重置網絡的內存、重置力或斷開關節等等。

而且這種“訓練”以虛擬仿真爲主,能夠在受控的環境中平均進行1萬多次試驗。

最初,隨着神經網絡成功實現更多翻轉,成功的時間會不斷縮短,神經網絡學會了適應。

從結果上來看,機械手成功翻轉魔方的時間,會越來越短。

即便添加新干擾、環境有變化,機械手也會調整策略,重新學習後迅速達到最佳基準。

所以這支神奇之手,現在究竟達到啥水平?

最最最難情況下——一方面是需要旋轉26次魔方纔能完成,另一方面加入最大外部擾動,機械手成功率20%。

但如果是旋轉15次就能完成魔方復原的“平均情況”,機械手成功率就能穩定在60%。

值得一提的是,這也是人類在該方向上的新嘗試、新紀錄,打開了新前景。

騰訊AI也挑戰過魔方

OpenAI挑戰魔方,倒不是突發奇想。

從去年開始,他們就已經在推進前序工作,當時開發過一個靈巧的機械手系統,叫做Dactyl。

不過那時OpenAI用它“盤”木塊,尺寸比現在的魔方小一些,而且也沒有轉動部件。

只要告訴機械手目標,不必告訴它具體操作步驟,它就能給你把木塊轉到指定的方向上,而且這套系統也是是在模擬器裏訓練出來的強化學習算法。

除了OpenAI,還有來自中國的玩家。

最知名的是騰訊。今年年初,騰訊AI與香港中文大學合作,進行了一項模擬實驗。

實驗有點類似OpenAI的“軟件”部分:在虛擬環境中,用一隻機械手解決魔方問題。

在騰訊其後發表的論文結果裏:1400次試驗過程中平均成功率達到了90.3%,而對AI模型再訓練3萬次,成功率會提高到95.2%。

而現在OpenAI更進一步。

在不犧牲準確性和魯棒性的情況下,成功地將模擬實驗轉移到了現實世界的機械手上。

比喻來說,就是騰訊AI在這件事上核心練了口訣和心法,而OpenAI現在把拳腳也練完了,軟硬結合,下一步會更有想象空間。

OpenAI自己也坦承,這隻神奇之手,會推動通用機器人。

費錢費電:64個V100

一開始也介紹過,這項研究結果一發布,就引起網絡熱議。

這樣一隻靈活又機智的機械手,首先讓網友紛紛聯想到了終結者。

有網友說:

它讓我感到鵝妹子嚶/瑟瑟發抖的,是它用一種讓人感覺既熟悉又完全陌生的方式,在執行人類活動。

不過,比起這些,OpenAI這次的訓練投入,更是每一秒都在讓經費熊熊燃燒。

他們使用了64個V100920臺32核CPU的主機,並且連續訓練了好幾個月,這樣的訓練成本,就夠讓人瑟瑟發抖的了。

如果有人開心,那也是英偉達老闆黃教主。

所以你又怎麼看這項酷酷的新進展?

歡迎說說你的想法。

傳送門

官方博客: https://openai.com/blog/solving-rubiks-cube/

論文地址: https://d4mucfpksywv.cloudfront.net/papers/solving-rubiks-cube.pdf

騰訊與港中大相關研究: https://arxiv.org/pdf/1907.11388.pd

鈦媒體注:本文來自於微信公衆號量子位(ID:QbitAI),作者爲邊策、魚羊,鈦媒體經授權發佈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章