想象一下,如果机器人可以通过观看演示来学习:你可以向一个家庭机器人演示如何做家务或摆餐桌。在工作场所,你可以像训练新员工一样训练机器人,教它们如何执行许多任务。在路上,你的自动驾驶汽车可以通过观察你在附近驾驶来学习如何安全驾驶。
南加州大学的研究人员在这方面取得了进展,他们设计了一个系统,可以让机器人从少量的演示中自主学习复杂的任务——即使是不完美的演示。这篇题为《使用信号时序逻辑从演示中学习》的论文在11月18日的机器人学习大会(CoRL)上发表。
研究人员的系统是通过评估每个演示的质量来工作的,因此它从看到的错误和成功中吸取教训。尽管目前的先进方法需要至少100个演示才能完成特定任务,但这种新方法允许机器人仅从少量演示中学习。
它还能让机器人更直观地学习,就像人类互相学习一样——你看着某人执行一项任务,即使是不完美的,然后自己尝试。对于人类来说,从彼此观察中获取知识并不一定是一个“完美”的演示。
“许多机器学习和强化学习系统需要大量的数据数据和数百个演示——你需要一个人来一遍又一遍的演示,这是不可行的,”该研究的主要作者、南加州大学维特比工程学院(USC Viterbi School of Engineering)计算机科学博士生阿尼拉德·普拉尼安(Aniruddh Puranic)说。
而且,大多数人没有编程知识来明确地说明机器人需要做什么,而人类也不可能演示机器人需要知道的所有东西。如果机器人遇到了它以前没见过的东西怎么办?这是一个关键挑战。”
学习从示威游行
在获得针对复杂任务的有效机器人控制策略(控制机器人的运动)方面,从演示中学习正变得越来越流行。但它很容易在演示中出现缺陷,而且还会引发安全担忧,因为机器人可能会学习不安全或不受欢迎的动作。
而且,并不是所有的演示都是一样的:一些演示比其他的更能指示所期望的行为,而且演示的质量通常取决于提供演示的用户的专业知识。
为了解决这些问题,研究人员集成了“信号时序逻辑”(STL)来评估演示的质量,并自动对它们进行排名,从而产生内在的奖励。
换句话说,即使根据逻辑需求演示的某些部分没有任何意义,使用这种方法,机器人仍然可以从不完善的部分学习。在某种程度上,该系统对一次演示的准确性或成功程度得出了自己的结论。
“假设机器人学习不同类型的示威——它可能是一个亲身示范,视频,或模拟,如果我做的事情是非常不安全的,标准的方法要做的两件事之一:要么,他们会完全无视它,甚至更糟的是,机器人将学习错误的事情,”合著者Stefanos Nikolaidis说,南加州大学维特比工程助理教授计算机科学。
相比之下,这项工作以一种非常聪明的方式,使用一些逻辑形式的常识推理来理解演示的哪些部分是好的,哪些部分是不好的。从本质上说,这正是人类所做的。”
举个例子,在一个驾驶演示中,有人跳过停车标志。这将被系统排在较低的位置,而不是一个好的驾驶员的表现。但是,如果在这个演示过程中,驾驶员做了一些智能的事情——例如,踩刹车以避免碰撞——机器人仍然会从这个智能行为中学习。
适应人类偏好
信号时序逻辑是一种具有表达能力的数学符号语言,使机器人能够对当前和未来的结果进行推理。前丰田工程师、USC Viterbi计算机科学助理教授Jyo Deshmukh表示,虽然之前在这一领域的研究使用的是“线性时序逻辑”,但STL在这种情况下更合适。
“当我们进入机器人和自动驾驶汽车等网络物理系统的世界时,时间是至关重要的,线性时序逻辑就变得有点麻烦了,因为它会推断变量的真/假值序列,而STL允许对物理信号进行推理。”
Puranic得到Deshmukh的建议,在跟Nikolaidis上了一节机器人学课后萌生了这个想法。Nikolaidis一直在研发能从YouTube视频学习的机器人。三人决定测试一下。三位教授都表示,他们对该系统的成功程度感到惊讶,教授们都称赞Puranic的努力工作。
“与广泛应用于许多机器人应用的最先进的算法相比,你会看到需要多少演示的数量级差异,”Nikolaidis说。
该系统是用minecraf类似游戏模拟器来测试的,但研究人员表示,该系统也可以从驾驶模拟器学习,最终甚至可以从视频中学习。接下来,研究人员希望在真正的机器人上进行试验。他们说,这种方法非常适合那些事先知道地图,但地图中存在动态障碍的应用:家庭环境中的机器人、仓库甚至是太空探索漫游者。
“如果我们想让机器人成为优秀的队友并帮助人类,首先它们需要非常有效地学习并适应人类的喜好,”Nikolaidis说。“我们的方法提供了这一点。”
“我很高兴能将这种方法集成到机器人系统中,帮助它们高效地从演示中学习,同时也能在合作任务中有效地帮助人类队友。”