本文摘自雷锋网,原文链接:https://www.leiphone.com/category/academic/rdtmqDX7xwgCl7yE.html,侵删。
北京时间10月28日,商汤科技和 AI 研习社共同举办决策智能系列公开课,对如何提高决策 AI 通用能力、泛化能力和适应能力以及复杂场景下 AI 鲁棒性进行介绍,AI科技评论对此公开课做了不改变原意的整理。
人工智能技术已经进入从感知智能到决策智能演变的关键节点,决策AI技术的前沿进展和突破也到了在实际场景部署和应用的阶段。决策AI技术应用的成功与否直接决定了这一技术在产业界的认可程度和决策AI技术的发展方向,应用领域的难题也可以反过来指导决策AI理论的发展和创新。另一方面,建立成熟的,有一定规模的应用生态成为了决策AI技术应用的另一个重要议题,生态构建的成功与否体现了决策AI技术的应用门槛、其通用能力和泛化能力以及对不同任务的适应能力。应用生态也可以更加广泛地拓展决策AI的应用领域,打通不同应用领域所面临的问题和挑战。
此外随着人工智能技术的发展,从atari到go再到星际争霸2,结合深度学习、强化学习以及大规模分布式平台训练出来的AI已经在各个竞技项目的水平已经比肩甚至超越了人类,但在复杂场景下AI仍然面临着巨大挑战,游戏AI落地还需解决训练成本,模型的泛化性和鲁棒性等多个难题。
2 决策AI应用与生态
决策AI是一类不同于感知性AI的人工智能方法,它更侧重的是在动态环境中进行决策和交互的策略网络。
决策AI的难点与挑战
决策AI主要包括以模仿学习、强化学习为主的策略搜索方法的技术。目前,它主要应用于自动驾驶、城市交通控制、游戏AI、和推荐系统等领域。
决策AI在学术和应用层面面临着三个主要的难点和挑战:
a) 环境侧的多模态输入 在环境中,模型的输入通常是多模态的。比如右上角的图片所示的典型样例:自动驾驶场景。与学术界的前提不同,实际应用中的自动驾驶模型自身无法仅仅通过一张图来获取所有的复杂环境信息输入。在当前的技术中,如果想在自动驾驶领域对周围环境进行完整的表征,则需要若干中传感器的输入,如图像、雷达等。 多模态输入的问题对于有监督学习可能相对容易,但是对于强化学习来说是一个难点。 b) 环境的动态特性和不确定性 学术界中常用的强化学习方法中,其底层模型和引擎相对简单,但对于自动驾驶或巨大的城市流模型来说,其中的动态性和不确定性是非常多的。这便会对模型的泛化和策略训练时的鲁棒性提出巨大的挑战。 c) 环境中的信息密度低问题 低密度信息是所有强化学习方法都会遇到的通用问题。与监督学习相比,强化学习需要和环境进行交互来指导网络的优化方向,因此其所能提供的信息密度相对较低。在实际的应用中这种问题会被放大。因为,在一般的情况下,对于应用环境的交互是无法做到和学术界中一样敏捷与快速的。比如在学术界的场景中,我们可以同时启动几百个进程采集数据供给一个网络训练。但是应用级别的环境,我们无法做到如此恐怖的并发量。
此外,从策略的角度出发,决策AI也存在着三大问题:
a) 仿真器和实际中的差异距离 我们知道,仿真环境无法做到与实际情况完全相同的结果。我们如果将仅仅使用仿真器所训练出来的结果不加修饰的生搬硬套于实际,可能会产生性能上的巨大偏差。 b) 安全性提升问题 在现实环境中,不论在训练还是测试的场景中,都有一些无法接受的失败场景,这些场景一旦发生,则会产生巨大的损失。比如自动驾驶或者线上部署运行的推荐服务等等。在这些场景中,除了需要考虑模型的性能外,还需要保证算法的稳定性。但是对于策略模型,其本身可是做一个黑箱,因此我们无法保证和证明其安全性。 c) 模仿机器学习中的数据位移问题 数据位移是指,人们所设计的策略网络(通常是从专家策略或从数据中学习到的策略),与实际应用中的输出无法做到完全一致,加之模型在环境中的运行具有持续性的特点,因此它们通常会产生累计误差。而累计误差在数据集中通常难以体现,因此会导致累计误差的总体偏移量逐渐加大,最终会达到模型无法学习或容忍的程度。这个问题可能会导致策略网络输出一些原数据集中不存在的、危险的结果动作。
在此处,我们以自动驾驶为例,介绍决策AI在其中所面临的一些问题。
条件模仿学习的目标是实现端到端的模仿机器学习模型。其输入端所接入的输入数据是例如图像等观察数据Observation Data,其输出是驾驶的动作Action,即控制信号。
条件模仿学习提出,模型应该在输入传感器信号的同时,输出一个离散的驾驶的控制信号Command,这个控制信号可以用于控制车辆的动作。
据此,网络可以分成两个部分。
第一个部分为主干部分,此处所使用的是一个ResNet网络,当然也可以是CNN、Transformer等其他结构。
第二个部分则需根据Command的不同分成不同的分支,每个分支负责对Command产生不同的实际操控动作。
因此,模型可以实现对当前环境的解读工作,也可以将驾驶所需要的部分放在模型前面,并且共享参数。最后,随着操控指令Command的不同,驾驶车辆可以做出不同的动作。
条件模仿学习是一个具有代表性的模仿机器学习工作。很多后续工作借鉴该方法的设计语言和模型结构。
上图的第二张是条件模仿学习的一个变种形式,CIRLS。它在原始结构的基础上,使用了更深的Resnet,并且在输入端考虑了车辆的速度。此外,它的输出端也有一个branch分支,来负责速度的输出。网络中还有速度输出的loss函数。这样做是为了让模型能够在输入观测数据的同时,考虑车辆的速度因素。
第二个例子,Learning by cheating,欺骗式学习。它要求在原始的基础上进一步强化模仿学习的性能。它提出,如果我们希望模型根据输入的RGB图像直接学习出一个动作,其难度较高,但是如果能够得到一些具有privileged特权特点的信息,这些信息是从输入中无法得到的,那么在训练中,算法就可以将这些privileged特权模型当做欺骗模型,并且在训练中使用在线的目标模型,从而避免模仿学习的偏移问题。
它的具体做法是,首先训练欺骗模型,然后在线地训练目标模型。也就是说目标模型在训练的过程中,算法可以直接将其输入分给另外的模型,从而得到两个模型的动作结果。如此一来,即使目标模型在运行中出现一些偏移,算法也可以直接反映到目标模型应该如何改进的方向上从而取得更好的效果。
它的另一个提升在于,模型不会直接输出动作信号,而是将其输出分拆。模型首先输出一条预测的行进轨迹,具体来说,此轨迹是5个预测的驾驶点。有了驾驶点后,模型便可以通过一些传统的控制方法,如PID控制器来得到最终的在汽车上执行的控制信号。因此,即使我们的预测轨迹有一些偏差和误差,算法也可以对其加以限制。如此一来,我们的PID控制器得到的驾驶信号的安全性就能得到提升,PID控制器对噪声输入也就更加鲁棒了。
LBC相对于前文的CIL方法,具有大幅的性能提升。在最高版本的仿真器上,LBC在有行人和无行人的场景中都能获得更高的仿真成功率。
在这里,他们做了一些错误分析。
从图中我们看到,在各种场景中,LBC犯错的次数比CIL方法低的多。其中我们主要看一下交通灯场景,如果模型的输入只有图像信息,那么它的交通灯信息只能占到很少的部分,因此学习困难较大。但如果我们有了特权模型,其中交通灯信号就能通过较容易的方式交给策略网络,也就能实现十分明显的性能的提升了了。
对于强化学习方法,文章也进行了若干尝试。对于强化学习,如果算法直接使用强化学习训练具有大量参数的模型时,如ResNet,那么模型可能会无法收敛。因为其输入信息源的信息密度较低。因此我们需要通过一些手段来降低最终收敛所需的数据量和抽象难度,以此来满足强化学习的数据需要。其中第一解决方法是启示学习Affordance Learning。
启示学习(Affordance Learning)方法假设学习空间中存在一种表示,它能够从输入的数据中得到一个包含所有驾驶信息的全量表达信息Latent Representation,我们只需要将全量信息作为强化学习的输入,就可以降低表达的维度、降低强化学习所需的复杂度和收敛所需的数据量和计算次数。
此时的输入仍然是传感信息,它首先通过有监督的方式预测此时交通灯的状态以及距离等标签信息。然后算法将Head去掉,将骨干冻结,再将前面的输出作为强化学习环境的输入,从而观察数据,并进行强化学习。通过这样的方式,算法就能在计算复杂度可以允许的情况下获得较好的收敛效果。
第二个思路与第一个思路类似,但是它不再需要感知的标签。它只需要一个变分编码器VAE来重构模型的输入观察信息本身。
如图所示,在输入了RGB图像后,模型能够通过训练变分编码器,输出与输入相同的RGB图像。那么此时,我们可以通过网络中的编码器Encoder得到低维度的驾驶相关信息。然后模型可以再使用编码器的输出作为强化学习的观测输入,从而训练强化学习相关的部分。这种方法也取得了不错的效果。
最新的方法则是借鉴了Transformer的设计思想。Transformer的强大需要庞大数量的带标签数据集合。因此,对于Transformer的成功应用,也能直接将其作为网络的直连部分使用。
比如在这篇论文的工作中,它将Transformer用作多模态融合信息。从图中我们可以看到模型由两个模块组成,它们的输入分别是RGB的图像以及雷达二值图。这两类输入信息的处理流结构互相独立,并分别得到输出。在模型的中间部分,算法使用了Transformer结构来融合两者的特征图Feature Map。在融合层的选择上,该模型使用了Attention注意力机制,并在融合后,将特征图送回网络,得到下一层的结果。
该文章认为,如果只使用RGB的原始输入,则算法对于“其他车辆突然出现在摄像头范围内”的行为事件的感知能力差,因此需要雷达数据的多模态辅助。但是雷达信号仅在距离较近的时候具有较强的信息密度;当距离较远时,其感知能力和感知效果较差。值得注意的是,雷达对于交通红绿灯信号是没有感知能力的。因此,作者通过多模态输入以及基于Transoformer的融合结果,实现对这两者输入处理能力的加和。
此外,该工作也没有直接输出控制信号,而是借鉴了之前的工作,输出预测的预测轨迹。具体来说,它没有输出具体的预测点,而是通过一个循环网络(门控循环单元GRU)结构来迭代地输出若干个坐标点,再通过将这些坐标映射到频率坐标系中,然后将频率坐标系中的结果输入给PID控制器,并最终得到最终的输出给汽车的动作控制信号。因此我们看到,这种方法融合了模仿学习的优点,还加上了Transformer的交互能力,实现了目前模仿学习领域中最好的效果。
在这里他们进行了效果对比。但是其公平性有待商榷,因为其中所应用的专家策略本身,就已经在借鉴了前述方法进行了部分更新。但我们目前仍旧认为,该方法的是有效的。只不过其实际的提升不会像表中结果所示一样夸张。
此外,他们分析了错误类型。从表格中我们可以看到,模型算法的主要提升点是“它车出现Collision Vehicles”和“其他物品出现Collision Layout”场景的规避。对于交通灯场景的表现上,它也有一定的提升,但是并未从本质上解决交通灯的问题,也就是交通灯的信息在RGB图像上本身的学习难度仍旧很大。
Transformer还提供了关于Attention的可视化解读。该工作将中间层所属楚的特征图Feature Map进行了可视化处理,并发现Transformer可以学习到对当前驾驶最关键的决定性信息。比如,他们发现RGB图像中,它车和交通灯模块的关注度提高,这符合我们的预期与人类社会的基本交通经验。该发现证明了其提出方法的有效性。
以上便是自动驾驶和决策AI的发展历程。
我们基于决策AI构建了一项自动驾驶的决策AI平台,名叫 DI - drive。它的功能主要是将模仿学习、强化学习为代表的决策AI方法融合到一起,并且,将同步融合各种不同的模拟数据的输入输出。同时,它还能定义自动驾驶中的策略和环境接口。图中展示了上述决策过程。
它的主要优点如图所示。在这里我们主要讲其中的第四点。驾驶场景和案例。
当前学术界对于自动驾驶的评价指标,需要算法首先给定驾驶的起点以及终点,并给出它车的数量和行人的情况,然后直接测试模型在该场景下的成功率。然而他车和行人的轨迹和行为都是随机的。
在该种前提下,它可以较为全面的评估驾驶策略的有效性和成功率,但是它无法具体评估某项驾驶策略在具体场合中的表现。例如,某项策略在红绿灯场景的表现很好,但是对于跟车和超车的表现则未能尽如人意。
因此,为了能够分场景和案例的对驾驶策略进行评估,我们在AI-Drive的强化学习模型中提出了Casezoo技术。
Casezoo的主要特点是,它首先使用了很多实际采集的真实数据,即将超车和跟车等场景的数据在仿真器中进行了构建。第二点,它的每个场景都包含一个行为树(Behaviors Tree)和驾驶标准(Criterion)。
行为树是指:那些必须按照具体的步骤和场景完成特定的行为。比如上面的第三个图中所示的场景中,若黄车想进行超车行为,则蓝车也要跟随其完成超车。那么此时需要满足基本的驾驶规范,即没有逆行和超速等违规行为。
因此,它需要从公共的逻辑出发,但是此时的场景中会有一些噪声影响。例如,车间距离可能有所差异。但是不论当前场景如何,它的目标都是明确的,即完成后车跟随前车进行超车的任务,也就是以相同轨迹完成超越前车。但如果后车并没有按照前车轨迹行进,不触发行为树的完整路径,而是以其他方式完成该任务(比如用另一条车道完成超车),则此场景不会触发。
通过这样的方式,我们能够对各个场景的驾驶行为进行细分和归类。
决策AI包括很多方面。人工智能现在已经广泛的应用在人脸识别等感知优化的场景,但是想让模型具有真正的智能,则需要将其落实到一些需要进行决策的场景。游戏AI便是其中的一部分。
在具体介绍之前,我们首先要对其提出一个问题——我们为什么要研究游戏AI?我们在其中投入了大量精力和计算资源,其目的如何?
相信我们每位人工智能的从业者都是想造出具有通用能力的人工智能模型,并且幻想着有朝一日它能像真人一样成为我们的朋友,和我们自然的交流、工作和生活。但是我们如实现和何达到通用人工智能的程度呢?
其实现在人工智能已经应用于诸多领域中了。比如在人脸识别领域,我们每天手机的解锁或支付工作都会用到人脸识别技术;在自然语言处理领域,我们在进行自动机器翻译、语音转文字的识别、呼叫siri、和小爱同学交流的过程中都用到了自然语言处理技术进行文本语言处理;在推荐系统领域,我们在每天打开购物网站挑产品,或者看新闻网站的时候,应用都会给我们推荐很多可能感兴趣的类似的内容——它掌握了我们的喜好,并且总能给我们推荐一些欲罢不能、流连忘返的商品和内容。
人工智能已经深入到生活的方方面面。但是上述的应用其实都没有达到通用人工智能的程度。我们通过这些例子,说明AI仅能在某些领域中完成对应任务,但是无法达到通用人工智能的高度。
我们在研究通用人工智能效果或者能力程度的时候,通常需要对其进行评估,或者进行直观的比较。但是目前,这些评估都是单方面针对AI程度的,我们并没有直接将人类和机器进行直观对比。
实际上,评估人工智能效果的最直观和有效的方式,是人机比较。也就是,对于同样的任务,人类是如何进行处理的,而机器又是怎样做的。例如,我们同时要求人工智能程序和人执行相同的任务,并直观地比较两者的输出结果和实现效果。
那么对于一个复杂的任务来说,通过如此的比较,若机器能够达到和人类相同的反应,我们就可以说机器学习模型实现了与人类相当程度的智能。
如果要进行人机比较,最好的方法就是进行“人机对抗”。
人机对抗的概念大家都不陌生。从很久之前的格斗游戏中,比如街霸,我们就是要去挑战人工智能对手。相信大家在小的时候都曾经被机器人虐的体无完肤。
相关阅读 >>
聚焦AI与管理创新:人类智慧和人工智能互补 AI和产业融合刚起步
codeweavers团队致力于为mac引入directx 12游戏兼容支持
历史首次挖到钻石!网易互娱AI lab的athena AI在neurips minerl竞赛中夺冠
让濒死的ea复活,apex的缔造者,靠着泰坦震撼全世界的游戏
更多相关阅读请进入《AI》频道 >>