强化学习之动态规划

本文深入探讨了强化学习中的动态规划方法,包括策略评价、策略迭代、值迭代等。介绍了同步备份下的迭代策略评价算法,解释了贝尔曼期望方程及其在策略提升中的应用。动态规划引申部分涉及异步动态规划,如就地动态规划、优先清理和实时动态规划,以及全宽备份和样本备份策略。此外,文章还讨论了动态规划中的数学基础,如迭代方法和压缩映射的收敛性证明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态规划(Dynamic Propramming)

当一个精确的环境模型时,可以用动态规划去解决。总体来说,就是将一个问题分解成子问题,通过解决子问题来解决原问题。动态指针对序列问题,规划指优化,找到策略。
动态规划解决的问题具备两种性质:

  • 最优子结构
    • 满足最优性原理
    • 最优的解可以被分解成子问题的最优解
  • 交叠式子问题
    • 子问题能够被多次重复
    • 子问题的解要能够被缓存并再利用

MDPs满足以上两个特性:
- 贝尔曼方程用递归的形式,把问题分解成子问题
- 值函数有效的存储了子问题的解,能够再利用
因此动态规划可以应用于MDPs的问题,使用动态规划解决强化学习问题时,要求指导MDPs的所有元素:

  • 评价
    • 输入:MDP<S,A,P,R, γ γ > 和策略 π π 或者 MRP<S, Pπ,Rπ,γ P π , R π , γ >
    • 输出:值函数 vπ v π
  • 优化
    • 输入: MDP<S,A,P,R, γ γ >
    • 输出:最优值函数 v v ∗ 和最优策略 π π ∗

策略评价

问题:给定一个策略 π π ,求对应的值函数 vπ(s) or qπ(s,a) v π ( s )   o r   q π ( s , a )
解决方法:

  • 直接解: vπ=(1γPπ)1Rπ v π = ( 1 − γ P π ) − 1 R π

    • 可以直接求得精确解
    • 时间复杂度比较高 O(n3) O ( n 3 )
  • 迭代解: v1>v2>...>vπ v 1 − > v 2 − > . . . − > v π

    • 利用贝尔曼期望方程迭代求解,可以收敛到最优解

    贝尔曼期望方程:

    vπ(s)=aAπ(a|s)(R(s,a)+γsSPassvπ(s)) v π ( s ) = ∑ a ∈ A π ( a | s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) )

    可以得到如下迭代等式:
    vk+1(s)=aAπ(a|s)(R(s,a)+γsSPassvk(s)) v k + 1 ( s ) = ∑ a ∈ A π ( a | s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P s s ′ a v k ( s ′ ) )

    简写为
    vk+1=Rπ+γPπvk v k + 1 = R π + γ P π v k

同步备份下的迭代式策略评价算法
  • 备份: vk+1(s) v k + 1 ( s ) 需要用到 vk(s) v k ( s ′ ) ,用 vk(s) v k ( s ′ ) 更新 vk+1(s) v k + 1 ( s ′ ) 的过程称为备份。更新状态s的值函数称为备份状态s
  • 同步:每次更新都需要更新完所有的状态
#伪代码
for k=1,2,... do
    for 所有状态s in S do
        使用迭代式更新值函数v
    end for
end for

策略提升

策略性价值函数通过筛选方式来改进策略,有几个常见的策略筛选方式:
贪婪策略,e-greedy策略,高斯策略,玻尔兹曼策略

策略提升定理
对于两个确定的策略 π π ′ π π ,如果满足 qπ(s,π(s))vπ(s) q π ( s , π ′ ( s ) ) ≥ v π ( s ) ,那么我们可以得到

vπ(s)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值