深度增强学习David Silver(三)——动态规划的planning

来源:互联网 发布:网际网络是什么 编辑:程序博客网 时间:2024/05/22 15:59

本节课主要介绍:

  • 策略评估(Policy Evaluation)
  • 策略迭代(Policy Iteration)
  • 价值迭代(Value Iteration)
  • 动态规划(DP, Dynamic Programming)扩展
  • 压缩映射

动态规划是一种用来解决复杂问题的方法,它把问题打碎成多个子问题,逐一解决,然后再合并起来。这些复杂问题通常具备两个性质:
1. 最优解能够被分解为子问题
2. 这些子问题可重复,能够被多次缓存和再使用

MDP满足这两个性质,bellman方程给出了迭代的分解,价值函数存储和再利用解决方案。动态规划可用于MDP中的planning。(Lecture01有提到planning和增强学习的不同。本节课主要讲planning,与增强学习无关。)

给定一个策略π,使用迭代的方法评估这个策略,根据vπ的值来选择行动:

vπ(s)=E[Rt+1+γRt+2+...|St=s]
vk+1(s)=aAπ(a|s)(Ras+γsSPassvk(s))

通过贪心算法来改进策略:
π=greedy(vπ)

根据贪心算法,每次策略都选在该状态下qπ(s,a)最大对应的行动:
π=argmaxaAqπ(s,a)

qπ(s,a)表示立即的奖励值加上之后的价值vπ相对π有改进:
qπ(s,π(s))=maxaAqπ(s,a)qπ(s,π(s))=vπ(s)

vπ(s)表示执行策略π的奖励值,等于qπ(s,π(s))。接下来证明vπ(s)vπ(s)
vπ(s)qπ(s,π(s))=Eπ[Rt+1+γvπ(St+1)|St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))|St=s]Eπ[Rt+1+γRt+2+γ2qπ(St+2,π(St+2))|St=s]Eπ[Rt+1+γRt+2+...|St=s]=vπ(s)

当不能再改进的时候:
qπ(s,π(s))=maxaAqπ(s,a)qπ(s,π(s))=vπ(s)

此时满足bellman最优方程:
vπ(s)=argmaxaAqπ(s,a)

对于所有的sS,都满足vπ(s)=v(s)
因此π是最优策略。

最优化的思想:一个最优策略可以被分为两部分:第一步最优行动和从后继状态开始的最优策略。如果第一步最优,那么接下来才有可能是最优策略。

价值迭代:如果我们知道子问题的最优解v(s),那么对于后继状态是s的状态s,都可以找到最优解:

v(s)maxaARas+γsSPassv(s)

这相当于从后往前,已知后面的信息,然后递推求前面的信息,求整个策略。

在Lecture02中有提及Bellman Expectation Equation和Bellman Optimality Equation。以下是同步的动态规划算法,也就是同时更新所有的状态,也就是根据旧信息得到新信息,需要为旧状态备份,直到得到所有新状态才更新。而异步动态规划是每更新一个状态,就马上把该状态的旧信息覆盖,没有固定的更新状态的顺序。
这里写图片描述

0 0
原创粉丝点击