您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
如何打造自动驾驶的数据闭环?(中)
 
作者 : 黄浴
   次浏览      
 2021-12-14
 
编辑推荐:
本文主要对数据闭环各个组成部分进一步讨论 :训练数据标注工具,大型模型训练平台,模型测试和检验,希望对您的学习有所帮助。
本文来自于汽车电子与软件 ,由火龙果软件Alice编辑、推荐。

本文为系列文章,系列目录:

如何打造自动驾驶的数据闭环?(上)

如何打造自动驾驶的数据闭环?(中)(本篇为中篇)

如何打造自动驾驶的数据闭环?(下)

3 训练数据标注工具

其实AWS的机器学习平台本身也提供了数据标注工具Amazon SageMaker Ground Truth。

如图是微软开源标注工具VOTT(Video Object Tagging Tool):

标注工具可以是全自动、半自动和手工等3类。

比如人工标注工具:摄像头图像LabelMe和激光雷达点云PCAT

还有半自动标注工具:摄像头CVAT、VATIC,激光雷达3D BAT、SAnE,图像点云融合Latte

自动标注工具:基本没有开源(商用也没有吧)的工具可用。

这里有一些自动标注方面的论文:

  • “ Beat the MTurkers: Automatic Image Labeling from Weak 3D Supervision “
  • “ Auto-Annotation of 3D Objects via ImageNet “
  • “ Offboard 3D Object Detection from Point Cloud Sequences “
  • 这里是Nvidia在会议报告中给出的端到端标注流水线:它需要人工介入

    在这里顺便提一下“数据可视化”的问题,各种传感器数据除了标注,还需要一个重放、观察和调试的平台。如图是Uber提供的开源可视化工具 Autonomous Visualization System (AVS) :

    其中”XVIZ“是提出的自动驾驶数据实时传输和可视化协议:

    另外,“streetscape.gl“是一个可视化工具包,在XVIZ 协议编码自动驾驶和机器人数据。它提供了一组可组合的 React 组件,对 XVIZ 数据进行可视化和交互。

    4 大型模型训练平台

    模型训练平台,主要是机器学习(深度学习)而言,前面亚马逊AWS提供了自己的ML平台SageMaker。我们知道最早有开源的软件Caffe,目前最流行的是Tensorflow和Pytorch(Caffe2并入)。

    Tensorflow

    Pytorch

    在云平台部署深度学习模型训练,一般采用 分布式 。按照并行方式,分布式训练一般分为数据并行和模型并行两种。当然,也可采用数据并行和模型并行的混合。

    模型并行 :不同GPU负责网络模型的不同部分。例如,不同网络层被分配到不同的GPU,或者同一层不同参数被分配到不同GPU。

    数据并行 :不同GPU有模型的多个副本,每个GPU分配不同的数据,将所有GPU计算结果按照某种方式合并。

    模型并行不常用,而数据并行涉及各个GPU之间如何同步模型参数,分为 同步更新 和 异步更新 。同步更新等所有GPU的梯度计算完成,再计算新权值,同步新值后,再进行下一轮计算。异步更新是每个GPU梯度计算完无需等待,立即更新权值,然后同步新值进行下一轮计算。

    分布式训练系统包括两种架构: Parameter Server Architecture (PS,参数服务器)和 Ring -AllReduce Architecture (环-全归约)。

    如下图是PS结构图:

    这个图是Ring AllReduce的架构图:

    Pytorch 现在和多个云平台建立合作关系,可以安装使用。比如AWS,在AWS Deep Learning AMIs、AWS Deep Learning Containers和Amazon SageMaker,都可以训练Pytorch模型,最后采用 TorchServe 进行部署。

    Pytorch提供两种方法在多GPU平台切分模型和数据:

  • DataParallel
  • distributedataparallel
  • DataParallel 更易于使用。不过,通信是瓶颈,GPU利用率通常很低,而且不支持分布式。 DistributedDataParallel 支持模型并行和多进程,单机/多机都可以,是分布训练。

    PyTorch 自身提供几种加速分布数据并行的训练优化技术,如 bucketing gradients、overlapping computation with communication 以及 skipping gradient synchronization 等。

    Tensorflow 在模型设计和训练使用也方便,可以使用高阶 Keras API ;对于大型机器学习训练任务,使用 Distribution Strategy API 在不同的硬件配置上进行分布式训练,而无需更改模型定义。

    其中 Estimator API 用于编写分布式训练代码,允许自定义模型结构、损失函数、优化方法以及如何进行训练、评估和导出等内容,同时屏蔽与底层硬件设备、分布式网络数据传输等相关的细节。

    tf.distribute.MirroredStrategy 支持在一台机器的多个 GPU 上进行同步分布式训练。该策略会为每个 GPU 设备创建一个副本。模型中的每个变量都会在所有副本之间进行镜像。这些变量将共同形成一个名为 MirroredVariable 的单个概念变量。这些变量会通过应用相同的更新彼此保持同步。

    tf.distribute.experimental.MultiWorkerMirroredStrategy 与 MirroredStrategy 非常相似。它实现了跨多个工作进程的同步分布式训练,而每个工作进程可能有多个 GPU。与 MirroredStrategy 类似,它也会跨所有工作进程在每个设备的模型中创建所有变量的副本。

    tf.distribute.experimental.ParameterServerStrategy 支持在多台机器上进行参数服务器PS训练。在此设置中,有些机器会被指定为工作进程,有些会被指定为参数服务器。模型的每个变量都会被放在参数服务器上。计算会被复制到所有工作进程的所有 GPU 中。(注:该策略仅适用于 Estimator API。)

    5 模型测试和检验

    模型的测试和检验可以分成多种方式:

    一是 仿真测试检验 。建立仿真测试环境,比如开源的一些软件平台:

  • Carla
  • AirSim
  • LGSVL
  • 还有一些成熟的商用软件,也可以构建仿真测试环境:Prescan和VTD。存在一些仿真子模块,比如开源的交通流仿真方面SUMO,商用的动力学仿真方面CarSim、Trucksim和Carmaker等。测试方式包括 模型在环(MIL)、软件在环(SIL)、硬件在环(HIL) 和 整车在环(VIL) 等。传感器的仿真,特别是摄像头的图像生成,除了图形学的渲染方式,还有基于机器学习的方式。

    这里列出Uber ATG发表的一系列仿真建模论文:

    “LiDARsim: Realistic LiDAR Simulation by Leveraging the Real World“

    ”S3: Neural Shape, Skeleton, and Skinning Fields for 3D Human Modeling“

    ”SceneGen: Learning to Generate Realistic Traffic Scenes“

    ”TrafficSim: Learning to Simulate Realistic Multi-Agent Behaviors“

    “AdvSim: Generating Safety-Critical Scenarios for Self-Driving Vehicles“

    另外谷歌Waymo最近推出的传感器仿真工作:

    ”SurfelGAN: Synthesizing Realistic Sensor Data for Autonomous Driving“

    二是 封闭场地的实车测试检验 。各大车企都有自己的测试基地,现在自动驾驶方面也可使用。其开销远大于仿真系统。

    谷歌waymo测试场

    三是 开放场地的测试检验 。现在好多L4级别的自动驾驶,比如无人出租车/无人卡车/无人送货,都在做这种政府批准的实际驾驶实验区测试。这种测试,必要时候安全员的接管或者遥控接管,都是需要花费大量投入的。

    GM的自动驾驶公司Cruise在旧金山测试

    最后是 用户的测试检验 。这个是特斯拉特有的影子模式,以及FSD beta版本测试的志愿者模式。

    特斯拉的“Operation Vacation”模式

    如图是英伟达报告描述的车队级别的模型部署闭环:

     


     

       
    次浏览       
    相关文章

    基于图卷积网络的图深度学习
    自动驾驶中的3D目标检测
    工业机器人控制系统架构介绍
    项目实战:如何构建知识图谱
     
    相关文档

    5G人工智能物联网的典型应用
    深度学习在自动驾驶中的应用
    图神经网络在交叉学科领域的应用研究
    无人机系统原理
    相关课程

    人工智能、机器学习&TensorFlow
    机器人软件开发技术
    人工智能,机器学习和深度学习
    图像处理算法方法与实践
    最新活动计划
    LLM大模型应用与项目构建 12-26[特惠]
    QT应用开发 11-21[线上]
    C++高级编程 11-27[北京]
    业务建模&领域驱动设计 11-15[北京]
    用户研究与用户建模 11-21[北京]
    SysML和EA进行系统设计建模 11-28[北京]
     
    最新文章
    多目标跟踪:AI产品经理需要了解的CV通识
    深度学习架构
    卷积神经网络之前向传播算法
    从0到1搭建AI中台
    工业机器人控制系统架构介绍
    最新课程
    人工智能,机器学习和深度学习
    人工智能与机器学习应用实战
    人工智能-图像处理和识别
    人工智能、机器学习& TensorFlow+Keras框架实践
    人工智能+Python+大数据
    更多...   
    成功案例
    某综合性科研机构 人工智能与机器学习应用
    某银行 人工智能+Python+大数据
    北京 人工智能、机器学习& TensorFlow框架实践
    某领先数字地图提供商 Python数据分析与机器学习
    中国移动 人工智能、机器学习和深度学习
    更多...