强化是指我们可以用下一个状态的价值来更新当前状态的价值,其实就是强化学习里面自举的概念。在强化学习里面,我们可以每走一步更新一次 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’$来计算,体现了其”谨慎性”。