iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
AI & Data

強化學習系列 第 5

強化學習筆記 Day 5

前言

昨天我們提到,透過所處狀態、動作、以及移動後的狀態,可以根據獎勵函數獲得回饋。然而獲得這些資訊後,評估下一次遇到這個狀況,要採取什麼動作,需要透過 價值函數 幫助代理人決策。

獎勵函數

在開始之前,我們一樣要先定義一些名詞與符號,幫助我們之後表達價值函數。

  • 行動 (step):表示完成「獲得狀態、決定動作、移動到新狀態」整個流程。

  • 策略 (https://ithelp.ithome.com.tw/upload/images/20181014/20111741CLDqovJXKN.png):將狀態與動作對應到機率的函數。表示某狀態下,採取某動作的機率,記做 https://ithelp.ithome.com.tw/upload/images/20181014/201117417x2rULnVQw.png

  • 整體回饋 (https://ithelp.ithome.com.tw/upload/images/20181014/20111741GZ4I09MJeQ.png):預期在未來,我們可以得到的回饋總和,定義如下:
    https://ithelp.ithome.com.tw/upload/images/20181014/20111741C5J535FhCF.png ,其中 T 表示最後一次狀態轉移後得到的回饋。

    不過在這個情況下,如果遇到 https://ithelp.ithome.com.tw/upload/images/20181014/201117414NqlAo9mZr.png 的情況,那麼 https://ithelp.ithome.com.tw/upload/images/20181014/20111741k1jtdBvDcb.png 。這並不是我們樂見的情況,所以當 https://ithelp.ithome.com.tw/upload/images/20181014/201117414NqlAo9mZr.png 時,有另一種定義:
    https://ithelp.ithome.com.tw/upload/images/20181014/20111741KWm7pYuyDH.png ,其中 https://ithelp.ithome.com.tw/upload/images/20181014/20111741adyTVFcqP8.png

    • https://ithelp.ithome.com.tw/upload/images/20181014/20111741EW3DpjxGkg.pnghttps://ithelp.ithome.com.tw/upload/images/20181014/201117419hPVNRP9FB.png ,在同一個問題中,只會一個條件成立。
    • https://ithelp.ithome.com.tw/upload/images/20181014/20111741b89qSl4j0X.png 可以視為對未來獎懲的重視程度:
      • https://ithelp.ithome.com.tw/upload/images/20181014/20111741TlRxDUWct2.png :只在乎這次行動,可以獲得多少回饋。
      • https://ithelp.ithome.com.tw/upload/images/20181014/201117416Zvbw7uxcO.png :在乎多次行動後,可以獲得的回饋總量。

價值函數定義

根據上面定義的符號,我們可以組成價值函數的定義

  • 狀態價值函數 (state-value function):https://ithelp.ithome.com.tw/upload/images/20181014/20111741roEhnT0UpR.png
    這條定義看起來短短的,不過其實包含很多資訊在裡面 (數學家的惡趣味)。這個定義表示,在某個策略 https://ithelp.ithome.com.tw/upload/images/20181014/20111741CLDqovJXKN.png 之下,處於這個狀態有多少價值,而價值是由未來可能獲得的回饋總和決定。

也就是說,透過狀態價值函數,我們可以得知一個狀態的價值。相同的,我們也可以評估一個狀態下,採取某動作的價值。

  • 動作價值函數 (action-value function):https://ithelp.ithome.com.tw/upload/images/20181014/201117417C2yjGrMGf.png
    與狀態價值函數類似,只是在動作價值函數時,我們評估的對象不是狀態,在這個狀態下的某個動作的價值。

綜上所述,我們現在有了評估狀態與動作的價值函數。透過數學定義,我們可以計算出狀態與動作的價值,但在實際上,應該不會有人想要手算這個東西。所以我們要嘗試用一些其他方法,幫助我們求助狀態與動作的價值。

[2018/10/15 修改] 原本是寫要使用動態規劃,後來考量到文章撰寫的連貫性,這裡不點出特定方法。


上一篇
強化學習筆記 Day4
下一篇
強化學習筆記 Day6
系列文
強化學習30

尚未有邦友留言

立即登入留言