
在开始说基于Stochastic Policy
的方法之前,我们需要了解一下Policy Gradient
的方法。在Policy Gradient里面有一个非常重要的定理:Policy Gradient Theorem。
- Theorem:
For any differentiable policy , for any of policy objective function
, the policy gradient is:
上面这个式子也是Stochastic Policy
里面的核心梯度公式,你可以不需要证明怎么来的,但是需要理解它背后的思想。
Policy Network Gradients
如果我们的Policy
用Neural Network
来近似拟合,最后一层使用Softmax的话,那输出的动作概率可表示为如下函数形式:
其中 is the score function of a state-action pair parametrized by
, which can be implemented with a neural net。
The gradient of its log-form可表示为:
上述公式中最后一个等式很有意思,它是score function
对某一个具体的动作 求梯度,然后减去对所有动作的梯度的期望。(可以思考一下其背后的含义)。
Looking into Policy Gradient
在Policy Network Gradients
里面我们将策略引入Softmax
函数进行了拆解求导,得到一个梯度,这个梯度还需要去乘上优势函数再拿去做更新,所以这里需要回顾一下Policy Gradient
方法。
- Let
denote the expected return of
:
- We collect experience data with another policy
,and want to optimize some objective to get a new better policy
。
由于强化学习的学习过程需要大量数据,所以我们必须从提高数据使用率,因此过去的policy
采集所得到的数据,还是要拿过来用,由此也是off-policy
的一种方法。
- Note that a useful identity
其中的可以Trajectories sampled from
。
表示的是优势函数。
Advantage function展开表示如下:
很多时候你也会看到一些简洁的表达,比如,其中
描述的是baseline的思想,而
表达的是每个动作选择的好坏,而
。
Proof
对上述等式证明:
那上述公式的直观理解是什么样子的呢?相当于是在老的policy基础之上做一点改进,而改进的优势函数又是基于old policy所得出来的,但action是基于新的策略选出来的,所以及时奖励会去修正原来Old policy得出来的
。
- S. Kakadeand J. Langford. Approximately optimal approximate reinforcement learning. ICML. 2002.
More for the Policy Expected Return
我们再来分析一下advantage function:
Want to manipulate into an objective that can be estimated from data :
其中表示的是基于当前策略
,
被采样采中的概率,乘以它是哪一次被采中的概率
。
但是上述等式依然要从新的策略里面去
sample
数据,当策略改变之后,要重新sample
数据才可以更新。为了解决这个问题,引入重要性采样。
也就是state
从新的policy采样,
从
old policy
采样。上面这一步是完全恒等,但是 依然需要从新的policy上面来采样。
Surrogate Loss Function
- Define a surrogate loss function based on sampled data that ignores change in state distribution :
此时数据可以完全由old ploicy
采样得到。这个可替代(surrogate)的loss function
与之前的loss function
区别就在于state
是从哪个policy sample
出来的。上述等式能够替代的条件是old policy
和新的policy
差距不要太大。
- 小节:
现在我们来对上述过程做一个小结:
开始我们是有一个Target function
:
之后通过重要性采样,使得其在old policy
上采样:
然后我们对其进行求导:
我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!
网友评论