CMU深度增強學習&控制 第1講:導論

--------------- 2017.2.9更新 ---------------

原始課程更新了新的網址,大家可自行下載英文課件:katefvision.github.io/

"機器人學家"翻譯的其他課程鏈接在文末。

--------------- 聲明及致謝 ---------------

我們獲得授權翻譯CMU課程 10703 Deep Reinforcement Learning & Control

感謝Katerina Fragkiadaki教授的支持。

「機器人學家」授權發布

第一課翻譯貢獻者:

宋健 ,北航機器人所SLAM (1-9)

張靈康, SFU, inspiREDRobotics (10-18)

李飛騰 ,HFUT,Mechatronics(19-27)

Shin,NUS,CS (28-35)

楊傑峰,PKU,多足步行機器人 (36-43)

中英文課件下載:鏈接:pan.baidu.com/s/1qYQ1Pc 密碼:2ss2

--------------- 課程正文 ---------------

目標

增強學習研究的問題模型包括一個環境,和與這個環境交互的一個智能體(agent)。增強學習的目標是為這個智能體設計一個行為策略(policy),使其在與環境交互的過程中能夠獲得最大的收益(Reward)。這些在第二講會有明確定義。很多機器人控制、規劃問題都可以用這個框架建模。

這裡所說的行為(Behavior),是agent在一個特定目標下的一個動作序列。不同於在一個靜態不變的環境里通過預先編程確定的行為(比如工業機器人大量使用的離線示教),本課程學習如何在一個動態變化的環境里讓agent學習行為。

靜態環境里,執行固定行為往往就足夠了

行為重要性

大腦之所以進化,不是為了思考和感受,而是為了控制運動

-- Daniel Wolpert, TED talk

一個極端的例子是,海鞘會在不再需要移動的時候將自己的腦部消化掉。儘管什麼是智能很難定義,但是能夠自適應環境改變的行為是人類的一大特徵。

行為學習:對於一個特定目標,學習一個從觀測(observation)到動作(action)的映射。

監督學習

智能體(agent)在通過不斷嘗試進行學習時,需要對結果好壞有個評估,這就是「監督(supervision)」。一個在動態環境下學習特定行為的智能體,根據問題的不同一般會獲得這幾種監督:

1.收益(reward)。目標達成時獲得的收益反饋,是一個標量數字。比如,比賽勝利,汽車沒有事故,智能體正常運行等。

2. 示教(demonstration)。示範需要的行為是一條軌跡。比如,通過youtube烹飪視頻教機械臂學習烹飪。

3. 正確行為屬性。比如對於自動駕駛,好的行為屬性包括保持在正確的車道內,與前車保持適當的車距等。

這三種監督提供的信息量從小到大,對應問題的難度也從困難到容易。

行為學習舉例:跳高

跨越式

背越式

  1. 從收益中學習:最早的跳高運動員們,沒有老師教,只能根據跳的高度來調整動作。跳得越高收益越大。結果就是這些人花了許多年才從跨越式發展到背躍式。

  2. 從示教中學習:運動員示範一次高級姿勢的跳高,其他人學習這種標準姿勢可以快速掌握跳得更高的技巧。

  3. 從好的行為屬性中學習:在教練指導下的跳高學習。教練可以直接告訴初學者正確的行為屬性,比如跳高時腿的姿勢,跳高應採取的節奏等。無疑這種方式獲得的信息量最大,也是學得最快的。

行為學習的特點

行為學習與其他機器學習範式(比如從圖片中檢測物體)有什麼樣的不同?以下分為三點來談:

1) 智能體(agent)的行為影響其在未來接收到的數據

  • 在自然界,智能體所接收到的數據都是序列化的(觀測-> 行動->觀測->行動 …...),而不是獨立同分布的

  • 標準的監督學習的方法會導致累積誤差(compounding errors),出自An invitation to imiation, Drew Bagnell

舉例:

  • 學習駕駛一輛車(監督學習)

2)不管行為的目標是否達到,對其效果的衡量都將在很久以後才能獲得

  • 只根據即時的收益(reward)還是很難知道哪些行動(action)對於最終目標的實現是重要的還是不重要的。

  • 獲知最終結果所需時間很短的話,問題就簡單了,反饋所需時間越短問題越簡單。

3)在現實世界當中,行動都是需要時間來執行的,所以說這就限制了能夠收集到的(能用於訓練的)樣本的數量

電腦可以變得越來越快,而現實的物理世界卻不能。

幾個例子:

  • 超大規模(Supersizing)自我監督學習

這是2016年ICRA最佳學生論文,論文的關鍵點在於它通過很長的時間(50K次嘗試,700 robot hours)來收集足夠多的數據用於機器人的行為學習。論文鏈接:

Learning to Grasp from 50K Tries and 700 Robot Hours

  • 谷歌機器人農場

這是另一個極端的例子。Google用幾十台相同的工業機器人連續工作幾個月,採集了超過80000組抓取數據。相關鏈接:

Deep Learning for Robots: Learning from Large-Scale Interaction

如果你想以這種方式解決問題,雲機器人(cloud robotics)是個不錯的主意。

值得注意的是在這兩個例子中,行為的結果都是很容易評估的,只需看觀察物體是否成功抓取。如果結果很難評估,那麼問題就非常難用增強學習解決。

4)行為的組合難以學習。這就是為什麼在目前機器人RL大多數工作中只學習某個特定的行為,而不是較複雜的複合行為。學習組合行為遠比學習組合的音頻、圖像難度更大。後兩者已經使用深度學習取得了很好的效果。

下面是在醫學研究下,人類嬰兒學習行為的特點,或許對我們有參考意義:

多模態(multi-modal)

增加的(incremental)

物理的(physical)

探索的(explore)

社會化的(social)

來自於: The development of embodied cognition:six lessons from babies,Linda Smith, Michael Gasser

增強學習成功案例

下面看一些行為學習成功的應用實例:

十五子棋

這是一種兩人玩的棋類遊戲。其中擲骰子給問題的發展帶來不確定的可能分支,讓適用於象棋的暴力深度搜索方法無法使用。

Temporal Difference(TD) Learning,一種增強學習(RL)方法,IBM研究中心的Gerarl Tesauro 於1992年使用這種方法來嘗試解決十五子棋的問題。從任意初始化的權重weight開始,它通過與自身對弈,訓練出了一個評估函數(evaluation function)用於決策,擊敗了當時的十五子棋冠軍。

"毫無疑問,它對位置的判斷遠勝於我。"

-----Kit Woolsey (美國橋牌和十五子棋專家)

直升機飛控

(編者註:和四旋翼不同,直升機是一個有超過7維控制輸入的複雜非線性系統,其自動控制一直被控制界認為是比較困難的問題)

斯坦福的自控直升機通過運用專家演示,微分動態規劃,局部模型學習等技術,能夠讓直升機在空中自主完成一系列姿態動作。

原地翻轉

畫圈

鐘擺

兩個完整視頻鏈接在這裡

-Shin1jzpn的秒拍

-Shin1jzpn的秒拍

四足機器人行走

CMU機器人研究所的Matt Zucker用優化和學習模型能夠讓機器人根據不同的地形狀況更好的控制腿部運動。

跨越欄杆 光滑崎嶇的地面

爬過岩石

爬樓梯

完整的視頻鏈接:-Shin1jzpn的秒拍

相關論文鏈接在這裡:

lairlab.org/wp-content/

無人車

第一輛無人車於1991年在CMU誕生,主要用的是人工神經網路。論文鏈接:

ri.cmu.edu/pub_files/pu

此作品運用了行為克隆模型,利用數據增強來處理累計誤差,是一種在線適應的交互學習方式。

無人車具體涉及到的技術包括: 計算機視覺,Velodyne感測器,物體識別,三維姿態估計,路徑規劃等。

打磚塊遊戲

Google Deep Mind使用深度Q學習演算法訓練出了針對打磚塊遊戲的agent.

剛開始的10分鐘agent顯得十分笨拙:

兩個小時之後已經是專家了:

四個小時之後完全攻略了這個遊戲:

完整視頻鏈接:-Shin1jzpn的秒拍

Montezuma』s Revenge遊戲

Google DeepMind還用不同的方法開發訓練了Montezuma』s Revenge遊戲的agent。

具體視頻鏈接請戳:-Shin1jzpn的秒拍

第一個基於像素的增強學習應用

論文:Evolving large-scale neural networks for vision-based reinforcement learning, 2013, Koutni?k, Cuccu, Schmidhuber, Gomez

機械臂操作

荷蘭代爾夫特理工大學TU Delft 團隊贏得2016 Amazon Picking Challenge 揀選」和 「放置」兩項冠軍。

(編者註:TU Delft在這次比賽中應該並沒有使用增強學習演算法。事實上幾乎所有參賽隊都沒有用learning,而是使用基於模型的控制規劃。這是一個增強學習潛在的應用場景。)

圍棋 AlphaGo

AlphaGo使用的增強學習演算法屬於蒙特卡羅樹搜索,通過學習策略網路和價值網路來修剪搜索樹,通過專家示範和大量自我對奕來訓練。

谷歌用於訓練AlphaGo的深度學習專門硬體TPU(Tensor Processing Unit)

AlphaGo在圍棋上的成功大家有目共睹。課件上這裡援引兩大棋手的評論作為結尾:

「人類千年的實戰演練進化,計算機卻告訴我們,人類全都是錯的…」

柯潔 圍棋九段

「機器人永遠不能像人類那樣理解這個遊戲的美妙。」

李世石 圍棋九段

編者註:深度增強學習正處在一個快速發展、邁嚮應用的時期。它在許多問題上取得了巨大成功,在另一些問題(比如實物的控制問題)上仍面臨挑戰。不論如何,了解學習這一工具是對機器人專業朋友們很有價值的一件事。

我們的翻譯志願者團隊已經超過80人,整個學期的課件每份都已經至少有三人次負責,我們會儘力保證翻譯質量。第二、三講課件已經在翻譯中。

課程合集

CMU 10703 課程網站:

Deep RL and Control

10-703: Deep Reinforcement Learning & Control

中文翻譯:

1.:增強學習能解決什麼樣的機器人問題?CMU深度增強學習第一講

2:馬爾科夫決策過程及其性質-CMU深度強化學習第二講

3.:MDP中的規劃-CMU深度強化學習第三講

持續更新中......

歡迎關注「機器人學家」

轉載請聯繫我們獲得許可即可,不尊重作者勞動成果的行為會被舉報。


推薦閱讀:

從服務機器人看實體與虛擬的區別
披薩機器人與智能手環新洞見
全世界最蠢萌的機器人大戰,就是它了
期待已久,美日巨型機器人大對決終於來了!
日本首例IoT旅社到底長啥樣子?

TAG:深度学习DeepLearning | 强化学习ReinforcementLearning | 机器人 |