#AI#RL

1

“策略”本质上是智能代理的”大脑”

深度 RL 中最常见的两种随机策略是分类策略和对角高斯策略。 分类策略(就是多分类器)可以用于离散动作空间,而对角高斯策略用于连续动作空间。 两个关键计算在使用和训练随机策略时至关重要:

  • 从策略中采样动作
  • 计算特定行动的概率对数

多变量高斯分布由均值向量 和协方差矩阵 描述。对角线高斯分布是协方差矩阵只有对角线元素的一种特殊情况。因此,我们可以用一个向量来表示它。

对角高斯策略总是包含一个神经网络 将观测值映射到动作均值。协方差矩阵通常有两类不同的表示方式:

  1. 存在一个单一的对数标准差向量 ,这不是状态的函数: 是独立的参数。(你应该知道:我们对 VPG、TRPO 和 PPO 的实现就是这种方式。)
  2. 存在一个神经网络将状态映射到对数标准差 。它可选地与均值网络共享一些层。 请注意,在这两种情况下,我们输出的是对数标准差而不是直接输出标准差。这是因为对数标准差可以在 中取任意值,而标准差必须是非负的。如果不需施加这些类型的约束,训练参数会更容易。

采样。给定均值动作 和标准差 ,以及来自球形高斯分布的噪声向量 z ( ),可以计算出一个动作样本 ,其中 表示两个向量的对应元素乘积。

对数似然。对于均值为 、标准差为 的对角高斯分布,k 维动作 a 的对数似然由以下公式给出:

2

环境模型,是指一个预测状态转换和奖励的函数。拥有模型的主要优势在于,它使智能体能够进行前瞻性的规划,预见一系列可能选择的结果,并明确地在选项之间做出决定。智能体随后可以将前瞻规划的结果提炼成一个学习到的策略。

无模型的 RL 中有两种主要方法来表示和训练代理: 策略优化。这类方法明确将策略表示为 。它们优化参数 ,通过直接在性能目标 上梯度上升,或间接地最大化 的局部近似。这种优化几乎总是“在策略”,这意味着每次更新仅使用根据最近策略执行动作时收集的数据。策略优化通常还学习一个在策略值函数 的近似器 ,该近似器用于确定如何更新策略。

一些策略优化方法的例子是

  • A2C / A3C,该算法通过直接最大化性能目标来进行梯度上升
  • PPO,其更新间接最大化性能,通过最大化一个代理目标函数来实现,该函数给出了更新后 将如何变化的保守估计。

Q-Learning。这类方法学习一个近似器 用于最优动作值函数 。通常它们基于贝尔曼方程的目标函数进行优化。这种优化几乎总是”离策略”,这意味着每次更新可以使用训练过程中收集的数据,而不管数据获取时智能体是如何探索环境的。相应的策略通过 之间的连接获得:Q-learning 智能体采取的动作由

Q-learning 方法的示例包括

  • DQN,一个经典的作品,极大地推动了深度 RL 领域的发展,
  • C51,一个变体,学习一个回报的概率分布,其期望值为

策略优化与Q学习之间的权衡。策略优化方法的主要优势在于它们是基于原理的,即你可以直接优化你想要的东西。这通常使它们更加稳定和可靠。相比之下,Q学习方法只是间接地通过训练 Q_{\theta} 来满足自一致性方程来优化智能体的表现。这种学习方式存在许多失败模式,因此它通常不够稳定。但是,当Q学习方法有效时,它们在样本效率方面具有显著优势,因为它们可以更有效地重用数据,而策略优化技术则做不到这一点。

令人意外的是,策略优化和Q学习并不是不兼容的(在某些情况下,它们甚至可以等价),并且存在一系列算法介于两者之间。这些算法能够在策略优化和Q学习的优点和缺点之间进行精细的权衡。例如

  • DDPG,通过相互改进来学习确定性策略和Q函数的算法,
  • SAC,使用随机策略、熵正则化以及一些其他技巧来稳定学习的变体。

3

我们希望通过梯度上升来优化策略,例如 。 策略性能的梯度 被称为策略梯度,通过这种方式优化策略的算法被称为策略梯度算法。

在机器学习实践中,人们通常认为损失函数在训练过程中是一个有用的信号——“如果损失下降,一切就好”。但在策略梯度中,这种直觉是错误的,你应该只关心平均回报。损失函数毫无意义。

Expected Grad-Log-Prob 引理 假设 是一个参数化概率分布,覆盖随机变量 x,则:

EGLP 引理的一个直接后果是,对于任何仅依赖于状态的函数 b,

这允许我们在表达式中添加或减去任意数量的项,而不改变其期望值:

任何以这种方式使用的函数称为基线函数。

参考