任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)

自用笔记,未完待续,以及CSDN的Markdown环境有点差,Typora移植过来乱码了,修了一下,排版勉强还能看
转载请注明出处

文章目录

    • 1. 简介
    • 2. 提出方法
      • 2.1 方法概述
      • 2.2 一个单高斯分布的简单例子。
    • 3. 任务参数化高斯混合模型
      • 3.1 TP-GMM
      • 3.2 TP-GMM参数正则化
    • 4. 扩展到任务参数化的子空间聚类
    • 5. 从演示的混合模型合成运动
      • 5.1 高斯混合回归
      • 5.2 具有动态特征的GMM (trajectory-GMM)
      • 5.3 基于动态特征与基于时间特征的GMM方法分析

1. 简介

​ 在非流程化、非标准化的场景中,要完成无约束或弱约束的任务需要机器人在学习、规划和控制之间进行更密切的互动。面对这一挑战的一个先决条件是设计一个机器人应该做什么(它应该如何移动,它应该遵循什么行为)的通用表示,该表示与上述技术兼容,并且可以双边共享。特别是在不断变化的环境中,服务机器人的动作需要快速生成并适应当前的情况。

​ 简单的概率混合模型可以用来模拟人类和机器人运动的自然变化,以及在学习、在线规划和最优控制之间建立联系。高斯混合模型提供了一种与许多机器人学习方法兼容的结构。它对服务机器人的需求是灵活的,因为表示可以很容易地适应应用程序的需求,同时保留核心的概率混合建模策略。

​ 任务参数化的运动/行为模型是指可以自动适应一组任务参数的表示,例如,这些任务参数可以描述当前的上下文、情况、环境状态或机器人配置状态。任务参数是指可由系统收集并描述一种情况的变量,如对象在环境中的位置。任务参数可以在执行过程中固定,也可以在执行过程中改变。模型参数是指系统学习到的变量,即存储在内存中的变量(运动的内部表示)。在复制过程中,使用一组新的任务参数(对当前情况的描述)来产生新的动作(例如,在不同情况下观察技能后对物体的新位置的适应)。

​ 从模型参数和任务参数中检索运动被视为一个回归问题,这也限制了模型的泛化范围,见图1。任务参数化高斯混合模型(TP-GMM)旨在利用任务参数的功能性特性来提高泛化能力。事实上,在机器人应用中,任务参数在大多数情况下都与参考系、坐标系、基本函数或局部投影有关,这些结构可以用来加速学习,并为系统提供更好的泛化能力。
任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)_第1张图片
图1,右图为四个演示,褐紫色框为出发点,到达不同的黄色框目标点,是两个不同上午观测坐标系。标准的回归方法是以黄色框的位姿向量为输入,动作模型参数即高斯混合模型参数向量为输出进行训练,但由此得到的模型泛化性不足,如左图所示,执行在演示所覆盖区域之外的任务将倾向于得到不同轨迹模型的平均值,导致较差的泛化能力。

2. 提出方法

2.1 方法概述

​ 提出的方法使用生成模型对运动进行编码,其中变异性和相关信息用于推断虚拟弹簧阻尼系统的阻抗参数。这些参数形式化地对应于弹簧的刚度和粘滞阻尼器的阻尼系数,不同之处在于它们也可以是全刚度矩阵和阻尼矩阵。

​ 在其任务参数化版本中,该模型使用几个参考坐标系来描述机器人在多个坐标系中的行为。利用从这些不同坐标系的角度观察到的变化和相关性来确定线性二次调节器系统的阻抗,方法概述如图2所示。
任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)_第2张图片
a) 在不同情况下观察任务,并将其归纳到新的情境中。多个演示提供了识别任务结构的机会。
b) 多坐标系中连续运动的概率编码。
c) 利用变异性和相关信息使运动适应新的情况。通过对同一任务的跨情境观察,机器人可以将技能推广到新的情境中。
d) 基础最优控制策略驱动观察行为的计算。

2.2 一个单高斯分布的简单例子。

​ 两个观测坐标系 { b t , 1 , A t , 1 } \{\pmb{b}_{t,1}, \pmb{A}_{t,1}\} {bbbt,1,AAAt,1}, { b t , 2 , A t , 2 } \{\pmb{b}_{t,2}, \pmb{A}_{t,2}\} {bbbt,2,AAAt,2} ,其中 b \pmb{b} bbb为观察原点, A = [ e 1 , e 2 , . . . ] \pmb{A} = [\pmb{e}_1,\pmb{e}_2,...] AAA=[eee1,eee2,...]为由基向量组成的变换矩阵,从两个观察坐标系中描述一系列演示,分别用单高斯分布进行描述,即 N ( μ ( 1 ) , Σ ( 1 ) ) \mathcal{N}\left(\pmb{\mu}^{\left(1\right)}, \pmb{\mathcal\Sigma}^{\left(1\right)} \right) N(μμμ(1),ΣΣΣ(1)) N ( μ ( 2 ) , Σ ( 2 ) ) \mathcal{N}\left(\pmb{\mu}^{\left(2\right)}, \pmb{\mathcal\Sigma}^{\left(2\right)} \right) N(μμμ(2),ΣΣΣ(2)) ,并期望再现的泛化任务行为可以分别由两个高斯分布 N ( ξ ^ t ( 1 ) , Σ ^ t ( 1 ) ) \mathcal{N}\left(\hat{\pmb{\xi}}_{t}^{(1)}, \hat{\boldsymbol{\mathcal\Sigma}}_{t}^{(1)}\right) N(ξξξ^t(1),Σ^t(1)) N ( ξ ^ t ( 2 ) , Σ ^ t ( 2 ) ) \mathcal{N}\left(\hat{\pmb{\xi}}_{t}^{(2)}, \hat{\boldsymbol{\mathcal\Sigma}}_{t}^{(2)}\right) N(ξξξ^t(2),Σ^t(2)) 来表示,其中
ξ ^ t ( 1 ) = A t , 1 μ ( 1 ) + b t , 1   , Σ ^ t ( 1 ) = A t , 1 Σ ( 1 ) A t , 1 ⊤   , (1) \hat{\boldsymbol{\xi}}_{t}^{(1)}=\boldsymbol{A}_{t, 1} \boldsymbol{\mu}^{(1)}+\boldsymbol{b}_{t, 1}\, , \quad \hat{\boldsymbol{\mathcal\Sigma}}_{t}^{(1)}=\boldsymbol{A}_{t, 1} \boldsymbol{\mathcal\Sigma}^{(1)} \boldsymbol{A}_{t, 1}^{\top}\, , \tag1 ξ^t(1)=At,1μ(1)+bt,1,Σ^t(1)=At,1Σ(1)At,1,(1)
ξ ^ t ( 2 ) = A t , 2 μ ( 2 ) + b t , 2   , Σ ^ t ( 1 ) = A t , 2 Σ ( 2 ) A t , 2 ⊤   . (2) \hat{\boldsymbol{\xi}}_{t}^{(2)}=\boldsymbol{A}_{t, 2} \boldsymbol{\mu}^{(2)}+\boldsymbol{b}_{t, 2}\,, \quad \hat{\boldsymbol{\mathcal\Sigma}}_{t}^{(1)}=\boldsymbol{A}_{t, 2} \boldsymbol{\mathcal\Sigma}^{(2)} \boldsymbol{A}_{t, 2}^{\top}\,. \tag2 ξ^t(2)=At,2μ(2)+bt,2,Σ^t(1)=At,2Σ(2)At,2.(2)
在执行过程中对这两个高斯分布加权平均,潜在的目标函数被定义为二次误差项的加权和
ξ ^ t = arg ⁡ min ⁡ ξ t ∑ j = 1 2 ( ξ t − ξ ^ t ( j ) ) ⊤ Σ ^ t ( j ) − 1 ( ξ t − ξ ^ t ( j ) )   . (3) \hat{\pmb{\xi}}_{t}=\arg \min _{\pmb{\xi}_{t}} \sum_{j=1}^{2}\left(\pmb{\xi}_{t}-\hat{\boldsymbol{\xi}}_{t}^{(j)}\right)^{\top} \hat{\boldsymbol{\mathcal\Sigma}}_{t}^{(j)^{-1}}\left(\boldsymbol{\xi}_{t}-\hat{\boldsymbol{\xi}}_{t}^{(j)}\right)\, .\tag3 ξξξ^t=argξξξtminj=12(ξξξtξ^t(j))Σ^t(j)1(ξtξ^t(j)).(3)
任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)_第3张图片

3. 任务参数化高斯混合模型

3.1 TP-GMM

​ 任务参数化高斯混合模型(TP-GMM)是上述目标问题的直接扩展,它考虑了多帧和多簇数据点(通过混合建模的软聚类)。它以概率方式编码候选帧的相关性,这些相关性在任务过程中会发生变化。与旨在提取位于运动段末端的单个(最突出的)坐标系统的方法不同,本文提出的方法允许与任务相关的不同坐标系统的叠加和转换(行为原语的并行组织,适应运动中间的多个通道点,或根据物体的位置、方向或几何形状进行调制)。

M M M条演示轨迹,每条演示轨迹 m ∈ { 1 , . . . , M } m \in\{1,...,M\} m{1,...,M} 包括 T m T_m Tm个轨迹点,则演示数据集共 $N=\Sigma_m^M T_m $ 个点,其中每条轨迹是时序点构成,数据集中的点记为 { ξ t } t = 1 N \{\pmb{\xi}_{t}\}_{t=1}^N {ξξξt}t=1N 。候选观测坐标系共 P P P 个,故任务参数化在每个步长 t t t中定义为 { b   t , j   , A   t , j } j = 1 P \{\pmb{b}_{\,t,j}\,,\pmb{A}_{\,t,j}\}_{j=1}^{P} {bbbt,j,AAAt,j}j=1P,即观测坐标系的原点和变换矩阵。从不同观测坐标系观测的演示轨迹点 ξ ∈ R D × N \pmb{\xi}\in\mathbb{R}^{D\times N} ξξξRD×N 构成 P P P个采样轨迹 X ( j ) ∈ R D × N \pmb{X}^{(j)}\in \mathbb{R}^{D \times N} XXX(j)RD×N,通过下式进行计算

X t ( j ) = A t   ,   j − 1 ( ξ t − b t   ,   j ) (4) \pmb{X}^{(j)}_t=\pmb{A}^{-1}_{t\,,\,j}(\pmb{\xi}_t-\pmb{b}_{t\,,\,j})\tag4 XXXt(j)=AAAt,j1(ξξξtbbbt,j)(4)
TP-GMM由 K K K 个高斯分量组成, { π i   , { μ i ( j )   ,   Σ i ( j ) } j = 1 P } i = 1 K \{\pi_i\,,\{\pmb{\mu}^{(j)}_i\,,\,\pmb{\mathcal\Sigma}^{(j)}_i\}^P_{j=1}\}^K_{i=1} {πi,{μμμi(j),ΣΣΣi(j)}j=1P}i=1K ,其中 π i \pi_{i} πi 为混合系数(mixing coefficients), μ i ( j ) \pmb{\mu}^{(j)}_i μμμi(j) Σ i ( j ) \pmb{\mathcal\Sigma}^{(j)}_i ΣΣΣi(j) 为第 j j j 个观测坐标系中第 i i i 个高斯分量的中心和协方差矩阵利用EM算法来近似求解参数。得到一个新的高斯混合模型后进一步在新的环境中执行任务。该高斯混合模型参数为 { π i   , ξ ^ t   ,   i   ,   Σ ^ t   ,   i } i = 1 K \{\pi_i\,,\hat{\pmb{\xi}}_{t\,,\,i}\,,\,\hat{\pmb{\mathcal\Sigma}}_{t\,,\,i}\}^K_{i=1} {πi,ξξξ^t,i,ΣΣΣ^t,i}i=1K
N ( ξ ^ t   ,   i   ,   Σ ^ t   ,   i ) ∝ ∏ j = 1 P N ( ξ ^ t   ,   i ( j )   ,   Σ ^ t   ,   i ( j ) )   ,    with ξ ^ t , i ( j ) = A t , j μ i ( j ) + b t , j   , Σ ^ t , i ( j ) = A t , j Σ ( j ) A t , j ⊤    , (5) \mathcal{N}(\hat{\pmb\xi}_{t\,,\,i}\,,\,\hat{\pmb{\mathcal\Sigma}}_{t\,,\,i})\propto \prod_{j=1}^{P}{\mathcal{N}(\hat{\pmb\xi}_{t\,,\,i}^{(j)}\,,\,\hat{\pmb{\mathcal\Sigma}}_{t\,,\,i}^{(j)})} \,,\;\text{with} \\ \hat{\boldsymbol{\xi}}_{t,i}^{(j)}=\boldsymbol{A}_{t,j} \boldsymbol{\mu}_{i}^{(j)}+\boldsymbol{b}_{t,j}\, , \quad \hat{\boldsymbol{\mathcal\Sigma}}_{t,i}^{(j)}=\boldsymbol{A}_{t, j} \boldsymbol{\mathcal\Sigma}^{(j)} \boldsymbol{A}_{t, j}^{\top}\; , \tag5 N(ξξξ^t,i,ΣΣΣ^t,i)j=1PN(ξξξ^t,i(j),ΣΣΣ^t,i(j)),withξ^t,i(j)=At,jμi(j)+bt,j,Σ^t,i(j)=At,jΣ(j)At,j,(5)
其中,高斯积为
Σ ^ t , i = ( ∑ j = 1 P Σ ^ t , i ( j ) − 1 ) − 1    ,    ξ ^ t , i = Σ ^ t , i ∑ j = 1 P Σ ^ t , i ( j ) − 1 ξ ^ t , i ( j )    . (6) {\mathcal{\pmb{\hat{\Sigma}}}}_{t,i}=\left(\sum_{j=1}^{P} {\mathcal{\pmb{\hat{\Sigma}}}_{t,i}^{(j)}}^{-1}\right)^{-1} \;,\;{\pmb{\hat{\xi}}}_{t,i}={\mathcal{\pmb{\hat{\Sigma}}}}_{t,i}{\sum_{j=1}^{P} {\mathcal{\pmb{\hat{\Sigma}}}_{t,i}^{(j)}}^{-1}} {\pmb{\hat{\xi}}}_{t,i}^{(j)}\;.\tag6 Σ^Σ^Σ^t,i=(j=1PΣ^Σ^Σ^t,i(j)1)1ξ^ξ^ξ^t,i=Σ^Σ^Σ^t,ij=1PΣ^Σ^Σ^t,i(j)1ξ^ξ^ξ^t,i(j).(6)
并满足约束条件:不同观测坐标系得到的数据是同一来源。提出的的任务参数化方法要求每个观测坐标系评估演示的局部可变性,并可以使用混合模型来提取这种可变性。

3.2 TP-GMM参数正则化

​ 在容易出现过拟合的应用处理中,需要引入相关的正则化项。正则化具有避免奇异性和平滑解空间的效果 。
一种方法是定义一个最小容许特征值 λ m i n \lambda_{min} λmin,并调整每个协方差矩阵 Σ ^ i ( j ) {\mathcal{\pmb{\hat{\Sigma}}}_{i}^{(j)}} Σ^Σ^Σ^i(j)
Σ ^ i ( j ) ← V i ( j ) D ~ i ( j ) V i ( j ) ⊤ (7) {\mathcal{\pmb{\hat{\Sigma}}}_{i}^{(j)}} \leftarrow {\pmb{V}_i^{(j)}} {\tilde{\pmb{D}}_i^{(j)}} {\pmb{V}_i^{(j)}}^{\top}\tag7 Σ^Σ^Σ^i(j)VVVi(j)DDD~i(j)VVVi(j)(7)
其中,
D ~ i ( j ) = [ λ ~ i , 1 2 ( j ) 0 … 0 0 λ ~ i , 2 2 ( j ) … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … λ ~ i , d 2 ( j ) ]    , {\tilde{\pmb{D}}_i^{(j)}} = \begin{bmatrix} {\tilde{\lambda}_{i,1}^{2(j)}} & 0 & \dots & 0 \\ 0 & {\tilde{\lambda}_{i,2}^{2(j)}} & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & {\tilde{\lambda}_{i,d}^{2(j)}} \\ \end{bmatrix}\;, DDD~i(j)=λ~i,12(j)000λ~i,22(j)000λ~i,d2(j),
λ ~ i , k ( j ) = max ( λ ~ i , k ( j )    ,    λ m i n ) ∀ k ∈ { 1 , … , d }   , {\tilde{\lambda}_{i,k}^{(j)}} = \text{max}\left({\tilde{\lambda}_{i,k}^{(j)}}\;,\;\lambda_{min}\right) \quad \forall k\in \{1,\dots,d \}\,, λ~i,k(j)=max(λ~i,k(j),λmin)k{1,,d},
V i ( j ) \pmb{V}_i^{(j)} VVVi(j) 是包含 Σ i ( j ) \pmb{\mathcal{\Sigma}_i^{(j)}} Σi(j)Σi(j)Σi(j) 的==堆叠特征向量(the stacked eigenvectors)==的矩阵, λ i , k ( j ) \lambda_{i,k}^{(j)} λi,k(j) 是对应的特征向量。

另一种方法是以对角各向同性协方差 I ρ \pmb{I}\rho IIIρ (Tikhonov正则化)的形式设置协方差参数的先验不确定性,即
Σ i ( j ) ← Σ i ( j ) + I ρ   , (8) {\mathcal{\pmb{\Sigma}}_{i}^{(j)}} \leftarrow {\mathcal{\pmb{\Sigma}}_{i}^{(j)}} + \pmb{I}\rho\,,\tag8 ΣΣΣi(j)ΣΣΣi(j)+IIIρ,(8)
其中, I \pmb{I} III 为单位矩阵, ρ \rho ρ 为标量因子 ,根据经验选取或者数据来进行估计。式 7 的不同之处在于 每一个 λ i , k ( j ) \lambda_{i,k}^{(j)} λi,k(j) 都会加上 ρ \rho ρ ,而并非只有截断特征值。

​通过增强正则化对条件数的影响,奇异值分解也可以实现同样的效果。方法是迫使条件数高于公式7中的阈值,或者增加公式8中的奇异值。在某些实际应用中,在不同步骤中使用小正则项是很方便的(例如,在利用EM算法求解过程中的每次迭代以及收敛后在计算高斯积之前)。

4. 扩展到任务参数化的子空间聚类

​ 当演示数据的维度很高,但演示数据训练集 { ξ t } t = 1 N \{\pmb{\xi}_t\}_{t=1}^N {ξξξt}t=1N 有限时,协方差 Σ i ( j ) ∈ R D × D \pmb{\mathcal{\Sigma}}_i^{(j)} \in \mathbb{R}^{D \times D} ΣΣΣi(j)RD×D 的维度会随着演示数据的维度 D D D 二次指数增长。故需要对高维数据进行处理,实际应用中有如下三种观点,

  1. 增加一个全局数据降维的预处理步骤;
  2. 由于 D D D 相对于 N N N 太大,解空间中包含很多差的局部最优解;应该通过在协方差估计中引入脊或拉索正则化来平滑解空间(避免在反协方差时出现数值问题和奇异解)。如 [3.2](#3.2 TP-GMM参数正则化)节所述,在EM的每个迭代过程中的最大化步骤之后,可以得到一种简单的正则化形式;
  3. 为防止模型过参数化,使用一个更精简的模型(所需估计的参数更少)。

​ 对于第三种观点,一个实例是考虑球形或对角协方差矩阵而不是全矩阵,对应于每个变量的单独处理。尽管这种解耦通常用于机器人技术,但它是编码手势和感觉运动流的一个限制因素,因为它没有充分利用协调、运动技能获得和动作感知耦合的基本原理。

对角线协方差矩阵得约束对于运动技能编码来说太强了,因为它会丢失变量之间重要的协同信息。在混合建模中有很多替代方案,它们介于对角和完全协方差的编码之间,可以在机器人技能获取的环境中很容易地加以利用。这些方案可以作为一个研究子空间聚类得问题,旨在局部分组数据,这样可以降低子空间维数,从而帮助对局部运动趋势的分析,同时减少所需估计参数的数量,以及保留最重要的协同信息以应对扰动。

5. 从演示的混合模型合成运动

​ 前面几节叙述了如何利用TP-GMM对运动技能演示进行编码,本节解决如何利用TP-GMM来在演示的数据集中检索生成适合当前任务的运动。有几种方法可用于从TP-GMM检索连续的运动,第一种技术是将衰减项或时间变量编码为混合中的附加特征,并使用高斯混合回归(GMR)检索适应当前情况的运动。第二种技术是将静态和动态特征编码到混合模型中,就像在trajectory-HMM中一样。

5.1 高斯混合回归

​ 使用GMM表示,运动的再现可以形式化为回归问题,在机器人学习中,高斯混合回归 (Gaussian mix-ture regression,GMR)提供了从GMM生成连续运动的简单解决方案。GMR依赖于正态分布的基本性质(线性变换),对运动或策略进行基于概率的检索,其中模型可以实时计算下一个动作,计算时间与用于训练模型的数据点的数量无关。

​ 与局部加权回归(LWR)、局部加权投影回归(LWPR)和高斯过程回归(GPR)等其他回归方法相比,GMR并不直接对回归函数建模。它对数据的联合概率密度函数建模,然后从联合密度模型推导出回归函数。因此,模型参数的估计是在离线阶段实现的,它线性依赖于数据点的数量,但回归是独立于这个数字,可以非常迅速地计算,这使得这种方法成为有趣的替代回归方法,其处理过程随数据集的增大而增长。另一个好处是,输入和输出变量都可以是多维的,而无需修改模型。

​ 演示数据训练集的联合分布为 P ( ξ I   ,   ξ O ) ∽ ∑ i = 1 K π i   N ( μ i , Σ i ) \mathcal{P}\left(\pmb{\xi}^{\mathcal{I}}\,,\,\pmb{\xi}^{\mathcal{O}}\right) \backsim \sum_{i=1}^{K} {\pi_{i}\, \mathcal{N}\left(\pmb{\mu}_{i}, \pmb{\mathcal\Sigma}_{i} \right)} P(ξξξI,ξξξO)i=1KπiN(μμμi,ΣΣΣi) ,其中 I \mathcal{I} I O \mathcal{O} O 分别为输入和输出的维度,每一个的迭代步骤 t t t中,数据点 ξ t \pmb{\xi}_t ξξξt 可以分解为输入和输出的两个子向量 ξ t I \pmb{\xi}^{\mathcal{I}}_{t} ξξξtI ξ t O \pmb{\xi}^{\mathcal{O}}_{t} ξξξtO 。如对于任务空间的轨迹编码, I \mathcal{I} I 对应于时间输入维度(如衰减项的值), O \mathcal{O} O 对应于描述路径的输出维度(如任务空间中的末端执行器位置)。故可得以下块分解,
ξ t = [ ξ t I ξ t O ]    , μ i = [ μ i I μ i O ]    , Σ i = [ Σ i I Σ i I O Σ i O I Σ i O ]    . (9) {\pmb{\xi}_t}=\begin{bmatrix} \pmb{\xi}^{\mathcal{I}}_{t} \\ \pmb{\xi}^{\mathcal{O}}_{t} \end{bmatrix}\;, \quad {\pmb{\mu}_i}=\begin{bmatrix} \pmb{\mu}^{\mathcal{I}}_{i} \\ \pmb{\mu}^{\mathcal{O}}_{i} \end{bmatrix}\;, \quad {\mathcal{\pmb{\Sigma}}_i}=\begin{bmatrix} \mathcal{\pmb{\Sigma}}^{\mathcal{I}}_{i} & \mathcal{\pmb{\Sigma}}^{\mathcal{IO}}_{i} \\ \mathcal{\pmb{\Sigma}}^{\mathcal{OI}}_{i} & \mathcal{\pmb{\Sigma}}^{\mathcal{O}}_{i}\end{bmatrix}\;. \quad \tag9 ξξξt=[ξξξtIξξξtO],μμμi=[μμμiIμμμiO],ΣΣΣi=[ΣΣΣiIΣΣΣiOIΣΣΣiIOΣΣΣiO].(9)
在执行任务的每一步 t t t 中,计算条件分布 P ( ξ O ∣ ξ I ) \mathcal{P}\left(\pmb{\xi}^{\mathcal{O}}|\pmb{\xi}^{\mathcal{I}}\right) P(ξξξOξξξI) ,
P ( ξ O ∣ ξ I ) ∽ ∑ i = 1 K h i ( ξ t I )   N ( μ ^ i O ( ξ t I ) , Σ ^ i O )    , with μ ^ i O ( ξ t I ) = μ i O + Σ i O I Σ i I − 1 ( ξ t I − μ i I )    , Σ ^ i O = Σ i O − Σ i O I Σ i I − 1 Σ i I O    , and h i ( ξ t I ) = π i N ( ξ t I ∣ μ i I , Σ i I ) ∑ k K π k N ( ξ t I ∣ μ k I , Σ k I )    . (10) \mathcal{P}\left(\pmb{\xi}^{\mathcal{O}}|\pmb{\xi}^{\mathcal{I}}\right) \backsim \sum_{i=1}^{K} {h_{i}(\pmb{\xi}_{t}^{\mathcal{I}})\, \mathcal{N}\left(\hat{\pmb{\mu}}_{i}^{\mathcal{O}}(\pmb{\xi}_{t}^{\mathcal{I}}), \hat{\pmb{\mathcal\Sigma}}_{i}^{\mathcal{O}} \right)}\;,\tag{10} \\ \text{with} \quad \hat{\boldsymbol{\mu}}_{i}^{\mathcal{O}}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right)=\boldsymbol{\mu}_{i}^{\mathcal{O}}+\mathcal{\pmb{\Sigma}}_{i}^{\mathcal{O} \mathcal{I}} \mathcal{\pmb{\Sigma}}_{i}^{\mathcal{I}-1}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}-\boldsymbol{\mu}_{i}^{\mathcal{I}}\right)\;,\\[3mm] \hat{\mathcal{\pmb{\Sigma}}}^{\mathcal{O}}_{i} = \mathcal{\pmb{\Sigma}}^{\mathcal{O}}_{i} - \mathcal{\pmb{\Sigma}}^{\mathcal{OI}}_{i} \mathcal{\pmb{\Sigma}}^{\mathcal{I-1}}_{i} \mathcal{\pmb{\Sigma}}^{\mathcal{IO}}_{i}\;, \\[2mm] \text{and} \quad h_{i}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right)=\frac{\pi_{i} \mathcal{N}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}} \mid \boldsymbol{\mu}_{i}^{\mathcal{I}}, \mathcal{\pmb{\Sigma}}_{i}^{\mathcal{I}}\right)}{\sum_{k}^{K} \pi_{k} \mathcal{N}\left(\pmb{\xi}_{t}^{\mathcal{I}} \mid \boldsymbol{\mu}_{k}^{\mathcal{I}}, \mathcal{\pmb{\Sigma}}_{k}^{\mathcal{I}}\right)}\;. P(ξξξOξξξI)i=1Khi(ξξξtI)N(μμμ^iO(ξξξtI),ΣΣΣ^iO),withμ^iO(ξtI)=μiO+ΣΣΣiOIΣΣΣiI1(ξtIμiI),ΣΣΣ^iO=ΣΣΣiOΣΣΣiOIΣΣΣiI1ΣΣΣiIO,andhi(ξtI)=kKπkN(ξξξtIμkI,ΣΣΣkI)πiN(ξtIμiI,ΣΣΣiI).(10)
值得注意的是,上式表示的是一个多模态分布,对于单峰输出分布的问题可近似为正态分布,
P ( ξ O ∣ ξ I ) = N ( ξ t O ∣ μ ^ i O , Σ ^ i O )    , (11) \mathcal{P}\left(\pmb{\xi}^{\mathcal{O}} \mid \pmb{\xi}^{\mathcal{I}}\right) = \mathcal{N}\left(\boldsymbol{\xi}_{t}^{\mathcal{O}} \mid \boldsymbol{\hat{\mu}}_{i}^{\mathcal{O}}, \pmb{\hat{\mathcal{\Sigma}}}_{i}^{\mathcal{O}}\right)\;,\tag{11} P(ξξξOξξξI)=N(ξtOμ^iO,Σ^Σ^Σ^iO),(11)
with μ ^ t O = ∑ i = 1 K h i ( ξ t I ) μ ^ i O ( ξ t I )    , Σ ^ t O = ∑ i = 1 K h i ( ξ t I ) ( Σ ^ i O + μ ^ i O ( ξ t I ) μ ^ i O ( ξ t I ) ⊤ ) − μ ^ t O μ ^ t O ⊤    . (12) \text{with} \quad \hat{\boldsymbol{\mu}}_{t}^{\mathcal{O}}=\sum_{i=1}^{K} h_{i}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right) \hat{\boldsymbol{\mu}}_{i}^{\mathcal{O}}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right)\;, \\ \hat{\boldsymbol{\Sigma}}_{t}^{\mathcal{O}}=\sum_{i=1}^{K} h_{i}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right)\left(\hat{\boldsymbol{\Sigma}}_{i}^{\mathcal{O}}+\hat{\boldsymbol{\mu}}_{i}^{\mathcal{O}}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right) \hat{\boldsymbol{\mu}}_{i}^{\mathcal{O}}\left(\boldsymbol{\xi}_{t}^{\mathcal{I}}\right)^{\top}\right)-\hat{\boldsymbol{\mu}}_{t}^{\mathcal{O}} \hat{\boldsymbol{\mu}}_{t}^{\mathcal{O}^{\top}}\; . \tag{12} withμ^tO=i=1Khi(ξtI)μ^iO(ξtI),Σ^tO=i=1Khi(ξtI)(Σ^iO+μ^iO(ξtI)μ^iO(ξtI))μ^tOμ^tO.(12)
其中式 11 中检索到的信号以全协方差矩阵的形式封装变化和相关信息。

GMR可被视为全局方法和局部方法之间的折衷,因为通过期望最大化(EM)算法将基函数的位置和扩展及其响应学习为软划分问题,而预测是局部线性系统的加权叠加。它为检索到的多维输出提供变化和相关信息,从而能够提取运动中的局部协调模式。

实践中,GMR有三种应用方式:

  1. 基于GMM学习概率分布 P ( x   ,   x ˙ ) \mathcal{P}\left(\pmb{x}\,,\,\pmb{\dot{x}}\right) P(xxx,x˙x˙x˙) ,系统状态为 $\pmb{\xi}={\left[{\pmb{x}}^{\top}, {\boldsymbol{\dot{x}}}{\top}\right]}{\top} $,其中 x \pmb{x} xxx x ˙ \pmb{\dot{x}} x˙x˙x˙ 分别为系统的位置和速度,在执行任务时通过GMR估计的条件分布 P ( x ˙ ∣ x ) \mathcal{P}\left(\pmb{\dot{x}} \mid \pmb{{x}}\right) P(x˙x˙x˙xxx) 得到速度指令。
  2. 应用于轨迹类型的系统状态 ξ = [ t   ,   x ⊤ ] ⊤ \pmb{\xi}={\left[t\,,\,{\pmb{x}}^{\top} \right]}^{\top} ξξξ=[t,xxx] ,通过GMM学习概率分布 P ( t   ,   x ) \mathcal{P}\left(t\, ,\,\pmb{x}\right) P(t,xxx) ,在执行任务时通过GMR估计的条件分布 P ( x ∣ t ) \mathcal{P}\left(\pmb{x} \mid t\right) P(xxxt) 得到位置信息。
  3. 作为动态运动基元(DMP)的概率公式。

​ 单独使用TP-GMM时,是使用任务参数 A t , j O \boldsymbol{A}_{t,j}^{\mathcal{O}} At,jO b t , j O \boldsymbol{b}_{t,j}^{\mathcal{O}} bt,jO 来对 ξ O \boldsymbol{\xi}^{\mathcal{O}} ξO 进行编码;TP-GMM与GMR组合使用任务参数
A t , j = [ I 0 0 A t , j O ]    , b t , j = [ 0 b t , j O ]    , (13) \boldsymbol{A}_{t,j}= \begin{bmatrix} \pmb{I} & \pmb{0} \\ \pmb{0} & \boldsymbol{A}_{t,j}^{\mathcal{O}} \end{bmatrix} \;, \quad \boldsymbol{b}_{t,j}= \begin{bmatrix} \pmb{0} \\ \boldsymbol{b}_{t,j}^{\mathcal{O}} \end{bmatrix} \;, \tag{13} At,j=[III000000At,jO],bt,j=[000bt,jO],(13)
来对 ξ = [ ξ I ⊤ , ξ O ⊤ ] ⊤ \pmb{\xi}={\left[{\pmb{\xi}^{\mathcal{I}}}^{\top}, {\boldsymbol{\xi}^{\mathcal{O}}}^{\top}\right]}^{\top} ξξξ=[ξξξI,ξO] 进行编码。
任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)_第4张图片
如图4,左图为单高斯变量的高斯混合回归,中间为包含两个高斯变量的GMR,拓展到右图 K = N K=N K=N个高斯变量的GMR。

5.2 具有动态特征的GMM (trajectory-GMM)

​ 对于运动编码,速度和加速度也可以作为动态特征。通过考虑欧拉近似,速度计算如下
x ˙ t = x t + 1 − x t Δ t    , (14) \dot{\boldsymbol{x}}_{t}=\frac{\boldsymbol{x}_{t+1}-\boldsymbol{x}_{t}}{\Delta t}\;, \tag{14} x˙t=Δtxt+1xt,(14)
加速度为
x ¨ t = x ˙ t + 1 − x ˙ t Δ t = x t + 2 − 2 x t + 1 + x t Δ t 2    . (15) \ddot{\boldsymbol{x}}_{t}=\frac{\dot{\boldsymbol{x}}_{t+1}-\dot{\boldsymbol{x}}_{t}}{\Delta t}=\frac{\boldsymbol{x}_{t+2}-2 \boldsymbol{x}_{t+1}+\boldsymbol{x}_{t}}{\Delta t^{2}}\;. \tag{15} x¨t=Δtx˙t+1x˙t=Δt2xt+22xt+1+xt.(15)
故可以得到每一时刻的状态
ζ t = [ x t x ˙ t x ¨ t ] = [ I 0 0 − 1 Δ t I 1 Δ t I 0 1 Δ t 2 I − 2 Δ t 2 I 1 Δ t 2 I ] [ x t x t + 1 x t + 2 ]    . (16) \pmb{\zeta}_{t}=\begin{bmatrix} \boldsymbol{x}_{t} \\ \dot{\boldsymbol{x}}_{t} \\ \ddot{\boldsymbol{x}}_{t}\end{bmatrix}= \begin{bmatrix} \boldsymbol{I} & \mathbf{0} & \mathbf{0} \\ - \frac{1}{\Delta t} \boldsymbol{I} & \frac{1}{\Delta t} \boldsymbol{I} & \mathbf{0} \\ \frac{1}{\Delta t^{2}} \boldsymbol{I} & -\frac{2}{\Delta t^{2}} \boldsymbol{I} & \frac{1}{\Delta t^{2}} \boldsymbol{I} \end{bmatrix} \begin{bmatrix} \boldsymbol{x}_{t} \\ \boldsymbol{x}_{t+1} \\ \boldsymbol{x}_{t+2} \end{bmatrix} \;.\tag{16} ζζζt=xtx˙tx¨t=IΔt1IΔt21I0Δt1IΔt22I00Δt21Ixtxt+1xt+2.(16)
进一步可定义一个大型稀疏矩阵
[ ⋮ x t x ˙ t x ¨ t x t + 1 x ˙ t + 1 x ¨ t + 1 ⋮ ] ⏞ ζ = [ ⋱ ⋮ ⋮ ⋮ ⋱ ⋯ I 0 0 ⋯ ⋯ − 1 Δ t I 1 Δ t I 0 ⋯ ⋯ 1 Δ t 2 I − 2 Δ t 2 I 1 Δ t 2 I ⋯ ⋯ I 0 0 ⋯ − 1 Δ t I 1 Δ t I 0 ⋯ 1 Δ t 2 I − 2 Δ t 2 I 1 Δ t 2 I ] ⏞ Φ [ ⋮ x t x t + 1 x t + 2 x t + 3 ⋮ ] ⏞ x    . (17) \overbrace{\left[\begin{array}{c} \vdots \\ \boldsymbol{x}_{t} \\ \dot{\boldsymbol{x}}_{t} \\ \ddot{\boldsymbol{x}}_{t} \\ \boldsymbol{x}_{t+1} \\ \dot{\boldsymbol{x}}_{t+1} \\ \ddot{\boldsymbol{x}}_{t+1} \\ \vdots \end{array}\right]}^{\pmb{\zeta}}= \overbrace{\left[\begin{array}{ccccc} \ddots & \vdots & \vdots & \vdots & \ddots \\ \cdots & \boldsymbol{I} & \mathbf{0} & \mathbf{0} & \cdots \\ \cdots & -\frac{1}{\Delta t} \boldsymbol{I} & \frac{1}{\Delta t} \boldsymbol{I} & \mathbf{0} & \cdots \\ \cdots & \frac{1}{\Delta t^{2}} \boldsymbol{I} & -\frac{2}{\Delta t^{2}} \boldsymbol{I} & \frac{1}{\Delta t^{2}} \boldsymbol{I} & \cdots \\ & \cdots & \boldsymbol{I} & \mathbf{0} & \mathbf{0} \\ & \cdots & -\frac{1}{\Delta t} \boldsymbol{I} & \frac{1}{\Delta t} \boldsymbol{I} & \mathbf{0} \\ & \cdots & \frac{1}{\Delta t^{2}} \boldsymbol{I} & -\frac{2}{\Delta t^{2}} \boldsymbol{I} & \frac{1}{\Delta t^{2}} \boldsymbol{I} \end{array}\right]}^{\boldsymbol{\mathcal{\Phi}}} \overbrace{\left[\begin{array}{c} \vdots \\ \boldsymbol{x}_{t} \\ \boldsymbol{x}_{t+1} \\ \boldsymbol{x}_{t+2} \\ \boldsymbol{x}_{t+3} \\ \vdots \end{array}\right]}^{\boldsymbol{x}}\;. \tag{17} xtx˙tx¨txt+1x˙t+1x¨t+1 ζζζ=IΔt1IΔt21I0Δt1IΔt22IIΔt1IΔt21I00Δt21I0Δt1IΔt22I00Δt21I Φxtxt+1xt+2xt+3 x.(17)
演示数据集 { ξ t } t = 1 N \{\pmb{\xi}_t\}_{t=1}^N {ξξξt}t=1N M M M 条采样演示轨迹组成,其中第 m m m 条轨迹包含 T m T_{m} Tm 个点,即数据集中共 N = ∑ m M T m N=\sum_{m}^{M} {T_{m}} N=mMTm 个点,使用GMM进行编码得到描述演示任务的概率模型 P ( ζ ) ∽ ∑ i = 1 K π i N ( μ i   , Σ i ) \mathcal{P}(\pmb{\zeta}) \backsim \sum_{i=1}^{K} {\pi_{i} \mathcal{N}(\pmb{\mu}_i\,,\pmb{\mathcal{\Sigma}}_i)} P(ζζζ)i=1KπiN(μμμi,ΣΣΣi) 。在执行新任务时,可能出现的一系列状态 s = { s 1 , s 2 , … , s T } \pmb{s} = \{s_1,s_2,\dots,s_T\} sss={s1,s2,,sT} ,其中 s t ∈ { 1 , … , K } s_t \in \{1,\dots,K\} st{1,,K} ,生成的运动为
P ( ζ ∣ s ) = ∏ t = 1 T N ( ζ t ∣ μ s t   , Σ s t )    , (18) \mathcal{P}(\pmb{\zeta}\mid\pmb{s})=\prod_{t=1}^{T}\mathcal{N}(\pmb{\zeta}_t\mid\pmb{\mu}_{s_t}\,,{\pmb{\mathcal{\Sigma}}_{s_t}}) \;, \tag{18} P(ζζζsss)=t=1TN(ζζζtμμμst,ΣΣΣst),(18)
其中 μ s t \pmb{\mu}_{s_t} μμμst Σ s t {\pmb{\mathcal{\Sigma}}_{s_t}} ΣΣΣst 为状态 s t s_t st 的中心和协方差。式24 可以改写为条件分布
P ( ζ ∣ s ) = N ( ζ ∣ μ s   , Σ s )    , with μ s = [ μ s 1 μ s 1 ⋮ μ s T ] and Σ s = [ Σ s 1 0 ⋯ 0 0 Σ s 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ Σ s T ]    . (19) \mathcal{P}(\pmb{\zeta}\mid\pmb{s})=\mathcal{N}(\pmb{\zeta}\mid\pmb{\mu}_{s}\,,{\pmb{\mathcal{\Sigma}}_{s}}) \;, \tag{19} \\ \text{with} \quad \pmb{\mu}_s= \begin{bmatrix} \pmb{\mu}_{s1} \\ \pmb{\mu}_{s1} \\ \vdots \\ \pmb{\mu}_{sT} \end{bmatrix} \quad \text{and} \quad \boldsymbol{\mathcal{\Sigma}}_{s}=\left[\begin{array}{cccc} \boldsymbol{\mathcal{\Sigma}}_{s_{1}} & \mathbf{0} & \cdots & \mathbf{0} \\ \mathbf{0} & \boldsymbol{\mathcal{\Sigma}}_{s_{2}} & \cdots & \mathbf{0} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \boldsymbol{\mathcal{\Sigma}}_{s_{T}} \end{array}\right]\; . P(ζζζsss)=N(ζζζμμμs,ΣΣΣs),withμμμs=μμμs1μμμs1μμμsTandΣs=Σs1000Σs2000ΣsT.(19)
为了生成最符合所演示的运动技能,最大化,
x ^ = arg ⁡ max ⁡ x    log ⁡ P ( Φ x ∣ s )    , (20) \hat{\pmb{x}} = \arg\underset{\pmb{x}}{\max}\;\log{\mathcal{P}}(\pmb{\mathcal{\Phi}}\pmb{x}\mid\pmb{s}) \;, \tag{20} xxx^=argxxxmaxlogP(ΦΦΦxxxsss),(20)
其中与 x \pmb{x} xxx 有关的部分采用最小化平方误差的目标函数形式
c = ( μ s − ζ ) ⊤ Σ s − 1 ( μ s − ζ ) = ( μ s − Φ x ) ⊤ Σ s − 1 ( μ s − Φ x )    (21) c={(\pmb{\mu}_s-\pmb{\zeta})}^\top{\pmb{\mathcal{\Sigma}}_{s}^{-1}}{(\pmb{\mu}_s-\pmb{\zeta})} \\ ={(\pmb{\mu}_s-\pmb{\mathcal{\Phi}}\pmb{x})}^\top{\pmb{\mathcal{\Sigma}}_{s}^{-1}}{(\pmb{\mu}_s-\pmb{\mathcal{\Phi}}\pmb{x})}\; \tag{21} c=(μμμsζζζ)ΣΣΣs1(μμμsζζζ)=(μμμsΦΦΦxxx)ΣΣΣs1(μμμsΦΦΦxxx)(21)
x x x 求微分最小化目标函数,得到
x ^ = ( Φ ⊤ Σ s − 1 Φ ) − 1 Φ ⊤ Σ s − 1 μ s    , (22) \hat{\pmb{x}}={(\pmb{\mathcal{\Phi}}^\top{\pmb{\mathcal{\Sigma}}_{s}^{-1}}{\pmb{\mathcal{\Phi}}})}^{-1} \pmb{\mathcal{\Phi}}^\top {\pmb{\mathcal{\Sigma}}_{s}^{-1}}\pmb{\mu}_s \;, \tag{22} xxx^=(ΦΦΦΣΣΣs1ΦΦΦ)1ΦΦΦΣΣΣs1μμμs,(22)
估计协方差误差为
Σ ^ x = σ ( Φ ⊤ Σ s − 1 Φ ) − 1    , (23) \hat{\pmb{\mathcal{\Sigma}}}^{\pmb{x}}=\sigma{(\pmb{\mathcal{\Phi}}^\top{\pmb{\mathcal{\Sigma}}_{s}^{-1}}{\pmb{\mathcal{\Phi}}})}^{-1} \;, \tag{23} ΣΣΣ^xxx=σ(ΦΦΦΣΣΣs1ΦΦΦ)1,(23)
其中 σ \sigma σ 为比例系数

任务参数化高斯混合模型(task-parameterized Gaussian mixture model,TP-GMM)_第5张图片
如图5,左侧为4个平面演示轨迹,是一个完整长运动轨迹的子轨迹,互不连续,且包括两个可选的效果相似的子轨迹;中间图示是将利用一个包含18个高斯变量的trajectory-GMM进行建模后的结果;右图为从生成模型中检索生成完整的运动轨迹,平滑且等概率性选择中间两条路径之一。

TP-GMM和trajectory-GMM的结合是通过增加位置数据及其导数(例如速度和加速度)来实现对 ζ = [ x ⊤ , x ˙ ⊤ , x ¨ ⊤ ] ⊤ \pmb{\zeta}={[\pmb{x}^\top,\dot{\pmb{x}}^\top,\ddot{\pmb{x}}^\top]}^\top ζζζ=[xxx,xxx˙,xxx¨] 进行编码的,并定义所有任务参数 A t , j \pmb{A}_{t , j} AAAt,j b t , j \pmb{b}_{t , j} bbbt,j 以便它们也适用于导数,
A t , j = [ A t , j O 0 0 0 A t , j O 0 0 0 A t , j O ] , b t , j = [ b t , j O 0 0 ]    . (24) \boldsymbol{A}_{t, j}=\left[\begin{array}{ccc} \boldsymbol{A}_{t, j}^{\mathcal{O}} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{A}_{t, j}^{\mathcal{O}} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \boldsymbol{A}_{t, j}^{\mathcal{O}} \end{array}\right], \quad \boldsymbol{b}_{t, j}=\left[\begin{array}{c} \boldsymbol{b}_{t, j}^{\mathcal{O}} \\ \mathbf{0} \\ \mathbf{0} \end{array}\right]\;. \tag{24} At,j=At,jO000At,jO000At,jO,bt,j=bt,jO00.(24)

5.3 基于动态特征与基于时间特征的GMM方法分析

​ 具有时间索引轨迹的GMR(第[5.1](#5.1 高斯混合回归)节)是从GMM生成轨迹的简单解决方案,缺点是基于时间的GMR在实践中通常需要预处理步骤,如动态时间扭曲(DTW),以便使多个演示在时间上对齐。出于同样的原因,基于时间的GMR还可能降低更复杂形式教学交互情形下的运动合成的适用性,例如学习重复模式(离散运动和周期运动的组合)或演示运动中的不同选项。trajectory-GMM的情况并非如此,它可以在不进一步修改模型的情况下处理这两个问题(见第[5.2](#5.2 具有动态特征的GMM (trajectory-GMM))节)。这是以增加GMM维度为代价实现的(通过编码位置、速度和加速度信息,而不是直接基于GMR中的位置和时间)。

​ 随时间特征编码动态特征的另一个优点是,可以在训练集中轻松使用部分演示,见图5。在服务机器人应用中,有时很难在一次拍摄中演示复杂的操作任务,而且效率低下。一种更方便用户的方法是提供全身运动的增量校正或分段演示,可以使用完整运动的部分块来训练模型。这一点在具有大量关节的机器人的动觉教学中也是必需的(因为用户无法用双手同时控制所有自由度)。trajectory-GMM在这里提供了一种无需进一步修改模型即可处理部分演示的方法。

[参考文献]
[1] Calinon S. A tutorial on task-parameterized movement learning and retrieval[J]. Intelligent Service Robotics, 2016, 9(1):1-29.

你可能感兴趣的:(模仿学习,机器人,运动规划,人工智能,机器人,模仿学习,高斯混合模型)