强化学习: Natural Gradient Descent

一、Problems

Policy gradient 存在不少问题:比如:

1、Poor sample efficiency as PG is on-policy learning,

2、Large policy update or improper step size destroy the training
     1 This is different from supervised learning where the learning and data are independent
     2 In RL, step too far → bad policy → bad data collection
     3 May not be able to recover from a bad policy, which collapses the overall performance

二、Score function & Fisher Information

假设我们有一个模型,是以vector θ为参数,在概率学中,为了学习θ使得最大化likelihood p(x|θ),我们会评估一个函数叫做score function:

score function(SF)的性质:SF的期望=0

SF的期望=0是一个非常好的性质,在policy gradient(PG)中,便是利用这个性质,在policy gradient中添加了baseline,在保证期望不变的前提下,降低了方差。

在PG的baseline 算法中(期望不变证明):

在PG的baseline 算法中(方差):

We can then see it as an information. The covariance of score function above is the definition of Fisher Information. 

如果用样本的形式表示则:

一个F的性质是,它可以被理解为 the negative expected Hessian of our model’s log likelihood.

三、KL散度

K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。

K-L散度是用来度量和使用基于Q的编码来编码来自P的样本平均所需要的额外的比特个数。

典型的情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或者P的近似分布。

也可以写成:

四、Natural Gradient Descent:

对于上述描述,我们经常使用Fisher Information 去估计Hessian矩阵,以此去求解二阶导数进行问题的优化,下面会更加深入的去了解Fisher Information Mateix的表示以及其应用与解释。

一般的,我们在进行机器学习 优化问题求解时,我们一般是使用梯度下降算法,比如以下在欧式空间钟:

在上述的表达式中,是在参数空间中,寻找一个向量d,使得θ+d是在领域中最小的。不过请注意:the way we express this neighbourhood is by the means of Euclidean norm. Thus, the optimization in gradient descent is dependent to the Euclidean geometry of the parameter space.

但是,在强化学习中,或者,如果我们的目标是最小化loss function(最大化似然函数),那么我们很自然地会在所有可能的likelihood 空间中采取步骤,可以调整通过参数θ来实现。由于似然函数本身是一个概率分布,我们称之为空间分布空间。因此,在这个分布空间中取最陡下降方向是有意义的,而不是在参数空间。

Fisher Information and KL divergence

Fisher Information Matrix F is the Hessian of KL-divergence between two distributions p(x|θ) and p(x|θ′), with respect to θ′, evaluated at θ′=θ。

Steepest Descent in Distribution Space

对KL-divergence在θ处进行泰勒展开

注意:第一项由于KL[pθ||pθ]=0,后面一项也是0(之前证明过),score function的期望=0,那么:

现在我们想要知道,如何更新vector d去最小化loss function L(θ)在distribution space,这样我们就知道在哪个方向上KL散度减小得最大,这类似于最速下降法,但在分布空间中,以KL散度为度量,而不是通常的欧氏度量参数空间。为此,我们进行最小化:

其中c是某个常数。把KL散度定为某个常数的目的是确保我们沿着空间以恒定的速度运动。进一步的好处是,这使得算法对模型的重参数化更具鲁棒性,即算法不关心模型是如何参数化的,它只关心由参数引起的分布。

我们把约束条件写成拉格朗日function:

求解方式当然是求偏导:

所以呢,Natural gradient被定义为如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值