Reinforcement-Learning 2. 課程說明
• REINFORCEMENT LEARNING (上)
– 介紹原理與應用
– 討論 Q-Function/ Q-Value 與 Policy
• REINFORCEMENT LEARNING (中)
– 利用 CNN 自動抓取特徵值
– 透過 DQN 逼進最佳決策
• REINFORCEMENT LEARNING (下)
– 以監督式學習模型為基礎,搭配 DQN 進行最佳
Action 值
2
7. REINFORCEMENT LEARNING
• 監督式學習(supervised learning)
– 是由人給定標記好的資料,讓機器學習正確答案並作為推論根據。
這種學習方法是立基於人的標記,資料標記過程需要花費大量時間
與資源,機器只能根據已標記的特徵來學習,完成指定的任務,如
語音轉文字、分類圖像、物件辨識等
• 強化學習(Reinforced Learning)
– 透過獎勵與懲罰的機制,讓機器在虛擬情境中不斷試錯(trial and
error),累積經驗來學習。這種學習方式在競技比賽裡表現良好、
甚至能勝過人類,但學習效率極低
– 舉例來說,人類在15分鐘內能領略的任一款Atari遊戲,機器卻平均
要花83小時才能學會,在臉書研發的虛擬圍棋遊戲ELF OpenGo中,
更要用2000個GPU訓練14天,更別提要訓練200年才學得會的星海爭
霸遊戲(StarCraft)
7
8. REINFORCEMENT LEARNING
• 三位大神的加持
– Hinton、Bengio、LeCun 在Nature上發表的 Deep
Learning 綜述一文最後也將 Deep Reinforcement
Learning 作為未來 Deep Learning 的發展方向
– AlphaGo 横空出世,將進一步推動 Deep Reinforcement
Learning 的發展
8
12. OPENAI GYM
• 特斯拉CEO埃隆·馬斯克(Elon Musk)和創業孵化器Y Combinator總
裁山姆·奧特曼(Sam Altman)創建了人工智慧公司OpenAI,並表示
將開源其研究成果分享給研究人工智慧的每一個人
• 是一家非盈利性人工智慧研究公司,我們都在致力於進行非監督式
學習和強化學習的研究。我們的使命和長期目標是以將最大限度地
造福全人類的方式發展人工智慧
• 將如何讓AI研究者更容易地設計、疊代、優化他們下一代的應用程式
12
20. 玩遊戲
• 由DeepMind在NIPS 2013提出DQN
– Deep Q-Network 算法
• 將純圖像輸入,透過機器學習來玩遊戲
– https://www.youtube.com/watch?v=V1eYniJ0Rnk
– https://www.youtube.com/watch?v=5GMDbStRgoc
20
21. 延伸閱讀
• Playing Atari with Deep Reinforcement Learning
– https://arxiv.org/abs/1312.5602
• 使用增強式學習法改善一個簡易的臺灣股價指數期貨當沖交易系統
– https://www.csie.ntu.edu.tw/~lyuu/theses/thesis_r96922100.pdf
• AI 交易模型
– https://www.stockfeel.com.tw/ai%E4%BA%A4%E6%98%93%E6%A8
%A1%E5%9E%8B%E2%80%8A-
%E2%80%8A%E5%BC%B7%E5%8C%96%E5%AD%B8%E7%BF%92/
• Python 財務程式分析設計
– https://www.datacamp.com/community/tutorials/finance-python-
trading
21
25. 遊戲說明
• 遊戲: CartPole-v0
• 種類: 經典遊戲
• Obs features:
• Actions:
25
• Episode termination:
• Pole Angle is more than ±12°
• Cart Position is more than ±2.4
(center of the cart reaches the
edge of the display)
• Episode length is greater than
200
26. 遊戲說明
• 遊戲的step函數返回訊息
– Observation 、 Reward 、 Done 、 Info
• Observation: 描述一個環境的狀態
• Reward: 執行行為產生的回報
• Done: 判斷是否到了需要重新定義環境的狀態
• Info: debug用的資訊
• 開啟:
– 北護_gym2.ipynb
26
28. Q-LEARNING WITH Q-TABLE
• 為了學習在某個State之下做出好的Action我們定義所謂的Q-function
– 表示: Q(s,a)
• 根據身處的State,進行Action,預期未來會得到的總Reward
– 求出最佳Q-function => Q*(s, a)
• Agent 在任何State 之下,只要挑選能最大化未來總Reward的Action,
即能在任務中獲得最大 Reward
• 找到最佳的Q-function 的過程正是 Q-learning
28
29. Q-LEARNING WITH Q-TABLE
• 學習Q-function前,要先知道如何表示Q-function,不難發現Q-
function 有遞迴特質,可以用遞迴表示:
• 即是當前Reward和進入下一個State後所能獲得最大 Discount Reward
– max_a’ Q(s’, a’) 的和
• 這邊的 γ 稱為Discount Factor,可以說是對未來Reward的重視程度
– γ越低,表示Agent 覺得未來獲得的Reward太遙遠,不足以在當前State
的決策過程中佔有太大份量,也越重視當前所獲得的Reward
29
30. Q-LEARNING WITH Q-TABLE
• 接著Agent要藉由一次次跟Environment 互動中獲得的Reward來學
習Q-function
• 起初Agent一無所知時,Q-function 的參數都是隨機的
• 接著從跟Environment互動的每一步,慢慢更新參數,逼近我們要
的最佳Q-function
30
32. Q-LEARNING WITH Q-TABLE
• ε-greedy是一種在 Exploration 和 Exploitation 間取得平衡的方法
• Exploration是讓Agent大膽嘗試不同Action,確保能夠吸收新知
• Exploitation是讓Agent保守沿用現有Policy,讓學習過程收斂
• 方法很簡單:
– ε 是隨機選擇Action的機率,所以平均上有 ε 機率的時間 Agent會嘗試
新Action
– (1 - ε)機率的時間Agent會根據現有Policy 做決策
• 我們的目標是學習到最佳Q-function,過程中以ε-greedy方法與
Environment 互動,從中獲得Reward以更新Q-table裡的Q-value
32
參考: https://zh.wikipedia.org/wiki/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95
33. Q-LEARNING WITH Q-TABLE
• 將每個State-Action pair的Q-value存在table裡,直接查找或更新,即
是所謂Q-table
• 不過這個方法的壞處是table大小有限,不適用於State和Action過多的
任務
• Q-table就是一個以State和Action儲存Q-value表格,不過在State和
Action有限且不過多的情況下,這個表格才有可能被建立
– 例如 CartPole 問題中State只有四個 feature,每個的值都在有限範圍內
(或是可以固定在有限範圍),Action更只有兩個值
• 但現實世界中,Q-table又大又複雜,用深度學習網路去逼近
Q-function,即DQN,如此一來就不會有容量限制了
33
34. Q-LEARNING WITH Q-TABLE
• 如果我們的State來自遊戲畫面,或圍棋棋盤呢?
– 可以選擇根據任務原理,很辛苦又可能徒勞無功的把環境簡化成幾
個有效的 feature 當作State
– 或是選擇用DQN幫我們提取feature並逼近我們要的Q-function
• 深度學習網路就是藉由不斷被餵食 input-output pair 後,最終逼
近 input-output 對應關係的 function
– 即 f(input) = output
– 轉成 policy π(state) = Action 的形式
34
36. DEEP Q-NETWORK
• 由 Neural Network 取代 Q-table 的
好處是,Neural Network 可以搭配
不同變形,從龐大的State、space
中自動提取特徵
• 經典Atari即是以CNN直接以遊戲畫
面的raw pixel下去訓練
• 這是 Q-table 辦不到的
• 開啟:
– 北護_gym4.ipynb
36
41. 馬可夫決策過程
MARKOV DECISION PROCESS
• 馬可夫決策過程與狀態、動作有關
• 如果狀態與動作是有限的,那就稱為有限馬可夫決策過程 (finite
MDP)
– 給定一組MDP,我們就可以預測下一組動作 (根據當前的狀態和轉
移到的機率)
– 透過迭代,最終可以預測出所有可能的未來
– 也稱為 State-Action pair
41
42. 馬可夫決策過程
MARKOV DECISION PROCESS
• 在一個狀態s下所採取的動作a,並且會得到下一個狀態s’與回饋r
• 我們如果知道了轉移機率P,也就是我們稱為的模型,有了模型
就可以預測了,R是回饋,λ是discount factor折扣因子,一般小於
1,所以當下的回饋比較重要,隨時間越久,越不重要
42
Gt:總獎勵(R1+R2+….RT,T=最終時間步驟)
45. 優化價值函數
OPTIMAL VALUE FUNCTIONS
• 強化學習問題的本質在於決定出一個最好的策略
而價值函數定義出了策略的價值,因此我們可以有許多策略
• 假設我們有兩個策略 π、π’,如果 vπ(s) ≥ vπ′(s) 我們可以說策略 π
是最好的
• 在每個狀態下我們可以說至少有一個策略 π 的價值 >= 其他的策
略,表示為 π∗
45
49. MULTI-ARM BANDITS
• 貪婪行為 (Greedy action)
– 繼續選擇獎勵最大的那次動作
– 稱之為 Exploiting(利用)
• 如果不是貪婪行為
– 稱之為 Exploring(探索)
• 透過Exploiting,我們可以保證這一次的動作獎勵是最大的,但長
遠來看,我們可以會因為沒有探索而失去得到更好獎勵的機會
49
56. TEMPORAL-DIFFERENCE LEARNING
• TD-learning 結合了動態規劃以及蒙特卡羅兩者的優點
• 動態規劃(DP)的很大缺點就是必須要有模型(model-based),但蒙
特卡羅以及TD-learning則不需要,也就是說這兩者都是model-free
的模型
• Monte Carlo Learning
– 適用於情境(episodes)方面的學習
– 從經驗中學習,不需要知道模型為何
56
蒙特卡羅的策略函數是由每次結束(episodes)狀態所獲得的獎勵來更新的,透過不斷的修正,最終可以使策略函數越來越準確
65. 維度災難
• 輸入原始圖像數據 (210X160)
• 輸出幾個按鍵動作
• 電腦玩Atari遊戲,這種情況下,有多少種狀態?
• 如果每一秒鐘的狀態都不一樣,那們每一個像素有256種選擇,狀
態共有:
• 因此我們要對狀態維度進行壓縮,也就是找出價直函數近似值
– Value Function Approximation
65
68. 價值函數近似值
VALUE FUNCTION APPROXIMATION
• 對於Atari遊戲而言,這是一個高維狀態輸入(原始圖像),低維度動
作輸出
• 輸出的值,就是每一個動作的Q值,也就是輸出一個向量:
• 輸出是一個值,只不過是包含了所有動作的Q值之向量:
• 因此,只要輸入狀態s,而且還同時可以得到所有的動作Q值,這也
將更方便進行Q-Learning中動作的選擇與Q值得更新
68