Column: January 6, 2022 7:18 PM
Last edited time: January 30, 2022 12:14 AM
Sensor/组织: Oxford
Status: Finished
Summary: RIP out-of-distribution,怎样考虑不确定性识别现象 做出处理
Type: ICML
Year: 2020
引用量: 46
正在进行中 → 参考的Youtube 比论文更好懂
-
参考与前言
项目主页:
PMLR pdf + supplementary pdf:
Can Autonomous Vehicles Identify, Recover From, and Adapt to Distribution Shifts?
github:https://github.com/OATML/oatomobile
arxiv 地址:
Can Autonomous Vehicles Identify, Recover From, and Adapt to Distribution Shifts?
youtube (建议看看 虽然有点长 讲的比较通俗易懂型):
1. Motivation
-
友情链接:out-of-distribution
深度神经网络通常使用 封闭世界假设进行 训练即假设测试数据分布与训练数据分布相似。然而,当在现实世界的任务中使用时,这个假设并不成立,导致它们的性能显着下降。
为什么模型具有 OOD 脆性?
- 神经网络模型可能严重依赖训练数据中存在的虚假线索和注释伪像 (spurious cues and annotation artifacts),而 OOD 示例不太可能包含与分布中示例相同的虚假模式。
- 训练数据不能涵盖分布的所有方面,因此限制了模型的泛化能力。
熟悉一下缩写:
OOD = out of distribution / 不在训练集出现的数据
RIP = robust imitative planning
Ada RIP = adaptive robust imitative planning
也就是如果在运行时遇到训练时没有遇到的场景/数据,模型虽然方差比较大,但是并没有利用上这个信息进行处理,本文主要做了:
- 在测试模型的时候,识别训练集中没遇到的场景,即OOD场景
- 在OOD场景中 对模型进行判断 是否相信及相信哪一个 或 选择AdaRIP进行采样
问题场景
[Sugiyama & Kawanabe, 2012; Amodei et al., 2016; Snoek et al., 2019] 已经多次证明,当 ML 模型暴露于新环境时(即在 偏离训练集 观察到的分布的情况下)时,由于它们无法泛化,其可靠性会急剧下降,从而导致灾难性的结果
举例:在这幅图中,不同的Model给出了 y 1 , y 3 \mathbf y^1, \mathbf y^3 y1,y3 都不错,但这是因为这个场景 (大圆盘) 没有在训练集中出现过而现有模型评估的时候并没有考虑完全,所以本文提出的RIP会在这种场景下给出针对于follow path来说更好的 y 3 \mathbf y^3 y3,图中 min k \text{min}_k mink 是指同一个轨迹 y i y_i yi 对应 q1, q2, q3 最小的
RIP 考虑模型之间的分歧,避免在 OOD 任务中过度自信导致灾难性 路径结果外扩
虽然有其他比较trick的方法,比如 直接限制车辆在车道线内,基于感知、e2e方法,但是这种也容易受到 spurious correlations. 也就会获得非因果特征 而导致在OOD场景中动作的混乱
- 套娃一下关于 non-causal features that lead to confusion in OOD scenes (de Haan et al., 2019).
在介绍后半部分引用了一些人的工作 现有的Baseline 但是他们都无法解决这个 out of distribution 问题 比如 lbc, R2P2
Contribution
在 conclusion结论 里有简洁版本 主要就是:formulate out of distribution dataset的不确定性问题,提出RIP去解决这个不确定性问题使得model robust,最后提一个benchmark用来给大家进行自己模型 robust和OOD事件下的表现。
-
Epistemic uncertainty-aware planning:RIP 其实可以看做一个 Simple quantification of epistemic uncertainty with deep ensembles enables detection of distribution shifts.
通过采用贝叶斯决策理论和稳健的控制目标,展示了如何在不熟悉的状态下采取保守的行动,这通常使我们能够从分布变化中恢复(如图 1)
友情链接 :Monte-Carlo Dropout(蒙特卡罗 dropout),Aleatoric Uncertainty,Epistemic Uncertainty
-
Uncertainty-driven online adaptation:自适应鲁棒模仿规划 (AdaRIP),使用 RIP 的认知不确定性估计来有效地查询专家的反馈,用于即时适应,而不会影响安全性。因此,AdaRIP 可以部署在现实世界中:它可以推理它不知道的东西,并在这些情况下要求人工指导以保证当前的安全并提高未来的性能。
-
Autonomous car novel-scene benchmark:一个benchmark用来 评估自动驾驶对一组分布外任务的鲁棒性。评估指标:
- 检测 OOD 事件,通过违规和模型不确定性的相关性来衡量
- recover from distribution shift,通过新场景中成功机动的百分比进行量化
- 有效地适应 OOD 场景,提供在线监督
2. Method
首先是几点假设和公式说明:
-
专家数据: D = { ( x i , y i ) } i = 1 N \mathcal{D}=\left\{\left(\mathbf{x}^{i}, \mathbf{y}^{i}\right)\right\}_{i=1}^{N} D={(xi,yi)}i=1N;其中, x \mathbf x x 是高维的观测输入, y \mathbf y y 是 time-profiled 专家轨迹,那么专家策略 expert policy 可以这样表示: y ∼ π expert ( ⋅ ∣ x ) \mathbf{y} \sim \pi_{\text {expert }}(\cdot \mid \mathbf{x}) y∼πexpert (⋅∣x)
方法中会使用模仿学习 approximate the unkonwn expert policy
-
假设 Inverse Dynamics:使用PID进行Low-level control,这样只需针对轨迹 y = ( s 1 , ⋯ , s T ) \mathbf y=(s_1,\cdots,s_T) y=(s1,⋯,sT) 动作由 low-level controller 来输出 a t = I ( s t , s t + 1 ) , ∀ t = 1 , … , T − 1 a_{t}=\mathbb{I}\left(s_{t}, s_{t+1}\right), \forall t=1, \ldots, T-1 at=I(st,st+1),∀t=1,…,T−1
-
假设全局规划已有,假设真值定位信息get
简洁:模仿学习结果用高斯概率表示,学习分布的参数即可;然后在经过 aggregate和 plan 做出最后的选择
图一:摘自链接 youtube
其中aggregate步骤 也就是上面的 ⊕ ⊕ ⊕ 算子,有图一中黄框计算所示的两种:
-
取策略中最差的 选差的里面较高的(RIP-WCM) worst case model
受启发于 (Wald,1939) -
另一种是全部相加 除以数量(RIP-MA) model averaging
受启发于 Bayesian decision theory (Barber, 2012)
-
还有一种在论文中 RIP-BCM 是作者经验上找到的→ max k log q k \max_k \log q_k maxklogqk
公式表示
2.1 专家数据
给出 experts plan 的分布情况 → 因为通常一般都直接是一个action但是softmax之前的应该也能算distribution吧?
Bayesian Imitative Model
-
training via MLE
在数据集 D \mathcal{D} D 下 distribution density models q ( y ∣ x ; θ ) q(\mathbf y|\mathbf x; \theta) q(y∣x;θ) 的后验 p ( θ ∣ D ) p(\boldsymbol{\theta}|\mathcal{D}) p(θ∣D) ,也就是通过数据集先学习到的模型参数,然后将其作为先验,进入 probabilisitc imitative mode
θ M L E = arg max θ E ( x , y ) ∼ D [ log q ( y ∣ x ; θ ) ] (1) \boldsymbol{\theta}_{\mathrm{MLE}}=\underset{\boldsymbol{\theta}}{\arg \max } \mathbb{E}_{(\mathbf{x}, \mathbf{y}) \sim \mathcal{D}}[\log q(\mathbf{y} \mid \mathbf{x} ; \boldsymbol{\theta})] \tag{1} θMLE=θargmaxE(x,y)∼D[logq(y∣x;θ)](1)
-
using probabilisitc imitative model q ( y ∣ x ; θ ) q(\mathbf y|\mathbf x; \theta) q(y∣x;θ);不同于之前(Rhinehart et al., 2020; Chen et al., 2019) 这里有一个关于模型参数的先验分布 p ( θ ) p(\boldsymbol\theta) p(θ) 用来代入
在观测 x \mathbf x x 下,专家做出 y \mathbf y y 的概率为 → 作者自己也说了 经验上 发现这样很有效
q ( y ∣ x ; θ ) = ∏ t = 1 T p ( s t ∣ y < t , x ; θ ) = ∏ t = 1 T N ( s t ; μ ( y < t , x ; θ ) , Σ ( y < t , x ; θ ) ) (2) \begin{aligned}q(\mathbf{y} \mid \mathbf{x} ; \boldsymbol{\theta}) &=\prod_{t=1}^{T} p\left(s_{t} \mid \mathbf{y}_{<t}, \mathbf{x} ; \boldsymbol{\theta}\right) \\&=\prod_{t=1}^{T} \mathcal{N}\left(s_{t} ; \mu\left(\mathbf{y}_{<t}, \mathbf{x} ; \boldsymbol{\theta}\right), \Sigma\left(\mathbf{y}_{<t}, \mathbf{x} ; \boldsymbol{\theta}\right)\right)\end{aligned} \tag{2} q(y∣x;θ)=t=1∏Tp(st∣y<t,x;θ)=t=1∏TN(st;μ(y<t,x;θ),Σ(y<t,x;θ))(2)
其中 μ ( ⋅ ; θ ) \mu(\cdot ; \boldsymbol \theta) μ(⋅;θ) , Σ ( ⋅ ; θ ) \Sigma(\cdot ; \boldsymbol \theta) Σ(⋅;θ) 是两个RNN,尽管正态分布具有单峰性 unimodality ,但自回归(即,未来样本依赖于过去的正态分布的顺序采样)允许对多峰分布 multi-model distribution 进行建模
整个过程
- 使用 deep imitative models 的集合作为后验 p ( θ ∣ D ) p(θ|D) p(θ∣D) 的简单近似
- 考虑一个 K 个组件的集合,使用 θ k θ_k θk 来指代我们的第 k 个模型 q k q_k qk 的参数
- 通过最大似然训练(参见公式 1和 框架图 b 部分)
2.2 识别OOD
主要对比后验 p ( θ ∣ D ) p(\boldsymbol{\theta}|\mathcal{D}) p(θ∣D) 下各个规划的disagreement 使用 log q ( y ∣ x ; θ ) \log q(\mathbf{y} \mid \mathbf{x} ; \boldsymbol{\theta}) logq(y∣x;θ) 的方差 来指出同policy对不同轨迹的差异性有多大
u ( y ) ≜ Var p ( θ ∣ D ) [ log q ( y ∣ x ; θ ) ] (3) u(\mathbf{y}) \triangleq \operatorname{Var}_{p(\boldsymbol{\theta} \mid \mathcal{D})}[\log q(\mathbf{y} \mid \mathbf{x} ; \boldsymbol{\theta})]\tag{3} u(y)≜Varp(θ∣D)[logq(y∣x;θ)](3)
低方差证明 in-distribution,高方差则是OOD
- 这个高低阈值怎么确定?
2.3 后规划
认知不确定性下的替代规划策略 (下图红色部分)
摘自youtube中ppt
首先公式化 在认知不确定性下对目标位置 G 的规划问题,即模型参数 p ( θ ∣ D ) p(\boldsymbol{\theta}|\mathcal{D}) p(θ∣D) 的后验,作为通用目标的优化 (Barber, 2012),我们称之为鲁棒模仿规划 (RIP)
y RIP G ≜ arg max y ⊕ θ ∈ supp ( p ( θ ∣ D ) ) ⏞ aggregation operator log p ( y ∣ G , x ; θ ) ⏟ imitation posterior = arg max y ⊕ θ ∈ supp log q ( y ∣ x ; θ ) ⏟ imitation prior + log p ( G ∣ y ) ⏟ goal likelihood (4) \begin{aligned}\mathbf{y}_{\text {RIP }}^{\mathcal{G}} &\triangleq \underset{\mathbf{y}}{\arg \max } \overbrace{\underset{\boldsymbol{\theta} \in \text { supp }(p(\boldsymbol{\theta} \mid \mathcal{D}))}{\oplus}}^{\text {aggregation operator }} \log \underbrace{p(\mathbf{y} \mid \mathcal{G}, \mathbf{x} ; \boldsymbol{\theta})}_{\text {imitation posterior }} \\&=\underset{\mathbf{y}}{\arg \max } \underset{\boldsymbol{\theta} \in \text { supp }}{\oplus} \log \underbrace{q (\mathbf{y} \mid \mathbf{x} ; \boldsymbol{\theta})}_{\text {imitation prior }}+\log \underbrace{p(\mathcal{G} \mid \mathbf{y})}_{\text {goal likelihood }}\end{aligned}\tag{4} yRIP G≜yargmaxθ∈ supp (p(θ∣D))⊕ aggregation operator logimitation posterior p(y∣G,x;θ)=yargmaxθ∈ supp ⊕logimitation prior q(y∣x;θ)+loggoal likelihood p(G∣y)(4)
其中 ⊕ ⊕ ⊕ 是应用于后验 p ( θ ∣ D ) p(\boldsymbol{\theta}|\mathcal{D}) p(θ∣D) 的算子(定义见前),并且目标似然由例如以最终目标位置 s T G s^\mathcal{G}_T sTG 为中心的高斯和预先指定的容差 p p p 给出 p ( G ∣ y ) = N ( y T ; y T G , ϵ 2 I ) p(\mathcal{G} \mid \mathbf{y})=\mathcal{N}\left(\mathbf{y}_{T} ; \mathbf{y}_{T}^{\mathcal{G}}, \epsilon^{2} I\right) p(G∣y)=N(yT;yTG,ϵ2I)
- 这里有点像高斯过程了 因为要在整个T时间内的高斯过程分布值
正如公式 4 里 plan y R I P G \mathbf y_{RIP}^{G} yRIPG ,我们最大化的主要是两个部分:来自专家数据下的 imitation prior,和 接近最终目标点 G
-
原文中指出的关于后验 p ( θ ∣ D ) p(\boldsymbol{\theta}|\mathcal{D}) p(θ∣D) 是表示的 our belief about the true expert model
emmm 但是这个不是通过数据集训练出来的模型参数吗?为什么是一个对expert model的true概率呢? 需要对着代码看看这个
是说这个对应模型参数下有多像这个expert plan吗? → 好像是这样的
虽然说明 深度模仿模型 DML (Rhinehart et al., 2020) 是把 ⊕ ⊕ ⊕ selects a single θ k \theta_k θk from posterior 实验部分证明了 这样对于OOD 直接gg
2.4 AdaRIP
can we do better? → 专家介入 蓝色部分
3. 实验结果
-
在nuScenes:关于 out-of-distribution 怎么处理的呢? 自己进行手动分割数据吗?
因为在carla里 能看出来是手动选择了这几个场景进行测试
在nuScenes数据集上做的
自己提出了一个benchmark CARNOVEL
4. Conclusion
- 提出RIP 对 distribution shift 场景进行识别和恢复
- AdaRIP 在了解不确定性后做出动作,根据在线专家的feedback进行参数自适应
- 提出一个benchmark baseline 去做这个 out of distribution 问题
原文摘取
碎碎念
这篇 作者的youtube 比论文真的好懂太多了 hhhh ppt做的是真的好,每个步骤也很清晰,关于open-question 也同样在视频中自己提出了不足(还挺多不足的 主要就是涉及实车的real-time)
- 实时的认知不确定性评估器
- 实时的在线planning
- 在线适应中对灾难性遗忘的抵抗力 → 增量学习是怎么做的?
Resistance to catastrophic forgetting in online adaptation
- 但是我感觉第一个实时从论文里的方法来看 是可以做到的,而且全文没有关于对时间的对比? 为什么会open question提出呢? 就是:实验部分没有说明实时性效果
后面看代码的时候再把代码贴进来
- 组会讨论时,小伙伴指出 q 1 , q 2 , q 3 q_1, q_2, q_3 q1,q2,q3 如果都是从同一个数据集,同样的训练超参数,应该训练出来的模型是差不多的吧,不会呈现多样性的选择 如图1
- 还有就是其实本篇主旨应该是要做自适应的… 但其实是没做… adapt 人为弄得,用大哥们的话:原来就是加了一层embedding.