【資料總結】| Deep Reinforcement Learning 深度強化學習
在機器學習中,我們經常會分類為有監督學習和無監督學習,但是嚐嚐會忽略一個重要的分支,強化學習。有監督學習和無監督學習非常好去區分,學習的目標,有無標籤等都是區分標準。如果說監督學習的目標是預測,那麼強化學習就是決策,它通過對周圍的環境不斷的更新狀態,給出獎勵或者懲罰的措施,來不斷調整並給出新的策略。簡單來說,就像小時候你在不該吃零食的時間偷吃了零食,你媽媽知道了會對你做出懲罰,那麼下一次就不會犯同樣的錯誤,如果遵守規則,那你媽媽興許會給你一些獎勵,最終的目標都是希望你在該吃飯的時候吃飯,該吃零食的時候吃零食,而不是在不合適的時間吃零食。同樣,曾經風靡過一段時間的Flappy bird,很多玩家在短時間內達到了高分,是怎麼做到的呢?除了非常厲害的玩家是真的自己手動玩的高分,其實很多高分是通過我們用強化學習的方法來訓練一個模型,讓小鳥自己學習如何不碰到障礙物一直往前飛,獲得最高分。此外,大家熟知的Alpha Go,其實也是強化學習訓練的模型,不過是深度強化學習。
2013年DeepMind發表了一篇Playing Atari with Deep Reinforcement Learning 文章之後,深度強化學習便慢慢走入人們的視野。後來,在2015年,DeepMind又發表了一篇Human Level Control through Deep Reinforcement Learning,使得深度強化學習得到了廣泛的關注,當年湧現了很多學術成果。我們熟知深度強化學習應該在16~17年的時候,尤其是Alpha Go出現後,很多公司和研究人員開始大量關注深度強化學習,並嘗試將其應用在各個不同的應用場景。
關於深度強化學習,我整理了一些資料,如果感興趣的可以學習一下(部分連結需要科學上網):
【論文】
- 《深度強化學習》英文版(150頁),是上一版(70頁)的加強版:https://arxiv.org/abs/1810.06339
- 經典書籍:Reinforcement Learning: An Introduction (2nd Edition)
- 論文集,覆蓋面比較廣,需要一定基礎: Reinforcement Learning: State-of-the-Art
- 兩個非常全的論文資料集合:
【部落格】
- yuxili: https://medium.com/@yuxili
- Guest Post (Part I): Demystifying Deep Reinforcement Learning
- Guest Post (Part II): Deep Reinforcement Learning with Neon
- Blog Post (Part III): Deep Reinforcement Learning with OpenAI Gym
- Andrej Karpathy blog: Deep Reinforcement Learning: Pong from Pixels
【文章】
- 南京大學俞楊博士:強化學習前言(強化學習的完整介紹)https://www.leiphone.com/news/201705/uO8nd09EnR77NBRP.html
【課程】
- 零基礎入門:莫煩python:https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/
- David Silver的增強學習課程(有視訊和ppt),2015年的,需要一定基礎: http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html
- 最好的增強學習教材,可以結合David Silver的課程一起看:Sutton & Barto Book: Reinforcement Learning: An Introduction
- 斯坦福CS234:http:// web.stanford.edu/class/cs234/index.html
- 伯克利CS294:http://rll.berkeley.edu/deeprlcourse/
- Pieter Abbeel 的AI課程(包含增強學習,使用Pacman實驗):Artificial Intelligence
- Pieter Abbeel 的深度增強學習課程:CS 294 Deep Reinforcement Learning, Fall 2015
- Nando de Freitas 的深度學習課程 (有視訊有ppt有作業):Machine Learning
- Michael Littman的增強學習課程:https://www.udacity.com/course/reinforcement-learning–ud600
- 最新機器人專題課程Penn(2016年開課):Specialization
- Deep Learning Summer School:ppts videos
【學習網站】
- openAI GYM Reinforcement Learning toolkits: https://gym.openai.com
- 強化學習示例演示: https://qqiang00.github.io/reinforce/javascript/demo_iteration.html
- karpathy的各種強化學習的演示:https://cs.stanford.edu/people/karpathy/reinforcejs/index.html
- MIT的強化學習線上學習網站: http://web.mst.edu/~gosavia/rl_website.html
【Github】
- Awesome-RL: https://github.com/aikorea/awesome-rl
- Flappybird:https://github.com/yenchenlin/DeepLearningFlappyBird
- Deep Reinforcement Learning in Tensorflow:https://github.com/carpedm20/deep-rl-tensorflow
- https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
- GitHub - songrotek/DeepTerrainRL: terrain-adaptive locomotion skills using deep reinforcement learning
- GitHub - songrotek/async-rl: An attempt to reproduce the results of "Asynchronous Methods for Deep Reinforcement Learning" (http://arxiv.org/abs/1602.01783)
- GitHub - songrotek/rllab: rllab is a framework for developing and evaluating reinforcement learning algorithms.
- GitHub - songrotek/DRL-FlappyBird: Playing Flappy Bird Using Deep Reinforcement Learning (Based on Deep Q Learning DQN using Tensorflow)
- GitHub - songrotek/DeepMind-Atari-Deep-Q-Learner: The original code from the DeepMind article + my tweaks
【會議】