Deterministic Policy Gradient (DPG) 的读后感和几个问题
1. Policy Gradient (PG)方法的优点:
相对于一般的 Value Based 方法(如估计Q(s,a)值), PG更加适合运用在连续的或者较大的Action Space(实际的机器人控制等等),因为随着 Action Space的增大,Q(s,a)的规模也会相对增大,对具体的实现造成很大的困难(如DQN的输出与Action的个数有关)。而对PG来说这种问题的影响就小多了。
2. Stochastic Policy Gradient (SPG)
SPG的Performance Objective为:
即为按照Policy 运行得到的action value的期望值,目标为改变Policy使Performance Objective尽可能大,可以使用梯度上升方法寻找局部最大值,其梯度如下:
原文(Sliver的“”Deterministic Policy Gradient Algorithms“”)指出的
个人理解是因为对于某一个state输出的是所有action的概率,故他说是over state and action space。从而引出了DPG的优点,DPG最终得到的Policy为,它是某一个state到某一个action的映射而不是所有action概率的映射,故训练Deterministic Policy(DP)较Stochastic Policy(SP) 需要的样本量少,且更加明确,在控制中即包含了较少的噪声(因为其输出的是某一个确定的值而不是一个概率)。
3. Deterministic Policy Gradient (DPG)
上部分说了DP较SP的优点(需要较少的样本,得出的Policy更加明确),然而使用DP也会带来问题
如何保证exploration:
论文使用off-policy deterministic actor-critic (OPDAC)方法,利用stochastic behavior policy 来产生训练数据从而达到增强exploration的目的。这样一来又引出了许多问题:
1)actor的问题:
对于那些基于表格的(一般来说state,action space较小的)的问题,一般使用GPI的方式,即先估计Q(s,a)的值,再根据估计的Q值来提升Policy,提升的方法一般是argmax操作:
这其实是一个全局最优的操作,但是在处理大state,action space时,我们不用局域表格的方法而是使用估计的方法,比如这边使用的是来估计,对直接取全局最优过于困难(不然也没这么多优化问题了),所以只能退而求其次,我们沿着的梯度方向慢慢的更新参数,即
对使用求导的链式法则即可得到参数的更新形式:
然而上述更新方式并不能保证Policy Improvement,以为每次更新都导致state distribution ()发生改变,但是幸运的是,与SPG Theorem一样,本文的DPG Theorem证明最终的梯度确实与state distribution的梯度无关,并且形式和上面给出的一致,这里再给出一遍
Performance Objective为:
利用链式法则对其求梯度,可得到
2)critic的问题:
这里还有一个非常严重的问题,那就是咱根本不知道啊,这里使用了估计的方法,即,并且使用RL的一些算法(例如MC,Q-learning,TD...)更新,然而这毫无疑问将引入偏差,使梯度方向发生偏移,可能导致最终发散。论文也给出了解决方法,在下面会给出介绍。
4.Off-Policy Deterministic Actor-Critic(OPDAC)
前面也说了,想要训练DP的同时保证exploration,那么只能使用off-policy方法,即利用一个SP 产生训练数据,来训练DP,一但使用off-policy方法,那么Performance Objective将发生改变,即变为“ 的state distribution下的target Policy的期望Q值”,这可能有点乱,直接上公式:
那么梯度为:
上面说了,使用,所以我们算法中的梯度应该为:
同时在critic上选择使用Q-learning Algorithm (虽然使用Q-learning可能导致发散,因为满足了The Deadly Triad(详细请看Sutton的Reinforcement Learning: An Introduction一书),但是这里只是用这个简单的算法来演示罢了,后面会解决这个问题),最终将整个算法叫做OPDAC-Q,主要过程如下:
其实这边的式子(18)我有一个很大的疑惑:到底代表什么意思?应该是 得到的,那么怎么能对求导呢?在之后的算法中确实发现他是在对求导而不是在对求导。
5.Compatible Off-Policy Deterministic Actor-Critic(COPDAC)
第3部分中提到了一个critic问题,即利用会导致得到的梯度发生偏差,论文针对这个问题,提出了一个Compatible Function Approximation方式,从而消除了梯度的偏差,称这样的为compatible,compatible需要满足如下条件,这在paper中是一个Theorem:
论文中给出了证明,这个证明过程较为简单,故这里不做展开了。那么我们只要按照这两个条件设计就可以了。按如下形式设计Q即可满足条件1:
一般为state value funticon
作为feature
作为advantage function
如何满足条件2:
所实话,这个问题相当于拿着Q的特征,去做的回归问题,毫无疑问,这很难直接做到(我们平常的回归问题是拿着Q的特征去估计Q而不是Q的梯度),论文的方法比较简单,还是按照估计Q的方法来,一但估计的差不多了,即,那么在平滑的前提下,也能满足。
OK,现在我们已经解决了大部分的问题,那么无偏的算法COPDAC-Q(COPDAC+QLearning)的主要过程可如下表达:
这里的式子20也说明了我之前提的问题(红色字体),确实是对a=求了梯度, 虽然求梯度后好像不包含action这一项....
还有最后一个问题那就是,Q-learning它可能不收敛啊,因此论文中给了Gradient-Q的形式,该方法的原型Gradient TD learning在Sutton的Reinforcement Learning: An Introduction一书的第11章有介绍,称使用Gradient-Q版本的方法称为COPDAC-GQ:
至此这篇paper的主要内容已经结束了,后面是一些实验与总结,感兴趣的童鞋可以看看这个算法到底牛逼在哪里。
这是我的第一篇博客,并且本人才疏学浅,对论文的理解肯定有许多错误之处,望路过的各位大神多多包涵!如果有不同的意见那是最好的,因为这本来就是为了交流才写的这个东西。