Sensor/组织: EPFL Sharif University of Technology

Status: Finished

Summary: 看看框架图就行。高效缓解因果混淆问题,将因果作为学习输出前一层进行判断

Type: arXiv

Year: 2021

1. Motivation

模仿学习是一种通过利用来自专家驾驶员演示的数据来学习自动驾驶策略的强大方法。然而,通过模仿学习训练的驾驶策略忽略了专家演示的因果结构会产生两种不良行为:inertia and collision

问题场景

参考文献[9] 提出:

  1. 对于罕见事件的weak performance →datasets bias
  2. 对于学习策略的高方差 → stochastic learning
  3. 对于因果混淆问题 → 缺乏 explicit causal model

而这篇文章主要解决的就是第三点 → 提出 causal model,接下来是更为明确的问题场景

inertia problem

在这篇 [9] 提出的问题并没有针对性解决 ICCV2019: Exploring the Limitations of Behavior Cloning for Autonomous Driving

这篇文章主要把inertia problem看做是因果混淆问题 causality 在[10] 中提出了这点但是因为算法复杂度与latent variable是指数级别增长,所以对于自动驾驶来说 [10] 解法可能还是太贵了

  • 有空再套娃 [10] 看看怎么解决因果混淆问题的 Dagger

    [10] 摘要部分:通过有针对性的干预——环境交互或专家查询——来确定正确的因果模型来解决因果混淆问题。 我们表明,因果错误识别发生在几个基准控制域以及现实驾驶设置中,并针对 DAgger 和其他基线和消融验证我们的解决方案

collision problem

主要是训练好的agent 并没有躲避其他车辆,就是和其他车辆撞上了


总结起来,论文指出应该要同时考虑这两个东西,因为如果分开考虑的话,就很有可能为了避免一方而牺牲一方,例如:为了解决inertia问题,一种trick是可以在某些情况下加速 开油门; 然而,这样很有可能导致撞车

Contribution

简单图 主要contribution 在高亮 cause discovery 处

在本文中,我们提出了因果模仿模型(CIM)来解决 inertia 和 collision problem。 CIM 显式发现因果模型并利用它来训练策略。 具体来说,CIM 将输入分解为一组 latent variables ,选择因果变量,并通过利用所选变量确定下一个位置。 我们的实验表明,我们的方法在惯性和碰撞率方面优于以前的工作。

此外,由于利用了因果结构,CIM 将输入维度缩小到只有两个,因此可以在几次设置中适应新环境。

2. Method

notation:

  • \(t\) 时间步数
  • \(O^t\) 高维的 scense 观测
  • \(\mathcal T^t\) 专家的未来轨迹
  • 专家策略生成的专家轨迹:\(\mathcal T ∼ \pi(\cdot|O)\)
  • 我们想使用 \((O^t,\mathcal T^t)\) 来近似出来一个策略 \(\pi\)

模仿学习最简单的形式就是行为克隆 behavior cloning,也把policy learning问题变成了一个监督学习,在这个过程中 是 \(\pi\) 直接将 \(O\) 映射得到 \(\mathcal T\),然后再通过一个low-level controller来进行跟踪轨迹即可


根据[10] 的启发,首先把专家的demonstrations 看做一个 sequential decision-making process,所以每一个观测 \(O^t\) 都可以分解 disentangled into some generative factors \(Z^t=[Z^t_1,Z^t_2,\dots,Z^t_k]\)

其中 \(k\) 就是生成出来的因子个数,每一步时间t 都有这样的factor对应。为了规划未来的轨迹:

  1. 通过现在的状态 \(Z^t\) 预测下一步的速度 \(S^t_{\text{forward}}\)
  2. 根据预测的速度 \(S^t_{\text{forward}}\) 和状态 \(Z^t\) 得到下一步的轨迹
  • 也就是把观测先走到因子 可以直接认为成观测输入 一层MLP 输出? latent variable

    是的 只是使用的模型不是单纯的一层FC 走了一个感知模型进行输出

2.1 输入

上帝视角的鸟瞰图和提取其他agent后的渲染图,简述即两幅图

2.2 框架

主要分为两个部分:

  1. imitative model:主要处理静态障碍物 的场景导航,无其他agent 交互的考虑,只考虑专家数据的位置分布密度 \(q(\hat{\mathcal{T}} \mid O ; \theta)\) ,主要使用现有的模仿模型,训练取得最大似然估计

    \[q(\hat{\mathcal{T}} \mid O ; \theta)\theta^{*}=\underset{\theta}{\arg \max } \mathbb{E}[\log q(\hat{\mathcal{T}} \mid O ; \theta)]
    \]
  2. causal pipeline:主要预估速度和一下三个部分

    1. 感知模型 embeds observation into disentangled representation,整个模块使用的是 \(\beta\)-VAE [16] 的模型 然后输出到128个分解出来的变量 \(Z\)

    2. 因果速度预测:识别与速度有关的因果 并找到 the next step speed using them

      主要是使用 Granger-cause 的一些定义: \(X^t\) 是 \(Y^t\) 的 Granger-cause,如果知道过去的 \(X^t\) 可以帮助到预测未来的 \(Y^t\)

      当下列条件满足,则说明 \(X^t\) 是 \(Y^t\) 的 Granger-cause

      \[\exists h>0, \text { s.t. } \sigma_{Y}\left(h \mid \Omega^{t}\right)<\sigma_{Y}\left(h \mid \Omega^{t} \backslash\left\{X^{i}\right\}_{i=0}^{t}\right) \tag{1}
      \]

      其中 \(\sigma_{Y}\left(h \mid \Omega^{t}\right)\) 是 时间 \(t\) 下给\(\Omega^{t}\)信息时 h-step下的预测 \(Y^t\) 的MSE 平均方差误差,\(\Omega^{t}\) 是指全局下所有与 \(Y^t\) 有关的信息

  • 温馨链接:Granger causality wiki page

    摘取wiki至:格蘭傑因果關係檢驗(英語:Granger causality test)是一種假設檢定的統計方法,檢驗一組時間序列是否為另一組時間序列{\displaystyle y}的原因。它的基礎是迴歸分析當中的自迴歸模型。迴歸分析通常只能得出不同 變量間的同期 相關性;自迴歸模型只能得出同一 變量前後期 的相關性;但諾貝爾經濟學獎得主克萊夫·格蘭傑(Clive Granger)於1969年論證[1] ,在自迴歸模型中透過一系列的檢定進而揭示不同變量之間的時間落差相關性是可行的。

  • 所以第一部分的现成的是啥模型?输入是啥传感器信息 还是直接是上帝视角?

    见输入,模型使用的是DIM参考文献的

  • 是指下一个step中 使用这些因果的速度吗?

2.3 输出

各自的两部分输出由框架图可知

  1. imitative model 是 输出轨迹点
  2. perception model 走到 disentangled gerative factor 然后输出
  3. cause selector 输出走到 速度预测模块 输出速度,配合前面的轨迹点
  4. contrller 输出动作:油门 方向盘 刹车

3. 实验

指标:

  • Inertia rate:来源于[9] 超过15s的 零速度即视为 inertia rate
  • Collision rate:与其他车辆相撞
  • Error rate:前两者相加

用DIM [32],RIP [12] 做对比实验

外加两组消融实验,把CIM里面的cause selector直接换成 MLP进行再输出速度的 CIM-MLP;还有感知模型,直接使用原有的VAE而不是 \(\beta\)-VAE的 CIM-entangled

温馨提示RIP:

ICML2020: Can Autonomous Vehicles Identify, Recover From, and Adapt to Distribution Shifts?

  • 套娃读一下DIM 对比一下

4. Conclusion

贡献如上,主要是做了一层分解的latent variables 选择因果变量,limitation也指出:

  1. 根据原文5.5 可知分解效果 the performance of the disentabglement method 是本文的一个局限性,更好的 分解方式 可能带来更好的结果
  2. 本文仅针对inertia和collision 这两个问题,并没有扩展到整个 scene navigation 问题
    • 是指传统的行为规划问题吗? behaviour planning

碎碎念

自己提出一个问题 and 解决一个问题,另外标准也由自己定,比较特别的是关于causal selector的选择和使用,就是没对着代码看 还没特别理解这个步骤,但是大概知道了 噢,原来可以这么玩。

  • 看了一眼代码 只给出了MLP的 CIM-MLP... 走 model = MLP().to(device)

【论文阅读】Causal Imitative Model for Autonomous Driving的更多相关文章

  1. #论文阅读# Universial language model fine-tuing for text classification

    论文链接:https://aclweb.org/anthology/P18-1031 对文章内容的总结 文章研究了一些在general corous上pretrain LM,然后把得到的model t ...

  2. tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)

    今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...

  3. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  4. 论文阅读笔记三十九:Accurate Single Stage Detector Using Recurrent Rolling Convolution(RRC CVPR2017)

    论文源址:https://arxiv.org/abs/1704.05776 开源代码:https://github.com/xiaohaoChen/rrc_detection 摘要 大多数目标检测及定 ...

  5. 论文阅读笔记六:FCN:Fully Convolutional Networks for Semantic Segmentation(CVPR2015)

    今天来看一看一个比较经典的语义分割网络,那就是FCN,全称如题,原英文论文网址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn ...

  6. Autonomous driving - Car detection YOLO

    Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...

  7. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  8. Event StoryLine Corpus 论文阅读

    Event StoryLine Corpus 论文阅读 本文是对 Caselli T, Vossen P. The event storyline corpus: A new benchmark fo ...

  9. Behavior Trees for Path Planning (Autonomous Driving)

    Behavior Trees for Path Planning (Autonomous Driving) 2019-11-13 08:16:52 Path planning in self-driv ...

  10. YOLO 论文阅读

    YOLO(You Only Look Once)是一个流行的目标检测方法,和Faster RCNN等state of the art方法比起来,主打检测速度快.截止到目前为止(2017年2月初),YO ...

随机推荐

  1. juc之ConcurrentHashMap在我工作中的实践

    Map是我工作中应用比较多的数据结构之一,主要用来存储一些kv的映射信息,如果是单线程环境下我会优先使用HashMap,但是如果在多线程环境下继续使用HashMap我不确定会不会被我老大打死,为了生命 ...

  2. redis-desktop-manager-0.8.0.3844

    redis-desktop-manager-0.8.0.3844 下载地址: https://www.aliyundrive.com/s/Y2fobkVjAdF 链接:https://pan.baid ...

  3. ssh端口转发实际应用

    目录 1 ssh本地端口转发 2 ssh远程端口转发 3 跨网络访问(网关功能) 4 动态端口转发(KX上网) SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.而且,SSH 还能够 ...

  4. IDEA的Ctrl+Enter补全代码失效

    前景提示 IDEA有个ctrl+enter可以补全代码的功能,但是,今天突然失效了,原来是这个问题. 修改配置 进入setting修改 进入Edit-->找到Intertions,搜素Intro ...

  5. 原创->CommonsCollections1-DefaultMap链

    今天我打算整点儿不一样的内容,通过之前学习的TransformerMap和LazyMap链,想搞点不一样的,所以我关注了另外一条链DefaultedMap链,主要调用链为: 调用链详细描述: Obje ...

  6. 推荐一款微信公众平台Python开发神器!

    1.引言 在当今数字化时代,微信公众平台成为了企业和个人连接用户的重要渠道.为了高效地管理和与用户互动,开发者需要一个强大而灵活的工具. Weixin-Python 正是这样一个为微信公众平台量身打造 ...

  7. 【题解】A566.三点共线

    题目大意,给定在平面直角坐标系中的多个点,判断有多少个三元组 \((A, B, C)\) 满足共线性质. 题目链接:A566.三点共线. 大题思路就是暴力所有的三元组,判断三个元素的斜率是否相同即可. ...

  8. 牛逼:一张900w的数据表,17s执行的SQL优化到300ms?

    转载自   https://mp.weixin.qq.com/s/ru_B1aI0YrpXeSl-J01sHQ

  9. js 禁用右键菜单和禁止复制

    大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...

  10. Web 页面性能衡量指标-以用户为中心的效果指标

    Web 页面性能衡量指标-以用户为中心的性能指标 以用户为中心的性能指标是理解和改进站点体验的关键点 一.以用户为中心的性能指标 1. 指标是用来干啥的? 指标是用来衡量性能和用户体验的 2. 指标类 ...