强化学习-chapter7-时间差分学习-2-Qlearning

接上文:https://blog.youkuaiyun.com/Rsbstep/article/details/146640732?spm=1011.2124.3001.6209

TD learning of optimal action values: Q-learning

Sarsa 能够估计给定策略的动作值,它必须与策略改进步骤相结合,才能找到最优策略。
Q-learning可以直接估计最优动作值,进而得到最优策略。

算法描述

  1. Q-learning 更新公式
    Q-learning算法为
    qt+1(st,at)=qt(st,at)−αt(st,at)[qt(st,at)−(rt+1+γmax⁡a∈Aqt(st+1,a))],qt+1(s,a)=qt(s,a),∀(s,a)≠(st,at), \begin{align*} q_{t+1}(s_t, a_t) &= q_t(s_t, a_t) - \alpha_t(s_t, a_t) \Big[ q_t(s_t, a_t) - \big( r_{t+1} + \gamma \max_{a \in \mathcal{A}} q_t(s_{t+1}, a) \big) \Big], \\ q_{t+1}(s, a) &= q_t(s, a), \quad \forall (s,a) \neq (s_t,a_t), \end{align*} qt+1(st,at)qt+1(s,a)=qt(st,at)αt(st,at)[qt(st,at)(rt+1+γaAmaxqt(st+1,a))],=qt(s,a),(s,a)=(st,at),
  • 符号含义
    • qt(st,at)q_t(s_t, a_t)qt(st,at):时刻 ttt,状态 sts_tst 下执行动作 ata_tat 的动作值(Q值)。
    • αt(st,at)\alpha_t(s_t, a_t)αt(st,at):学习率,控制每次更新的步长。
    • rt+1r_{t+1}rt+1:执行动作 ata_tat 后,从状态 sts_tst 转移到下一状态 st+1s_{t+1}st+1 获得的即时奖励。
    • γ\gammaγ:折扣因子,衡量未来奖励的重要性。
    • max⁡a∈Aqt(st+1,a)\max_{a \in \mathcal{A}} q_t(s_{t+1}, a)maxaAqt(st+1,a):对下一状态 st+1s_{t+1}st+1 下所有可选动作 aaa 的Q值取最大值,代表对未来最优动作的估计。
  • 更新逻辑
    • qt+1(st,at)q_{t+1}(s_t, a_t)qt+1(st,at) 的更新由“当前Q值”减去“学习率 × 误差”构成。误差是当前Q值与 TD目标 的差值。TD目标为 rt+1+γmax⁡a∈Aqt(st+1,a)r_{t+1} + \gamma \max_{a \in \mathcal{A}} q_t(s_{t+1}, a)rt+1+γmaxaAqt(st+1,a),它融合了即时奖励和对未来最优状态的预估,体现了Q-learning直接逼近最优策略的特性。
  • 非更新部分
    • 对于非 (st,at)(s_t, a_t)(st,at) 的状态-动作对 (s,a)(s, a)(s,a),Q值不更新,即 qt+1(s,a)=qt(s,a)q_{t+1}(s, a) = q_t(s, a)qt+1(s,a)=qt(s,a)
  1. 与Sarsa的TD目标差异

    • Q-learning:TD目标取未来状态所有动作Q值的最大值 max⁡a∈Aqt(st+1,a)\max_{a \in \mathcal{A}} q_t(s_{t+1}, a)maxaAqt(st+1,a),属于离线策略(不依赖当前策略选择的动作,直接向最优策略逼近)。
    • Sarsa:TD目标使用下一状态实际执行动作 at+1a_{t+1}at+1 的Q值 qt(st+1,at+1)q_t(s_{t+1}, a_{t+1})qt(st+1,at+1),属于在线策略(基于当前策略生成的动作更新,更保守)。

    两者核心区别在于对未来动作的处理:Q-learning追求最优动作,Sarsa依赖当前策略的动作,这导致Q-learning更激进地探索最优策略,而Sarsa更贴合当前策略的执行路径。

  2. 从数学角度看,Q-learning做了什么?
    它旨在求解
    q(s,a)=E[Rt+1+γmax⁡aq(St+1,a)∣St=s,At=a],∀s,a. q(s, a) = \mathbb{E}\left[ R_{t+1} + \gamma \max_{a} q(S_{t+1}, a) \Big| S_t = s, A_t = a \right], \quad \forall s, a. q(s,a)=E[Rt+1+γ

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值