有研究強化學習(Reinforcement Learning)的不,強化學習的研究價值和應用前景如何?


Reinforcement Learning (RL) 針對的是 learning with feedback 或者說 sequential decision-making 的問題。與之對應的 Supervised Learning, Unsupervised Learning 針對的都是靜態的問題。所以比如說,機器人學習只能用 RL,或者說它本身就是個 RL 的問題。當然,在 RL 的框架下可以使用別的學習方法。

近年內有些在醫學(治療癲癇)、金融方向(股票市場內的決策)使用 RL,但是不多。最有名的應用應該就是 Stanford 的直升機自主學習吧( @Alexander 提到)。 @邵凱笛 也提到和神經系統的相關性。已經有實驗表明生物的學習可能用的就是 RL 的演算法。

關於 @Foggy.T 的回答,針對 Curse of Dimensionality 方向的演算法: Hierarchical RL, Modular RL(這是個小方向,我和我的一個導師在做)。簡單說就是把問題分解成小問題,然後分層/分模塊學習。

快速部署我不太了解,但是有 Distributed RL 這個方向。

回答得略粗略,也都沒加相關文獻。想到了什麼或者大家有什麼問題再補充吧。


15年4月8日補充:

Reinforcement Learning和現在比較熱門的Deep Learning結合的內容,可以看一下牛津大學15年Machine Learning課程最後兩個Lectures的內容,視頻在Youtube上(https://www.youtube.com/watch?v=kUiR0RLmGCo),主講人是Department of Computer Science: Nando de Freitas,他貌似會在YouTube視頻下面回答觀眾的提問。

-------

恰好畢業論文相關,做的是autonomous agent,學習方法就是RL。

不適合深入研究,但有應用價值。

RL最早的研究可以追溯到五六十年代,雖然那個時候還沒有提出RL。八九十年代的時候比較熱門。現在已經不是主要研究方向了。

RL在解決一些sequential decision making, delayed reward的問題上挺有用,經常和supervised learning等結合起來,解決複雜的環境問題。

現在看到很多把RL作為一個工具,應用到新項目上。最新的應用是有的,比如斯坦福大學的最近幾年的那個autonomous helicopter(Autonomous Helicopter: Stanford University AI Lab)。


2013年跟蹤了一下強化學習,曾寫了幾篇博客。

搜索結果 | ExBot易科機器人實驗室

受pieter abbeel 搞了一套學徒學習演算法控制直升機鼓舞,也想試一下強化學習控制無人機。 但最後總的感覺是想法很好,實踐很糟。主要原因是現實控制系統不允許你失敗那麼多次去學習一個策略,也只能模擬玩玩。雖然可能用強化學習去優化一個基準控制器,但這個自適應控制又比他簡潔而成熟,所以在控制領域還是比較雞肋的。


目前已有結合深度學習的案列:看DeepMind如何用Reinforcement learning玩遊戲。

微軟曾利用RL開發出了一款賽車遊戲,可以google搜索到!!!

強化學習的瓶頸問題仍然未解決(維數災難以及如何快速部署應用......),我也在研究RL這方面,主要與移動機器人導航相結合。


RL其實是最接近於自然界動物學習的本質的一種學習範式。RL在一些小問題上的表現近乎完美。然而傳統的RL應用場景很有限,規模大一點的問題就會出現維數爆炸,function approximation可以解決一定問題,然而複雜的學習問題存在大量的不確定性,模型調參猶如盲人摸象,過於tricky。深度學習的爆發給RL帶來了新希望,大家都在等著deepmind憋下一個大招。

AI星際2?AI德州撲克?AI參加標準化考試?

也許有一天AI會參加美國總統競選,畢竟機器沒有醜聞,一旦老子value function收斂,爾等人類都是渣渣。

(註:以下括弧中為對應的RL術語)

有時候總會覺得,生活就是一次漫長的強化學習過程,我們(agent)希望探索自己的極限不要滿足於現狀(exploration),又害怕失去方向找不到自己的目標(exploitation)。當你最對了一件事的時候,你會收穫到獎勵(reward),也許你在當下看不到結果,但是卻是影響你未來成功的關鍵(delayed reward)。做錯了事,當然也要受到懲罰(penalty or negative reward),這樣你才會長教訓,避免重蹈覆轍。然而總有一些人會對漠視懲罰,這也造成了他們為了成功不擇手段(risk seeking)。也有一些人過於害怕失敗,導致他們做事總是很謹慎(risk averse)。我們在與社會(environment)接觸的過程中,不斷學習(TD learning)。人的價值觀在年輕時變化較大(value function or Q table),年紀越大越趨於穩定(converge)。直到有一天你參透了人生,領域了生命中的真諦(optimal policy)。然而人生不能重新來過(episode),我們只能通過教育來把我們一生中習得的經驗傳遞下去(iteration)。

也許有一天,意識的本質被人類研究透徹了,那麼人工智慧很快就會從真正意義上超過人類智能了,畢竟我們窮盡一生的迭代在agent眼裡也不過幾秒。

若有志於學習RL,阿爾伯特大學的Sutton的RLAI是最經典的教科書,deepmind的David Silver在UCI開設的RL課程是很好的入門課,Andrew Ng也發過不少RL的論文。另外可以看看博弈論,決策模型等,這些是RL的數學基礎。之後可以看看UC berkeley的deep reinforcement learning課程cs294,開設這門課的老師是當年和Andrew Ng一起在standford研究學徒學習的大牛Abbeel,再看看deepmind是怎麼利用DQN訓練agent玩電子遊戲的。接下來就可以根據自己的興趣選擇研究方向了。

若上述資料找不到可以私信我


如果你有深度學習基礎就更好了。不過Neural Network 只是 reinforcement learning的一小部分。

Neural Network 只能實現policy network,但policy gradient才是 reinforcement learning 的重點。參考 Deep Q-Learning。

可惜現在的所有深度學習庫無論是 tensorflow, theano, keras, tflearn, torch, lasagne, caffe 都只是提供 neural network框架。而沒有提供開源任何的 reinforcement learning 框架。

最近開源的 TensorLayer 是唯一一個支持 reinforcement learning 的庫,而且是基於TensorFlow開發的,可以參考一下: https://github.com/zsdonghao/TensorLayer


=========================================

談應用領域就貌似很多,任何需要接受外界反饋的,而且用這種反饋來指導下一步行動的都可以用強化學習去開發,圖靈機就是一個可以用RL的數學表示方式。但各種事實反饋實際上還比較慢,也不可能用深度學習的方式去學習幾十萬的數據集(真實環境中成本過高),真正用的還是很多擬真地方,目前RL跟deep learning 結合是一個發展趨勢。


強化學習這種機器學習方法,來源於人和動物學習的過程,更為本源(essential), 所以研究價值很大。

理論已經存在多年,MDP, 蒙特卡洛方法,TD等很成熟。但個人認為它下一個理論突破點應該是與神經學、腦科學的結合上,也就是需要更本質地對人學習的理解。

以前的應用給人印象深刻的不多,估計一個原因是真實應用的狀態數過大,難以計算。1992年,Gerry Tesauro 研發了 把強化學習和神經網路結合在一起的西洋雙陸棋, TD-Gammon, 戰勝了人類。

最近因為與深度學習結合,解決海量數據的泛化,所以取得了讓人印象深刻的成果(Deepmind的自動學習玩ATARI遊戲,AlphaGo戰勝人類高手)。也有用強化學習來自動玩FlappyBird, 2048,doom等遊戲的,效果不錯。

因為本人來自遊戲業,關注到的都是強化學習在遊戲領域的應用。強化學習可能其他領域也有應用(猜測機器人控制方面為,自動駕駛,對話應答),因為不熟,不敢舉例。

本人創辦的北京深極智能科技有限公司,目前業務之一是強化學習在遊戲業應用。比如遊戲中可進化的Boss(傳統的Boss行為是策劃配表的,或程序員用有限狀態機硬寫出的),即將應用於遊戲產品。


Short Answer:

至少得了解一下,但全情投入需謹慎。

------

Long Answer:

之所以建議有基本了解,是因為強化學習涉及人工智慧的根本性問題,想要從事機器學習相關的專業研究,就算只是為了培養基本的intuition也不能對這個領域一無所知。

謹慎的原因是強化學習的潛力是有層次的:基礎理論已經有大神們前赴後繼幾十年,再有新突破困難;應用研究因為深度學習技術的加盟潛力很大,很多古老的好想法可能終於找到了合適的實現形式,近期成果的井噴就是明證;而實際應用則還有待探索,因為強化學習應用的最大障礙不是演算法的問題,而是數據和可靠性等等的綜合性問題,單靠研究是搞不定的。


推薦alphago的作者之一,UCL教授David Silver的加強學習課程,鏈接如下

Advanced Topics 2015 (COMPM050/COMPGI13)

Reinforcement Learning

Video-lectures available here

Lecture 1: Introduction to Reinforcement Learning

Lecture 2: Markov Decision Processes

Lecture 3: Planning by Dynamic Programming

Lecture 4: Model-Free Prediction

Lecture 5: Model-Free Control

Lecture 6: Value Function Approximation

Lecture 7: Policy Gradient Methods

Lecture 8: Integrating Learning and Planning

Lecture 9: Exploration and Exploitation

Lecture 10: Case Study: RL in Classic Games

內容非常翔實,基本上把rl所有的基本概念,比如on policy learning,off policy learning, exploration and explanation,dynamic programming,markov chain mote carlo,planning and control,value iteration and policy iteration,policy gradient 等都涵蓋了。非常適合入門。

更高級的rl可以看下deep mind 發的相關文章,rl的火爆就是從他們組的nature文章以及alpha go的橫空出世開始的,另外還有今年nips的workshop以及peter abeel組的文章 benchmark for deep reinforcemeng learning。

機器人方向的rl可以關注下peter abeel以及他的博士後sergey levine開創的guided policy search,他們這個方向上在icra還有nips等頂級會議上發了一大堆文章。


強化學習原本是一個演算法,但是後來發現在神經系統中也很能解釋問題

現在好像在計算神經科學算一個熱門問題

(以上是聽導師說的)


我想這篇博文可以幫到您:

#15 增強學習101 閃電入門 reinforcement-learning


推薦閱讀:

怎麼在監督學習的基礎上做強化學習?
生成對抗網路(GAN)相比傳統訓練方法有什麼優勢?
在機器學習的演算法中, 矩陣運算的效率總是優於for循環嗎?
應該如何理解No Free Lunch Theorems for Optimization?
Adaboost可不可以使用其他的損失函數?

TAG:軟體 | 機器學習 | 自動控制 | 強化學習ReinforcementLearning |