当前位置: 代码迷 >> 综合 >> 强化学习总结(1-2)——model-base(policy evaluation;policy control)
  详细解决方案

强化学习总结(1-2)——model-base(policy evaluation;policy control)

热度:44   发布时间:2023-12-27 10:55:03.0

文章目录

  • 强化学习总结(1-4)
    • 马尔科夫决策过程
      • policy evaluation
      • policy control
        • policy iteration
        • value iteration
        • 两种方法的区别
    • 最后总结

强化学习总结(1-4)

马尔科夫决策过程

? 马尔科夫决策过程是一个model-base过程,它分为策略估值policy evaluation与策略控制policy control。就是已知一个策略估计状态函数的值,和求解一个最优策略。

policy evaluation

? 策略估值evaluation的情况下,主要采用动态规划bootsrapping的方法,已知策略π\piπ,对贝尔曼期望方程进行迭代,直到收敛:
vkπ(s)=∑a∈Aπ(a∣s)(R(s,a)+γ∑s′∈SP(s′∣s,a)vk+1π(s′))\mathrm{v}_{k}^{\pi}(\mathrm{s})=\sum_{\mathrm{a} \in \mathrm{A}} \pi(\mathrm{a} \mid \mathrm{s})\left(\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}_{k+1}^{\pi}\left(\mathrm{s}^{\prime}\right)\right) vkπ?(s)=aA?π(as)(R(s,a)+γsS?P(ss,a)vk+1π?(s))

policy control

policy iteration

? 随机一个π\piπ,先进行bootstrapping对其状态函数进行估值,根据估计的vπ(s)\mathrm{v}^{\pi}(\mathrm{s})vπ(s),再使用Q函数的贝尔曼等式

q(s,a)=R(s,a)+γ∑s′∈SP(s′∣s,a)v(s′)\mathrm{q}(\mathrm{s}, \mathrm{a})=\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}\left(\mathrm{s}^{\prime}\right)q(s,a)=R(s,a)+γsS?P(ss,a)v(s),计算Q-table,从中更新策略
π(a∣s)={1,if a=arg?max?a∈Aq(s,a)0,otherwise \pi(a \mid s)=\left\{\begin{array}{ll} 1, & \text { if } a=\arg \max _{a \in A} q(s, a) \\ 0, & \text { otherwise } \end{array}\right. π(as)={ 1,0,? if a=argmaxaA?q(s,a) otherwise ?
再用新策略估计状态函数,一直循环,直到V和π\piπ都收敛了,就求得了最优的策略。

总结:由于策略更新每次都是选择能够产生最大价值的动作,所以如果该过程具有最优的策略,那么在迭代一定次数后,最后一定会收敛到那个最优策略。

value iteration

? 如果策略达到了最优,那么当前状态的价值函数值就等于当前状态最大价值动作对函数值vπ(s)=max?a∈Aqπ(s,a)=max?a∈A(R(s,a)+γ∑s′∈SP(s′∣s,a)v(s′))\mathrm{v}^{\pi}(\mathrm{s})=\max _{\mathrm{a} \in \mathcal{A}} \mathrm{q}^{\pi}(\mathrm{s}, \mathrm{a})=\max _{\mathrm{a} \in \mathcal{A}}(\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}\left(\mathrm{s}^{\prime}\right))vπ(s)=maxaA?qπ(s,a)=maxaA?(R(s,a)+γsS?P(ss,a)v(s)),如果我们将此等式用bootsrapping进行迭代,就能得到最优的价值函数,最后再用下式,policy iteration中的策略更新方法更新一次π\piπ即可。
π(a∣s)={1,if a=arg?max?a∈Aq(s,a)0,otherwise 4\pi(a \mid s)=\left\{\begin{array}{ll}1, & \text { if } a=\arg \max _{a \in A} q(s, a) \\0, & \text { otherwise }4\end{array}\right. π(as)={ 1,0,? if a=argmaxaA?q(s,a) otherwise 4?

两种方法的区别

? policy iteration :相当于在不停的探索,策略实时在更新。

? value iteration:相当于一劳永逸,将价值函数迭代到最优的状态,策略一次更新到位

最后总结

首先呢(12/4—12/16 model-base ),学习了马尔科夫决策过程,这个过程是强化学习中的很多模型的基础。这里首先解决了两个问题:

  1. 怎么去算状态的价值,就是我在这个状态下能得到的结果有多好。
  2. 怎么去寻找我的最优策略,policy 和value iteration都是利用动态规划的思想,不断的对价值函数进行迭代更新,这里就体现了model-base的意义,它能够计算价值函数,所以最优策略就可以从这个最优价值着手去找。
  相关解决方案