上一篇筆記:
https://hackmd.io/@tsen159/RLNote
內容包含 RL 的介紹、Markov decision process、model-based evaluation and control。
Model-free RL 演算法可根據我們想要最佳化的目標,分為 value-based、policy-based 和混雜的 actor-critic:
我們將 policy-based RL 視為一個 optimization problem。考慮 並定義
目標是希望可以找到讓 最大的 policy parameter ,即找到
表示 的分布,:可以理解為對所有可能的 取 weighted sum
Policy optimization 包括 gradient-based 與 gradient-free,gradient-free 的方法包含如 cross-entropy method、hill climbing 等等;而 gradient-based 的方法通常可以有更好的效率,其中 policy gradient 即為一種 gradient-based 的方法。
一個進行 policy optimization 的例子如下:
Policy 可以如何參數化呢?一些 parametric policies 的例子:
Discrete action space
對每一個 (s, a) pair 都給定一個 parameter
對每一個 (s, a) pair 設計一個 feature
為一 neural network
Continuous action space
定義 ,則 policy gradient algorithms 透過 gradient ascent 尋求 的最大值,更新參數的方式為
其中 即是 policy gradient
定義:
Sample return along a trajectory
我們便可以改寫先前定義的 value function 為:
其中 是 的分佈, 表執行 policy 時某個 trajectory 的機率。
因此 policy gradient 為
By chian rule,
這裡 稱為 score function。
我們得出的結果
即是 policy gradient 的其中一種計算方法,稱為 total reward method。
Total Reward Policy Gradient (P1)
這個式子直觀而言,我們可以想成是對於某個 trajectory ,如果其 return 相對於其他的 trajectories 較大,則它對於 gradient 的貢獻也會較大。
Policy gradient 也有其他的表示形式:
REINFORCE (P2)
proof:
Recall that
therefore,
which is a recursion.
By solving , we can get
定義:
Discounted state visitation distribution (occupancy measure)
表示在策略 下,從 出發並訪問 的機率。整個公式可以理解為:遵從 並從 出發,在所有可能的 timestep 下轉移到 的機率加權和。
則訪問某狀態 的機率可以表示為:
我們可以將 policy gradient 表示成:
Q-value and discounted state visitation (P3)
此時 policy gradient 便和 trajectory 無關,只考慮每一個 pair。
統整以上提及的各種 Policy Gradient 表示法:
Expression of Policy Gradient (Policy Gradient Theorem)
Total Reward
REINFORCE
Q-value and discounted state visitation
先前討論 policy gradient 時,我們直接假設了 可微。以下介紹一些可微的 policy classes 以及它們的 score function:
每個 action 的機率和 exponentiated weight 成比例。
其 score function 為
每個 action 是從一個 Gaussian distribution 抽取出來的:
Mean 是和 state features 的線性組合 ,variance 可以是固定的 ,也可以參數化。
其 score function 為
事實上,計算確切 policy gradient 的值是一件非常困難的事情,因為在 model-free 之下,我們並不知道實際上 trajectory 的分佈 或是 state 的分佈 為何。
因此,我們使用 sampling 來估計期望值:
稱為 stochastic estimate of PG,且 是 exact PG 的不偏估計 (unbiased estimate)。
Unbiased Estimate
is an unbiased estimate of some deterministic quantity if
which is equivalent to
我們可以透過 sample 一或多個 trajectories 來估計 ,例如 n 條 trajectories:
更一般化而言,定義 optimization 問題為:
其中 代表此期望值下的隨機性,通常為未知的,則此期望值計算困難,因此我們可以使用 stochastic gradient descent:
SGD 通常會出現更具有隨機性的行為,可以視覺化如下:
這是因為每一次更新參數時,我們只做 sampling,導致 gradient descent 的每一步更新方向不穩定。
REINFORCE policy gradient 定義如下:
若在 policy 下,每一回合迭代取一條 trajectory ,則
且
則我們可以得到 的不偏估計 :
REINFORCE Algorithm
當然也可以用 total reward policy gradient 作為演算法內參數更新的方法:
Algorithm with Total Reward Method
或者用 Q-value and discounted state visitation 作為演算法內更新參數的方法:
Algorithm with Q-value and discounted state visitation
值得注意的是,以 Q-value and discounted state visitation method 估計的 並不是 exact PG 的不偏估計!
想像 是由所有 中的每個 pair 所構成,則我們可以靠 sample 很多 trajectories 並把所有 pair 打亂丟進一個 buffer 內來逼近 。但因為我們 sample 出來的 trajectories 必為有限個,因此這個 buffer 並不是真正的 ,故 是 biased 的。
不過只要 n 夠大, 仍然可以逼近 exact PG。
上述使用到 sampling 來做估計的 policy gradient 方法被稱作 Monte-Carlo policy gradient。
Monte-Carlo policy gradient 方法具有很高的 variance,意即我們需要很多步才可以得到較好的估計。
以 REINFORCE policy gradient 的一個簡單的例子來觀察這個現象:
假設有一個環境僅有一個 state,action 和 皆會往 terminal state,而 reward 分別為 100 與 99。:
假設使用 softmax policy,因此 parameters 分別為 和 。Softmax policy 下 policy 定義為
則
假設此時 ,因此 ,則 true PG 為
但如果我們做 sampling,同一時間只有一個 action 會被選擇,則我們估計出來的 可能為
下圖比較 true gradient 和兩個 sample gradient,可以發現不同 sample gradient 的差異會非常大:
這正是為何使用 sampling 來做估計的話會有很大的 variance。
我們可以透過下列幾個方法來進行 variance reduction:
Baseline 的概念是希望可以透過對 減去一個 baseline function 來達到減少 variance 的效果,以 REINFORCE 為例:
減去 並不會影響期望值,我們可以靠證明 得到此結論:
REINFORCE with baseline
基於減少 variance 的目的,常會取 (證明略)。
這個方法的想法是希望可以學一個 critic 來估計 action-value function:
此類方法統稱為 actor-critic algorithms:
以 Q-value and discounted state visitation 為例,此時 approximate policy gradient 為
以此為例,一個基於 Q-function critic 的 actor-critic algorithm 可以如下:
Q-Value Actor-Critic
此方法同時使用了 baseline 和 critic。
Advantage function
則我們可以改寫 (P3) 為
Policy Gradient with Advantage (P4)
REINFORCE with Advantage(P5)
下一篇筆記:
https://hackmd.io/@tsen159/RLNote3
內容為 Model-Free Prediction。