接上文:https://blog.youkuaiyun.com/Rsbstep/article/details/146640732?spm=1011.2124.3001.6209
TD learning of optimal action values: Q-learning
Sarsa 能够估计给定策略的动作值,它必须与策略改进步骤相结合,才能找到最优策略。
Q-learning可以直接估计最优动作值,进而得到最优策略。
算法描述
- Q-learning 更新公式
Q-learning算法为
qt+1(st,at)=qt(st,at)−αt(st,at)[qt(st,at)−(rt+1+γmaxa∈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+γa∈Amaxqt(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γ:折扣因子,衡量未来奖励的重要性。
- maxa∈Aqt(st+1,a)\max_{a \in \mathcal{A}} q_t(s_{t+1}, a)maxa∈Aqt(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+γmaxa∈Aqt(st+1,a)r_{t+1} + \gamma \max_{a \in \mathcal{A}} q_t(s_{t+1}, a)rt+1+γmaxa∈Aqt(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)。
-
与Sarsa的TD目标差异
- Q-learning:TD目标取未来状态所有动作Q值的最大值 maxa∈Aqt(st+1,a)\max_{a \in \mathcal{A}} q_t(s_{t+1}, a)maxa∈Aqt(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更贴合当前策略的执行路径。
-
从数学角度看,Q-learning做了什么?
它旨在求解
q(s,a)=E[Rt+1+γmaxaq(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+γ

最低0.47元/天 解锁文章
567

被折叠的 条评论
为什么被折叠?



