reinforcement learning
在深度學習中代理人會與環境互動,目標是為了得到最多的回饋值,
為了使 Reward 越大,要使用價值函數去做衡量,而策略函數會幫助我們計算價值。
注意: 通常"XX"空間(集合)會寫成大寫 ex : 動作空間 , 狀態空間
但如果是加上時間戳記(t)則是代表此情況還未知(未來的值) ex :
策略函數會根據目前狀態,決定該執行的動作。
數學式:,
解釋:策略()可以算出在指定狀態中每個可能動作為最佳動作的機率
:s狀態下個動作的機率分布 A:動作空間 S:狀態空間
數學式:
解釋:能夠產生最高期望回饋值的策略
期望回饋值():將回饋值長期觀察,並將結果進行平均計算
狀態轉移函數是指在狀態 時執行動作 會轉移成新狀態 的機率
數學式:
解釋 : 當在狀態 執行 可能產生不同的狀態,
則是產生各狀態的機率
- 策略函數 : 在 State now 產生各動作的機率
- 狀態轉移函數 : 在 now 時使用 Action 1 產生各 機率
Return 也叫做未來累計獎勵(Cumulative future reward),寫為
是之後推導 Q-learning 等演算法很重要的觀念。
數學式:
R : 未來的回饋 reward
解釋 : 當在時間 t 時會有此 Return
指的是"未來"的回饋總和,因為回饋越大越好,當然 也是。
數學式:
: 折扣係數,介於 0-1
解釋 : 在 Return 中加入了折扣係數,越是未來的回饋就給予越多折扣(越不重要)
因為最主要還是考慮當前情況,此 Return 在之後 TD-learning 會用到
折扣係數想法 :
今天有人讓你選 [ 現在給你 1000 元 ] 或 [ 明年給你 1500 元 ]
也許你會猶豫該怎麼做決定,我們可以發現因為未來的不確定性
導致 [ 1000() ] 和 [ 未來的1500() ] 形成了等價
可將 [ 未來1500 ] 寫成 "
就是折扣係數,進而理解 Discounted Return
Return 中的 (Reward) 與未來的狀態()、動作() 有關
此二值又取決於 [策略函數] 和 [狀態轉移函數]
所以 會與未來所有動作、狀態有關,對在 t 時刻的我們來說他是個未知的隨機值。
動作價值函數可以得到在狀態 下使用某動作 的效果好不好(動作的價值)
數學式:
解釋 : 因為 是未知隨機值,但可以求其期望值,
在利用 , 對 積分求期望後,將未來 都積掉了
得到的 為實際變量,意義為"使用 策略 在 , 情況的期望回饋值"
補 : 可看成未來 , 組成,所以就可對[策略函數] 和 [狀態轉移函數]進行積分(求期望)
其實可以看成
則是對他做平均取 期望值
數學式:
解釋 : 有很多因不同策略,不同策略又產生不同動作()
所以可以說 是在 狀態下採取某 獲得的最大期望回饋
狀態價值函數可以得到當前狀態 好不好(狀態價值) ex: 西洋棋當前的局面好壞
數學式:
解釋 : 會得到狀態 執行動作 的好壞,
如果只要狀態 的好壞,可以求 [ 執行動作 ] 的期望值()
就可以把 積分掉(總和掉),所以 就是在 狀態下的期望回饋值
Reference :