上一章讲了value function approximation的评估问题,那么将固定的policy转换为需要优化的optimal policy,再加上policy improvement就可以完成控制问题。本章使用on-policy GPI的模式来考虑基于approximation的on-policy control问题。
Episodic Semi-gradient Control
因为上一章使用的都是state value approximation,所以首先给出action value approximation更新的公式,其实很类似的:
然后给出最常用的on-policy 控制方法——Sarsa的one-step形式的weight更新公式:
接着需要考虑的就是policy-improvement和action-selection问题了。如果action是连续的,或者可选的action空间比较大,这样的问题现在还在研究中;如果action的选择是从有限的离散空间的,那么可以使用以往的选择方法,比如最常用的epsilon-greedy方法。对应的伪代码如下:
这里有一个强化学习的基本例子mountain car,可以帮助理解approximation的on-policy control问题。
n-step Semi-gradient Sarsa
没什么悬念,这里接着给出了n-step的 Sarsa算法,首先看一下对应的weight更新公式:
Average Reward: A New Problem Setting for Continuing Tasks
这个section引入了适用于MDP问题的第三个经典设置,前两个分别是episodic和discount,第三个是average reward,这个设置和discount一样都是针对continuing问题的,即MDP问题没有start state也没有terminal state,下面给出average reward r(π)的定义:
关于极限收敛的条件,需要满足如下假设:
可以看到expectation是基于一系列先前的action,A0,A1,…,A_{t-1},这些action都是基于policy π的。关于policy π,有一个重要的指标就是基于π的稳定state分布μ_π(s):
r(π)极限收敛的假设是,上述state分布μ_π(s)必须独立于S0。这表明MDP无论从哪里开始,或者有什么先前的交互发生在agent和environment之间,这都只具有临时的作用,从长远来看的话,只有policy π才能决定稳定状态下每个state的分布。
这种假设称为ergodicity,即各态历经性。
我关于average reward是这样理解的:因为average reward的收敛是基于任意start都可以达到distribution最终收敛的假设的,所以如果训练中引入average reward的更新,如果训练r(π)收敛的话,也就保证了continuing task的收敛,这种思路和discount的引入一个道理,都是使得原本无穷的训练任务可以达到收敛。
接着引入使用average reward的return,即differential return:
根据differential return建立起来的value function称为differential value function,只需要在原来的更新公式上引入一些小的改动即可得到differential value function,下面给出引入average reward的TD errors:
使用同样的weight更新公式即可,但是需要同时更新average reward的估计,下面给出differential的semi-gradient Sarsa(0)算法伪代码:
关于differential semi-gradient Sarsa(0)的例子可以参考Example 10.2: An Access-Control Queuing Task
Deprecating the Discounted Setting
首先证明了,如果在continuing tasks中引入discount因子,得到的平均average reward和undiscount效果是一样的:
可以看到引入discount因子不过是给average reward加了一个比例因子,对于得到optimal的average reward没有什么影响。至于为什么不能使用discount因子,书中讲的比较模糊,给出的观点是discount setting不能满足policy improvement的理论,以至于在Sarsa的策略提升的内容上,虽然使用了epsilon-greedy的policy,仍然不能保证这种提升是对全体state的提升。
关于不满足policy improvement理论这点不难理解,因为之前在tabular method的时候,每次提升只改变一个state的policy决策,这种policy提升并没有影响到别的policy,所以整体policy是提升的;但是使用function approximation的policy improvement,因为每次更新是改变的参数,换句话说,每次提升改变了所以state的policy决策,这就不能使用4.2的理论来解释了。
但是这个问题是function approximation的共性,episodic setting和average reward setting也同样存在啊。。。所以只能说function approximation的控制方法目前来说还是缺乏理论基础的。
n-step Differential Semi-gradient Sarsa
给出使用n-step bootstrape的Sarsa return和error:
给出使用n-step bootstrape提升的semi-gradient Sarsa方法伪代码: