在 PPO 中使用标准差或熵进行探索的优缺点是什么?

人工智能 神经网络 强化学习 政策梯度 近端策略优化
2021-11-06 10:20:36

在尝试实现我自己的 PPO(近端策略优化器)时,我遇到了两种不同的实现:

用标准探索

  1. 收集轨迹ñ时间步长,通过使用以策略为中心的分布和逐步训练的标准变量进行探索
  2. 训练策略函数ķ脚步
  3. 训练价值函数ķ脚步

例如,OpenAI 的实现

熵探索

  1. 收集轨迹ñ时间步长,直接使用策略函数
  2. 同时训练策略和价值函数ķ步骤,两个模型的共同损失,以及用于探索目的的额外熵奖励。

比如官方论文中描述的PPO算法。

这两种算法的优缺点是什么?

这是 PPO 特有的,还是一般来说这是关于策略梯度算法的经典问题?

1个回答

这两种实现可能比你想象的更接近。

简而言之:

PPO 有两个部分训练期间的平局有噪音(有学习的标准偏差),有助于探索新的有希望的行动/政策。并且在损失函数中添加了一个术语,旨在防止噪声崩溃,以帮助确保探索继续进行,并且我们不会陷入糟糕的(局部)平衡。

事实上,对于连续动作,您在 Ex 中描述的损失函数中的熵术语。2,只有当动作是随机的时才有意义,即当动作选择有一些标准偏差时,就像你在Ex中描述的那样。1.

更多详情:

一方面,PPO(至少对于连续行动)训练一个中心/确定性价值(比如平均策略或接近平均数),以最有利可图的行动路径为目标。另一方面,随之而来的是一个标准偏差,使动作在确定性值周围随机抽取,并带有噪声。这是您在示例 1中描述的部分。噪声有助于探索新路径并根据这些采样路径上的奖励更新策略。熵本身是对抽签噪声的度量,因此也是策略训练标准差值的间接指标。

现在,随着训练的进行,熵趋于衰减,也就是说,随机抽取逐渐变得不那么随机。这可能有利于奖励最大化——实际上最好的抽奖是为了奖励最大化——但它不利于政策的进一步改进:随着对新行动路径的探索消退,改进可能会停止或放缓。

这就是熵鼓励x * entropy的用武之地。PPO 预见到在损失函数中包含熵:我们使用熵系数(例如 0.01)将损失减少x,激励学习网络增加标准偏差(或者,不让它们掉太多)。这部分是您在示例 2中描述的内容。

进一步说明:

  • 在利用过程中,我们通常会关闭噪音(隐含假设action std = 0)并选择确定性操作:在正常情况下,这会增加收益;我们正在选择我们的最佳行动估计,而不是围绕它的随机值。

  • 人们在提到模型entropyentropy coefficient添加到损失函数时并不总是准确的。

  • 其他具有连续动作的 RL 算法也倾向于使用具有标准偏差/熵的噪声 drwas。