今天我将和大家分享控制理论和机器学习之间的融合,这是从AI的角度分析的。从我的职业生涯中,我一直为了安全的目的加强设计控制,在过去为NASA工作过,同时在自动化和无人机这方面也有一些研究。在过去的十年里,我们花了越来越多的时间将AI的技术与控制算法相融合,今天我和大家分析其中一个重点问题,叫做可达极,就是为了实现安全,解决不同的问题,来设计的可达性。第二部分分享机器学习怎么样在控制环境中得到融合,怎么样建立一个完整的安全系统。所以今天我们所开发的主要工具就是可达极,这是一个控制系统,也是我们想要控制的系统。我们的主旨就是如果有一个模型,这里大家看到幻灯片上已经放上了一个模型,它是一个加减式的等式;这里是一辆汽车的行驶轨迹,这里有一些变量,包括它的位置、速度和加速度等,这些都是变量;还有人的输入和自动的输入,都在这个图标上有所表达;转弯、加速等都囊括其中了。我们的干扰因素也是可以控制的系统中的一部分,但是你必须有所控制,因此有一些环境影响。或者说,这些汽车它们必须有一些行为,在这个系统中你可以依赖它,但是却不太了解它。这里我们要有清晰的控制,就是要利用这个模型设计一个自动的模式,来进行输入,而且是在干扰的前提下进行输入。举个例子,如果这个系统出现了很大的问题,我们就会发现这些因素都是系统的一部分。比如说在两辆车即将会车时,我们会有这样一种计算,就是在最差的干扰条件之下,它是否会进入这个地区,就是叫向后可达极,既使是有非常高的状态基础。根据我们常年的分析,我们会发现将它应用到其他问题上也会非常困难,大家会看到更多的例子。这是基于我们的系统模型所制作的,但是如果没有模型的话,我们怎么把机器学习融入其中?一会我跟大家再分析。
这里先看一些例子,第一个例子是我研究的空中交通管制和飞机的交通问题,怎么样避免两架飞机的碰撞。比如说这是一架飞机,这是另一架飞机,有一些动作,但是你并不知道它这些动作到底是一个干扰项还是怎样,而且还要将飞机的原方向计算到其中。美国联邦航空局他们计算出来这两架飞机是5英里,它们的相对位置,大家看到X轴Y轴,还有相对垂直的距离,可以看到计算的结果是怎样的。最开始好像是一个圆柱形的轨迹,它们可能距离小于5英里,然后你会看到它持续的时间是怎样的。如果红色的飞机飞入蓝色飞机的可达轨迹,它们就有可能产生碰撞。在这里更加直观地分析一下。这里有一个模拟图,我们会在这里把某一些极考虑到其中,绿色的这架飞机有一个控制法则。但是,另一方面如果我们把这个量计算到极中,这两个轨迹就不可能交汇了,因此它们的安全验证就可以得到保证。如果是其中一架飞机它在最开始时不去触及轨迹上某一点,两者就不会相撞。这是我带的第一位博士生,他在温哥华建立了一个软件包,就说明了我刚才的理论。
我们也对这个系统进行了测试。我们在伯克利有自己的机器人实验室,也有四旋翼的飞行器,在加利福尼亚NASA实验室,也对两个无人机做了实验。这里是飞行员的驾驶坐舱,我们也是避免两架飞机的相撞,大家在右上角可以看到视频的截图,下面是相关的数据。因此这两架飞机它们是相对而行,第一个是它的轨迹,蓝色的飞机处于可达极中的,这样的计算也可以在实时进行。
我们也用真实的飞机进行了测试,比如说这里大家看到的飞机,还有无人机等;这是波音F15飞机,我们也将它在无人机上进行了实验;我们有一个F15飞机,这也被我们放到第一轨道上,所有这些都是可达极中的。大家看到这架飞机,根据避免撞击的努力而进行的计算,这里是两条不同的飞机它们的撞击轨迹。这张图显示我们可以实时应用技术,来计算它们的轨迹。这里都是四旋翼飞行器,我之前还在斯坦福当教授时就做了类似的实验,在每个街角可以做四旋翼的飞行器,4个学生控制着4架飞行器。下面可以看到相应的控制,每架飞机周围可以看到一个可达极,每架飞行器和其他3架飞行器相撞的可能性,还有就是安全区在哪里?如果出现这种撞击的可能,旋翼飞行器上的自动系统就会启动,防止相撞,可以最大保证它们处于安全距离之内。我们习惯用模型在这里进行计算,有一个系统可以计算最差的情况。我们认为最差的情况也是有极限的,所以可以找出一些可行的解决方案。我们也可以用这个技术达到理想的效果。我们看一下这是一个理想化的例子,我们将所有的这些干扰因素纳入到这个因素中进行控制,这是非常重要的,我们可以进行路径的跟踪。
我们还可以对它们进行排序,可以看到目标和不同的极子,包括目标极和避免极,这样就可以让飞行员去控制这些干扰的因素,从而控制碰撞的情况。另外就是我们在NASA也开展了另外一个实验。在NASA有一个交通管制系统,这是在北部海湾地区的地图,在这张地图上,显示出了海湾的地形情况,这里展示出了我们飞行的最短路径,右边的图显示的就是在这个图形上面也进行的速度分析,以及最短路径的展示。可以看到,在人口低密集的地区,这个最短路径可以更快速的到达,这个要比人口密集地区更加快速的到达。所以,在人口密集的地区会存在一些风险的因素,需要进行控制。
在这个理论的基础上,我们就开发了一个控制系统来进行无人机的控制。这是一个控制系统,它是基于一个车队开展的控制系统,可以看到在这个模型中,这些车队都是以同样的速度开发的。另外可以看到,这是我们控制系统其中的一个部分,它们可以加入到高速公路中,也可以加入车队中,而且可以看到不同模型的位置,它们也是受到了自动化的控制。我们需要使用这个控制系统,能够让这些车辆安全地进行切换。所以说,在这个车队中,因为有了这个控制系统,所有车辆都能够非常安全的驾驶。这是一个例子,我们可以看到可达极的情况,虚线表示的是高速公路,圆圈表示的是目标的位置。通过对风险因素的控制,可以让我们保留在一个非常安全的区域。实际上,我们是使用一些算法进行计算,所有的计算都是通过自动化进行计算的。另外,我们将侵入者也要考虑进来,它们也是属于干扰的因素,我们的车队需要对这些干扰者,也就是红色的车辆表示的位置进行控制。我们需要对这些干扰的因素进行控制,这样就能够让车辆从高速公路上再次加入到车队中,从而进行安全的驾驶。
我们可以看到这里有三辆车,它们都在追随其他的车辆,形成了一个车队,这里有一个非常小的实验室进行车辆的控制。另外还有干扰者,在这里,这个干扰者就进入到了车队的最前端,可以看到,这里也有一个可达极,我们也可以使用3辆车进行自动化的控制,从而让这个车队进行安全的控制,这也是我们在NASA开展的实验。
所有我刚才讲的内容都是基于模型的,我们可以在模型上进行计算、进行控制。对于一个模型来说,典型的组成部分就是有一个可达极。要根据环境设置可达极,一般来说需要建立一个非常好的模型,人们的行为和互动也要纳入进去,我们需要更新安全的配置。
下面看一个有趣的体验,我们要进行一个基于模型的控制,设计了一个使用神经网络和深度学习进行的在线的数据控制系统。这个车辆它有两个操作系统,其中一个正旋曲线系统进行控制;另外一辆车是使用偏航的系统进行控制,这是我们的培训极。在这个模型基础之上,能够跟踪这些车辆的路线和轨迹,这样我们就可以了解到这些车辆的轨迹,从而对它们进行安全的控制。我认为,这个系统运作的非常良好,并且可以通过实践来证明它的运作非常良好。通过这个控制系统,可以追踪这辆车的轨迹,这是一个非常简单的两层模型。
再看最后一部分,也就是将学习和安全结合起来。首先,我们将这两方面分离开来,成为两个不同的问题,可能在这个过程中会遇到非常大的干扰因素,但是我们有基于安全的控制,所以就会保证在这个驾驶过程中的安全。我们有了对于可达极的计算以后,就能够确保驾驶在最糟糕的情况下也能够安全。另外设置了一个以上的安全极,使用在线的数据学习来更新我们的模型。另外将学习和安全分为两个不同因素,并且进行一些函数的运算,保证安全性。
在这里我们使用了四旋翼飞行器进行了实验,实验中飞行器上上下下进行飞行。在这个实验中,我们找出了实验的安全区。在这个曲线中找到了它的区间所在,以及可达极;然后再把这辆车的模型拿走,需要去学习自己的模型,来控制它的安全性。所以,在这个过程中也是将安全和学习分离开来。这里是我们使用的安全曲线。实际上这条学习的曲线也是非常简单的,我们在运行它时发生了什么?首先就是这个飞行器落到了地上,但是它并没有触碰到地面,因为在飞行器的底部有一个缓冲器,然后它就会反弹过来。也就是说,在这个飞行器坠落与反弹的过程中,它会自动进行学习。在线的系统上面对它的轨迹进行追踪,就可以学习到如何追踪这个轨迹了,所以说飞行器总是在缓冲区保护范围之内的。我们可以将这两个简单的部分组合在一起,因为它是整个系统。对于人类的司机来说也是这样的。人类司机最初学习驾驶时也是非常保守的,然后慢慢接近安全的阈值了,所以慢慢就胆大一些。这个道理同样适用于飞行器,因为有缓冲器的保护,所以它也是慢慢地、开放地进行驾驶的。这里展示的是一个高斯的过程,是通过函数进行高斯的分配。所以,我们可以学到在这个系统中有一些平均的函数,还有一些方差,还有对干扰因素进行衡量等。
这里的观点?我们通过一些函数的计算进行安全控制,需要了解一些不安全的因素,它们的组成是什么?以及它们在函数中的权重是什么?我们要考虑最糟糕的因子,对这些不安全因素进行控制。随着时间的推移,我们开始建立一个非常好的模型,在模型中加入我们的考虑。我给大家展示一个视频,显示了我们做的实验,而且在这个实验中我们用实际数据对缓冲器进行了更新。在这里有两个实验进行排序,我们是平行地进行排序,左边进行四旋翼飞行器的实验,这和之前的实验是一样的,但是在这个实验中并没有对数据进行更新;另外一个实验中,我们对安全性进行了更新,我们只是根据这个模型进行运行,根据一些算法进行计算,对这个轨迹进行追踪,就能够控制它的飞行。我们可以看到,这个飞行器也是下坠,但是由于我们的安全控制,由于缓冲器的保护,它就没有碰到地面,反弹回来了。这里有一个风机,打开风机就会产生风的干扰。在过去的实验中,并没有将它纳入到实验中,现在我们在这个实验中,将风产生阻力的干扰因素纳入进来,所以这两个研究会产生不同的结果。在这个实验中,我们会将不安全的干扰因素纳入进来,然后在这个模型中进行计算,在左边的图形中可以看到,缓冲器能够反弹,将飞行器反弹回来。此外还可以看到,开始对这个飞行器的缓冲器进行边界的计算和了解,就可以对这个轨迹进行验证,可以更加安全控制这个飞行器的驾驶。我们可以对安全极进行精简。如果将风机关闭以后,缓冲器又可以不受干扰进行工作了。
最后总结一下,刚才主要讲了两个要点。首先,通过控制理论和可达极,分析了我们的系统模型,非常好用,而且很容易融合到它的运行轨迹中,提高新机器的能力。我们做了众多的实验,我今天有机会和大家分享了一下,我们希望探索这样的算法,在不同的背景之下去探索;也希望在人机的比赛中运用这种算法,我们可以学到人更多的规律,还有人的行为规律。我们怎么样去保证数据的收集,同时能够实现实时的数据收集的反应,我相信这是我们今后研究的重点。很多系统中最大的不确定性是人的行为,怎么样用一种参数模型,来为我们的人类行为建立一个框架。
(本报告根据速记整理)