主页 > 开源代码  > 

强化学习-NPG

强化学习-NPG

NPG来源于PG算法,是TRPO算法的前身。

随机梯度策略算法的输入输出问题(不得不考虑的):

PG算法用函数表示策略,该表示方法不直接输出动作(有别于“确定性梯度策略”),那么就有两种可以采用的输入输出方式:

(1)输入状态s,输出该状态下可选动作的选择概率

(2)输入状态s与该状态下可选择的动作a,输出该状态-动作对的概率

很显然,这以上两种方式都不能满足我们对动作空间连续的需求,第二种方式还需要多次推理,显然都超级不好。

由于不直接输出动作,而是输出动作的概率,再依输出的概率选择概率最大的动作。故此,我们想到了正态分布,可以使Actor网络输出一个正态分布的“均值”与“方差”,代表动作的概率分布,并从这个分布中进行随机采样(分布越集中采样均值的概率越大,同时这样也使策略具备了探索性)

一、PG算法复习

随机策略梯度算法用函数表示策略,输入状态,输出选取动作的概率:

通过更新函数的参数来更新优化策略。

参数更新的目标是最大化“目标函数”,目标函数是我们对一个策略表现好坏定义的评价标准,从而可以量化一个策略的好坏。一般而言,我们最常用的目标函数是“平均V值”:

这个期望可以进一步展开成该状态下q值与a的概率乘积的和:

目标是最大化这个评价指标,这个指标的计算包含策略函数的参数。

在这里补充上对策略梯度公式的推导

目标函数为:

目标函数对求梯度(认为q与参数无关):

由于存在以下关系:

将这个关系带入梯度式子:

写成期望的形式之后就可以用SGD的方法去迭地更新参数(如果不写成期望的形式就没有办法推及到GD,再到SGD),最大化:

其中我们得不到,只能用MC或TD的方法近似。

二、NPG

稍微理解一下就行,没必要深究信息论的东西,只需要知道KL散度可以衡量新旧策略的差异就可以了。

2.1 欧氏空间与黎曼空间

考虑测量地球上两个点之间的距离:

(1)两点之间,线段最短(欧式几何)

(2)沿地球表面找一条路径(黎曼几何)

区别在于所处空间不同,度量的选择不同。

在欧式空间中所使用的“度量”(海森矩阵),不同于欧式空间中所使用的度量。

常规的梯度下降法中,参数的优化方向是目标函数的梯度方向,这要求目标函数的变化量与参的变化量要在同一个欧式空间进行度量,但是很多时候,虽然参数的变化量是在欧式空间中度量的,但是目标函数(包含概率分布)却不适合在欧式空间中度量,在信息几何中衡量两个分布之间的概率属性的距离采用KL散度?还是不懂,感觉很难懂

局部的流形具有欧式空间的性质(小范围变化近似的基础)

2.2 Hessian矩阵

Hessian矩阵被定义为一个多元函数的二阶导数矩阵:

2.3 Fisher信息矩阵

Fisher信息矩阵是用来衡量样本信息量

样本里信息量越多,估计的随机变量的分布就越准确

KL散度与Fisher信息矩阵是有一定关系的

2.4 熵

网上找公式

2.5 KL散度

2.6 自然梯度法

用自然策略梯度代替策略梯度

把KL散度的约束隐式地通过Fisher信息矩阵加入到了迭代中

标签:

强化学习-NPG由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“强化学习-NPG