编程机器人以教授自己如何移动

2021-05-12 01:03:12

近年来最令人印象深刻的发展之一一直是生产AI系统,可以教授自己掌握更大系统的规则。值得注意的成功包括与国际象棋和星际争霸的实验。鉴于自我教学能力,它的诱惑认为计算机控制的系统应该能够教授自己需要了解的一切。显然,对于像自动驾驶汽车一样的复杂系统,我们还没有那里。但更简单的系统应该更容易,吧?

也许不会。阿姆斯特丹的一群研究人员试图采取一个非常简单的移动机器人,并创建一个系统,该系统将学习通过学习过程来优化其运动。虽然研究人员的开发系统灵活而且可能是有效的,但由于现实世界的一些基本功能,它遇到了麻烦,就像摩擦一样。

该研究中的机器人非常简单,并且由不同数量的相同单位形成。每个都有一个板载控制器,电池和运动传感器。泵控制了一块可充气管,其将单元连接到相邻单元。当充气时,管道产生了推动两个单元的力。当放气时,管道会将单位拉回它们。

将这些单位联系在一起创造了一种自推进的火车。鉴于适当的通胀和通货紧缩,单个单位可以以协调的方式互相拖动并推动,提供向系统推动系统的定向运动,如九蚕。弄清楚送到泵的最佳系列命令将是相对简单的,这些命令控制泵的泵 - 简单,但不是特别有趣。因此,新工作背后的研究人员决定了解系统是否可以优化自己的运动。

每个单位都被允许独立行动,并获得了一套简单的规则。通胀/通货膨胀设置每两秒钟每两秒钟,唯一可调参数在第二次窗口中,泵将打开(它将保持不到一秒)。链中的每个单元都会随机选择开始时间,使用它几个循环,然后使用系统' S板载传感器来确定机器人移动的程度。在学习期间随机选择开始时间,并遵循细化期,在此期间对最佳性能的时间进行采样。

批判性地,链条中的每个单元都完全独立操作,不知道其他单位达到了什么。向前运动所需的协调自发地出现。

研究人员通过将两个机器人和惰性块连接到火车并将系统放在圆形轨道上。其中一些火车只花了大约80秒,以达到最大速度,迄今为止每秒超过2毫米的速度。在模型系统中的模拟确认,此硬件无法更快地进行此硬件。

但问题立即明显。一些系统陷入了局部最小值,优化了仅可能最大可能的速度。当团队向火车添加了第三个机器人时,事情以不同的方式进展了很差。

在这里,系统再次采用几分钟即可接近模拟中看到的最大速度。但是一旦他们达到这种速度,大多数系统似乎开始减速。应该是可能的,因为单位总是保存与它们到达的最大速度相关的周期开始时间。由于它们永远不应该有意选择较低的速度,而且没有理由慢下来,吧?

幸运的是,团队中的某人注意到系统并在经历统一的放缓。相反,他们在赛道上的特定地点逐渐停止,这表明他们在那些点的摩擦中遇到了问题。尽管机器人保持与轨道上其他地方的最大速度相关联的动作,但它们在不同系列动作可能更有效地通过摩擦力的位置进行。

为了解决这个问题,研究人员已经进行了一些重编程。最初,系统刚刚寻找最大速度和存储,以及与其相关的充气循环开始时间。交换机后,系统始终保存最新的速度,但如果存储的速度比最近一个更慢,则只更新开始时间。如果系统达到粗糙点并急剧放缓,它可以找到最佳的电源,然后以后重新优化最佳速度。

这种调整得到了四车系统,以平均速度为每秒两毫米。不像三辆车火车一样好,但非常接近它。

期望与现实之间的误解并没有结束那里。为了测试系统是否可以学会从失败中恢复,研究人员在其中一个单元中阻止了释放阀,迫使它进入总是充气状态。该算法重新优化,但研究人员发现,当泵仍然打开和关闭时,它甚至更好地工作,即使泵在推动任何空气时也是如此。显然,振动有助于限制可能弄坏整个系统的摩擦。

一旦火车已经足够长,就尝试了靠近最大值的开始时的细化系统也结果是有问题的。通过七辆汽车示例,系统将定期达到最大速度,但快速慢回来。显然,当火车很小时,可以忍受在细化期间测试的轻微变化,但是一旦火车足够长,他们就会脱离同步的汽车太多。

尽管如此,整个系统仍然非常有效,即使在简单的系统上使用。 它花了两个简单的属性,将它们转变为一个自学系统,可以响应环境变化,如摩擦。 该系统可扩展,因为它适用于具有多种列车长度的系统。 它是造成损坏的强大,例如当研究人员阻挡了阀门时。 在不同的实验中,研究人员将火车分成两半,两半都重新优化了它们的速度。 虽然简单,系统对我们如何考虑自我教学系统提供了一些洞察力。 实验提醒我们,即使是一些曲线也会抛出最佳自主教学系统。