“寓教於樂”,DeepMind新研究讓機器人從0開始學習複雜精細動作
夏乙 編譯自 DeepMind blog
量子位 出品 | 公眾號 QbitAI
別小看這個笨拙地抓起、移動著物體的機器人,它可是DeepMind的最新研究成果。
有什麼特別之處呢?這個機械臂可是在現實世界中直接訓練的,沒有搞現在模擬器裡訓練一個智慧體,再遷移出來那一套。
這項研究,就是DeepMind今天在官方部落格上介紹的“寓教於樂”,讓模擬環境和現實世界中的機器人,都能通過一系列微小的輔助任務,來學習一個比較複雜的任務。
量子位將DeepMind部落格內容翻譯整理如下:
一個AI智慧體(agent)要想完成像收拾桌子、堆起東西這樣的控制類任務,需要知道該在什麼時候、在什麼地方、如何協調它那模擬機械手臂和手指上的9個關節,才能正確地移動,達到目標。
要解決一個探索問題,智慧體往往需要執行一長串正確的動作,而且每個時間點上,各個關節的動作組合都有著非常多的可能性。於是,這就成了強化學習研究非常感興趣的領域。
塑造獎勵、學徒式學習、示範學習等技巧在探索問題上有一些用處,但這些方法依賴於大量關於任務的知識。因此,在只有最低限度先驗知識的情況下,從0開始學習複雜控制問題依然是一個公開的挑戰。
DeepMind的新論文Learning by Playing - Solving Sparse Reward Tasks from Scratch提出了一種新的學習正規化來攻克探索問題,名叫“預定輔助控制(SAC-X)”。這種方法基於這樣一個想法:智慧體要從0開始學習複雜的任務,首先要學習探索並掌握一套基本技能。正如嬰兒能爬會走之前要發展出協調和平衡能力,給智慧體提供與簡單技能相對應的內在輔助目標,也能提高他理解並執行更復雜任務的機會。
他們在集中模擬的和真實的機器人上演示了SAC-X方法,所用的任務從堆疊物體到打掃操場(把東西放進盒子裡)。為這些任務定義輔助任務遵循一個總原則:鼓勵智慧體探索感應空間,比如啟用手指上的觸覺感測器、感測手腕上的力、在抱呢提感受感測器中最大化一個關節角度、或者推動它視覺相機感測器中一個物體的運動等。每個任務在目標完成時都能得到一個簡單的獎勵1,否則是0。
△ 智慧體學習的第一個輔助任務:啟用手指上的觸控感測器並移動這兩個物體
△ 模擬智慧體最終掌握了“堆疊”物體這一複雜任務
得到輔助任務後,智慧體能自己決定它當前的“意圖”,也就是下一步要追求的目標,可能是另一個輔助任務,也可能是外部定義的目標任務。
最重要的是,通過廣泛使用基於重播的off-policy學習,智慧體能從它目前沒有執行的其他任務中探測獎勵訊號並從中學習。比如說,智慧體可能會在拿起、移動一個物體時,順便堆疊了物體,這個任務也會讓它觀察到一個為堆疊所設定的獎勵。
因為一系列簡單任務可能會引導智慧體觀察到罕見的額外獎勵,於是,預定意圖的能力就至關重要。它可以根據所收集的相關知識建立個性化的“課程”,事實證明著是一種在龐大領域探索知識點有效方法,當沒有多少外部獎勵訊號可用時特別管用。
智慧體會通過預定的模組來決定該向哪個意圖努力,預定程式在訓練過程中通過元學習來進化,來最大化主任務的進度,也就顯著提高了資料效率。
△ 通過探索很多內部輔助任務,智慧體學會了如何堆疊和整理物體
論文中的評估結果顯示,SAC-X能用同樣的輔助任務,從0開始學習解決研究者們設定的所有任務。
更一顆賽艇的是,現實世界的機械臂也能通過SAC-X來從0開始學習拾取和放置物體。這類研究非常富有挑戰性,因為現實世界中的機器人要學習,需要極好的資料效率,所以通常會先在模擬環境中訓練一個智慧體,然後再將它遷移到真實的機械臂上。
我們來看一下這個機械臂:
△ 真正的機械臂在執行一個它從未見過的任務:拿起並移動這個綠色方塊
DeepMind介紹說,他們認為SAC-X是從0開始學習控制任務的重要一步。用這種方法,只需要指定整體目標,輔助任務則可以任意定義,可以基於普遍觀點來設定,像本文中所講的啟用各類感測器,也可以是研究人員認為重要的任何任務。
在這方面,SAC-X是一種通用的強化學習方法,除了用在控制和機器人上之外,也廣泛適用於一般稀疏強化學習環境。
原文:https://deepmind.com/blog/learning-playing/
論文:
Learning by Playing - Solving Sparse Reward Tasks from Scratch
Martin Riedmiller, Roland Hafner, Thomas Lampe, Michael Neunert, Jonas Degrave, Tom Van de Wiele, Volodymyr Mnih, Nicolas Heess, Jost Tobias Springenberg
https://arxiv.org/abs/1802.10567
— 完 —
加入社群
量子位AI社群13群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot5入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微訊號qbitbot5,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
相關文章
- 寓教於樂 11款最適合教兒童程式設計的學習工具程式設計
- 寓教於樂!一款遊戲讓你成為 Vim 高手!遊戲
- 寓教於樂:教你學程式設計的 5 款遊戲程式設計遊戲
- 從0開始學習Webpack(一)Web
- OpenAI公佈強化學習新演算法,可控制複雜機器人OpenAI強化學習演算法機器人
- 寓教於樂:教育類遊戲入局微信小遊戲遊戲
- 從0開始學習java,應該從那塊開始學起?Java
- 這 5 款寓教於樂的「功能遊戲」,讓你上觀星空下知故宮遊戲
- 從零開始學習C++(0)C++
- 從零開始,打造屬於你的 ChatGPT 機器人!ChatGPT機器人
- "浙江新駿"獨家研發立足於焊接協作機器人,搶佔協作機器人細分賽道機器人
- 我該從哪裡開始學習精益?
- 早教機器人AI化,人機聯動成新風口機器人AI
- 從零開始學習OpenGL-14複習光照
- 如何從 0 開始學一門新技術框架框架
- 寓教於樂 給程式碼審查者的幾點建議
- 從 0 開始學架構架構
- DeepMind 聯合創始人 Mustafa Suleyman 離開 DeepMind 加入谷歌谷歌
- 從 0 開始學習 Three.js : 場景搭建JS
- 從0開始學習Hadoop(2)安裝JDKHadoopJDK
- 動手學深度學習(二)——多層感知機(從零開始)深度學習
- 關於如何從0開始配置伺服器的域名伺服器
- 《MySQL 8從零開始學(影片教學版)》MySql
- 從零開始造一個“智障”聊天機器人機器人
- 從零開始打造專屬釘釘機器人機器人
- 機器人開始學習功能 人類的福音還是毀滅的前奏!機器人
- 深度學習研究的新變化:教計算機如何編碼深度學習計算機
- 《從0開始學Elasticsearch》—初識ElasticsearchElasticsearch
- 基於Pytorch熱門深度學習框架 從零開發NLP聊天機器人PyTorch深度學習框架機器人
- 從0開始弄一個面向OC資料庫(四)–複雜資料模型儲存資料庫模型
- 從0開始弄一個面向OC資料庫(四)--複雜資料模型儲存資料庫模型
- 從頭開始學習VuexVue
- 從零開始學習KafkaKafka
- 從零開始學習機器學習機器學習
- 從零開始學習laravelLaravel
- 從0開始學雜項 第二期:隱寫分析(1) 直接附加
- 歸納+記憶:讓機器像人一樣從小樣本中學習
- 從0開始學VUE - 踩坑記錄Vue