概述
文章通过在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都服从一个正态分布,通过采样生成一条轨迹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)