【我們為什麼挑選這篇文章】扔東西並非一個天生技能,人類也需要多年練習才能信手捻來,而這對機器人來說更是一項挑戰。扔東西要懂得分辨物品,並且物品衡量重量,調整扔擲角度與姿勢,而且還得順暢地做完動作,才有機率把物品丟到正確的位置上。
Google 一位實習生找來美國各大院校學生做了一項研究計畫。究竟要讓機器人學會扔東西,需要什麼訓練過程呢?(責任編輯:陳伯安)
「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]」
先讓我們回憶一個你每天都在做的動作——扔垃圾。
這項看似平常的運動,其實包含了人類的大智慧:你需要可以從一堆物品中辨別出真正的垃圾,同時要想一扔中的,還需要精通物理力學知識,並且經過多次練習,把控好手感。
Google 實習生的研究計畫——扔擲機器人
一位來自谷歌的研究實習生 Andy Zeng 希望讓機器人學會這個技能,並與來自普林斯頓、哥倫比亞和麻省理工的研究人員們一起,結合物理學與深度學習,順利創造出了一隻「自動分類、投擲」機器人——TossingBot。
Andy 為它設置了自動學習系統,並灌輸了物理學知識,僅僅花了 14 個小時,這個機器人便能夠像一位職業「棒球手」一樣,準確分類,神奇投擲東西啦。
Andy Zeng 也提交了一篇《TossingBot:學習用 RP 模型投擲任意物體》的論文,詳細敘述了這一研究過程。
論文傳送門:點這。
接下來,文摘菌將用「自述」的方式,為大家介紹這位來自谷歌的分類機器人 TossingBot。
TossingBot 來自 Google 的機器人計畫
2019 年 3 月 27 日,對我來說,是一個重要的日子。
這一天谷歌宣佈重啓機器人計劃,這個新項目被稱為 Robotics。重新考慮對複雜機器人技術的關注,開發機器人自主學習的技能。
我也在這個項目中呱呱墜地。
你們可能不認識我,但你們肯定知道我的大哥們。
2013 年,我們因為谷歌的 Replicant 項目(谷歌花數千萬美元收購六家機器人新創企業)從美國和日本趕來聚在一起。 兩年前,波士頓動力被日本軟銀家收了,據說是個富豪(2017 年波士頓動力被軟銀收購)。
上周波士頓動力 Handle 大哥因為在倉庫幹活還上了熱門排行榜,為他開心。
下面來做下自我介紹吧,我叫 TossingBot,一名精通物理學和深度學習的分類機器人。 我能在多品種的貨物中挑選出指定的物品,並放(扔)到指定的地點。
影片中左邊的圖是一開始接到工作的我,手足無措, 看起來有點傻。圖右是努力學習了 14 個小時的我,已經能熟練的掌握分類技術啦。
這些你們人類看起來非常簡單的動作, 我可是花了好大勁才學會的。不是我傻,是你們對我的學習能力一無所知。
那麼,我到底是如何學習的呢?
手要靈活,先從「物理學」開始打底
有競爭才有動力,我的對手是亞馬遜機器人大賽的第一名。
他是一個讓人類印象深刻的系統,擁有許多從運動學角度上來說可以防止由於不可預見動力而導致物體掉落的設計功能。從穩定、從容的動作軌跡,到限制物體動量的機械夾子,簡直完美。
和其他機器人一樣,在最開始設計時,人類的研發初衷都是為了適應不規律世界的動力因素。除了單純的適應動力因素,我的開發者還在想,能不能讓我們有效的使用「力」這一因素,甚至開發出物理「直覺」。這樣我們就完成更複雜的運動技能, 比如扔東西、滑動、旋轉跳躍等動作,以後組個籃球隊什麼的。
於是,我的開發者 Andy Zeng 和了普林斯頓、哥倫比亞和麻省理工的研究人員們,他們一起開始幫助我惡補物理知識。
扔東西的技術活其實非常難
投擲是一項難度特別高的任務,主要取決於多種因素:從物體被拾取的方式(即「投擲前條件」),到物體的物理屬性(如質量、摩擦力、空氣動力學等)。
打個比方,如果你以靠近質心的把手位置來抓住一把螺絲刀並扔掉,其著陸位置會比你從金屬尖端抓住並拋出更靠近你,後者的話,它將向前擺動後落在離你較遠的位置。
而且拋擲一把螺絲刀與拋擲一個乒乓球,兩者之間也有很大的不同,乒乓球將因空氣阻力小會落在更靠近你的位置。如果要靠手動去設計一個能夠妥當處理隨機對象涉及這些因素的解決方案,幾乎是不可能的。
但如果借助深度學習,我們便可以從經驗中學習,不用依賴人類一個個手動設置。 因此,我需要對投射物理學進行深入的瞭解。
扔了 1 萬次,抓取率和投擲率高於 85%
結合物理學和深度學習技術,Andy 他們打造了一個稱為「Residual Physics」(RP)的模型,包括感知網路、物理原理、抓取網路和投擲網路等模塊。
在學習投擲時,目標投擲區域會提前給出。RP 模型將首先利用彈道學公式,計算出物體的理論投擲速度(v),然後再引入物理特徵,由神經網路估算出調整值,作為未知動態參數與現實世界噪聲和多變性的補償(δ)。最後結合 v 和 δ,得出最終投擲速度。
即使是沒有訓練過的投擲區域,我也可以很好地處理,因為在準確估算投擲軌跡的基礎上,補償值 δ 很好地彌補了「投擲區域改變」這一變量。
訓練開始, 我反覆嘗試都不能實現精確的抓取。 但隨著訓練時間的增加, 我學會以更好的方式來抓取物體,並提高我的投擲水平。 然後我開始了一些創新, 以不同的速度來扔。 在這期間, 幾乎不需要人類的干預。
大概我嘗試了 10,000 次左右(14 小時)的抓取和投擲後, 投擲精度達到了 85%,並且在雜亂物品中的抓取準確度達到了 87%。
TossingBot 開始會抓不同形狀的物體
我開始嘗試對不同特徵的物品進行相應的抓取和投擲。
他們在箱子裡放了好多物品,有乒乓球、馬克筆, 積木等等。然後將捕獲的圖像傳到我的訓練神經網路中,以提取中間像素的深層特徵。
通過這些物品的熱力圖,我可以找到筐子裡相似的物體。可以區別去乒乓球、馬克筆。除了熱力圖, 我還可以學習通過形狀等其他物理屬性來判斷不同的物體應該怎麼被拋出。
RP 模型的泛化能力很強。當我面對沒有見過的物體時,比如假水果,裝飾物和辦公用品,我也可以借助之前學會的簡單形狀的投擲技巧,在 1-2 個小時之內掌握新的技巧。
TossingBot 的下一步在哪?
我的學習過程還啓發了人類對於機器視覺的研究。 如果要實現對物體的準確分類, 直接指定包含多個步驟的複雜任務,可以讓神經網路與物理世界產生互動,涉及的分類行為,我們都可以摸索出自己的語義理解和分類規則,完全不需要人類介入。
在使用 RP 模型後,我已經可以輕鬆超過人類了!
可惜我現在還只會扔一些耐摔的東西。
這就是我的故事, 所以不是我蠢,是你們對我的學習能力一無所知。
未來我可能會去快遞行業找份工作,畢竟我可不怕 996,我還可以 007。
(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈谷歌实习生开发“神投手”:14小时精通物理学,扔东西比你还准〉,首圖截自 Andy Zeng Youtube。)
你可能感興趣
Google 重磅宣布:在台興建全新辦公園區,擴大招募與人才培育計畫