概述
文章通过在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都服从一个正态分布,通过采样生成一条轨迹。