7. 基于策略的强化学习——蒙特卡洛策略梯度REINFORCE算法
前6篇我們都是估計動作值函數Q,從而可以根據估計的Q值選擇相應的動作。但是這樣的值函數(Value Based)估計方法有著一定的限制。第一,值函數估計方法最后得到的策略是固定策略,不能應對最優策略是隨機策略的情況,隨機策略指的是以一定的概率選擇不同的動作,而不是只可能有一個最優動作。第二,值函數估計方法能很好的處理離散動作空間,無法處理連續動作。第三,在使用特征來描述狀態空間中的某一個狀態時,有可能因為個體觀測的限制或者建模的局限,導致真實環境下本來不同的兩個狀態卻再我們建模后擁有相同的特征描述,進而很有可能導致我們的Value Based方法無法得到最優解。本篇介紹策略估計的方法,直接參數化策略,基于策略來學習,且這種方式更容易收斂。
類似于基于值函數的強化學習方法參數化動作值函數,在基于策略的強化學習方法下,講策略$\pi$描述為一個包含參數$\theta$的函數,
\[{\pi _\theta }\left( {s,a} \right) = P\left( {a|s,\theta } \right)\]
之前基于值函數的強化學習方法的策略$\pi$其實是確定性的貪心策略,當我們估計出動作值函數Q之后,策略$\pi$就是選擇Q值大的動作執行。然而本章的策略$\pi$是一種概率分布,表示在某一狀態s下,選擇不同動作a的概率分布。常用的策略分布函數有兩種,
一種是離散空間的softmax函數,用$\phi {(s,a)}$函數描述狀態s和動作a的特征,與參數$\theta$線性組合,作為自然對數e的指數,來計算某一個動作a在所有動作A的比例,從而表示發生的概率,
\[{\pi _\theta }(s,a) = \frac{{{e^{\phi {{(s,a)}^T}\theta }}}}{{\sum\limits_A {{e^{\phi {{(s,a)}^T}\theta }}} }}\]
另一種是連續空間的高斯函數,該種策略的行為分布從高斯分布$N\left( {\phi {{(s)}^T}\theta ,{\sigma ^2}} \right)$中產生,
\[{\pi _\theta }(s,a) = N\left( {\phi {{(s)}^T}\theta ,{\sigma ^2}} \right)\]
將策略表示成一個連續的函數后,我們就可以用連續函數的優化方法來更新參數$\theta$,從而得到最優的策略。最常用的方法就是梯度下降法了。那么,用來什么優化目標來反向傳遞更新參數呢?常用的策略梯度優化目標$J(\theta)$有三種,在片段式環境里,我們可以用初始狀態收獲的期望值,在連續環境里,我們可以用狀態的平均值,或者每一步的平均獎勵。不管目標函數是什么,它的梯度都可以表示為(見論文[1]的推導)
\[{\nabla _\theta }J(\theta ) = {{\rm E}_{\pi \theta }}\left[ {{\nabla _\theta }\log {\pi _\theta }\left( {{s_t},{a_t}} \right){Q_t}} \right]\]
有了策略$\pi_\theta$的函數表達式,有了目標函數,我們就可以利用優化方法來更新參數了。策略$\pi$表示的是選擇動作的概率分布,所以在根據樣本更新參數的過程中,其實就是根據獎勵R增大或減小動作被選擇的概率。
接下來介紹基于蒙特卡洛采樣的策略梯度算法——REINFORCE算法,基于狀態價值V函數來更新
1. 初始化策略$\pi$的參數$\theta$
2. for 每一個完整的episode,$\left\{ {{s_1},{a_1},{r_2},...,{s_{T - 1}},{a_{T - 1}},{r_T}} \right\} \sim {\pi _\theta }$:
3. for t=1到t=T-1:
4. 用蒙特卡洛求經驗平均值來計算$v_t$
5.? ? 更新參數$\theta$,
? $\theta? \leftarrow \theta? + \alpha {\nabla _\theta }\log {\pi _\theta }\left( {{s_t},{a_t}} \right){v_t}$
6. ? 依據更新的$\theta$值,按照新的策略$\pi_\theta$生成新的完整的episode,回到步驟2.
7. 重復以上步驟,從許多個episode中不斷更新$\theta$,從而得到最優策略$\pi$。
?
[1] Sutton R S, Mcallester D A, Singh S P, et al. Policy Gradient Methods for Reinforcement Learning with Function Approximation[C]. neural information processing systems, 1999: 1057-1063.轉載于:https://www.cnblogs.com/yijuncheng/p/10311342.html
總結
以上是生活随笔為你收集整理的7. 基于策略的强化学习——蒙特卡洛策略梯度REINFORCE算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浦发银行白金信用卡额度
- 下一篇: 通用测试用例大全(转自——知了.Test