论文笔记(十三):Differentiable Particle Filters: End-to-End Learning with Algorithmic Priors


End-to-End Learning with Algorithmic Priors)

文章概括

作者:Rico Jonschkowski,Divyam Rastogi and Oliver Brock
来源:arXiv:1805.11122v2 [cs.LG] 30 May 2018,Robotics and Biology Laboratory, Technische Universit¨at Berlin, Germany
原文:https://arxiv.org/pdf/1805.11122.pdf
代码、数据和视频:https://github.com/tu-rbo/differentiable-particle-filters
系列文章目录:
上一篇:
论文笔记(十二):Particle Filter Networks: End-to-End Probabilistic Localization From Visual Observations
下一篇:


摘要

我们提出了可微分粒子过滤器(DPFs):一种具有可学习运动和测量模型的粒子过滤器算法的可微分实现。由于DPF是端到端的可微分的,我们可以通过优化端到端的状态估计性能,而不是模型精度等代理目标来有效地训练其模型。DPF编码了具有预测和测量更新的递归状态估计的结构,该结构对状态的概率分布进行操作。这种结构代表了一种算法上的先验,它提高了状态估计问题的学习性能,同时使所学模型具有可解释性。我们在模拟和真实数据上的实验表明,使用算法先验的端到端学习有很大的好处,例如,错误率降低了80%∼。我们的实验还表明,与长短期记忆网络不同,DPFs以一种政策不可知的方式学习定位,从而极大地提高了泛化能力。源代码可在https://github.com/tu-rbo/differentiable-particle-filters


1. 介绍

端到端学习调整一个可学习系统的所有部分,以获得端到端的性能,这是我们最终关心的问题,而不是单独优化每个部分。当各个部分的正确目标不为人知时,端到端学习就会表现出色;因此,它在复杂的机器人系统中具有巨大的潜力。

与单独学习系统的每个部分相比,端到端学习对各个部分的限制较少,这可以提高性能,但也可能导致过度拟合。因此,我们必须通过纳入适当的先验因素来平衡端到端学习和正则化。优先权可以以可区分的网络结构的形式进行编码。通过定义网络结构及其可学习参数,我们限制了假设空间,从而使学习正规化。同时,网络的可分性允许其所有部分相互适应,并为端到端的性能优化其参数。

这种方法在计算机视觉中已经非常成功。高度工程化的视觉管道被端到端训练的卷积网络所超越[8]。但这只是因为卷积网络[15]在网络结构中编码了适合计算机视觉的先验因素–在整个图像中共享的局部过滤器的层次结构。机器人学中的问题拥有额外的结构,例如在与环境的物理互动中。只有通过利用所有可用的结构,我们才能实现机器人学中端到端学习的全部潜力。

但是,我们如何才能找到更多像卷积网络这样的架构用于机器人技术? 机器人学家已经以算法的形式捕获了问题结构,通常与具体任务的模型相结合。通过使这些算法可分化,其模型可学习,我们可以将机器人的算法变成网络架构。这种方法可以实现端到端的学习,同时也可以对来自算法的先验知识进行编码,我们称之为算法先验。

在这里,我们将带有算法先验的端到端学习应用于机器人的状态估计。在这个问题上,机器人需要从其观察和行动中推断出潜在的状态。由于单一的观察可能不足以估计状态,机器人需要在一段时间内整合不确定的信息。

考虑到这个问题的标准假设,贝叶斯滤波器为解决这个问题提供了可证明的最佳算法结构[21],通过使用特定任务的运动和测量模型的预测和测量更新,递归地更新状态的概率分布。可微分粒子过滤器(DPF)是粒子过滤器的端到端可微分实现–一种用样本表示概率分布的贝叶斯过滤器–具有可学习的运动和测量模型(见图1)。

图一

图1:可区分的粒子过滤器。模型可以通过算法的反向传播进行端到端的学习。

由于DPF是可分的,我们可以端到端学习它们的模型,以优化状态估计性能。我们的实验表明,与使用为准确性而优化的模型相比,端到端学习提高了性能。有趣的是,DPF的端到端学习重新发现了机器人学家通过试验和错误发现的东西:高估不确定性有利于过滤性能[21, p. 118]。

由于DPFs使用贝叶斯滤波算法作为先验,它们有很多优点。首先,即使有端到端的学习,DPF仍然是可解释的–我们可以检查所学的模型和它们的互动。其次,算法的先验使学习正规化,这大大改善了状态估计的性能。与一般的长短期记忆网络(LSTMs)[9]相比,DPFs将错误率降低了80%∼,或者在相同的错误率下需要的训练数据减少了87%。最后,算法的先验性提高了通用性:当LSTM用与训练时不同的策略进行测试时,会失败,而DPF对改变策略是稳健的。


2. 相关工作

最近有一股热潮,将算法先验和端到端学习结合起来,用基于直方图和高斯信念表征进行规划和状态估计。

用已知状态进行规划: Tamar等人[20]介绍了价值迭代网络,这是一种可微调的规划算法,其模型可以针对价值迭代进行优化。他们的关键见解是,基于网格的状态空间中的价值迭代可以用卷积神经网络表示。Silver等人[18]提出了predictron,这是 T D ( λ ) TD(λ) TD(λ)算法在学习状态空间中的一个可微分的嵌入。Okada和Aoshima[16]提出了路径积分网络,它编码了一个学习连续任务的最优控制算法。

用直方图进行状态估计(和规划): Jonschkowski和Brock[10]介绍了端到端可学习直方图滤波器,这是一个可区分的贝叶斯滤波器,用直方图表示信念。Shankar等人[17]和Karkus等人[11]将直方图滤波器和QMDP规划器结合在一个可区分的网络中,用于部分可观察环境中的规划。Gupta等人[6]在一个网络结构中结合了可微分的映射和规划,用于在新环境中的导航。所有这些方法都使用卷积来操作基于网格的状态空间。

带高斯的状态估计: Harnooja等人[7]提出了一个具有高斯信念的可微分卡尔曼滤波器,以及一个来自视觉输入的端到端可学习测量模型。Watter等人[22]和Karl等人[12]学习了一个有利于预测的潜在状态空间。这些方法使用(局部)线性动力学模型和高斯信念。

相关的工作已经确定了如何使用卷积法对基于直方图的信念表示进行操作,以及如何使用线性操作对高斯信念进行操作。我们在这项工作的基础上,将其范围扩大到包括基于样本的算法,如粒子过滤器。基于样本的表示法是有优势的,因为它们可以表示多模式分布(与高斯不同),同时将计算工作集中在高概率的状态上(与直方图不同)。但基于样本的表示为可微分的实现引入了新的挑战,例如从网络中生成样本,进行密度估计以计算梯度,以及处理非可微分的重采样。这些都是我们在本文中所解决的挑战。


3. 背景:贝叶斯滤波器及其基于粒子的近似方法

我们考虑的问题是,从历史上的观测值 o o o和行动 a a a来估计一个潜在的状态 s s s,例如,从摄像机图像和测距中估计机器人的姿势。为了处理不确定性,我们根据观测值 o 1 : t o_{1:t} o1:t和动作 a 1 : t a_{1:t} a1:t的历史,对当前状态 s t s_t st估计一个概率分布,这被称为信念, b e l ( s t ) = p ( s t ∣ a 1 : t , o 1 : t ) bel(s_t) = p(s_t|a_{1:t}, o_{1:t}) bel(st)=p(sta1:t,o1:t)

A. 贝叶斯滤波器

如果我们假设我们的问题如图2所示,贝叶斯滤波算法通过利用状态的马尔可夫属性以及观察和行动的条件独立性,以最佳方式解决了这个问题[21]。从马尔可夫属性可以看出,最后的信念 b e l ( s t − 1 ) bel(s_{t-1}) bel(st1)总结了所有与预测未来有关的观测值 o 1 : t − 1 o_{1:t-1} o1:t1和行动 a 1 : t − 1 a_{1:t-1} a1:t1的历史信息。因此,贝叶斯过滤器通过纳入 a t a_t at o t o_t ot中包含的新信息,从 b e l ( s t − 1 ) bel(s_{t-1}) bel(st1)递归地计算 b e l ( s t ) bel(s_t) bel(st)。从假设行动和观察之间的条件独立性来看,贝叶斯过滤器分两步更新信念。1)使用行动 a t a_t at进行预测;2)使用观察 o t o_t ot进行测量更新。

图二

  1. 预测步骤是基于运动模型 p ( s t ∣ s t − 1 , a t ) p(s_t | s_{t-1}, a_t) p(stst1,at),它定义了如果机器人在 s t − 1 s_{t-1} st1中执行了动作 a t a_t at,那么它有多大可能进入状态 s t s_t st。利用运动模型,这一步通过对所有 s t − 1 s_{t-1} st1的总和来计算预测的信念 b e l ‾ ( s t ) \overline{bel}(s_t) bel(st),因为 a t a_t at可能导致 s t s_t st

b e l ‾ ( s t ) = ∫ p ( s t ∣ s t − 1 , a t ) b e l ( s t − 1 ) d s t − 1 . ( 1 ) \overline{bel}(s_t) = \int {p(s_t | s_{t−1}, a_t) bel(s_{t−1}) ds_{t−1}}.(1) bel(st)=p(stst1,at)bel(st1)dst1.1

2)测量更新使用测量模型 p ( o t ∣ s t ) p(o_t | s_t) p(otst),该模型定义了给定状态 s t s_t st的观测 o t o_t ot的可能性。使用该模型和观测 o t o_t ot,该步骤使用贝叶斯规则(带归一化 η η η)更新信念,

b e l ( s t ) = η p ( o t ∣ s t ) b e l ‾ ( s t ) . ( 2 ) bel(s_t) = ηp(o_t|s_t)\overline{bel}(s_t). (2) bel(st)=ηp(otst)bel(st).2

对连续状态空间的贝叶斯滤波算法的任何实现都必须表示一个连续的信念,从而对其进行近似。不同的近似值对应于不同的贝叶斯滤波算法的实现,例如直方图滤波器,它通过直方图表示信念;卡尔曼滤波器,它通过高斯表示信念;或者粒子滤波器,它通过一组粒子表示信念[21]。

B. 粒子滤波器

粒子过滤器用粒子(或样本) S t = s t [ 1 ] , s t [ 2 ] , . . . , s t [ n ] S_t = s^{[1]}_t , s^{[2]}_t, . . . , s^{[n]}_t St=st[1],st[2],...,st[n]的权重为 w t [ 1 ] , w t [ 2 ] , . . . , w t [ n ] w_t^{[1]}, w_t^{[2]}, . . . , w^{[n]}_t wt[1],wt[2],...,wt[n]。粒子过滤器通过移动粒子、改变它们的权重和重新取样来更新这个分布,从而按比例复制或删除粒子的权重。重新取样使贝叶斯滤波器的实施变得高效,因为它把信念的近似值集中在可能的状态上。

粒子过滤器通过随机地移动每个粒子来实现预测步骤(公式1),这是由生成运动模型的采样来实现的,

∀ i : s t [ i ] ∼ p ( s t ∣ a t , s t − 1 [ i ] ) . ( 3 ) ∀_i: s_t^{[i]} \sim p(s_t|a_t,s^{[i]}_{t-1}). (3) i:st[i]p(stat,st1[i]).3

粒子过滤器通过将每个粒子的权重设置为观察概率–当前观察的概率以粒子所代表的状态为条件,来实现测量更新(公式2),

∀ i : w t [ i ] = p ( o t ∣ s t [ i ] ) . ( 4 ) ∀_i: w_t^{[i]} = p(o_t|s^{[i]}_{t}). (4) i:wt[i]=p(otst[i]).4

然后,在滤波器进行下一次预测和更新迭代之前,通过随机抽取粒子 s t [ i ] s^{[i]}_t st[i]与它们的权重 w t [ i ] w^{[i]}_t wt[i]成比例,对粒子集进行重新采样。

4. 可微粒子滤波器

可微分粒子过滤器(DPFs)是粒子过滤器算法的可微分实现,具有端到端的可学习模型。我们也可以将DPF视为一种新的递归网络结构,它将粒子过滤器的算法先验编码在网络结构中(见图3a)。

对于端到端学习,我们并不是指系统的每一部分都被学习,而是指可学习部分的目标是端到端性能。为了在粒子过滤器中进行有效的端到端学习,我们需要可学习的模型和通过粒子过滤器算法进行梯度反向传播的能力——不是为了改变算法,而是为了计算如何改变模型以改善算法的输出。

本节描述了我们的DPF实现。我们基于TensorFlow[1]和Sonnet[4]的源代码可以在 https://github.com/tu-rbo/differentiable-particle-filters

A. 置信度

DPFs用一组加权粒子表示时间t的信念, b e l ( s t ) = ( S t , w t ) bel(s_t) = (S_t, w_t) bel(st)=(St,wt),其中 S ∈ R n × d S∈\mathbb{R}^{n×d} SRn×d描述 d d d维状态空间中的 n n n个粒子,权重 w ∈ R n w∈\mathbb{R}^n wRn。在每个时间步骤,DPFs用行动 a t a_t at和观察 o t o_t ot来更新之前的信念 b e l ( s t − 1 ) bel(s_{t-1}) bel(st1),以得到 b e l ( s t ) bel(s_t) bel(st)(见图3a)。

图三(a)

图三(a) 预测和测量更新;方框代表模型,彩色方框是学习过的。

图三(b)

图三(b) 计算端到端学习的梯度需要从预测的粒子(灰色圆圈,深色对应于粒子权重)进行密度估计。在将粒子转换为高斯混合物(蓝色)后,我们可以计算出真实状态下的信念(红色x处的橙色条),并将其最大化。
图3:DPF概述。(a)中的模型可以通过最大化真实状态(b)的信念来进行端到端的学习。

B. 预测

预测步骤通过从概率运动模型中取样来移动每个粒子(公式3)。运动模型通常假定环境是确定的;它们通过生成指令或测量动作的噪声版本来说明不确定性,从而使不同版本的动作被应用于每个粒子[21,第5章]。我们遵循同样的方法,将运动模型分成一个动作采样器 f f f和一个动力学模型 g g g,前者为每个粒子创建一个噪声动作 a ^ [ i ] \hat{a}^{[i]} a^[i],后者根据 a ^ [ i ] \hat{a}^{[i]} a^[i]移动每个粒子i。

a ^ t [ i ] = a t + f θ ( a t , ϵ [ i ] ∼ N ) , ( 5 ) \hat{a}^{[i]}_t = a_t + f_θ(a_t, \epsilon ^{[i]} \sim \mathcal{N} ), (5) a^t[i]=at+fθ(at,ϵ[i]N),5

s t [ i ] = s t − 1 [ i ] + g ( s t − 1 [ i ] , a ^ t [ i ] ) , ( 6 ) s^{[i]}_t = s^{[i]}_{t-1}+g(s^{[i]}_{t-1},\hat{a}^{[i]}_t) , (6) st[i]=st1[i]+g(st1[i],a^t[i]),6

其中 f θ f_θ fθ是一个前馈网络(见表一), θ θ θ是DPF的所有参数,而 ϵ [ i ] ∈ R d \epsilon^{[i]}∈\mathbb{R}^d ϵ[i]Rd是一个从标准正态分布中抽取的噪声向量。使用噪声向量作为可学习生成模型的输入,被称为重新参数化技巧[14]。在这里,这个技巧使 f θ f_θ fθ能够学会从依赖动作的运动噪声中取样。由此产生的噪声动作被送入 g g g g g g模拟这些动作如何改变状态。由于我们通常知道底层动力学模型,我们可以在 g g g中实现其方程。另外,我们可以用前馈网络 g θ g_θ gθ代替 g g g,从数据中学习动力学(在第V-A3节中测试)。

表一


C. 计量更新

测量更新使用观察结果来计算粒子权重(公式4)。DPFs实施这种更新,并另外使用观察结果来提出新的粒子(见图3a)。DPF测量模型由三个部分组成:一个共享的观察编码器 h h h,它将观察 o t o_t ot编码为一个向量 e t e_t et;一个粒子提议者 k k k,它生成新粒子;一个观察似然估计器 l l l,它根据观察对每个粒子加权。

e t = h θ ( o t ) , ( 7 ) e_t=h_θ(o_t), (7) et=hθ(ot),7

s t [ i ] = k θ ( e t , δ [ i ] ∼ B ) , ( 8 ) s^{[i]}_t=k_θ(e_t,δ^{[i]}\sim B), (8) st[i]=kθ(et,δ[i]B),8

w t [ i ] = l θ ( e t , s t [ i ] ) , ( 9 ) w^{[i]}_t=l_θ(e_t,s^{[i]}_t), (9) wt[i]=lθ(et,st[i]),9

其中 h θ h_θ hθ k θ k_θ kθ l θ l_θ lθ是基于参数 θ θ θ的前馈网络;输入 δ [ i ] δ^{[i]} δ[i]是一个从伯努利分布采样的dropout矢量。在这里,dropout不是用于正则化,而是作为随机性的来源,用于从同一个编码et中抽取不同的粒子(见表一)。

D. 粒子建议和重采样

我们不通过对状态空间的均匀采样来初始化DPFs——这将在真实状态附近产生太少的初始粒子。相反,我们通过从当前观察中提出粒子(如上所述)来初始化DPFs的第一步。在过滤过程中,DPFs逐渐从生成假设的粒子建议移动到跟踪并剔除这些假设的重采样。提议的粒子与重新采样的粒子之比遵循一个指数函数 γ t − 1 γ^{t-1} γt1,其中 γ γ γ是一个超参数,在我们的实验中设置为0.7。我们使用1000个粒子进行测试,100个粒子进行训练(以加快训练过程)。DPFs通过随机通用抽样[2]实现重采样,这不是可微分的,并导致第四节F中讨论的限制。

E. 有监督学习

DPF模型可以通过最大化真实状态 s t ∗ {s^∗_t} st下的信念,使用最大似然估计从监督数据序列 o 1 : T o_{1:T} o1:T a 1 : T a_{1:T} a1:T s 1 : T ∗ s^*_{1:T} s1:T中学习。为了从一组粒子中估计 b e l ( s t ∗ ) bel(s^∗_t) bel(st),我们将每个粒子视为具有权重 w t w_t wt的混合模型中的高斯(见图3b)。对于一个跨状态维度的合理度量,我们通过除以平均步长 E t [ a b s ( s t ∗ − s t − 1 ∗ ) ] E_t[abs(s^∗_t - s^∗_{t-1})] Et[abs(stst1)]来扩展每个维度。这种密度估计能够实现个体和端到端的学习。

1)运动模型的单独学习: 我们通过使用公式5-6从 s t − 1 ∗ s^∗_{t-1} st1 a t a_t at中抽取状态 s t [ i ] s^{[i]}_t st[i]并最大化上述数据似然来做到单独优化运动模型以匹配观察到的运动噪声,
θ f ∗ = a r g m i n θ f − l o g p ( s t ∗ ∣ s t − 1 ∗ , a t ; θ f ) θ^∗_f = argmin_{θ_f} - log p(s^∗_t | s^∗_{t-1}, a_t; θ_f ) θf=argminθflogp(stst1,at;θf)
如果动力学模型 g g g是未知的,我们通过最小化 g ( s t − 1 ∗ , a t ) g(s^∗_{t-1}, a_t) g(st1,at) s t ∗ − s t − 1 ∗ s^∗_t - s^∗_{t-1} stst1之间的平均平方误差来训练 g θ g_θ gθ

2)测量模型的个体学习: 通过使用公式7-8从 o t o_t ot中取样 s t [ i ] s^{[i]}_t st[i]并最大化 s t ∗ s^∗_t st处的高斯混合物来训练粒子建议者 k θ k_θ kθ

我们通过最大化观测值在其状态下的可能性和最小化其在其他状态下的可能性来训练观测似然估计器 l θ l_θ lθ(和 h θ h_θ hθ),
θ h , l ∗ = a r g m i n θ h , l − l o g ( E t [ l θ ( h θ ( o t ) , s t ∗ ) ] ) − l o g ( 1 − E t 1 , t 2 [ l θ ( h θ ( o t 1 ) , s t 2 ∗ ) ] ) . θ^∗_{h,l} =argmin_{θ_{h,l}}- log(E_t[l_θ(h_θ(o_t), s^∗_t)]) - log(1 - E_{{t_1},{t_2}}[l_θ(h_θ(o_{t_1}), s^∗_{t_2})]). θh,l=argminθh,llog(Et[lθ(hθ(ot),st)])log(1Et1,t2[lθ(hθ(ot1),st2)]).


3)端到端学习: 对于端到端学习,我们在重叠的子序列上应用DPFs,并且如上所述,在序列的所有真实状态下最大化信念,

θ ∗ = a r g m i n θ − l o g E t [ b e l ( s t ∗ ; θ ) ] . θ^∗ = argmin_θ − log E_t[bel(s^∗_t;θ)]. θ=argminθlogEt[bel(st;θ)].

F. 缺陷和未来的工作

我们通过从 DPF 输出到过滤循环的反向传播来计算端到端梯度。由于重采样是不可微分的,它在一次循环迭代后停止梯度计算。因此,梯度忽略了先前预测和更新步骤对当前信念的影响。这就限制了我们的实施范围,即监督学习,在每个时间步骤中预测马尔科夫状态是一个有用的目标,有利于未来的预测。差分重采样仍然可以改善监督学习,例如,通过鼓励信念高估不确定性,这降低了当前步骤的性能,但可以潜在地提高未来状态估计的稳健性。

由于很难在模拟之外产生包括真实状态 s t ∗ s^∗_t st的训练数据,我们必须努力实现无监督学习,这将需要通过多个时间步长进行反向传播,因为观察通常是非马尔科夫的。这里有两种可能的可微分重采样的实现方式,可以作为未来工作的起点:a)部分重采样:每一步只采样 m m m个粒子;保留前一个时间步长的 n − m n-m nm个粒子;梯度可以通过这些粒子向后流动。b)代理梯度:为重采样的粒子的权重定义一个代理梯度,与它被采样的粒子相联系;粒子的姿势已经与它被采样的粒子的姿势相联系;梯度可以通过这些联系流动。


5. 实验

我们在机器人的两个状态估计问题中评估了DPFs:全球定位和视觉测距。我们在模拟的三维迷宫中测试了基于视觉和测距的全局定位。我们专注于这项任务,因为它需要同时考虑多种假设,这是粒子过滤器比卡尔曼过滤器的主要优势。在这里,我们评估了:a)与单独学习相比,端到端学习的效果;b)通过与通用LSTMs的比较,评估了DPFs中编码的算法先验的影响。为了显示DPF的多功能性,并与已发表的反推卡尔曼滤波器(BKFs)的结果相比较[7],我们还将DPFs应用于KITTI视觉测距任务[5]。其目的是根据第一人称视角的视频来跟踪一辆驾驶汽车的姿势。在这两项任务中,DPFs都使用已知的动力学模型 g g g,但不假设任何关于环境地图的知识,完全从数据中学习测量模型。

我们的全局定位结果表明:1)算法优先权能够实现可解释性;2)端到端学习提高了性能,但对个体和端到端学习进行排序甚至更强大;3)DPF中的算法优先权与LSTM相比提高了性能,减少了80%∼的误差;4)算法优先权导致了政策不变性。LSTM基线学习定位的方式在机器人行为不同时停止工作(错误率为84%),而DPF的定位在不同政策下仍然有用(错误率为15%)。

在视觉测距任务中,DPFs的表现优于BKFs,尽管该任务完全符合卡尔曼滤波的能力和局限性–从已知的初始状态跟踪单模态信念。这一结果表明DPFs适用于具有不同属性的任务:更高的频率、更长的序列、5D状态而不是3D状态,以及潜在的行动。该结果还表明,DPF在真实数据上是可行的,并且能够根据不到40分钟的视频,学习对视觉上的不同观察有效的测量模型。

A. 全局定位任务

全局定位任务是指根据视觉和测距输入来估计机器人的姿势。所有的实验都是在DeepMind实验室[3]的导航环境的修改版中进行的,其中所有的物体和独特的墙面纹理都被移除,以确保部分可观察性。通过让模拟机器人在迷宫中徘徊来收集数据(见图4)。机器人遵循一个手工编码的策略,在RGB-D输入的高深度值的方向移动,并执行10%的随机行动。对于每个迷宫,我们收集了1000条100步的轨迹,每秒钟走一步,用于训练和测试。作为定位的输入,我们只使用了RGB图像和dometry,两者都有随机干扰,以使任务更加真实。对于观察,我们将渲染好的32×32的RGB图像随机裁剪为24×24,并加入高斯噪声( σ = 20 σ=20 σ=20,见图4d-f)。作为行动,我们使用了与机器人本地帧中前一个时间步的位置和方向变化相对应的测距信息,用乘法高斯噪声( σ = 0.1 σ=0.1 σ=0.1)进行干扰。所有的方法都在长度为20的短轨迹上用Adam[13]进行了优化,并使用dropout[19]和早期停止进行了规范化。现在我们来看看这个任务的结果。

图四

图4:三种迷宫环境。红线表示长度为100的轨迹示例。蓝色圆圈表示前五步,其中的观察结果在下面描述。

1) 算法优先权实现了可解释性: 由于DPFs中的算法优先权,即使在端到端学习之后,模型仍然是可解释的。因此,我们可以检查a)运动模型,b)测量模型,以及c)它们在过滤过程中的相互作用。除非另有说明,所有的模型都是先单独学习,然后端对端学习。

a) 运动模型: 图5a显示了随后的机器人姿势和运动模型的预测。这些例子表明,该模型已经学会了按运动量的比例分散粒子,将更高的不确定性分配给更大的步幅。但是,这种行为是如何取决于模型是单独学习的还是端到端的?

图5b比较了使用不同学习方案的模型的平均预测不确定性。结果显示,个体学习产生了一个准确的里程表噪声模型(比较红色和黑色虚线)。端到端学习产生的模型高估了噪声(绿色和橙色线),这与状态估计专家的见解相吻合,他们报告说 “许多在实际应用中被证明最成功的模型大大高估了不确定性的数量” [21, p. 118]。
图五

图5:学习的运动模型。(a)显示了对前一状态(黑色)的预测(青色)。(b)比较了x的预测不确定性和真实的测距噪声(虚线)。

b) 测量模型: 图6显示了三个观察实例和测量模型的相应输出:建议的粒子和取决于粒子位置的权重。注意该模型是如何预测粒子和估计真实状态下的高权重以及迷宫局部对称部分的其他状态。我们还可以看到,数据分布塑造了学习的模型,例如,通过关注第二个观察的死角,也就是遵循手工编码策略的机器人在转身之前会直视一面墙。与运动模型类似,端到端学习的测量模型并不准确,但对端到端状态估计很有效,我们接下来会看到这一点。

图六

图6:学习的测量模型。观察结果,相应的模型输出,以及真实状态(红色)。为了消除杂波,观察可能性只显示高于平均水平的状态。

c) 筛选: 图7显示了用学到的模型进行过滤。DPF开始生成许多假设(最上面一行)。然后,假设形成聚类,当它们与观察结果不一致时,不正确的聚类就会消失(第二行)。最后,剩下的集群跟踪真实状态。

图七

图7:用DPF进行全球定位。测试轨迹的每个时间步长有一个图:真实状态(红色),1000个粒子(建议粒子的权重为0.001)。最后一幅图:加权粒子平均值(绿色)在最初几步后与真实状态相匹配。

2) 端到端学习提高了性能: 为了量化端到端学习对状态估计性能的影响,我们比较了DPFs的三种不同的学习方案:每个模型的单独学习(ind),端到端学习(e2e),以及两者依次进行(ind+e2e)。我们评估了所有三个迷宫的性能,并沿着32到1000的对数尺度改变训练轨迹的数量。我们用错误率来衡量定位性能,如果与真实状态的距离除以 E t [ a b s ( s t − s t − 1 ) ] E_t[abs(s_t - s_{t-1})] Et[abs(stst1)]大于1,我们认为预测是错误的。

图8a-c中的学习曲线显示,在所有的迷宫中,端对端学习的DPF(橙色线)一直优于单独训练的DPF(红色线)。单独训练在训练轨迹少(少于64个)的情况下是最差的,但在数据多(超过125个轨迹)的情况下也会趋于平稳。在这两种情况下,问题在于模型没有针对状态估计性能进行优化。在数据少的情况下,训练没有考虑到不可避免的模型错误对过滤性能的影响。在数据很多的情况下,模型可能是单独准确的,但对于端到端的过滤性能来说是不理想的。由于同样的原因,端到端学习一直导致性能的提高。

当我们对个体学习和端到端学习进行排序时,性能提高得更多(图8a-c的绿线)。单独的预训练有帮助,因为它在学习过程中纳入了关于每个模型功能的额外信息,而端到端学习则纳入了关于这些模型如何影响端到端性能的信息。自然,结合这两种信息来源是有益的。

3) 算法优先权提高了性能。 为了衡量DPFs中编码的算法先验的效果,我们将其与一个通用的神经网络基线进行比较,该基线用一个两层的长短期记忆网络(LSTM)代替了过滤循环[9]。基线架构使用与DPF相同的卷积网络架构——它使用卷积网络 h θ h_θ hθ嵌入图像,将嵌入与动作向量相连接,并将结果输入2xlstm(512)、2xfc(256, relu)和fc(3)——并进行端到端训练以最小化平均平方误差。

图8a-c中DPF(ind+e2e)和LSTM基线(蓝色)的比较表明,在所有迷宫和所有训练数据量中,DPF(ind+e2e)的错误率都低于LSTM。同样在所有的迷宫中,DPF(ind+e2e)在125条轨迹的情况下已经达到了LSTM的最终性能,占全部训练集的 8 1 ^{1}_{8} 81

我们在迷宫2中进行了一项小型的消融研究,以量化已知动态模型对这一性能的影响。当动态模型被学习后,DPFs的最终错误率从1.6%增加到2.7%,而LSTM的错误率为6.0%。这表明,知道动力学模型对DPF的性能是有帮助的,但不是必须的。

图八

图8:所有迷宫的学习曲线(a-c),以及相对于LSTM基线的学习曲线(d-f). ind:单个学习,e2e:端到端学习。阴影部分表示标准误差。

为了可视化相对于基线的性能,我们将所有学习曲线除以LSTM的性能(见图8d-f)。由于DPFs与LSTMs相比编码了额外的先验知识,我们可能期望它们有更高的偏差和更低的变异。因此,DPF的相对误差应该在少量数据时最低,在大量数据时最高(图8d-f中的绿色曲线应该从左到右稳步上升,直到越过蓝线)。令人惊讶的是,这些曲线显示了不同的趋势。DPFs相对于LSTM的性能随着数据的增加而提高,并收敛到大约1/10到1/3。最后可能会有一个轻微的上升趋势,但在对数数据轴上,需要大量的数据才能缩小差距。这个结果表明,来自贝叶斯滤波算法的预设值在不增加偏见的情况下减少了方差——这些算法预设值捕捉到了一些关于问题的真实结构,而数据并不能帮助改善这些结构。

4)算法先验导致政策不变性: 为了对不同的任务有用,定位必须是政策不变的。同时,机器人必须遵循一些政策来收集训练数据,这将不可避免地影响数据分布,增加状态和行动之间不需要的相关性,等等。

我们通过改变训练和测试之间的策略,使用两种策略A和B,调查了不同方法对这些相关性的过度适应程度。策略A指的是我们在上述所有实验中使用的启发式探索策略(见第V-A节)。策略B使用机器人的真实姿势,在迷宫中随机生成一个目标单元,计算通往目标的最短路径,并使用混合有10%随机行动的简单控制器从一个单元跟踪这个路径。

图9中的结果显示,所有的方法在其训练策略上测试时都有很低的错误率(尽管DPF在策略B上比LSTM改善得更多)。但是当我们使用不同的策略进行训练和测试时,LSTM的错误率跃升到80%以上,而DPF(ind+e2e)在大多数情况下仍然有效(5%和26%的错误率)。

图九

图9:迷宫2中政策之间的概括。A:启发式探索策略,B:最短路径策略。使用A、B或A和B的等量混合的1000条轨迹对方法进行训练,然后用政策A或B进行测试。

LSTM基线不能泛化到新的政策,因为它不区分行动和观察,也不适合任何改善状态估计的信息。如果训练数据包括状态和行动之间的相关性(例如,因为机器人在长长的走廊里比在小房间里移动得更快),那么LSTM就会学习这种相关性。换句话说,LSTM学会了从策略所选择的行动中推断出状态。问题是,如果政策改变,这种推断就会失败。DPFs中的算法先验阻止了它们对这种相关性的过度拟合,因为DPFs不能直接从行动中推断出状态。

DPF从A到B的泛化比从B到A的泛化更好。由于从B到A的泛化对于具有单独学习模型的DPF来说同样困难,误差的增加不可能来自于通过端到端学习对数据中的相关性的过度拟合,而很可能是因为政策A访问的状态涵盖了政策B访问的状态,但反之亦然。

将政策不变性编码为先验的另一种方法是通过向数据添加这种方差来学习它。我们的结果表明,如果我们在两种政策(A+B)的组合训练数据上进行训练,所有的方法在任何一种政策的测试中都表现良好。这种符合领域随机化和数据增强精神的方法有助于DPF,因为它涵盖了访问状态的联合,并且(另外)通过包括来自两个政策的状态-动作相关性来帮助LSTM。但是,为了使LSTM的定位真正具有政策不变性,以便它能与任何新的政策C一起工作,训练数据必须以无偏见的方式覆盖所有政策的空间,这对任何有趣的问题都是困难的。

B. 视觉测距任务

为了在真实数据上验证我们的模拟结果,我们在KITTI视觉里程数据集上应用了DPFs,该数据集由一辆在城市地区行驶的真实汽车的11条轨迹数据组成,共40分钟。该数据集包括RGB立体摄像机图像,以及间隔0.1秒的汽车的地面真实位置和方向。这项任务的挑战是如何在高度多样化的观察中进行归纳,因为该方法是在训练期间从未见过的道路上测试的。由于每条轨迹中的道路是不同的,所以不可能从图像中提取关于汽车位置的全局信息。相反,我们需要从图像流中估计汽车的平移和角速度,并随着时间的推移整合这些信息来跟踪汽车的位置和方向。

我们用一个五维状态空间的DPF来解决这个问题,该空间由位置、方向、前进速度和角速度组成。DPFs使用一个简单的一阶动力学模型 g g g和一个可学习的动作采样器 f θ f_θ fθ,从一个已知的初始状态学习执行视觉测向。由于没有关于驾驶员行动的信息,行动采样器在速度维度上产生零平均运动噪声,然后用测量模型进行评估。为了进行公平的比较,我们对观察编码器hθ使用了与反推卡尔曼滤波论文[7]中相同的网络结构,它将当前图像和与最后一帧的差异图像作为输入(见图10)。我们的观测似然估计器 l θ l_θ lθ根据粒子的速度维度和编码 h θ ( o t ) h_θ(o_t) hθ(ot)进行加权。由于,初始状态是已知的,我们不使用粒子提议者。我们对DPF进行单独和端到端的训练,只使用速度维度进行最大似然估计。

图十

图10:带有DPF的视觉测距。测试轨迹示例

我们按照BKF论文中的相同程序对性能进行了评估。我们使用了11倍交叉验证,我们挑选了一条轨迹进行测试,并使用所有其他的子序列(长度为50)进行训练。我们通过计算所有100个时间步长的子序列和所有100、200、400和800个时间步长的子序列的平均误差,对测试轨迹上的训练模型进行评估。

表二将我们的结果与已发表的BKFs[7]进行了比较。DPFs的表现优于BKFs,特别是对于短序列来说,它们的误差减少了30%。在这项任务中,比BKFs有任何改进都是令人惊讶的,因为高斯信念似乎足以捕捉这项任务中的不确定性。这种改进可能来自于粒子代表长尾概率分布的能力。这些结果表明,DPFs可以适用于不同的任务,并且可以成功地应用于真实数据。

表二

6. 结论

我们引入了可微调粒子过滤器,以展示端到端学习与算法预设相结合的优势。端到端学习优化了模型的性能,而算法先验则实现了可解释性和规范化学习,从而提高了数据效率和泛化能力。使用算法作为算法优先权将有助于实现机器人学中深度学习的潜力。DPF实现的组件,如样本生成和密度估计,将有助于产生其他基于采样的算法的可区分版本。

致谢

我们感谢德国研究基金会(DFG,项目编号329426068)的财政支持。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值