[RL Notes] Dyna 架构
1. Dyna 架构 智能体与环境交互获得经验,这些经验一方面可以直接用于学习,例如通过Q 学习的方法,更新价值函数和策略,这称为直接强化学习(direct RL)。直接学习直接与环境交互,不受模型设计偏差的影响。另一方面,这些经验可以用来改进模型,即模型学习,并通过如Q 规划的方法从模型模拟的经验中学习,称为间接强化学习。间接学习可以在有限交互的基础上充分利用已有的经验。 Dyna 架构…
Read more
learn, build, evaluate
1. Dyna 架构 智能体与环境交互获得经验,这些经验一方面可以直接用于学习,例如通过Q 学习的方法,更新价值函数和策略,这称为直接强化学习(direct RL)。直接学习直接与环境交互,不受模型设计偏差的影响。另一方面,这些经验可以用来改进模型,即模型学习,并通过如Q 规划的方法从模型模拟的经验中学习,称为间接强化学习。间接学习可以在有限交互的基础上充分利用已有的经验。 Dyna 架构…
Read more
1. 模型 像时序差分这类基于采样的方法可以从经验中学习,而动态规划算法需要知道环境的运作方式,即环境模型。环境的模型指的是一个智能体可以用来预测环境对其动作的反应的任何事物,例如 MDP 的动态特性 $p(s’,r|s, a)$。通过这样的环境模型,我们可只知道在给定状态下采取某个动作所带来的后果,而不必真的去执行这个动作。 如果模型是随机的,则会一定概率出现的多种后继状态和…
Read more
1. 期望 Sarsa 回顾 Sarsa 预测算法 的更新规则 \begin{equation} Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \big[ R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) – Q(S_t, A_t) \big] \tag{1} \end{equation} 其中 $S_{t+1}$ …
Read more
1. Q 学习 Q 学习是一种离轨策略下时序差分控制算法,它的更新规则为 \begin{equation} Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \big[R_{t+1} + \gamma \max_{a}Q(S_{t+1}, a) – Q(S_t, A_t) \big] \tag{1} \end{equation} 式 $(1)$…
Read more
1. 预测算法 通过 TD(0) 算法可以得到状态价值函数,而为了在广义策略迭代中使用时序差分方法,我们需要的是动作价值函数。 不同于 TD(0) 算法中只考虑状态之间的转换,现在要考虑“状态-动作”二元组之间的转换,并学习每个“状态-动作”二元组的价值。类似 TD(0) 对状态价值的更新,对“状态-动作”二元组价值的更新如下所示。 \begin{equation} Q(S_t, A_t)…
Read more
时序差分(TD)学习结合了动态规划(DP)和蒙特卡洛(MC)方法的关键思想,主要有以下优势: TD 像 MC 一样不需要环境模型,可以直接从经验中学习;而 DP 需要环境模型。 TD 像 DP 一样可以自举,而 MC 无法自举。 TD 可以在线增量地更新,DP 和 MC 都无法做到这一点。 TD 可以渐进地收敛到正确的预测值,而且通常收敛得比 MC 快。
1. 问题 使用《强化学习》(第二版)例 6.1 中开车回家的例子,在下班开车回家的路途中,不断地记录路上消耗的时间和估计到家的时间: 18:00 – 离开办公室的时间记为时刻 0,估计 30 分钟后到家。 18:05 – 5 分钟后到达车旁,发现开始下雨,估计路上会花更多时间,于是估计还要花 35 分钟到家(算上已经花费的 5 分钟,估计到家花费的总时间为 40 分钟…
Read more
在预测问题中,我们的目标是估计价值函数 \begin{equation} v_\pi(s) \doteq \mathbb{E}[G_t|S_t = s] \tag{1} \end{equation} 即从给定状态开始能获得的回报。在使用蒙特卡洛方法进行策略评估时,可以通过下式增量地对估计值进行更新 \begin{equation} V(S_t) \leftarrow V(S…
Read more
结合加权重要度采样的增量实现,可以得到对应的离轨策略 MC 控制算法如下所示。 离轨策略 MC 控制算法,用于估计 $\pi \approx \pi_*$ 初始化:对所有 $s \in \mathcal{S}$,$a \in \mathcal{A(s)}$: $Q(s, a) \in \mathbb{R}$(任意值) $C(s, a) \leftarrow …
Read more
1. 加权重要度采样 MC 预测算法中使用的简单重要度采样定义为 \begin{equation} V(s) \doteq \frac{\sum\limits_{t \in \mathcal{T}(s)} \rho_{t:T(t)-1} G_t}{|\mathcal{T}(s)|} \tag{1} \end{equation} 其中 $\mathcal{T}(s)$ 为所有访问过状态 $s$ …
Read more