我正计划制造一辆具有自动驾驶功能的小型汽车(可能会修改我目前的遥控车或使用机器人汽车套件,使用 arduino 和 raspberry)。
我将使用 CNN,我正在考虑如何收集数据(我想尝试与 Udacity 模拟器类似的方法)。我的疑问是针对监督学习或强化学习是否更好。
我更倾向于监督学习,但我不知道记录数据的最佳方式。如果我要使用机器人汽车套件,前轮不会转向(它使用不同的车轮速度向左或向右转)。所以我可以为每个方向创建 3 个函数,比如“soft left”、“medium left”和“hard left”来在我训练它时控制汽车,然后从 7 种可能性中预测: - soft left、medium left、hard left , center, soft right, medium right, hard right 所以 7 种可能的输出。
否则,如果我使用前轮能够转向的汽车,我有 3 个可能的类别,例如左键为 -1,中键为 0(按下任何按钮),右键为 1。所以 3 种可能的输出,转向角没有任何梯度。
老实说,随着强化学习,我不知道从哪里开始。当汽车出现问题并给予奖励时,我该如何告诉它?使用模拟器很简单,但是使用真正的汽车,我如何为收集的每一帧分配奖励分数?如果您有任何关于此的论文,我将不胜感激。
您认为最好的方法是什么?