Probabilistic Movement Primitives (ProMP) 总结

概述

文章通过在DMP的基础上增加随机项,并通过EM算法求解得到符合示教数据的参数.

一. 模型介绍

1. 系统方程

假设示教数据为 τ = { q t , q ˙ t } t = 0 , . . . , T \tau = \{q_t, \dot{q}_t\}_{t=0,...,T} τ={qt,q˙t}t=0,...,T,记 y t = { q t , q t ˙ } y_t=\{q_t, \dot{q_t} \} yt={qt,qt˙},则系统方程可表示为:
y t = Φ t T ω + ϵ y , y_t = \Phi_t^T\omega + \epsilon _y, yt=ΦtTω+ϵy,其中 Φ t = [ ϕ t , ϕ ˙ t ] ∈ R n × 2 \Phi_t=[\phi_t, \dot{\phi}_t]\in \mathbb{R}^{n\times 2} Φt=[ϕt,ϕ˙t]Rn×2为基函数, ω \omega ω为待学习的参数, ϵ ∼ N ( 0 , Σ y ) \epsilon \sim \mathcal{N}(0,\Sigma_y) ϵN(0,Σy) Σ y \Sigma_y Σy可以从示教数据中辨识。则给定一条轨迹 τ \tau τ,其关于 ω \omega ω的条件概率为 p ( τ ∣ ω ) = Π t N ( y t ∣ Φ t ω , Σ y ) p(\tau|\omega) = \Pi_t \mathcal{N}(y_t|\Phi_t \omega, \Sigma_y) p(τω)=ΠtN(ytΦtω,Σy)文章中假设 ω \omega ω是参数为 θ \theta θ的正态分布: p ( ω ; θ ) = N ( ω ∣ μ ω , Σ ω ) p(\omega;\theta) = \mathcal{N}(\omega|\mu_\omega, \Sigma_\omega) p(ω;θ)=N(ωμω,Σω),则可得
p ( y t ; θ ) = ∫ N ( y t ∣ Φ t T ω , Σ y ) N ( ω ∣ μ ω , Σ ω ) = N ( y t ∣ Φ t μ ω , Φ t T Σ ω Φ t + Σ y ) , p(y_t;\theta) = \int{\mathcal{N}(y_t|\Phi_t^T\omega,\Sigma_y)\mathcal{N}(\omega|\mu_\omega, \Sigma_\omega)} = \mathcal{N}(y_t| \Phi_t \mu_{\omega}, \Phi_t^T\Sigma_\omega\Phi_t+\Sigma_y), p(yt;θ)=N(ytΦtTω,Σy)N(ωμω,Σω)=N(ytΦtμω,ΦtTΣωΦt+Σy),可知 y t = { q t , q t ˙ } y_t=\{q_t, \dot{q_t} \} yt={qt,qt˙}服从正态分布。

2. 相位系统

与DMP相同,ProMP也通过一个相位系统来隐式地表征时间: z ˙ = f ( z ) \dot{z} = f(z) z˙=f(z)通过改变 f f f,可以调整轨迹的快慢(Temporal Modulation)。则此时基函数可以表示为关于 z z z的函数: ϕ t = ϕ ( z t ) , ϕ ˙ t = ϕ ′ ( z ) z ˙ t \phi_t = \phi(z_t), \dot{\phi}_t = \phi'(z)\dot{z}_t ϕt=ϕ(zt),ϕ˙t=ϕ(z)z˙t,之后根据示教数据终点是吸引子还是极限环,选择相应的基函数(见DMP)。

3. 高维系统

上述系统可以轻易地拓展到高维系统中,只需将 N ( y t ∣ Φ t T ω , Σ y ) \mathcal{N}(y_t|\Phi_t^T\omega,\Sigma_y) N(ytΦtTω,Σy)中的 Φ t T \Phi_t^T ΦtT改为 D i a g ( Φ 1 t T , . . . , Φ k t T ) Diag(\Phi_{1t}^T,...,\Phi_{kt}^T) Diag(Φ1tT,...,ΦktT) ω = [ ω 1 , . . . , ω k ] \omega = [\omega_1, ..., \omega_k] ω=[ω1,...,ωk]即可。

4. 参数学习

系统中的需要学习的参数为 θ = { μ ω , Σ ω } , \theta = \{\mu_\omega, \Sigma_\omega\}, θ={μω,Σω},可通过计算极大似然估计,通过EM算法得到符合示教数据的 μ ω , Σ ω 。 \mu_\omega, \Sigma_\omega。 μω,Σω

二. ProMP与DMP的不同

可以看出,ProMP与DMP的区别在于:
① 假设参数 ω \omega ω服从正态分布, p ( ω ; θ ) = N ( ω ∣ μ ω , Σ ω ) p(\omega;\theta) = \mathcal{N}(\omega|\mu_\omega, \Sigma_\omega) p(ω;θ)=N(ωμω,Σω),而在DMP中 ω \omega ω为确定的常数。
② 在系统方程中增加了随机项 ϵ ∼ N ( 0 , Σ y ) \epsilon \sim \mathcal{N}(0,\Sigma_y) ϵN(0,Σy),用来表征观测噪声。
③ DMP中通过动态系统构建方程,通过ODE生成一条轨迹;而ProMP通过联合正态分布来构建系统方程,随着相位变量 z z z的变换,每一时刻 y t , y ˙ t y_t, \dot{y}_t yt,y˙t都服从一个正态分布,通过采样生成一条轨迹。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值