基于策略的 RL 方法 - 连续动作是什么样的?

数据挖掘 强化学习 政策梯度
2021-10-08 09:33:13

我已经读过好几次了,基于策略的 RL 方法可以用于连续动作空间(左移 5 米,右移 5.5312 米),而不是离散动作,例如基于值的方法(Q-learning)

如果基于策略的方法产生从当前状态采取行动的概率 St,这样的动作怎么可能是连续的?我们的动作可能会得到 4 个概率,但我们仍然必须从四个动作中选择一个:

A1:10%

A2:35%

A3:5%

A4:50%

因此,我的动作怎么可能是连续的,例如:“顺时针转动 +19.2345 角”,这并不明显。这样的动作一定已经预定义为“19.2345”值,对吧?

1个回答

策略上策略梯度方法的主要要求是它们使用参数策略 π(a|s,θ) 关于参数是可微的 θ.

这不限于仅描述离散概率分布函数(例如神经网络的 softmax 输出层)。只需描述任何可微分且可能从中采样的概率分布函数即可。例如,正态分布就是如此,因此在连续空间中一个相对常见的解决方案是让神经网络输出接受连续值的动作向量的每个分量的分布的均值和标准差。

通常,神经网络不会执行采样来选择动作。对于 softmax 输出也是如此——它只是在 NN 之外的附加代码,用于解释值并选择动作。此外,与 softmax 不同的是,NN 不需要直接表示概率分布函数,只需足够的数据来驱动采样过程。但是,在计算策略梯度方法中的梯度时,确实需要考虑分布函数的性质。

因此,我的动作怎么可能是连续的,例如:“顺时针转动 +19.2345 角”,这并不明显。这样的动作一定已经预定义为“19.2345”值,对吧?

政策在这里可能输出的是分布的两个参数 N(μ,σ),然后您必须对其进行采样以获得像“顺时针转动 x 度”这样的动作。例如,神经网络可以输出(25,7)然后附加代码会将这些值解释为描述分布并取样。如果您的平均值为 25,标准差为 7,那么在您选择动作时,您可以在一系列其他值中获得“顺时针旋转 +19.2345 度”。值 19.2345 不需要在神经网络中预先定义或表示即可。