强化是指我们可以用下一个状态的价值来更新当前状态的价值,其实就是强化学习里面自举的概念。在强化学习里面,我们可以每走一步更新一次 Q 表格,用下一个状态的 Q 值来更新当前状态的 Q 值,这种单步更新的方法被称为时序差分方法。

巴甫洛夫效应揭示的是,当中性刺激(铃声)与无条件刺激(食物)相邻反复出现的时候,中性刺激也可以引起无条件刺激引起的唾液分泌,然后形成条件刺激。 我们称这种中性刺激与无条件刺激在时间上面的结合为强化,强化的次数越多,条件反射就会越巩固。

本节我们讨论免模型的方法

预测

即预测各个$(s, a)$的价值

蒙特卡洛方法

采样大量的轨迹,计算所有轨迹的真实回报,然后使用经验平均回报(empirical mean return)的方法来估计状态价值

上式本质上就是求平均值,只是写成了增量形式,并将$\frac{1}{N(s)}$换成了$\alpha$,不再严格地取期望。

蒙特卡洛方法适用于环境未知的情况,而且只更新这条轨迹上的所有状态,与这条轨迹没有关系的状态都不进行更新。

时序差分方法

在每个时间步更新状态值函数,因此它可以在线(online)地进行学习,即时地适应环境,

其中$\alpha$后面的整体叫做时序差分误差(TD error)

与MC不同的是,由于每步进行更新时,没有得到完整的轨迹,也就没有得到$G_t$,所以只能通过直接使用$V$来更新。

同时可以通过步数来调整算法需要的实际奖励和自举:

对比

这两种方法都是为了估计”理想价值函数“的

特性 蒙特卡洛方法 (MC) 时序差分方法 (TD)
估计类型 无偏估计 有偏估计
更新时机 每个回合结束后 每个时间步之后
数据依赖 基于完整回合的实际结果 基于当前奖励和下一个状态的估计值
方差 较大 较小
特点 直接反映实际经验,波动较大 更新平滑,适应性强

控制

现在,我们已经得到了$V$函数,这是一个一维表格,表示每一个状态的价值,但是在不了解环境(奖励函数和状态转移)的情况下,如何进行策略优化呢?

我们可以将V函数“扩展为”Q函数,即一个$(S × A)$的表格,通过预测这张表格来进行策略优化。

Sarsa

使用与预测V函数同样的TD方法来预测Q表格:

注意此时与TD不同的是,更新预测时需要使用$A’$,即下一个状态的策略选择

此策略选择指的可能是$\max Q$,也可能是$\epsilon-贪心$d,甚至可能是随机动作,但Sarsa都将其作为更新的依据,体现了其“谨慎性”

其因需要知道$(s_t,a_t,r_{t+1},s_{t+1},a_{t+1})$而得名,同样虑 n 步的回报时有:

Q-学习

与Sarsa不同的时,Q学习是一种”离线学习“,即计算Q表格(目标策略)时不care最终究竟会做出什么选择(行为策略),其更新公式为:

可以注意到,与Sarsa唯一的不同就是$Q\left(s_{t+1},a_{t+1}\right)$和$\max_aQ\left(s_{t+1},a\right)$,这表明不管决策过程最终采取什么选择,Q学习在更新表格时始终选择使用Q值最高的$a’$来计算,体现了其”谨慎性”。