强化学习笔记04——动态规划

动态规划(DP)是指,当给出一个具体的环境模型已知的马尔科夫决定过程(MDP),可以用于计算其最佳策略的算法集合。经典DP算法在强化学习中的实用性有限,因为他们假定了一个具体的模型,并且还受限于它们的计算cost很高,但它在理论上仍然很重要。

策略迭代

通用策略迭代是:
1. 先从一个策略 π0 开始,
2. 策略评估(Policy Evaluation) - 得到策略 π0 的价值 vπ0
3. 策略改善(Policy Improvement) - 根据价值 vπ0 ,优化策略 π0
4. 迭代上面的步骤2和3,直到找到最优价值 v ,因此可以得到最优策略 π (终止条件:得到了稳定的策略 π 和策略价值 vπ )。
这个被称为通用策略迭代(Generalized Policy Iteration)。
数学表示如下:

π0Evπ0Iπ1Evπ1Iπ2EIπEv

因此,我们需要关心两个问题:如何计算策略的价值,以及如何根据策略价值获得一个优化的策略。即策略评估和策略优化。
总体框架如下图:
这里写图片描述

下面分别讲解策略评估(Policy Evaluation)和策略改善(Policy Improvement)。

策略评估

策略评估是通过状态值函数来实现的,值函数定义为( S+S ):

vπ(s)Eπ[k=0γkRt+k+1|St=s]=aπ(a|s)s,rp(s,r|s,a)[r+γvπ(s)], sSsS+

此时,s状态的值函数是由其他所有状态在策略 π 下的值函数确定,这是无法计算的。所以DP通过当前的策略 π 计算下一时刻的状态值函数。在多次迭代后( k ), vkvπ
vk+1(s)=Eπ[Rt+1+γvk(St+1) | St=s]=aπ(a|s)s,rp(s,r|s,a)[r+γvk(s)], sS,sS+

这里写图片描述

策略优化

可以证明,最大化动作状态值函数的同时也会最大化状态值函数(P83)。所以策略优化通过最大化动作状态值函数实现。
这里写图片描述
由此可以得到前面策略迭代的流程框图。

价值迭代

价值迭代方法是对上面所描述的方法的一种简化:
在策略评估过程中,对于每个状态s,只找最优(价值是最大的)行动a。这样可以减少空间的使用。步骤如下:
1. 初始化 - 所有状态的价值(比如:都设为0)。
2. 初始化 - 一个等概率随机策略 π0 (the equiprobable random policy)
3. 策略评估
对于每个状态s,只找最优(价值是最大的)行动a。即:

vk+1(s)maxa E[Rt+1+γvk(St+1) | St=s,At=a]=maxa s,rp(s,r|s,a)[r+γvk(s)]

价值迭代不需要优化过程,最后输出的策略直接选取最大的值函数即可:
这里写图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值