强化学习中的资格迹与深度Q网络
资格迹相关内容
在网格环境中,标准SARSA代理和n步SARSA代理的平均奖励对比图(Figure 3 - 7)显示,使用多步的代理能更快地学习到最优轨迹。
n步算法的扩展
“n步算法”结合了自举法和前向规划的优点。一种扩展思路是对不同的n值求平均,甚至可以极端地对所有n值求平均。但迭代不同的n步更新会增加大量计算复杂度,而且随着n的增大,代理需要等待更长时间才能开始更新第一步,极端情况下就和蒙特卡罗(MC)方法一样,要等到回合结束才能更新。
向后看的解决方案
之前的算法试图向前看,但这是不可能的,所以它们延迟更新来假装向前看。一个解决方案是向后看。就像快速爬山时,尝试多条路线后回顾行动来找到最佳轨迹。代理需要一种新机制标记状态 - 动作对,以便后续更新。可以用虚拟追踪器提醒代理哪些状态 - 动作估计需要在未来更新。
状态 - 动作函数的更新
需要用所有n步回报的平均值更新状态 - 动作函数。一步更新就是TD误差更新。可以用指数加权移动平均来近似平均,这相当于在线求平均。结合一步更新、移动平均和追踪器的思想,就得到了无延迟(无直接n步前瞻)但具备前向规划和自举法优点的在线SARSA算法,即SARSA(λ)。
以下是SARSA(λ)算法:
1: 输入: 一个使用动作 - 值函数的策略 π(a|s, Q(s, a)),步长 0 < α < 1,追踪器衰减率 0 ≤ λ ≤ 1
2: 初始化 Q(s, a) = 0,对于所有 s ∈ S,a ∈