111學年第二學期選修交大資工所謝秉均老師開設之強化學習原理。
因為觀念複雜且不容易消化,所以決定在每次上完課之後,好好把課堂學到的東西整理成筆記,內化成自己的。
(希望我能堅持下去QQ)
另外我在上這堂課的同時,也有看 Stanford 的線上 RL 課程,所以筆記可能也會稍微整合一些些 Stanford 線上課的內容。
Reinforcement Learning | Stanford Online:
https://www.youtube.com/watch?v=FgzM3zpZ55o&list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u&index=1
我們可以用一句話簡述強化學習 (Reinforcement Learning):
Learn to take a sequences of actions to achieve a specific goal in an unknown environment.
RL 的四個重點議題,也讓 RL 和其他機器學習方法有所分別:
比較:
Supervised Learning: Optimization, Generalization
Imitation Learning: Optimization, Generalization, Delayed consequences
Agent 和 Environment 的互動可以用下圖來表示:
另一種 trajectory 的註記方式為: ,兩個都可以
在 agent 和 environment 的交互之下,一個 agent 會採取一連串的 actions ,並觀察到一連串的 states 以及獲得一連串的 rewards 。
一個 RL agent 常包含以下要素:
Model: 描述環境會如何針對 agent 的行為而改變
包含 transition model,是所有 states 的集合 的機率分布:
以及 reward model:
Policy: 從 states 映射到 actions 的函數,決定 agent 會如何採取的 action
可以是 deterministic 的:
也可以是 stochastic 的:
Value function: 當遵從某個 policy 時,在特定 state 或 action 之下可以獲得的 future rewards,定義為:
以上三點更詳細的概念會在後續陸續提到。
根據是否有明確的 model,RL algorithm 可以被分為以下兩種:
下圖分類了各種不同的 RL agents:
建構環境 (Model the environment) 的方法有很多種,其中最基礎且重要的方法是 Markov Decision Process (MDP)。
Markov chain 是一種隨機過程,我們可以用經典的 Mars Rover Problem 作為例子:
一個抽樣的 trajectory 記作 ,例如 ,而箭頭上的數值代表 transition probability,例如
Markov chain 符合 Markov property,意即給定當前的 state ,則未來和過去的狀態無關。
Markov Property
A state is Markov if and only if
Markov Chain
A Markov chain is specified by:
是一個 的矩陣,即
其中
具有兩個性質:
在 Markov chain 的基礎上,加上 reward function,則我們可以定義 Markov Reward Process:
Markov Reward Process
An MRP is specified by
Underlying dynamics:
Task:
Markov Reward Process 用於描述一個在不同狀態之間轉換的系統,其中每個狀態都有一個與之相關聯的即時 reward,並且轉換的過程滿足 Markov Property。
Return is the cumulative discounted rewards over a single trajectory from onward (random).
State-value function is the expected return if state is the starting state.
Return 的計算十分簡單。同樣再以 Mars Rover Problem 作為例子,令在 的 reward ,,其他為 。令 ,對於 episode ,return 為:
而 state-value function 該如何計算呢?
因為 是 的期望值,一個非常直觀的方法是使用暴力解,只要我們抽樣夠多的 trajectories,則它們 的平均即是 。
另一種較常見的方法是使用 dynamic programming:
是因為符合 Markov Property
由此我們導出在 MRP 使用的 Bellman Expectation Equation:
Bellman Expectation Equation for MRP
Bellman Expectation Equation 寫成矩陣型式:
因為 ,經由推導我們可得 ,得到 之解。
然而若直接計算反矩陣來得到解,計算的時間複雜度為,非常沒有效率,故我們需要其他的解法,這會在之後的內容中介紹。
在 MRP 中我們還使用到了 discount factor 。直觀而言,我們較不在乎離當前時間越遠的未來,故 future reward 會乘上 ;數學上,有了 discount factor,可以避免 return 無法收斂。
的選擇:
在 Markov Reward Process 的基礎上,加上各種可能的 actions ,則我們可以定義 Markov Decision Process:
Markov Decision Process
An MDP is specified by
Underlying dynamics:
Task:
MDP 描述一個由狀態、行動、獎勵和轉移概率所構成的決策過程
有了 states 和 actions 後,我們便能夠定義 policy:
A (randomized) policy is a conditional distribution over possible actions given state , i.e., for any , ,
因為我們已經假設整個過程符合 Markov Property,故這裡我們專注於討論 stationary policy,意指 和時間沒有關係。
對於一個 MDP,如果我們固定 policy ,則:
此固定 policy 之下由 的機率 = (此 policy 下在 下採取 的機率) X (採取 時 的機率)
此固定 policy 之下 作為起點的 reward = (此 policy 下在 下採取 的機率) X (採取 時 作為起點的 reward)
綜合以上兩點,我們可以發現對於一個 MDP,如果我們固定 policy ,則我們可以得到 -induced MRP
多了 actions 之後,我們便可以定義 MDP 的 return 和 state-value function:
Return is the cumulative discounted rewards over a single trajectory from onward (random).
State-value function is the expected return if state is the starting state.
值得注意的是, 具有隨機性,來源包含:
我們該如何評價一個 policy 的好壞呢?
在此需要先介紹新的定義:
Action-value function is the expected return if we start from state and take action , and then follow the original policy .
和 是具有關聯性的,可以互相以對方表示,也可以寫成遞迴式:
Bellman Expectation Equations:
因為 可以寫成自己的遞迴式,因此給定一個 policy ,我們可以找出 的值,此即為 policy evaluation。
兩種 policy evaluation 的方法:
Iterative MDP Policy Evaluation (IPE)
For a fixed policy :
Initialize for all
For
for all
代入 可以得到 ,代入 可以得到 ,迭代直到 converge。
如果初始值 ,則一次迴圈就收斂啦
我們可能會好奇,利用 IPE 計算是否真的能夠使 收斂至 ?
考慮一個 matrix vector space ,我們可以透過證明以下兩步驟來證明 IPE 會使 converge:
定義 IPE Operator:
IPE Operator (also called Bellman Expectation Backup Operator)
我們使用 -norm 來衡量兩個 value function 之間的距離:
IPE is an contraction operator.
proof:
第二行至第三行不等式成立是因為 的每個 entry 都
我們稱 為 -contraction operator。
Under any contraction operator, the points converge to a fixed point.
上述可以根據 Banach Fixed-Point Theorem 得證:
Banach Fixed-Point Theorem
For any non-empty complete metric space, if is a -contraction operator, then has a unique fixed point.
Complete: 表示極限 (limit) 是在 space 裡面
Summary:
Under IPE, the value function converges to the correct , for any initialization .
我們知道如何進行 policy evaluation 了,根據計算出來的評價,以下討論如何去找到最佳的 (optimal) policy。
定義:
Optimal State-Value Function
對任意 state 遵循最佳 policy 所能得到的 expected return
Optimal Action-Value Function
對任意 state 執行 後再遵循最佳 policy 繼續執行所能得到的 expected return
什麼條件下才能說一個 policy 比另一個更好呢?
Partial Ordering of Policies
注意!一定要對每個狀態都成立
Optimal Policy
A policy is an optimal policy if it is better than or equal to all other policies, i.e.
無論如何都會存在嗎?
Theorem (Existence of Optimal Policy)
For any finite MDP, there always exists an optimal policy s.t.
Optimal policy 存在,但該如何找到?
當我們計算出了每個狀態下的最佳 action-value function 時,我們便可以依此找出最優策略:
也就是說對於每一個狀態 ,我們都能夠確定最佳的動作 (即最大化 的動作) ,從而找到對應的 optimal policy。
因此,計算出 等同於找到 optimal policy。
接下來將討論如何找到 。
定義:
Bellman Optimality Equations:
Bellman Optimality Equations 因為需要取最大值,無法像 Bellman Expectation Equations 一樣使用線性代數解得答案。以下為兩種 iterative 的求解方法:
我們知道 Bellman Optimality Equation:
因此我們可以透過 Bellman Optimality Equation 定義 Bellman Optimality Operator:
Bellman Optimality Operator
利用 Bellman Optimality Operator 進行 Value Iteration:
Value Iteration
Initialize and set for all
Repeat until convergence:
計算 等同於計算:
for each
需花 ,找所有 action 中的 max 花 ,而每步驟要對所有 states 計算花 ,故 value iteration 的時間複雜度為 。
值得注意的是,在未收斂之前,我們在迭代的過程中計算出的 intermediate value function 可能不能對應到任何特定的 policy。
當我們找到 之後,便可以透過 greedy policy 來找到最佳 policy。對於所有 ,選擇一個 action ,使得 最大化,即
此 policy 即為 optimal policy。
Value Iteration 並不是很好理解,我們用馬力歐找寶藏的遊戲作為例子來解釋 Value Iteration 整個過程:
假設座標由右至左、由上至下標註,寶箱在 (2, 3)。每一次迭代中,對於每個 state,我們都根據 Bellman optimality equation 計算它們的下一步 value,即計算
迭代過程如下:
初始化:所有 states 的
第一次 iteration
第二次 iteration
第三次 iteration
第四次 iteration
所有 皆沒有變化,故已收斂
能夠用 Value Iteration 來找最佳 policy 的原因是 Value Iteration 收斂的性質:
Value iteration converges on
For any initial , value iteration achieves that (in -norm)
此性質可透過以下三步來證明:
1. is a contraction operator.
proof:
=> is a -contraction operator.
2. Under a contraction operator, shall converge to the unique fixed point.
proof:
Since is a -contraction operator in a complete metric space, by Banach Fixed Point Theorem, converges to the unique fixed point.
3. Since is a fixed point, due to uniqueness.
若 很接近 ,則 value iteration 可能會迭代無限次而不收斂。
Policy iteration 的目的是透過交替進行 policy evaluation 和 policy improvement,逐步優化 policy,直到找到最佳 policy。
Policy Iteration
(註:這裡針對 deterministic policy)
Initialize and set arbitrarily for all
While or :
Derive via policy evaluation for
Derive by greedy one-step policy improvement
One-Step Policy Improvement
Given , compute :
Derive the new policy for all states :
為何 One-step policy improvement 合理?
假設我們採取 只進行一步動作,之後的動作維持遵循 ,會比從頭到尾都遵循 來得更好。這是因為 選擇的 action 是使得 最大的 action,因此
若從頭到尾都採取 ,也會比遵循 好:
Theorem (Monotonic Policy Improvement)
Under the one-step policy improvement step, we have , and hence
proof:
這個證明的想法可以用 “Peeling off" 的概念來想像:
已知由 遵循 到 後再遵循 比從頭到尾遵循 來得好,則同理,由 遵循 到 後再遵循 也會比從 到尾都遵循 來得好,以此類推。
若我們得到 ,則代表 policy iteration 收斂了,且也表示 Bellman optimality equation 被 滿足:
此時 必為 optimal policy。
Policy Iteration 和 Value Iteration 共同證明了 optimal policy 存在
值得一提的是,在只討論 deterministic policy 的情況下,policy iteration 會在有限次數的迭代內停下來。這是因為 deterministic policy 的數量為 ,因此我們最多迭代 次一定會停下。
Problem | Bellman Equation | Algorithm |
---|---|---|
Prediction | Bellman Expectation Equation | IPE |
Control | Bellman Expectation Equation + Greedy Policy Improvement |
Policy Iteration |
Control | Bellman Optimality Equation | Value Iteration |
Reinforcement Learning | Policy Gradient
https://hackmd.io/@tsen159/RLNote2