RL_Boot/Hands-on_Learning_RL/Chapter05/TD.ipynb at master · a1024053774/RL_Boot
5.1 简介
动态规划算法要求马尔可夫决策过程是已知的,即要求与智能体交互的环境是完全已知的(例如迷宫或者给定规则的网格世界)。
- 在此条件下,智能体其实并不需要和环境真正交互来采样数据,直接用动态规划算法就可以解出最优价值或策略。
- 好比对于有监督学习任务,直接显式给出了数据的分布公式,可以在期望层面上直接最小化模型的泛化误差来更新模型参数,并不需要采样任何数据点。
对于大部分强化学习现实场景,马尔可夫决策过程的状态转移概率是无法写出来的。
无模型的强化学习智能体直接使用和环境交互的过程中采样到的数据来学习
- TD的两种经典算法:Sarsa 和 Q-learning,都是基于时序差分(temporal difference,TD)的强化学习算法。
- 在线策略学习
- 在线策略学习要求使用在当前策略下采样得到的样本进行学习,一旦策略被更新,当前的样本就被放弃了,就好像在水龙头下用自来水洗手;
- 离线策略学习
- 离线策略学习使用经验回放池将之前采样的样本收集起来再次利用,就好像使用脸盆接水后洗手。
- 离线策略学习能够更好地利用历史数据
- 具有更小的样本复杂度
5.2 时序差分方法
与蒙特卡洛算法的相似之处:可以从样本数据中学习,不需要事先知道环境
与动态规划算法的相似之处:根据贝尔曼方程,用后续状态的价值估计来更新当前状态的价值估计。
回顾一下蒙特卡洛方法对价值函数的增量更新方式:
$V(s_t) \leftarrow V(s_t) + \alpha[G_t - V(s_t)]$
- 这里我们将 $3.5$ 节的 $\frac{1}{N(s)}$ 替换成了 $\alpha$,表示对价值估计更新的步长。
- 可以将 α 取为一个常数,此时更新方式不再像蒙特卡洛方法那样严格地取期望。