TASK2

2020-10-23  本文已影响0人  酸菜鱼_02a6

学习链接:https://www.cnblogs.com/pinard/p/9426283.html

构成强化学习MDP的四元组?

答:状态、动作、状态转移概率和奖励,分别对应(S,A,P,R),后面有可能会加上个衰减因子构成五元组。

Q-learning和Sarsa的区别?

答:Sarsa算法是Q-learning算法的改进。

  1. 首先,Q-learning 是 off-policy 的时序差分学习方法,Sarsa 是 on-policy 的时序差分学习方法。

  2. 其次,Sarsa 在更新 Q 表格的时候,它用到的 A' 。我要获取下一个 Q 值的时候,A' 是下一个 step 一定会执行的 action 。这个 action 有可能是 \varepsilon-greddy 方法 sample 出来的值,也有可能是 max Q 对应的 action,也有可能是随机动作。但是就是它实实在在执行了的那个动作。

  3. 但是 Q-learning 在更新 Q 表格的时候,它用到这个的 Q 值 Q(S',a') 对应的那个 action ,它不一定是下一个 step 会执行的实际的 action,因为你下一个实际会执行的那个 action 可能会探索。Q-learning 默认的 action 不是通过 behavior policy 来选取的,它是默认 A' 为最优策略选的动作,所以 Q-learning 在学习的时候,不需要传入 A',即 a_{t+1} 的值。

  4. 更新公式的对比(区别只在target计算这一部分):

    • Sarsa的公式: R_{t+1}+\gamma Q(S_{t+1}, A_{t+1})
    • Q-learning的公式:R_{t+1}+\gamma \underset{a}{\max} Q\left(S_{t+1}, a\right)

    Sarsa 实际上都是用自己的策略产生了 S,A,R,S',A' 这一条轨迹。然后拿着 Q(S_{t+1},A_{t+1}) 去更新原本的 Q 值 Q(S_t,A_t)。 但是 Q-learning 并不需要知道,我实际上选择哪一个 action ,它默认下一个动作就是 Q 最大的那个动作。

上一篇 下一篇

猜你喜欢

热点阅读