iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
AI & Data

強化學習系列 第 23

強化學習筆記 Day 23

前言

昨天說明以 TD learning 的方式評估狀態價值,現在我們有狀態函數後,下一步就是考慮怎麼獲得動作價值,並加以實現控制。

TD Control

動作價值更新

如同 Day21 中推論狀態價值的思路,我們可以推論出動作價值,這邊直接提供推論的結果:
https://ithelp.ithome.com.tw/upload/images/20181101/20111741IY0QN7A3nN.png

好的,現在我們有動作價值,接著透過 https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon - greedy 挑選動作,就可以確定在什麼狀態下,應該採取什麼動作。

https://ithelp.ithome.com.tw/upload/images/20181101/20111741mSMGMKPAKs.png 應該代入什麼?

在繼續往下說明演算法之前,先說明一個在模擬過程中遇到的問題 ─ 「On-Policy 與 Off-Policy」。這個問題會延伸出兩個不同的強化學習方法 ─ 「SARSA 與 Q-Learning」。

在使用 https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon - greedy 的情況下,如果剛好遇到探索的情況,在 https://ithelp.ithome.com.tw/upload/images/20181101/20111741mSMGMKPAKs.png 應該代入探索的動作?還是 greedy 選擇的動作?

  • On-Policy
    按照我們過去在蒙地卡羅控制的思路,「探索」是為了讓我們有更多機會估計其他動作價值,增加我們找到更好的動作的機會。在這個思路下,https://ithelp.ithome.com.tw/upload/images/20181101/20111741mSMGMKPAKs.png 應該代入探索的動作,使得我們可以估計其他動作價值。這個思路下,我們遵守 https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon - greedy 這個策略,因此屬於 on-policy,流程如下:
    https://ithelp.ithome.com.tw/upload/images/20181101/20111741sronTrVovz.png

  • Off-Policy
    相反的,如果我們在遇到探索時,仍然使用 greedy 的結果更新動作價值,那麼就沒有遵守 https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon - greedy 這個策略,所以屬於 off-policy,流程如下:
    https://ithelp.ithome.com.tw/upload/images/20181101/20111741QyxQn5izXs.png

[補充說明]

  1. 上述提到的 On-Policy 方法,即是 SARSA;而上述提到的 Off-Policy 方法,即是 Q-Learning。判斷演算法是 On-Policy 還是 Off-Policy ,由「演算法是否完全按照 policy 更新動作價值」判斷。
  2. 在歷史上,Watkins 先在 1989 年提出 Q-learning 及 https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon - greedy,Rummery 與 Niranjan 後於 1994 年提出 modified Q-Learning, Sutton 於 1996 年將 modified 更名為 SARSA。我不清楚 Sutton 書上先介紹 SARSA 後介紹 Q-Learning 的原因。
    3. 1994 年所提出的 SARSA 是以 episode 為單位更新動作價值,同年 Wilson 提出以 step 為單位更新動作價值的 SARSA。

原本是在 Sutton 的書上看到,但後來去看 1994 年 Rummery 與 Niranjan 的原文,找不到支持這點的論述,故先刪除。

那麼,這兩個演算法會有什麼差異呢?明後天我們分別實作這兩個演算法,來比較這兩個算法的差異。


上一篇
強化學習筆記 Day 22
下一篇
強化學習筆記 Day 24
系列文
強化學習30

尚未有邦友留言

立即登入留言