当你在 DQN 中使用 softmax 而不是 epsilon greedy 选择动作时会发生什么?

人工智能 强化学习 dqn 政策梯度 epsilon-贪婪策略 softmax-策略
2021-10-21 03:44:08

我了解 RL 的两个主要分支是 Q-Learning 和 Policy Gradient 方法。

根据我的理解(如果我错了,请纠正我),策略梯度方法具有内置的内在探索,因为它使用概率分布选择动作。

另一方面,DQN 探索使用ϵ-贪婪的政策。选择最佳动作或随机动作。

如果我们使用 softmax 函数来选择 DQN 中的下一个动作怎么办?这是否提供了更好的探索和政策趋同?

1个回答

另一方面,DQN 使用 epsilon 贪婪探索进行探索。选择最佳动作或随机动作。

这是一个非常常见的选择,因为它易于实现且非常健壮。但是,这不是 DQN 的要求。您可以使用其他动作选择机制,前提是所有选择都包含非零被选中概率。

如果我们使用 softmax 函数来选择 DQN 中的下一个动作怎么办?这是否提供了更好的探索和政策趋同?

在某些情况下可能会。一个关键的好处是,它将倾向于关注接近其当前最佳猜测的行动选择。一个问题是,如果 Q 值估计中有足够大的误差,它可能会卡住,因为探索可能非常有利于当前的最佳值估计。例如,如果一个估计准确且相对较高,但另一个估计要低得多,但实际上是一个不错的动作选择,那么重新采样错误估计的 softmax 概率将非常低,并且可能需要很长时间使固定。

一个更主要的问题是 Q 值不是定义偏好的独立 logits(虽然它们将采用策略梯度方法)。Q 值具有基于总奖励的内在含义和规模。这意味着最优和非最优 Q 值估计之间的差异可以是任何规模,可能只有 0.1 的值差异,或者可能是 100 或更多。这使得普通的 softmax 成为一个糟糕的选择——它可能建议在一个问题中采用接近随机的探索策略,而在另一个问题中采用接近确定性的策略,而不管在当前学习阶段哪种探索可能有用。

对此的解决方法是使用 Gibbs/Boltzmann 动作选择,它通过添加缩放因子来修改 softmax - 通常称为温度,并记为T- 调整动作选择之间的相对比例:

π(a|s)=eq(s,a)/TxAeq(s,x)/T

这可以很好地集中以后的探索来细化可能是好的但很少犯明显错误的动作之间的差异。然而,这是有代价的——你必须决定开始T, 衰减率T和最终值T. 代理可能估计的最小/最大动作值的粗略概念会有所帮助。