• 2. 动态规划


    在马尔科夫模型(MDP)完全已知的情况下,我们可以用动态规划来求解最优策略,求出在给定状态$s$下,应该选择哪一个 下个状态$s'$,这样使得累积奖励最大。

    因为需要求解的是累积奖励,所以单纯的贪婪即时奖励最大的策略是不可行的。

    所以我们引入了能够包含未来奖励的v值(和q值),在与环境的交互过程中,更新v值从而得到更好的策略,得到更大的累积奖励

    在前几篇中,为了便于理解,我们的v值(和q值)是离散的,是一张表。比如q表,就是一个状态数*动作数的大表,每一行是对应状态$s$可选的动作$a$的q值。这样一来,到达某一状态时,我们只需要查询q表,找到给定状态$s$对应的行,对比哪个动作$a$的q值高,就选择哪个动作$a$就好。

    策略评估

    给定策略$pi$,在每一步的迭代$k$中,对所有的状态$s in S$,利用贝尔曼公式根据$v_{k-1}(s')$求$v_k(s)$,多次迭代至$v_pi$会收敛。

    $s'$是$s$的下一个状态,$v(s)$更新的时候需要用到$v(s')$,$v(s)=R+gamma v(s')$。

    在第$k+1$次迭代,更新状态$s$的$v_{k+1}(s)$时,状态$s'$的$v_{k+1}(s')$还未更新,

    我们就用上一次迭代$k$的结果$v_{k}(s'),来更新$v_{k+1}(s)$,公式如下:

    策略迭代

    由于值函数$v(s)$中包含了未来状态的奖励,所以整个动态规划问题可以拆成一个个子问题,子问题最优即是全局最优。

    所以我们的策略其实就是对待每一个子问题给定状态$s$下,在下一步可到达的状态$s'$里,选择$v(s')$值最大的状态$s'$,即贪心策略。不同的v值就对应了贪心的选择不同,即不同的策略$pi$。

    $pi' = greedy(v_pi)$

    在上个小节我们迭代收敛得到了新的$v_pi$后,就可以依据新的$v_pi$改进我们的策略$pi$。改进的策略$pi$又可以继续迭代收敛到新的$v_pi$,如此循环,最终收敛至$pi^*$。

    在这样的更新方式中,我们评估了这个策略得到稳定值后,再改进这个策略,称之为同策略学习(On-Policy learning)

     

    值迭代

     在策略迭代中,我们针对每次的策略$pi$都先不断迭代至收敛的$v_pi$之后,再来改进这个策略$pi$。

    为了加快收敛速度,我们可以在$v_pi$还没有收敛的迭代过程中,就立马改进策略$pi$,再循环这个过程。

    $s'$是$s$的下一个状态,$v(s)$更新的时候需要用到$v(s')$,$v(s)=R+gamma v(s')$。

    在第$k+1$次迭代,更新状态$s$的$v_{k+1}(s)$时,$v_pi$还没有收敛,就立马利用第$k$次迭代更新结果,改进策略$pi$。

    在这样的更新方式中,我们边评估策略,边改进策略,称之为异策略学习(Off-Policy learning)

    我们的策略是根据v值的贪婪策略,$pi' = greedy(v_pi)$,所以贪心max的更新公式如下:

    参考:

    1. David Silver 课程

    2. Reinforcement learning: An Introduction. Richard S. Sutton

  • 相关阅读:
    sass中使用穿透属性(deep)修改第三方组件样似
    Codeforces Round #647 (Div. 2) D. Johnny and Contribution(BFS)
    Codeforces Round #647 (Div. 2) C. Johnny and Another Rating Drop(数学)
    Codeforces Round #647 (Div. 2) B. Johnny and His Hobbies(枚举)
    Codeforces Round #647 (Div. 2) A. Johnny and Ancient Computer
    AtCoder Beginner Contest 169
    Codeforces Round #646 (Div. 2) E. Tree Shuffling(树上dp)
    Codeforces Round #646 (Div. 2) C. Game On Leaves(树上博弈)
    Codeforces Round #646 (Div. 2) B. Subsequence Hate(前缀和)
    Codeforces Round #646 (Div. 2) A. Odd Selection(数学)
  • 原文地址:https://www.cnblogs.com/yijuncheng/p/9860675.html
Copyright © 2020-2023  润新知