0

为什么钟摆有cos和sin的特征?我可以只使用其中的 1 个吗?或者我可以改用theta(角度)吗?

我希望对此 XD 有一些解释,欢迎直观或理论的解释。

4

1 回答 1

0

角度(thetas)通过 sin() 和 cos() 函数,因此观测值在 [-1,1] 范围内。这个 [-1,1] 的固定范围有助于稳定神经网络中的训练,这里已经很好地解释了这一点。

您甚至可以使用 sin() 或 cos() 之一作为您的观察结果。使用 sin() 和 cos() 的原因(我能想到的)可能是为了提供有关状态的更多信息。也许同时使用 sin() 和 cos() 会导致更快的收敛。

但是输入的标准化是必要的。因此,您不能仅将角度用作训练的状态观察值。

编辑:回复@陈天荣的评论 情节

我在一个实验中只使用 sin() 和 theta_dot 运行 DDPG,在另一个实验中使用 sin()、cos() 和 theta_dot。很明显,代理在第一次实验中永远不会学习任务。

我猜 sin() 和 cos() 的使用都是实验性的。

你可以在这里找到我用于实验的代码。

提高 RL 代理的神经网络的收敛速度是一个活跃的研究领域。您可以搜索样本有效的算法。例如:Sample-Efficient Reinforcement Learning with Stochastic Ensemble Value ExpansionSample-Efficient Actor-Critic with Experience Replay等。

于 2019-07-03T06:29:23.117 回答