Policy Gradient Method

Policy Gradient Method

Value Function Approach

如 Q-learning 这些是值函数方法

有几个弊端:

  1. 值函数方法找出的策略是确定性策略, 而最优策略可能是概率策略
  2. 不收敛, 即任意小的值函数变化也会引起策略变化

注意上面说 Q-Learning 的动作价值函数一定收敛, 即

对于两个动作 , 上面式子分别存在常数

, 即两个动作对应的价值相同

那么

但是 的大小并不确定, 他们可能会在 之间振荡

这样的振荡对于任意的 都可能发生

这就会导致 不收敛, 即策略 不收敛

PG

相比于 DQN 的使用 NN 拟合动作价值函数 , 我们进一步使用 NN 拟合策略函数

NN 的边权即为策略的参数, 输入状态, 输出选择各个动作的概率

表示策略参数, 表示这个策略平均每步的收益

那么

其中 是一个正定的步长

用这个去更新 , 可以收敛到某个局部最优策略

Policy Gradient Theorem

有两种写法

第一种是取所有收益的平均值:

其中

表示已知使用策略 , 从 出发, 在许多步以后处于某个状态的概率

因为当策略与初始状态固定, 增加代表着不断采样, 最后得到状态的平稳分布, 即在足够远的未来, 我们用策略 采样得到状态 的概率等于

同时

所以 表示在足够远的将来, 用 策略得到的收益平均值

由此可以写出

可以看出这个值函数其实代表的是 Advantage 函数, 表示策略相对于期望值的优势程度

我们称这个写法为 average-reward formulation

第二种是从某个开始状态开始:

那么有

这个值函数代表的是 Value-Action 函数, 与 MDP 定义中的 含义相同

我们称这个写法为 start-state formulation

对于任意 MDP, 以及上面两种 的任意一种表达, 有

只给出 average-reward 的计算, start-state 同理

直接计算 :

两边用 求和:

而由于 是静态的, 那么迭代一步概率不变, 即

所以

这个定理的重要性在于, 对平稳分布的变化 没有出现

这样我们就可以通过采样有限轮, 按照 的一个近似值得到状态

之后 便是梯度 的一个无偏估计量

(unbiased estimate, 指采样得到的期望等于被估计量的真实值)

无偏是随机的梯度上升需要保证的条件

同时, 上面的结论 可以拓展一下, 让他加上一个任意的函数 :

这样结论仍然成立, 因为

Policy Gradient with Approximation

我们需要估计

对于 , 可以直接使用实际采样得到的收益值 作为 的近似值

对于第二种 ,

那么 的一个无偏估计量

现在用 NN 来近似

表示 的一个近似器, 参数为

一般地参数的更新量为最小化均方差求梯度

因为 无关, 求导为

那么收敛到局部最优后有

注意我们只要求梯度的期望为 , 不要求

实际上, 根据 , 我们可以让 不去直接逼近 , 而是逼近

这样的好处是降低梯度方差, 后面会提到

我们写出:

如果 满足 , 并且满足策略的参数化条件

那么

合并

条件 存在的意义就是为了让定理 成立

同时我们可以写出满足 的实际形式:

这里把 写成

它会使得 的平均值为 , 即 , 因为

这样看, 实际意义更接近 Advantage 函数, 而不是状态价值函数

所以, 即使我们根据 去逼近 , 由于 的约束, 只能逼近到 的去中心化 (零均值) 版本, 即

事实上, 我们在 , 的构造中引入了

所以我们不妨令 , 让 直接来逼近

这样还有好处: 引入 的改动不影响 的收敛过程, 但可以降低梯度的方差, 因为 期望为

Convergence of Policy Iteration with Function Approximation

下面不加证明给出, 迭代更新策略可以收敛

给出 是策略与价值函数的两个可微分近似器, 满足 和下面式子

为更新步长序列, 满足

那么给定初始 , 每一步的策略 对应于参数 , 以及更新规则:

那么

REINFORCE Algorithm

PG 的一个应用

策略 的参数为

状态与行动轨迹记为

符合 分布的状态与行动记为

记期望的返回值为:

这个期望值就是收益平均值 乘上步数

我们希望让 达到最大值

采用梯度上升的方式更新这个 :

类似于 , 梯度为:

我们对上面的式子乘上 再除去:

那么有梯度:

如果当前为时刻 , 记 为实际采样得到的返回值

(这里用 Policy Gradient 里的第二种 表示方式举例, 第一种同理)

那么

进而把 展开:

记号:

所以

所以用 作为 的一个无偏估计, 进行随机梯度上升

由于 可微, 所以 直接自动微分求出; 然后 采样得到

同时, 如果上面的式子 改成:

仍然成立, 因为 无关, 并且

根据上面的式子 , 我们可以看出, 如果 , 那么 , 为优势函数

这个 也可以用同样的采样方法得到

代替 可以降低梯度的方差, 提高稳定性

根据上面我们说的, 使用 不会影响 的更新

Actor-Critic

PG 的另一个应用

Temporal Difference

这个临时误差定义为

其实就是 的一个近似值, 因为

用 REINFORCE 改进

用 REINFORCE 改一下

REINFORCE 中使用 Monte-Carlo 方法采样出一个 来估计 , 或者说, 估计 函数

现在我们用另一个 NN 来估计 , 进而由上面的 TD 定义得到 的近似值

假设 参数为

那么 Actor 就是 , Critic 就是 , 用来评估 Actor 的表现

根据贝尔曼最优方程, 最优的 应满足下面式子:

就是说 越接近越好

所以我们希望最小化一个方差函数 :

求梯度得到

那么每一步:

注意 REINFORCE 中的梯度 中整个轨迹都走完后才更新参数

而 Actor-Critic 是每一步就更新一下参数


参考:

  1. Policy Gradient Methods for Reinforcement Learning with Function Approximation