Try   HackMD
tags: reinforcement learning

深度強化學習 Ch2.4 : 策略函數 & 價值函數 & Return


在深度學習中代理人會與環境互動,目標是為了得到最多的回饋值,
為了使 Reward 越大,要使用價值函數去做衡量,而策略函數會幫助我們計算價值。

  • st
    :時間點t的狀態
  • at
    :時間點t所採取的動作
  • rt
    :時間點t獲得的reward(回饋)
    BTW提醒一下
    rt
    並不是做了
    at
    產生的回饋而是
    at1

:bangbang:注意: 通常"XX"空間(集合)會寫成大寫 ex : 動作空間

A, 狀態空間
S

但如果是加上時間戳記(t)則是代表此情況還未知(未來的值) ex :
At+1



1. 策略函數 Policy Function

策略函數會根據目前狀態,決定該執行的動作

- 策略函數定義

數學式:

π(A|s)=P(As)
sS

解釋:策略(

π)可以算出在指定狀態中每個可能動作為最佳動作的機率
P(As)
:s狀態下個動作的機率分布 A:動作空間 S:狀態空間

- 最佳策略函數

數學式:

πargmaxE(rπ)

解釋:能夠產生最高期望回饋值的策略
期望回饋值(

E(rπ)):將回饋值長期觀察,並將結果進行平均計算



2. 狀態轉移函數

狀態轉移函數是指在狀態

st 時執行動作
at
會轉移成新狀態
S
的機率

數學式:

p(Sst,at)=P(Sst,at)

解釋 : 當在狀態

st 執行
at
可能產生不同的狀態,
p
則是產生各狀態的機率

:secret: 舉例

- 策略函數 : 在 State now 產生各動作的機率

π(A|now)=[0.6,0.4]

- 狀態轉移函數 : 在 now 時使用 Action 1 產生各

S 機率
p(S|now,action1)=[0.60.3,0.60.7]=[0.18,0.42]



3. Return 回報

Return 也叫做未來累計獎勵(Cumulative future reward),寫為

Ut
是之後推導 Q-learning 等演算法很重要的觀念。

- Return 定義

數學式:

Ut=Rt+1+Rt+2+Rt+3+Rt+4+...
R : 未來的回饋 reward

解釋 : 當在時間 t 時會有此 Return
指的是"未來"的回饋總和,因為回饋越大越好,當然

Ut 也是。

- Discounted Return

數學式:

Ut=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+...
γ
: 折扣係數,介於 0-1

解釋 : 在 Return 中加入了折扣係數,越是未來的回饋就給予越多折扣(越不重要)
因為最主要還是考慮當前情況,此 Return 在之後 TD-learning 會用到

折扣係數想法 :
今天有人讓你選 [ 現在給你 1000 元 ] 或 [ 明年給你 1500 元 ]
也許你會猶豫該怎麼做決定,我們可以發現因為未來的不確定性
導致 [ 1000(

Rt+1) ] 和 [ 未來的1500(
Rt+2
) ] 形成了等價
可將 [ 未來1500 ] 寫成 "
1000=γRt+2

γ
就是折扣係數,進而理解 Discounted Return

Return 中的

Rt+1 (Reward) 與未來的狀態(
St+1
)、動作(
At
) 有關
此二值又取決於 [策略函數] 和 [狀態轉移函數]
所以
Ut
會與未來所有動作、狀態有關,對在 t 時刻的我們來說他是個未知的隨機值



4. 動作價值函數 Q

動作價值函數可以得到在狀態

st 下使用某動作
at
的效果好不好(動作的價值)

定義

數學式:

Qπ(st,at)=E(Utst,at)=E(k=0γkRt+k+1st,at)

解釋 : 因為

Ut 是未知隨機值,但可以求其期望值,
在利用
st
,
at
Ut
積分求期望後,將未來
St,At
都積掉了
得到的
Qπ
為實際變量,意義為"使用
π
策略 在
st
,
at
情況的期望回饋值"

補 :

Ut 可看成未來
st
,
at
組成,所以就可對[策略函數] 和 [狀態轉移函數]進行積分(求期望)

:secret:前一章(CH2) 的動作價值函數

Qk(a)=r(a1)+r(a2)+...+r(an)n

其實可以看成

Ut=r(a1)+r(a2)+...+r(an)
Qk(a)
則是對他做平均取
Ut
期望值

最大動作價值函數

數學式:

Q(st,at)=maxaQπ(st,A)

解釋 :

Qπ 有很多因不同策略
π
,不同策略又產生不同動作(
at
)
所以可以說
Q
是在
st
狀態下採取某
at
獲得的最大期望回饋



5. 狀態價值函數

狀態價值函數可以得到當前狀態

st 好不好(狀態價值) ex: 西洋棋當前的局面好壞

定義

數學式:

Vπ(st)=E(Qπst,π)=E(k=0γkRt+k+1st)

解釋 :

Qπ 會得到狀態
st
執行動作
at
的好壞,
如果只要狀態
st
的好壞,可以求 [
Qπ
執行動作
at
] 的期望值(
Aπ
)
就可以把
at
積分掉(總和掉),所以
Vπ
就是在
st
狀態下的期望回饋值


6. 狀態價值 vs 動作價值


Reference :