其中w1和w2只是常数,可以平衡目标(w1 << 10和w2 << 1,因为它们是次要目标)
避免摇摇欲坠的控制:学会顺利驾驶世界并不是真正随机的。如果您注意到 - 机器人不会自发地开始颤抖。除非你把RL算法连接到它。 - Emo Todorov
左:摇晃控制 - 右:使用所提出的技术进行平滑控制
如果你到目前为止应用所提出的方法,它将起作用:汽车将留在赛道上并试图快速前进。然而,你可能会得到一个不稳定的控制:汽车将如上图所示振荡,因为它没有动力不这样做,它只是试图最大化它的奖励。
平滑控制的解决方案是约束转向角的变化,同时利用先前命令(转向和节气门)的历史来增加输入。这样,你就可以在转向中保持连续性。
例如,如果当前汽车转向角为0°并且突然尝试以90°转向,则连续性约束将仅允许其例如以40°转向。因此,两个连续转向命令之间的差异保持在给定范围内。这种额外的限制需要多花一点培训。
回顾方法在方法中,我们将策略学习与特征提取分离,并添加额外约束以平滑控制。
首先,人类通过手动驾驶汽车来收集数据(手动驾驶约5分钟内的10k图像)。这些图像用于训练VAE。
然后,我们在探索事件(使用随机政策)和政策培训(当人类将车辆放回轨道以优化所花费的时间时完成)之间交替。
为了训练策略,首先使用VAE(这里具有64维的潜在空间)对图像进行编码,并且与最近采取的10个动作(节流和转向)的历史连接,从而创建84D特征向量。
控制策略由神经网络(2个完全连接的32和16个单元层,具有ReLU或ELU激活功能)表示。
该控制器输出转向角和油门。我们将油门限制在给定范围内,并且还限制当前和先前转向角之间的差异。(Originally published at towardsdatascience.com-Antonin RAFFIN)