Particle Filtering with Invertible Particle Flow

简介

  • particle flow 通过解偏微分方程解决 weight degeneracy。
  • particle flow 采用的近似,所以后验不正确。
  • 通过可逆映射(invertible mapping)高效计算权重。

介绍

  • Bootstrap particle filter (BPF) 会遇到 weight degenercy
  • 更多的 particle filter 通过最优的提议分步(optimal proposal distribution)来构建有效的提议分步(efficient proposal distribution)
  • auxiliary particle filter (APF) 通过辅助变量来进行 sampling,这个过程会包含新的 measurement 信息。
  • Rao-Blackwellised particle filter 通过数值分析使一些 particle 边缘化,从而移除了蒙特卡罗的分析。
  • unscented particle filter 采用无迹传递来估算最优的提议分步。
  • 以上方法高维问题都性能塌陷
  • equivalent weights particle filter 在高维上能得到较好的结果,通过牺牲统计统一性,来解决 particle degeneracy
  • 另一种方法是通过因式分解或者划分来分割物体的状态空间。但是这种方法受限于条件后验分步的因式分解。
  • 另一种更一般的方法是在粒子滤波器中引入马尔可夫链蒙特卡罗方法。但是这种方法计算量大,实时有点困难。
  • 还有一种方法叫做“progressive Bayesian update”, “homotopy” 或者 “particle flow”。
  • Duam 和 Huang 通过 log 来构建一个 Particle flow (文章总结在:papers)
  • 但是这种方法,没有解析解。
  • exact particle flow 通过假设测量模型是线性的,先验和后验分步是高斯的。
  • 所有particle flow都是通过偏微分方程来进行更新的。 但是截断误差依然会导致不能收敛域真正的 posterior density
  • 本文提出了 PFPF:
  1. 通过invertible mappings提高 particle flow 的运算效率
  2. 并且证明这个新的 particle flow 是 invertible mappings.
  3. 并在高维非线性中测试

相关工作

  • 传统的the extended Kalman filter (EKF), the unscented Kalman filter (UKF) [45] 或 the ensemble Kalman filter (EnKF) [46]不适合在非高斯的情况下工组。
  • multiple particle filter通过分割状态空间来在低维子空间中运行,并在空间中交换信息
  • block particle filte采用相同的思路,将滤波过程通过 block 分解,
  • space-time particle filter 也是分解,不过假设滤波结果和粒子数量无关。
  • 这些分解的方法很大程度取决于分解的有效性。
  • resample-move是通过在 move 后添加一个 MCMC 移动来多样化粒子。
  • 但是问题是在高维问题下,复制的例子很少。
  • Sequential Markov chain Monte Carlo (SMCMC) particle filter 通过MCMC 直接从提议分步中采样,所以避免了 resample。但是如何获得有效的 MCMC 就成了新的问题。比如Langevin diffusion or Hamiltonian dynamics MCMC kernel 或者Manifold Hamiltonian Monte Carlo kernel。但是这些都要求很多的不同假设
  • particle flow 对假设要求就温和的多。
  • 另一种思路,思路就是建立桥函数,比如退火算法。
  • Gaussian particle flow importance sampling 的权重更新是近似的,但是成本也高。d sequential Monte Carlo method 和Gibbs flow 也有相同的问题。

partical flow

  • localized exact Daum and Huang filter: localized, 对于每个particle单独求参数,exact 线性高斯。
  • 对于EDH 我们可以得到如下性质:
  1. 对于任意\(\lambda \in [0,1)\), 如果\(h(.,0)\)是一个\(C^1\)方程,\(\triangle m_\lambda\) 是有界的。设,\(\rho (.)\)是谱半径函数,\(\rho(\bm{A}(\lambda))\)\(\bm{A}(\lambda)\) 的上边界。

  2. 对于任意\(\lambda \in [0,1)\), 如果\(h(.,0)\)是一个\(C^1\)方程,\(\triangle m_\lambda\) 是有界的。如果\(\triangle \lambda\)足够小,\(\triangle \lambda<\frac{2\underline {r}(\lambda) }{\overline{p}\overline{h}^2}\), \(f_\lambda\)是可逆的

  3. EDH particle filter 是一个可逆映射,

  4. 如果 \(\triangle \lambda < \frac{2\underline{r}(\lambda)}{\overline{p}\overline{h}^2}\), 那么$0<| ^i (m^i_o) | <$

LEDH PFPF 和EDH PFPF的区别

在 EDH中,\(A\)\(\left| \dot { T }^i (m^i_o) \right|\)不与particle state 和 index 相关,所以计算weight 时可以不考虑\(\left| \dot { T }^i (m^i_o) \right|\),因为归一化时会消掉。在 LEDH中,\(A\)\(\left| \dot { T }^i (m^i_o) \right|\)与particle state 和 index 相关。

这就导致了: 1. LEDH的参数需要每个 particle 单独计算而EDH 不用 2. weight 的计算方法不同

潜在疑问

  1. 下面这个公式怎么得到的?为什么用q 这个是随机变量(transformation of random variables)的问题, Screen Shot 2018-05-24 at 10.44.45 可以参看我的另一篇博客,

  2. Capture为什么不能抵消

  3. 为什么一点要可逆? 如果不是这个映射会更加复杂。

  4. “As noted in [3], the state update during the particle flow process is not in general an invertible mapping, so (18) does not hold.” 为什么在 state 空间不成立

  5. 为什么是小于? Screen Shot 2018-05-24 at 10.47.05

  6. "One possible concern with the proposed implementation is that flow parameters are calculated using the auxiliary flow" 这里的‘auxiliary flow’指的是?

  7. 如果保证步长是足够小的,满足可逆,因为参数都是未知的?

感谢云鹏(作者)对论文不懂地方的解答。