免模型预测

蒙特卡洛估计

RL2 免模型预测、免模型控制_模型预测 蒙特卡洛估计方法在强化学习中是免模型预测价值函数的方式之一,本质是一种统计模拟方法。

蒙特卡洛方法主要分成两种算法,一种是首次访问蒙特卡洛(RL2 免模型预测、免模型控制_RL_02)方法,另外一种是每次访问蒙特卡洛(RL2 免模型预测、免模型控制_模型预测_03)方法。RL2 免模型预测、免模型控制_RL_04 方法主要包含两个步骤,首先是产生一个回合的完整轨迹,然后遍历轨迹计算每个状态的回报。

时序差分估计

RL2 免模型预测、免模型控制_模型预测 时序差分估计方法是一种基于经验的动态规划方法,它结合了蒙特卡洛和动态规划的思想。最简单的时序差分可以表示为式 RL2 免模型预测、免模型控制_模型预测_06

RL2 免模型预测、免模型控制_RL_07

RL2 免模型预测、免模型控制_模型预测 这种算法一般称为单步时序差分RL2 免模型预测、免模型控制_模型预测_09 ),即 RL2 免模型预测、免模型控制_强化学习_10。可以看到,在这个更新过程中使用了当前奖励和后继状态的估计,这是类似于蒙特卡罗方法的;但同时也利用了贝尔曼方程的思想,将下一状态的值函数作为现有状态值函数的一部分估计来更新现有状态的值函数。此外,时序差分还结合了自举( RL2 免模型预测、免模型控制_强化学习_11 )的思想,即未来状态的价值是通过现有的估计 RL2 免模型预测、免模型控制_模型预测_12 (也叫做时序差分目标)进行计算的,即使用一个状态的估计值来更新该状态的估计值,没有再利用后续状态信息的计算方法。这种方法的好处在于可以将问题分解成只涉及一步的预测,从而简化计算。此外,RL2 免模型预测、免模型控制_模型预测_13被定义为 时序差分误差RL2 免模型预测、免模型控制_强化学习_14 )。

RL2 免模型预测、免模型控制_模型预测 但有一点需要注意的是,由于基于时步的学习方式,并且终止状态没有下一步,比如当 RL2 免模型预测、免模型控制_模型预测_16 是终止状态时,RL2 免模型预测、免模型控制_强化学习_17 是没有意义的。因此时序差分方法在实践过程中会把终止状态单独做一个判断,即将对应未来状态的估计值设置为 RL2 免模型预测、免模型控制_强化学习_18,然后更新当前状态的估计值,这个过程也被称作回溯,如式 RL2 免模型预测、免模型控制_模型预测_19 所示,后面所有基于时序差分的方法都会有这样的一个判断。

RL2 免模型预测、免模型控制_RL_20

时序差分和蒙特卡洛的比较

RL2 免模型预测、免模型控制_RL_21

免模型控制

这里介绍两种基础的免模型算法,RL2 免模型预测、免模型控制_RL_22RL2 免模型预测、免模型控制_强化学习_23 ,也都是基于时序差分的方法。

Q-learning 算法

RL2 免模型预测、免模型控制_模型预测 为了解决控制问题,只需要直接预测动作价值函数,然后在决策时选择动作价值即 Q 值最大对应的动作即可。这样一来,策略和动作价值函数同时达到最优,相应的状态价值函数也是最优的,这就是 RL2 免模型预测、免模型控制_RL_22 算法的思路。

RL2 免模型预测、免模型控制_RL_22 算法更新公式如式 RL2 免模型预测、免模型控制_模型预测_27 所示。

RL2 免模型预测、免模型控制_RL_28

RL2 免模型预测、免模型控制_模型预测 我们再回忆一下时序差分方法中状态价值函数的更新公式,如式 RL2 免模型预测、免模型控制_RL_30

RL2 免模型预测、免模型控制_强化学习_31

RL2 免模型预测、免模型控制_模型预测 我们会发现两者的更新方式是一样的,都是基于时序差分的更新方法。不同的是,动作价值函数更新时是直接拿最大的未来动作价值的 RL2 免模型预测、免模型控制_强化学习_33 来估计的,而在状态价值函数更新中相当于是拿对应的平均值来估计的。这就会导致这个估计相当于状态价值函数中的估计更不准确,一般称为 Q 值的过估计,当然这个过估计仅仅限于以 RL2 免模型预测、免模型控制_RL_22 为基础的算法,不同的算法为了优化这个问题使用了不同的估计方式,其中就包括本章后面会讲的 Sarsa 算法,暂时先不详细展开。

Sarsa 算法

RL2 免模型预测、免模型控制_模型预测 RL2 免模型预测、免模型控制_强化学习_23 算法虽然在刚提出的时候被认为是 RL2 免模型预测、免模型控制_RL_22 算法的改进,但在今天看来是非常类似,但是模式却不同的两类算法,RL2 免模型预测、免模型控制_RL_22 算法被认为是 RL2 免模型预测、免模型控制_RL_39 算法,而 RL2 免模型预测、免模型控制_强化学习_23 算法相对地则是 RL2 免模型预测、免模型控制_强化学习_41 的,具体我们后面会展开说明。我们先来看 RL2 免模型预测、免模型控制_强化学习_23 算法,我们讲到 RL2 免模型预测、免模型控制_强化学习_23 算法跟 RL2 免模型预测、免模型控制_RL_22 算法是非常类似的,这是因为两者之间在形式上只有 RL2 免模型预测、免模型控制_模型预测_45 值更新公式是不同的,如式 RL2 免模型预测、免模型控制_RL_46 所示:

RL2 免模型预测、免模型控制_模型预测_47

RL2 免模型预测、免模型控制_模型预测 也就是说,RL2 免模型预测、免模型控制_强化学习_23 算法是直接用下一个状态和动作对应的 RL2 免模型预测、免模型控制_模型预测_45 值来作为估计值的,而 RL2 免模型预测、免模型控制_RL_22 算法则是用下一个状态对应的最大 RL2 免模型预测、免模型控制_模型预测_45 值。