模仿学习技术旨在模仿人类在特定任务中的行为,通过在演示中学习演示活动和动作之间的映射来执行演示任务.以往的工作可以分为基于运动[1-2]和基于任务[3-4]两种.前者直接记录人或机器人的运动轨迹生成用于机器人控制的模型,后者采用观测系统提取场景化的符号描述,并将任务模型表示为符号基元序列.由于后者对于环境的变化不敏感,更易泛化,因此本研究采用后者的方式来建立学习模型.基于任务的模仿学习在近些年取得了长足的进展,文献[5]将总任务分解成一系列子任务,结合自身感知行为能力和物体动作属性来预测潜在动作.文献[6]利用隐马尔可夫模型(hidden Markov model,HMM)和贝叶斯模型结合的行为识别方法,采用PDDL(规划领域定义语言)进行行为描述,在Baxter机器人上验证了利用工具安装零件的装配行为.这些方法本质是提取演示任务并抽象成符号基元序列,进而采用不同的方法指导机器人完成模仿学习任务.结构文法作为自然语言处理中的句法分析技术,具有丰富的语法和语义结构,对描述和理解人的活动具有先天的优势[4,7],因此受到了诸多国内外学者的关注.文献[8]使用隐马尔可夫模型从指挥家手部运动的视频中提取了简单的动作词,并使用一组手工定义的语法规则来识别节奏拍子.文献[9]使用了一个类似Ivanov的实验场景,将HMM产生的原始动作符号输入到上下文无关文法(CFG)学习算法中,但该方法对于输入符号中的错误非常敏感.文献[10]提出了一种识别噪音的方法,即将噪声假设放在不同的终端符号组合上,使用MDL(最小描述长度)准则来评估这个假设,以此方法识别噪音符号,从而学习到演示活动的基本结构.上述研究存在学习方法泛化能力弱,且对低级检测器检测准确率要求较高的问题.本研究引入结构文法中的概率上下文无关文法(PCFG)作为机器人模仿学习的表示框架,利用PCFG的层次结构和递归结构来表示符号基元序列,采用MDL准则来量化语法和数据的复杂度,从而得到演示活动中的一般结构.由于PCFG考虑了符号概率和规则概率,因此在学习过程中,包含噪声的规则会得到一个较小的概率值,从而降低了噪声对学习效果的不利影响.通过在语法评估中最大化数据似然度的贡献值,并优化语法空间的搜索算法,提高了学习方法的抗干扰性.学习方法所得到的一般结构被用来指导机器人完成更为复杂的高阶任务.1 基于PCFG模型的表示框架本研究采用的基于结构文法的模仿学习框架如图1所示,该框架分为三部分.第一部分利用RGB-D(彩色-深度)视觉传感器提取演示活动中的符号基元序列,符号基元的信息包括演示场景中的物体位姿、人体动作识别信息等.第二部分为演示活动的策略学习,符号基元序列采用PCFG语法进行表征形成初始语法,采用chunk操作符和merge操作符对初始语法进行变换形成语法空间,采用MDL准则对语法空间中的语法进行评价,采用改进Beam Search算法得到最佳语法即演示活动的一般结构,众多活动的一般结构形成知识库.第三部分为机器人演示活动的模仿,利用知识库中的一般结构指导机器人完成复杂任务的执行.10.13245/j.hust.211016.F001图1模仿学习框架1.1 概率上下文无关文法CFG被定义为一个四元组G={T,N,Z,R},其中:T为终端集;N为非终端集;R为语法规则集;Z为开始符号.四元组中的产生规则形式为X→λ,其中:X∈N,且λ∈(N⋃T)*.非终端表示为大写字母,终端表示为小写字母.PCFG是上下文无关文法的概率扩展,即在每个产生规则中添加概率[11],有X→λ[p],其中:p为产生规则概率,通常被写成p(X→λ).产生规则概率表示给定非终端X,选择产生某一非终端或终端的条件概率.为了方便理解,产生规则将被称为语法规则.1.2 符号概率和规则概率每一个终端符号对应一个非终端符号,如A→a.每一个非终端符号对应终端符号或者非终端符号,如Y→AbC.低级检测器检测到动作并进行符号化表征后给出一个置信度t,称为符号概率.规则概率[7]为p(Ri)=∑j=1mϕ(σij)c(σij)/∑i=1n∑j=1mϕ(σij)c(σij),式中:Ri为规则集R中的第i条规则;σi为第i条规则右侧对应的非终端字符解析成终端字符后的子串集合;c(σij)为该子串在输入中的个数;σij为集合中的第j个子串;ϕ(σij)为该子串的联合概率.对于输入的符号基元序列,采用N-grams算法得到字符串所有子串集合,然后根据子串中符号的概率计算子串的概率,其计算公式[7]为ϕ(σ)=(∑d=1ξx1dx2d⋯xodo)/ξ,式中:o为某子串σ的长度;d为子串在整个输入中第d次匹配;ξ为子串在整个输入中匹配的次数;x为符号基元.2 基于MDL的语法空间评价和搜索2.1 语法空间的评价采用最小描述长度准则作为衡量语法质量的标准[7].MDL准则包含两部分:对语法的描述;在该语法的框架下对数据的描述.两者之和尽可能做到最小,争取在紧凑性和详尽性之间达到平衡.MDL准则的数学描述为Ĝ=argminG{DL(G)+DL(W|G)},式中:Ĝ为总描述长度;G为给定语法;W为数据;DL为描述长度运算符.MDL准则的数学描述还有另一种写法,也是本研究MDL的计算采用式,即Ĝ=argminG{-logP(G)-logP(W|G)},式中:-logP(W|G)为对语法详尽性的度量,描述了语法的表达能力;-logP(G)为语法的描述长度,是对语法紧凑性的度量,可解释为该语法的参数和结构的联合概率,如P(G)=P(Gs,θG)=P(θG|Gs)P(Gs),其中,Gs为语法的结构,θG为语法的参数,P(Gs)为语法结构概率,P(θG|Gs)为语法参数概率.语法中各规则中终端符号和非终端符号的分布均服从多项式分布,设h为多项式分布中可供选择的事件,可以把h看作语法中终端符号和非终端符号个数之和,各事件的概率参数为θ=(θ1,θ2,⋯,θh).这些概率参数满足和为1,而多项式的标准先验分布为迪利克雷分布,那么对于一个确定的语法G,P(θG|Gs)的计算公式[12]为P(θG|Gs)=(∏υ=1hθυαυ-1)/B(α1,α2,⋯,αh),式中:B(α1,α2,⋯,αh)为h维Beta分布,其中α1,α2,⋯,αh为先验的参数.由于没有α和θ的先验知识,因此假设其符合均匀分布的特点[13].P(Gs)的值由语法规则符号的描述长度和每个语法规则中符号个数的描述长度组成.假设语法规则的符号个数的分布服从泊松分布(这里泊松分布向X轴正向移位1),因为产生式规则中符号个数最小为2.另外假设所有的符号都有相同的出现概率,所以每个符号的描述长度为log2|Σ|,其中Σ为语法中所有终端符号和非终端符号的个数之和.总的描述长度的计算公式[12]为P(Gs)=∑R'∈R(-loge-μμrR-1(rR-1)!+rRlog2|Σ|),式中:μ=3;R'为R中的某一条规则;rR为语法中每个规则的长度.本研究采用数据似然度来衡量语法的表达能力[13],数据似然度的值通过Viterbi解析器求得.MDL准则倾向于得分更小的语法,但是-logP(G)的赋值范围远大于数据似然度-logP(W|G)的赋值范围,这使得-logP(G)对总描述长度有更大的影响,因此需要一个修正因子τ来平衡两部分对总描述长度的影响,有Ĝ=argminG{-logP(G)-τlogP(W|G)},式中τ的值为-logP(G)的范围与-logP(W|G)的范围的比值.2.2 语法的操作和搜索采用两个运算符来抽象和泛化初始语法.chunk(分块)操作通过用新的非终端符号替换规则右侧的部分符号序列来构建层次结构,merge(融合)操作通过用相同的符号替换两个符号来概括规则.例如将(X,Y)合并到Z中意味着规则中所有的X和Y符号都被替换成符号Z,因此两个操作符会将语法转换成比前一个语法的描述长度更少、理解程度更深的语法.表1展示了chunk操作和merge操作对一个初始语法进行操作得到最优语法的过程.10.13245/j.hust.211016.T001表1chunk操作和merge操作初始语法chunk(AB)→Xchunk(AXB)→Ymerge(Z,Y)→Zmerge(Z,X)→ZZ→AB→AABB→AAABBBA→aB→bZ→X→AXB→AAXBBX→ABZ→X→Y→AYBX→ABY→AXBZ→X→ASB→AXBX→ABZ→AB→ASB经典Beam Search算法是以最大后验概率作为目标函数,当每一步深度扩展时,只保留有限个最优的状态,是一种典型的贪心算法.缺点就是可能某一节点所扩展的全部节点因得分太低而被全部丢弃,导致潜在的最佳方案被丢弃.本研究改进Beam Search算法,引入惩罚机制,对来自相同父节点的节点进行惩罚,偏爱来自不同父节点的节点,从而改善Beam Search算法的缺点.改进的Beam Search算法的数学表达式[14]为Ŝ(Gy-1k, gyk,k')=S(Gy-1k, gyk,k')-γk',式中:γ为多样率,表征了Beam Search算法的多样性程度,γ的合理取值根据输入符号基元序列中一般结构的长度大小而有所变动,长度越长,γ的取值越大,根据多次实验效果确定本实验γ=1;S(Gy-1k, gyk,k')为由上一步节点所扩展的节点的MDL得分;Ŝ(Gy-1k, gyk,k')为引入惩罚因子后的MDL得分;Gy-1k为上一步扩展时第k个最优语法;gyk,k'为上一步的第k个语法所扩展的语法的第k'个语法,k和k'的值按照MDL的得分的负数来排序确定.3 实验及分析为了验证本研究提出的模仿学习方法,分别进行数据合成实验和汉诺塔实验来验证算法的有效性.3.1 数据合成实验为了测试系统对不确定性输入的敏感性,在手工构建的符号基元序列中插入其他符号或者替换部分符号来模拟不确定输入,即噪声.将噪声分为10个等级,从2%到20%,步长为2%.噪声概率为10%表示输入的基元符号中有10%的部分发生了插入或者替换错误.对每个等级的噪声进行10次处理,计算其平均MDL得分,共100次实验,并与文献[10]和文献[15]提出的方法进行了比较,图2为在不同等级噪声条件下各方法得到的最优结构的MDL得分,图中:Nl为噪声等级;Sl为MDL得分.MDL得分越低,表明通过更少的比特编码了数据,对数据的理解也越深.从图2可知:本研究提出的方法相较于其他两种方法在各个噪声等级下均展现了较低的MDL得分,具有很好的数据压缩性能,侧面体现了该方法对数据的理解程度更深,得到的结果也更能反映输入序列的一般结构.10.13245/j.hust.211016.F002图2不同噪声等级下各方法的MDL得分图3展示了各方法在不同的等级噪声条件下所得到的最优结构与输入的符号基元序列结构MDL得分的比值,图中Vl为最优语法与初始语法MDL得分比.从图3中可知:本研究提出的方法所得到的最优语法相较于其他两种方法,具有较强的压缩特性,并且随着噪声等级的提高,这种压缩特性并没有出现明显变化,甚至压缩性能更好,展现该方法较强的抗干扰性.10.13245/j.hust.211016.F003图3各方法所得最优语法与初始语法的MDL得分比随着噪声等级的提高,最优结构中一些与模型无关的规则就会越多,因此须对得到的最优结构即语法进行剪枝,从而减少一些无关噪声的干扰.表2展示了在2%,6%,12%,18%等级噪声下本文方法与文献[15]方法剪枝后所得到的最优语法规则,设置剪枝因子δ=0.1,即概率为0.1以下的语法规则被舍弃.利用这些剪枝后得到的最优结构,将有噪声的符号基元序列输入到Viterbi解析算法中,解析得到正确的符号基元序列,进而指导机器人完成模仿学习的任务.10.13245/j.hust.211016.T002表2不同噪声等级下得到的最优语法最优语法规则2%6%12%18%语法规则规则概率语法规则规则概率语法规则规则概率语法规则规则概率文献[15]Z→ABC0.599 782Z→ABC0.579 733Z→BC0.224 772Z→AB0.305 695→AB0.224 715→ZC0.270 815→ZZ0.260 138→ZZ0.260 001→ZZ0.217 008→ZA0.164 792→AZ0.201 583→ZZ0.129 601本文Z→ABC0.565 776Z→ABC0.546 818Z→YC0.510 155Z→YC0.478 381→ZZ0.265 265→ZZ0.239 409→ZZ0.301 947→ZZ0.301 843Y→AB1.000 000Y→AB1.000 0003.2 汉诺塔实验使用RGB-D视觉传感器提取5位演示者演示活动中的基元序列,实验的目标是使机器人正确理解人类演示活动中的一般结构,从而可以成功执行演示活动中的任务.由于汉诺塔问题的递归特性,因此将其作为实验的演示活动来验证提出的方法.汉诺塔问题即假定有O1,O2,O3三根柱子,现将O1柱上n个木块移动到O3柱上,一次移动一个木块,且每个木块上必不能放比它大的木块.考虑到小木块必须在大木块上面是先验知识,所以从O1柱上移动到O2柱上与从O2柱上移动到O1柱上可以归结为一类动作,故在该实验中共有5种动作,分别为取木块、放木块、在O1柱和O2柱之间移动、在O1柱和O3柱之间移动、在O2柱和O3柱之间移动,用T,P,U,V,W来表示上述动作.这5个符号构成了输入的符号基元序列,结合汉诺塔问题的递归特性,最终的目标就是学习到((TUP)(TVP)(TWP))z这种结构,其中Z为执行((TUP)(TVP)(TWP))这种结构的次数,故汉诺塔问题可以表征为递归的执行(TUP)(TVP)(TWP)这种结构,直到问题被解决.在训练阶段,每个演示者分别在低噪声(室内照明)和高噪声环境(阳光直射)下展示3阶问题的演示活动,每组演示活动展示3次,机器人从若干次演示活动中学习到活动的一般结构.在测试阶段,机器人通过观察演示者分别在低噪声和高噪声环境下展示4阶问题的演示活动,每个演示者展示10次测试活动.通过一般结构进行解析,从而得到演示活动的符号基元序列,指导机器人完成4阶汉诺塔问题.把成功解析到正确的4阶汉诺塔问题的符号基元序列视作一次成功的测试,由此得到在四种不同场景下本文方法和文献[15]方法解决四阶汉诺塔问题的成功率,结果如表3所示,表中:LL和LH为在低噪声下训练,分别在低噪声和高噪声下测试的场景;HL和HH为在高噪声下训练,分别在低噪声和高噪声下测试的场景.10.13245/j.hust.211016.T003表3四种不同场景下各方法的成功率方法成功率LLHLLHHH文献[15]10.7410.62本文10.9010.86在低噪声下训练的场景,两种方法都展现了很好的成功率,这是因为噪声符号占比较小,在最优语法中包含噪声规则概率更低,从而被剪掉,两种方法都可以得到正确的不包含噪声的语法规则.在高噪声下训练的场景,本文方法相比于对比方法具有较高的成功率,成功率在90%左右.一方面,这是由于改进的语法空间搜索算法更易得到最优的语法结构;另一方面,本文方法比较重视语法长度和数据似然度之间的平衡性,文献[15]方法更倾向于语法描述长度较小的语法,从而导致部分含有噪声的语法规则更易被保留下来,影响了解析的精确性,导致准确率下降.准确率的提高也从侧面反映了本文方法具有较强的抗干扰性.图4展示了利用本文方法学习汉诺塔问题的一般结构并执行4阶汉诺塔任务的过程.木块所在的三个位置代表汉诺塔问题中O1,O2,O3三个柱子,有黄、红、蓝、绿四个大小不同的木块,从图可以看出机器人顺利地将木块从O1柱按照规则转移到了O3柱上.10.13245/j.hust.211016.F004图4四阶汉诺塔问题4 结语本研究提出一种基于结构文法的机器人模仿学习方法,该方法从演示活动中提取含有噪声的符号基元序列,并从这些序列中学习演示活动的一般结构.利用获得的一般结构对包含有噪声的符号基元序列进行解析,得到正确的符号基元序列,来指导机器人完成更为高阶的演示任务.通过数据合成实验和汉诺塔实验验证了所提方法的可行性.在汉诺塔实验中,低噪声环境训练得到的语法,解析成功率达到了100%,高噪声环境训练的语法解析成功率也在90%左右.结果表明该方法对提升机器人的智能化程度具有一定的意义.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览