上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1 生成数据的方法
让专家给我们提供希望机器人学习的任务示例,是生成用于训练机器人的数据的一种流行方法,这被称为示教学习或示教编程[16]。示教学习或示教编程有时被称为模仿学习和学徒学习,是一种使机器人能够从执行任务的观察专家(通常是人类)那里学习新任务的范例。机器人从示教中学习的主要原则是,最终用户可以在不编程的情况下教机器人新任务。因此,长期以来,示教学习或示教编程假设示教由现场人员提供。这是有局限性的,因为它需要一位专家来生成数据,因此它只能学习人类可以完成的任务。最近的方法使用模拟或最优控制来生成解决方案,这些解决方案将是穷举的或不可能由人类生成的。训练机器人的方法有很多,请参阅[120,16,7]。
示教学习或示教编程的另一种选择是让机器人通过反复试验自行学习,这一般被称为强化学习[77]。虽然这种方法仍然需要专家,但只是提供奖励功能,而不是示教整个任务。强化学习的一个缺点是需要很长时间才能收敛到最优解。为了解决这个问题,遵循两个主要趋势。第一种趋势是将示教学习与强化学习相结合。示教用于引导搜索,提供可行解决方案或限制搜索空间(见图2.1)。第二种趋势是使用真实模拟器离线执行搜索,并使用真实世界来优化初始搜索。强化学习的另一个一般性缺陷是,它需要仔细设计奖励。逆强化学习通过允许机器人自动推断奖励和最优控制器来解决这个问题[157]。然而,要做到这一点,机器人必须能够获得问题的好的和坏的解决方案的例子。这些通常由人提供,这再次提出了限制所需示教数量的问题,以便人类能够承受[23]。
图2.1 数据可以通过三个主要渠道收集:通过人类示教、离线通过最优控制或在线通过强化学习与机器人通信