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为:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

即为按照Policy Deterministic Policy Gradient (DPG) 的读后感和几个问题 运行得到的action value的期望值,目标为改变Policy使Performance Objective尽可能大,可以使用梯度上升方法寻找局部最大值,其梯度如下:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

原文(Sliver的“”Deterministic Policy Gradient Algorithms“”)指出的

Deterministic Policy Gradient (DPG) 的读后感和几个问题

个人理解是因为Deterministic Policy Gradient (DPG) 的读后感和几个问题对于某一个state输出的是所有action的概率,故他说是over state and action space。从而引出了DPG的优点,DPG最终得到的Policy为Deterministic Policy Gradient (DPG) 的读后感和几个问题,它是某一个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操作:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

这其实是一个全局最优的操作,但是在处理大state,action space时,我们不用局域表格的方法而是使用估计的方法,比如这边使用的是Deterministic Policy Gradient (DPG) 的读后感和几个问题来估计Deterministic Policy Gradient (DPG) 的读后感和几个问题,对Deterministic Policy Gradient (DPG) 的读后感和几个问题直接取全局最优过于困难(不然也没这么多优化问题了),所以只能退而求其次,我们沿着Deterministic Policy Gradient (DPG) 的读后感和几个问题的梯度方向慢慢的更新参数,即

Deterministic Policy Gradient (DPG) 的读后感和几个问题

Deterministic Policy Gradient (DPG) 的读后感和几个问题使用求导的链式法则即可得到参数的更新形式:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

然而上述更新方式并不能保证Policy Improvement,以为每次更新都导致state distribution (Deterministic Policy Gradient (DPG) 的读后感和几个问题)发生改变,但是幸运的是,与SPG Theorem一样,本文的DPG Theorem证明最终的梯度确实与state distribution的梯度无关,并且形式和上面给出的一致,这里再给出一遍

Performance Objective为:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

利用链式法则对其求梯度,可得到

Deterministic Policy Gradient (DPG) 的读后感和几个问题

2)critic的问题:

这里还有一个非常严重的问题,那就是Deterministic Policy Gradient (DPG) 的读后感和几个问题咱根本不知道啊,这里使用了估计的方法,即Deterministic Policy Gradient (DPG) 的读后感和几个问题,并且使用RL的一些算法(例如MC,Q-learning,TD...)更新Deterministic Policy Gradient (DPG) 的读后感和几个问题,然而这毫无疑问将引入偏差,使梯度方向发生偏移,可能导致最终发散。论文也给出了解决方法,在下面会给出介绍。

4.Off-Policy Deterministic Actor-Critic(OPDAC)

前面也说了,想要训练DP的同时保证exploration,那么只能使用off-policy方法,即利用一个SP Deterministic Policy Gradient (DPG) 的读后感和几个问题产生训练数据,来训练DPDeterministic Policy Gradient (DPG) 的读后感和几个问题,一但使用off-policy方法,那么Performance Objective将发生改变,即变为“ Deterministic Policy Gradient (DPG) 的读后感和几个问题的state distribution下的target Policy的期望Q值”,这可能有点乱,直接上公式:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

那么梯度为:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

上面说了,使用Deterministic Policy Gradient (DPG) 的读后感和几个问题,所以我们算法中的梯度应该为:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

同时在critic上选择使用Q-learning Algorithm (虽然使用Q-learning可能导致发散,因为满足了The Deadly Triad(详细请看Sutton的Reinforcement Learning: An Introduction一书),但是这里只是用这个简单的算法来演示罢了,后面会解决这个问题),最终将整个算法叫做OPDAC-Q,主要过程如下:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

其实这边的式子(18)我有一个很大的疑惑:Deterministic Policy Gradient (DPG) 的读后感和几个问题到底代表什么意思?Deterministic Policy Gradient (DPG) 的读后感和几个问题应该是 Deterministic Policy Gradient (DPG) 的读后感和几个问题得到的,那么Deterministic Policy Gradient (DPG) 的读后感和几个问题怎么能对Deterministic Policy Gradient (DPG) 的读后感和几个问题求导呢?在之后的算法中确实发现他是在对Deterministic Policy Gradient (DPG) 的读后感和几个问题求导而不是在对Deterministic Policy Gradient (DPG) 的读后感和几个问题求导。

5.Compatible Off-Policy Deterministic Actor-Critic(COPDAC)

第3部分中提到了一个critic问题,即利用Deterministic Policy Gradient (DPG) 的读后感和几个问题会导致得到的梯度发生偏差,论文针对这个问题,提出了一个Compatible Function Approximation方式,从而消除了梯度的偏差,称这样的Deterministic Policy Gradient (DPG) 的读后感和几个问题为compatible,compatibleDeterministic Policy Gradient (DPG) 的读后感和几个问题需要满足如下条件,这在paper中是一个Theorem:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

论文中给出了证明,这个证明过程较为简单,故这里不做展开了。那么我们只要按照这两个条件设计Deterministic Policy Gradient (DPG) 的读后感和几个问题就可以了。按如下形式设计Q即可满足条件1:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

Deterministic Policy Gradient (DPG) 的读后感和几个问题一般为state value funticon

Deterministic Policy Gradient (DPG) 的读后感和几个问题作为feature

Deterministic Policy Gradient (DPG) 的读后感和几个问题作为advantage function

如何满足条件2:

所实话,这个问题相当于拿着Q的特征,去做Deterministic Policy Gradient (DPG) 的读后感和几个问题的回归问题,毫无疑问,这很难直接做到(我们平常的回归问题是拿着Q的特征去估计Q而不是Q的梯度),论文的方法比较简单,还是按照估计Q的方法来,一但估计的差不多了,即Deterministic Policy Gradient (DPG) 的读后感和几个问题,那么在Deterministic Policy Gradient (DPG) 的读后感和几个问题平滑的前提下,也能满足Deterministic Policy Gradient (DPG) 的读后感和几个问题

OK,现在我们已经解决了大部分的问题,那么无偏的算法COPDAC-Q(COPDAC+QLearning)的主要过程可如下表达:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

这里的式子20也说明了我之前提的问题(红色字体),确实是对a=Deterministic Policy Gradient (DPG) 的读后感和几个问题求了梯度, 虽然求梯度后好像不包含action这一项....

还有最后一个问题那就是,Q-learning它可能不收敛啊,因此论文中给了Gradient-Q的形式,该方法的原型Gradient TD learning在Sutton的Reinforcement Learning: An Introduction一书的第11章有介绍,称使用Gradient-Q版本的方法称为COPDAC-GQ:

Deterministic Policy Gradient (DPG) 的读后感和几个问题

至此这篇paper的主要内容已经结束了,后面是一些实验与总结,感兴趣的童鞋可以看看这个算法到底牛逼在哪里。

这是我的第一篇博客,并且本人才疏学浅,对论文的理解肯定有许多错误之处,望路过的各位大神多多包涵!如果有不同的意见那是最好的,因为这本来就是为了交流才写的这个东西。