Basic Terminology

评估策略的方法

在使用折扣因子的基础上,记

为策略 的性能指标

关于 的不严谨的估计

首先,对于某一个状态 被转移到这个状态的概率是

那么对于 就可以做出一个不严谨的估量,即:

策略梯度定理

策略梯度定理阐释了如何计算策略的梯度,即:

注意这里求梯度的时候是没有考虑 这个部分贡献的梯度的,具体的原因在我的另一篇文章Policy Gradient Methods中有提到,因为这里只关心梯度的方向,并不关心梯度的大小。

Actor-Critic 模式

在上面的评估函数中,可以发现,想要统计出 并不是一件很简单的事情,如果使用蒙特卡罗方法采样来获取的话,会需要大量的时间来采集数据,这是不希望看到的。所以我们选择再造一个网络,来拟合 函数,以对这个策略作出评估。Actor 和Critic的分工如下:

  • Actor:负责根据策略梯度定理调整参数 的值来更新策略
  • Critic:学习一个Q的函数来拟合当前的价值函数,即拟合
    此时更新的公式变成了:

Off-policy Actor-critic模式

如果此时的行动策略 不等于当前的评估策略,即 在这个情况下,策略梯度的表达式变更为:

Actor-Critic模式的参数更新方式

首先定义

换句话说,这里的 就是表征上一轮中能够最大化对于特定状态 的动作

那么下面就可以给出在线离线 两种方式下的参数更新方法

On-Policy Deterministic Actor-Critic

在该模式下,参数 表示在 时刻的TD-Error,而 表示在 时刻Agent获取到的回报。更新方法为:

对于价值函数的拟合参数 拟合目标是让 ,其更新方式为:

对于当前策略的参数 的更新方式是:

Off-Policy Deterministic Actor-Critic

在离线的情况下,更新的公式是比较类似的,只是第一个TD-Error的更新变成了:

为什么这里不用加重要性采样了?

原文中有一段话:

However, because the deterministic
policy gradient removes the integral over actions, we can
avoid importance sampling in the actor; and by using Q-
learning, we can avoid importance sampling in the critic.

Algorithm

算法的结构如下图: