谷歌實習生開發“神投手”:14小時精通物理學,扔東西比你還準
大資料文摘出品
作者:周素雲
先讓我們回憶一個你每天都在做的動作——扔垃圾。
就像這樣?
這項看似平常的運動,其實包含了人類的大智慧:你需要可以從一堆物品中辨別出真正的垃圾,同時要想一扔中的,還需要精通物理力學知識,並且經過多次練習,把控好手感。
否則一不小心就會?
一位來自谷歌的研究實習生Andy Zeng希望讓機器人學會這個技能,並與來自普林斯頓、哥倫比亞和麻省理工的研究人員們一起,結合物理學與深度學習,順利創造出了一隻“自動分揀、投擲“機器人——TossingBot。
Andy為它設定了自動學習系統,並灌輸了物理學知識,僅僅花了14個小時,這隻機器人便能夠像一位職業“棒球手”一樣,準確分揀,神奇投擲東西啦。
Andy Zeng也提交了一篇《TossingBot:學習用RP模型投擲任意物體》的論文,詳細敘述了這一研究過程。
論文地址:
接下來,文摘菌將用”自述“的方式,為大家介紹這位來自谷歌的分揀機器人TossingBot。
以下,Enjoy:
2019年3月27日,對我來說,是一個重要的日子。
這一天谷歌宣佈重啟機器人計劃,這個新專案被稱為Robotics。重新考慮對複雜機器人技術的關注,開發機器人自主學習的技能。
我也在這個專案中呱呱墜地。
你們可能不認識我,但你們肯定知道我的大哥們。
2013年,我們因為谷歌的Replicant專案(谷歌花數千萬美元收購六家機器人初創企業)從美國和日本趕來聚在一起。 兩年前,波士頓動力被日本軟銀家收了,據說是個富豪(2017年波士頓動力被軟銀收購)。
上週波士頓動力Handle大哥因為在倉庫幹活還上了熱搜,為他開心。
下面來做下自我介紹吧,我叫TossingBot,一名精通物理學和深度學習的分揀機器人。 我能在多品種的貨物中挑選出指定的物品,並放(扔)到指定的地點。
就像這樣:
當然,我的工作比扔東西複雜多了,下邊才是真實工作的我。
影片中左邊的圖是一開始接到工作的我,手足無措, 看起來有點傻。圖右是努力學習了14個小時的我,已經能熟練的掌握分揀技術啦!
這些你們人類看起來非常簡單的動作, 我可是花了好大勁才學會的。不是我傻,是你們對我的學習能力一無所知。
那麼,我到底是如何學習的呢?
來自對手的啟發
來自對手的啟發
有競爭才有動力,我的對手是亞馬遜機器人大賽的第一名。
他是一個讓人類印象深刻的系統,擁有許多從運動學角度上來說可以防止由於不可預見動力而導致物體掉落的設計功能。從穩定、從容的動作軌跡,到限制物體動量的機械夾子,簡直完美!
稱讚對手,是機器人的基本素質!
和其他機器人一樣,在最開始設計時,人類的研發初衷都是為了適應不規律世界的動力因素。除了單純的適應動力因素,我的開發者還在想,能不能讓我們有效的使用“力”這一因素,甚至開發出物理“直覺”。這樣我們就完成更復雜的運動技能, 比如扔東西、滑動、旋轉跳躍等動作,以後組個籃球隊什麼的。
於是,我的開發者Andy Zeng和了普林斯頓、哥倫比亞和麻省理工的研究人員們,他們一起開始幫助我惡補物理知識。
萬事開頭難
萬事開頭難
投擲是一項難度特別高的任務,主要取決於多種因素:從物體被拾取的方式(即“投擲前條件”),到物體的物理屬性(如質量、摩擦力、空氣動力學等)。
打個比方,如果你以靠近質心的把手位置來抓住一把螺絲刀並扔掉,其著陸位置會比你從金屬尖端抓住並丟擲更靠近你,後者的話,它將向前擺動後落在離你較遠的位置。
而且拋擲一把螺絲刀與拋擲一個乒乓球,兩者之間也有很大的不同,乒乓球將因空氣阻力小會落在更靠近你的位置。如果要靠手動去設計一個能夠妥當處理隨機物件涉及這些因素的解決方案,幾乎是不可能的。
但如果藉助深度學習,我們便可以從經驗中學習,不用依賴人類一個個手動設定。 因此,我需要對投射物理學進行深入的瞭解。
物理學與深度學習入門
物理學與深度學習入門
結合物理學和深度學習技術,Andy他們打造了一個稱為“Residual Physics”(RP)的模型,包括感知網路、物理原理、抓取網路和投擲網路等模組。
在學習投擲時,目標投擲區域會提前給出。RP 模型將首先利用彈道學公式,計算出物體的理論投擲速度(v),然後再引入物理特徵,由神經網路估算出調整值,作為未知動態引數與現實世界噪聲和多變性的補償(δ)。最後結合 v 和 δ,得出最終投擲速度。
即使是沒有訓練過的投擲區域,我也可以很好地處理,因為在準確估算投擲軌跡的基礎上,補償值 δ 很好地彌補了“投擲區域改變”這一變數。
訓練開始, 我反覆嘗試都不能實現精確的抓抓取。 但隨著訓練時間的增加, 我學會以更好的方式來抓取物體,並提高我的投擲水平。 然後我開始了一些創新, 以不同的速度來扔。 在這期間, 幾乎不許要人類的干預了!
大概我嘗試了10,000次左右(14小時)的抓取和投擲後, 投擲精度達到了85%,並且在雜亂物品中的抓取準確度達到了87%。
我自己都驚呆了!
新的嘗試
新的嘗試
我喜歡突破自我!
我開始嘗試對不同特徵的物品進行相應的抓取和投擲。
他們在箱子裡放了好多物品,有乒乓球、馬克筆, 積木等等。然後將捕獲的影像傳到我的訓練神經網路中,以提取中間畫素的深層特徵。
透過這些物品的熱力圖,我可以找到筐子裡相似的物體。可以區別去乒乓球、馬克筆。除了熱力圖, 我還可以學習透過形狀等其他物理屬性來判斷不同的物體應該怎麼被丟擲。
RP 模型的泛化能力很強。當我面對沒有見過的物體時,比如假水果,裝飾物和辦公用品,我也可以藉助之前學會的簡單形狀的投擲技巧,在 1-2 個小時之內掌握新的技巧。
我好像有點開竅了!
我的學習過程還啟發了人類對於機器視覺的研究。 如果要實現對物體的準確分類, 直接指定包含多個步驟的複雜任務,可以讓神經網路與物理世界產生互動,涉及的分類行為,我們都可以摸索出自己的語義理解和分類規則,完全不需要人類介入。
在使用RP模型後,我已經可以輕鬆超過人類了!
可惜我現在還只會扔一些耐摔的東西,如果讓我去搬快遞,請一定要標註易碎品哦!
這就是我的故事, 所以不是我蠢,是你們對我的學習能力一無所知啊!
未來我可能會去快遞行業找份工作,畢竟我可不怕996,我還可以007。
相關報導:
https://ai.googleblog.com/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2640429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體開發實習生月薪排名:谷歌6874美元居首谷歌
- 想學 iOS 開發高階一點的東西,從何開始?iOS
- 東拼西湊學javaJava
- 學會了 C 語言真的可以開發出很多東西嗎?
- java開發之多執行緒需要學習和理解的東西Java執行緒
- 未來學東西的思路
- 原來 GitHub 不僅能學程式碼,還有這些東西Github
- 初始學習PHP注意的東西PHP
- 怪東西
- 學習PHP到底要學習哪些東西?PHP
- Vue3預設版本了!我準備學這五個東西了。Vue
- 從給我的第一個客戶做開發中學到的東西
- 隨意的一點東西,還是期望被人看到
- 近來學習的一點東西
- [譯] 當釋出安卓開源庫時我希望知道的東西安卓
- 【小程式】微信小程式開發準備微信小程式
- 我在阿里工作的這段時間裡,都學到了哪些東西阿里
- 筆記:《遊戲開發物理學》筆記遊戲開發
- 想去培訓學校學JAVA,能學到東西嗎??Java
- 從蘋果BigSur官網學點東西蘋果
- 更快學會任何東西的終極指南
- 【iOS開發】分享一個被誤認為是bug的東西iOS
- 省時省力更精準!資料監控是個好東西,我們應該怎麼做?
- 最近在看Oracle10g OCA,OCP教程,沒學到的東西還真不少Oracle
- 坑:那些需要我重新學習/理解的東西
- iOS開發幾年了,你清楚OC中的這些東西麼iOS
- PHPSTORM 相關東西PHPORM
- 不要偷黑客的東西黑客
- 東西學了容易忘?學會跟蹤你的知識
- 請問各位道友?jive學習應該哪些東西?
- 一姑娘從程式猿身上學到了這些東西
- 透過 AI/搜尋學東西會快很多的AI
- 小程式開發前的準備工作
- 谷歌又搗鼓出好東西!有了這款AI學習神器,考試起碼多考50分谷歌AI
- 谷歌制定AI技術開發七大準則谷歌AI
- hibernate實際開發中用到的東西,其缺點和優點
- 51nod 3145 扔球遊戲遊戲
- 《ASP.NET開發從入門到精通》—-1.3Web標準ASP.NETWeb