Q-learning 推導
本文的目的是要讓大家了解Q learning 一行簡單的公式
是如何由數學一步一步慢慢推導而來,Reinforcement learning (加強式學習)是人工智慧的一個分支,主要是藉由定義各個狀態以及動作和適當的指導(給予獎勵、懲罰),機器人即會循序漸進的從無到有學會執行某項任務的演算法,想要仔細瞭解的強烈建議去買本書來看[1],裏面詳詳細的講解RL的各項分析以及推導,而Qlearning即是RL中的其中一個演算法,是目前最廣為使用的RL演算法。
想要快速了解的可以看本文或者是以下影片,小編也是從影片中摘錄一些內容下來講述的,當然也很有可能你看完本文還是不懂RL是什麼,畢竟要把一學期的課經由文字描述到通盤了解還是有點困難的,所以小編只擷取Qlearning的推導過程做敘述,希望能帶給喜歡AI的人一點啟發,了解我們是怎麼經由數學來讓機器人學習。
當然你也可以互相搭配這篇我寫的Q learning matlab程式碼講解幫助大家更了解RL
柏克萊大學 computer science 的線上課程:
Lecture 8: Markov Decision Processes (MDPs)
Lecture 9: Markov Decision Process II
Lecture 10: Reinforcement Learning
Lecture 11: Reinforcement Learning II
小編為了讓大家對照到課本中的章節,前面都有標示,方便大家從書本中前後對照,全書分成16大章節,小編只擷取一些重要的章節出來做介紹。
為了避免文章太過冗長,小編將各個章節分開來,從第三章描述什麼是 RL開始介紹起,不用具備很高深的數學知識,只要稍微懂級數的推法,就可以從無到有推出
Bellman equation,再來第四章、第六章都是在講如何解決RL這個問題,最後經由TD 推出 Q learning 公式。
鏈結如下:
Chap3:Reinforcement Learning Problem
Chap4:Dynamic Programming
Chap6:Temporal Difference Learning (TD)
底下附上Q learning 程式學習影片:
下面這個影片展示 將盒子前面的兩根桿子 切割成各種不同的狀態 最後經由RL從無到有學習的過程
可以看到機器人剛開始不知道如何做 但隨著練習次數一次一次的變多 機器人找到一個規律了
藉由這個規律 機器人就可以一直往前直走 是不是很神奇呢?
下面展示用RL學習機器人走路 好可愛XD
複雜的機器人也可以喔 只是狀態切割的不同 以及方法的改進 但基礎知識都是由RL演變而來
機器蛇經由一段時間的學習後 知道爬上桌子的技巧了!!
RL聖經:An introduction to reinforcement learning:
https://webdocs.cs.ualberta.ca/~sutton/book/the-book.html
已經出到第二版了
第二版 重新發布了用python 寫的原始碼
Reference:
[1] Sutton, R., & Barto, A. G. 1998. Introduction to Reinforcement Learning . MIT Press, Cambridge, MA
[2] 柏克萊大學 computer science 線上課程:
Lecture 8: Markov Decision Processes (MDPs)
Lecture 9: Markov Decision Process II
Lecture 10: Reinforcement Learning
Lecture 11: Reinforcement Learning II
留言列表