您的位置:首页 > 其它

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

2017-05-11 22:17 435 查看
本节课主要介绍:

策略评估(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)=∑a∈Aπ(a|s)(Ras+γ∑s′∈SPass′vk(s′))

通过贪心算法来改进策略:

π′=greedy(vπ)

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

π′=argmaxa∈Aqπ(s,a)

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

qπ(s,π′(s))=maxa∈Aqπ(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))=maxa∈Aqπ(s,a)≥qπ(s,π(s))=vπ(s)

此时满足bellman最优方程:

vπ(s)=argmaxa∈Aqπ(s,a)

对于所有的s∈S,都满足vπ(s)=v∗(s)

因此π是最优策略。

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

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

v∗(s)←maxa∈ARas+γ∑s′∈SPass′v∗(s′)

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: