公司网站的主页优化,网站制作简单模版,阿里建站平台官网,户外运动网站模板目录 0 专栏介绍1 蒙特卡洛强化学习2 策略评估原理3 策略改进原理3.1 同轨蒙特卡洛强化学习3.2 离轨蒙特卡洛强化学习 0 专栏介绍
本专栏重点介绍强化学习技术的数学原理#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现#xff0c;帮助读者理解并快速上手… 目录 0 专栏介绍1 蒙特卡洛强化学习2 策略评估原理3 策略改进原理3.1 同轨蒙特卡洛强化学习3.2 离轨蒙特卡洛强化学习 0 专栏介绍
本专栏重点介绍强化学习技术的数学原理并且采用Pytorch框架对常见的强化学习算法、案例进行实现帮助读者理解并快速上手开发。同时辅以各种机器学习、数据处理技术扩充人工智能的底层知识。
详情《Pytorch深度强化学习》 1 蒙特卡洛强化学习
在Pytorch深度强化学习1-4策略改进定理与贝尔曼最优方程详细推导中我们介绍了贝尔曼最优方程 { V γ ∗ ( s ) max a ∈ A ∑ s ′ ∈ S P s → s ′ a [ R s → s ′ a γ V γ ∗ ( s ′ ) ] Q γ ∗ ( s , a ) ∑ s ′ ∈ S P s → s ′ a [ R s → s ′ a γ max a ′ ∈ A Q γ ∗ ( s ′ , a ′ ) ] { \begin{cases} V_{\gamma}^{*}\left( s \right) \underset{a\in A}{\max}\sum_{s\in S}{P_{s\rightarrow s}^{a}}\left[ R_{s\rightarrow s}^{a}\gamma V_{\gamma}^{*}\left( s \right) \right]\\ Q_{\gamma}^{*}\left( s,a \right) \sum_{s\in S}{P_{s\rightarrow s}^{a}}\left[ R_{s\rightarrow s}^{a}\gamma \underset{a\in A}{\max}Q_{\gamma}^{*}\left( s,a \right) \right]\\\end{cases}} ⎩ ⎨ ⎧Vγ∗(s)a∈Amax∑s′∈SPs→s′a[Rs→s′aγVγ∗(s′)]Qγ∗(s,a)∑s′∈SPs→s′a[Rs→s′aγa′∈AmaxQγ∗(s′,a′)]
然而在现实的强化学习任务中转移概率、奖赏函数甚至环境中存在哪些状态往往很难得知因此有模型强化学习在实际应用中不可行。本节借助有模型学习的思想推广到更一般的免模型学习(model-free learning)中即假设转移概率和环境状态未知奖赏也仅是根据经验或需求设计
蒙特卡洛强化学习是免模型学习中的一种其核心思想是使用蒙特卡洛方法来估计各个状态-动作对的值函数。通过对大量的样本进行采样并根据它们的累积奖励来评估状态-动作对的价值智能体可以逐步学习到最优策略。
2 策略评估原理
在有模型学习中采用的是贝尔曼算子迭代进行策略评估即 Q γ π ( s , a ) ∑ s ′ ∈ S P s → s ′ a [ R s → s ′ a γ ∑ a ′ ∈ A π ( s ′ , a ′ ) Q γ π ( s ′ , a ′ ) ] Q_{\gamma}^{\pi}\left( s,a \right) \sum_{s\in S}{P_{s\rightarrow s}^{a}}\left[ R_{s\rightarrow s}^{a}\gamma \sum_{a\in A}{\pi \left( s,a \right) Q_{\gamma}^{\pi}\left( s,a \right)} \right] Qγπ(s,a)s′∈S∑Ps→s′a[Rs→s′aγa′∈A∑π(s′,a′)Qγπ(s′,a′)]
考虑到动力学特性 P s → s ′ a P_{s\rightarrow s}^{a} Ps→s′a和状态集合 S S S未知因此上式无法计算。回归到定义 Q γ π ( s , a ) E [ R t ] ∣ s t s , a t a Q_{\gamma}^{\pi}\left( s,a \right) \mathbb{E} \left[ R_t \right] \mid_{s_ts,a_ta}^{} Qγπ(s,a)E[Rt]∣sts,ata
可以用蒙特卡洛采样来近似逼近回报期望即 Q γ π ( s , a ) ≈ 1 n ∑ i 1 n R t , i Q_{\gamma}^{\pi}\left( s,a \right) \approx \frac{1}{n}\sum_{i1}^n{R_{t,i}} Qγπ(s,a)≈n1i1∑nRt,i
其中回报 R t , i ∑ j t 1 ∞ γ j − t r j , i R_{t,i}\sum\nolimits_{jt1}^{\infty}{\gamma ^{j-t}r_{j,i}} Rt,i∑jt1∞γj−trj,i问题转换为如何采样这些回报。蒙特卡洛强化学习提出如下的采样方法
设初始状态为 s 0 s_0 s0并给定终止状态 s T s_T sT在 s 0 s_0 s0下根据当前策略 π ( a ∣ s 0 ) \pi \left( a|s_0 \right) π(a∣s0)选择一个动作 a 0 a_0 a0在 s 0 s_0 s0、 a 0 a_0 a0确定的条件下环境转换到下一个状态 s 1 s_1 s1并返回一个奖励 r 1 r_1 r1(这个过程是未知的动力学过程由环境自身决定而不受智能体影响)重复上述过程直至达到终止状态 s T s_T sT。
称有序数对 ( s t , a t , r t 1 ) \left( s_t,a_t,r_{t1} \right) (st,at,rt1)为一个步骤重复过程中产生的序列 s 0 , a 0 , r 1 , s 1 , a 1 , r 2 , ⋯ , s T − 1 , a T − 1 , r T , s T \left s_0,a_0,r_1,s_1,a_1,r_2,\cdots ,s_{T-1},a_{T-1},r_T,s_T \right ⟨s0,a0,r1,s1,a1,r2,⋯,sT−1,aT−1,rT,sT⟩
称为经验轨迹或幕(episode)。由于策略 π \pi π是概率分布因此即使不同幕都达到了给定的终态中间执行轨迹可能存在差异但任意两个幕之间独立同分布于 π \pi π。
3 策略改进原理
蒙特卡洛强化学习中用来生成采样幕的策略称为行动策略(behavior policy)记为 b b b实际应用的待评估、待改进的策略称为目标策略(target policy)记为 π \pi π。当 π b \pib πb时称为同轨策略方法(on-policy)否则称为离轨策略方法(off-policy)。必须指出用于采样的策略必须是软性策略即对 ∀ s ∈ S , a ∈ A ( s ) , b ( a ∣ s ) 0 \forall s\in S,a\in A\left( s \right) ,b\left( a|s \right) 0 ∀s∈S,a∈A(s),b(a∣s)0若采样策略是确定性策略则必然导致部分状态-动作对永远不会出现在幕中造成样本缺失与误差
3.1 同轨蒙特卡洛强化学习
引入单步强化学习的 ϵ \epsilon ϵ-贪心思想这部分请参考Pytorch深度强化学习1-2详解K摇臂赌博机模型和ϵ-贪心算法设 π b ( a ∣ s ) { a ∗ a r g max a ∈ A Q π ( s , a ) , 概率 1 − ϵ ϵ ∣ A ( s ) ∣ A ( s ) / a ∗ , 概率 ϵ ∣ A ( s ) ∣ \pi b\left( a|s \right) \begin{cases} a^*\mathrm{arg}\max _{a\in A}Q^{\pi}\left( s,a \right) , \text{概率}1-\epsilon \frac{\epsilon}{|A\left( s \right) |}\\ A\left( s \right) / a^*\,\, , \text{概率}\frac{\epsilon}{|A\left( s \right) |}\\\end{cases} πb(a∣s){a∗argmaxa∈AQπ(s,a),概率1−ϵ∣A(s)∣ϵA(s)/a∗,概率∣A(s)∣ϵ
则算法流程如表所示 3.2 离轨蒙特卡洛强化学习
同轨策略中虽然保证了采样的随机性但导致了以下问题
引入先验误差 ϵ \epsilon ϵ是人为经验设置的不合理的 ϵ \epsilon ϵ会为策略带来错误的先验分布目标策略失去确定性
因此引入离轨策略将行动策略和目标策略分而治之。
将基于策略 π \pi π的回报期望展开为回报与其概率分布加权的形式 Q π ( s , a ) E π [ R ] ∣ s t s , a t a ∑ R ⋅ P ( r t 1 , s t 1 , ⋯ , s T − 1 , a T − 1 , s T ∣ s t s , a t a ) \begin{aligned}Q^{\pi}\left( s,a \right) \mathbb{E} _{\pi}\left[ R \right] \mid_{s_ts,a_ta}^{}\\\sum{R\cdot P\left( r_{t1},s_{t1},\cdots ,s_{T-1},a_{T-1},s_T|s_ts,a_ta \right)}\end{aligned} Qπ(s,a)Eπ[R]∣sts,ata∑R⋅P(rt1,st1,⋯,sT−1,aT−1,sT∣sts,ata)
其中概率分布为从当前步骤到幕结束所有元素的联合分布。
根据马尔科夫性下一个时刻的状态只取决于当前状态则 Q π ( s , a ) ∑ R ⋅ P ( r t 1 , s t 1 ∣ s t s , a t a ) π ( a t 1 ∣ s t 1 ) P ( r t 2 , s t 2 ∣ s t 1 , a t 1 ) ⋯ ∑ R ∏ i t 1 T − 1 π ( a i ∣ s i ) P ( r i , s i ∣ s i − 1 , a i − 1 ) P ( s T ∣ s T − 1 , a T − 1 ) ∑ ∏ i t 1 T − 1 π ( a i ∣ s i ) b ( a i ∣ s i ) [ R ∏ i t 1 T − 1 b ( a i ∣ s i ) P ( r i , s i ∣ s i − 1 , a i − 1 ) P ( s T ∣ s T − 1 , a T − 1 ) ] ∑ ( ρ t 1 : T − 1 R ) ∏ i t 1 T − 1 b ( a i ∣ s i ) P ( r i , s i ∣ s i − 1 , a i − 1 ) P ( s T ∣ s T − 1 , a T − 1 ) E b [ ρ t 1 : T − 1 R ] ∣ s t s , a t a \begin{aligned}Q^{\pi}\left( s,a \right) \sum{R\cdot P\left( r_{t1},s_{t1}|s_ts,a_ta \right) \pi \left( a_{t1}|s_{t1} \right) P\left( r_{t2},s_{t2}|s_{t1},a_{t1} \right)}\cdots \\\sum{R\prod_{it1}^{T-1}{\pi \left( a_i|s_i \right)}P\left( r_i,s_i|s_{i-1},a_{i-1} \right) P\left( s_T|s_{T-1},a_{T-1} \right)}\\\sum{\prod_{it1}^{T-1}{\frac{\pi \left( a_i|s_i \right)}{b\left( a_i|s_i \right)}}\left[ R\prod_{it1}^{T-1}{b\left( a_i|s_i \right) P\left( r_i,s_i|s_{i-1},a_{i-1} \right) P\left( s_T|s_{T-1},a_{T-1} \right)} \right]}\\\sum{\left( \rho _{t1:T-1}R \right)}\prod_{it1}^{T-1}{b\left( a_i|s_i \right) P\left( r_i,s_i|s_{i-1},a_{i-1} \right) P\left( s_T|s_{T-1},a_{T-1} \right)}\\\mathbb{E} _b\left[ \rho _{t1:T-1}R \right] \mid_{s_ts,a_ta}^{}\end{aligned} Qπ(s,a)∑R⋅P(rt1,st1∣sts,ata)π(at1∣st1)P(rt2,st2∣st1,at1)⋯∑Rit1∏T−1π(ai∣si)P(ri,si∣si−1,ai−1)P(sT∣sT−1,aT−1)∑it1∏T−1b(ai∣si)π(ai∣si)[Rit1∏T−1b(ai∣si)P(ri,si∣si−1,ai−1)P(sT∣sT−1,aT−1)]∑(ρt1:T−1R)it1∏T−1b(ai∣si)P(ri,si∣si−1,ai−1)P(sT∣sT−1,aT−1)Eb[ρt1:T−1R]∣sts,ata
其中 ρ t 1 : T − 1 ∏ i t 1 T − 1 π ( a i ∣ s i ) / b ( a i ∣ s i ) \rho _{t1:T-1}\prod\nolimits_{it1}^{T-1}{{{\pi \left( a_i|s_i \right)}/{b\left( a_i|s_i \right)}}} ρt1:T−1∏it1T−1π(ai∣si)/b(ai∣si)为重要性因子关联了行动策略与目标策略。不妨取行动策略 b b b为目标策略 π \pi π的 ϵ \epsilon ϵ贪心形式进行采样而目标策略仍保持确定性策略具体算法流程如表所示。 更多精彩专栏
《ROS从入门到精通》《Pytorch深度学习实战》《机器学习强基计划》《运动规划实战精讲》… 源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系