电子说
穿衣服是我们每天都会做的动作,对人类来说非常容易,比如在穿衬衫时,我们一手打开衬衫,另一只手会穿到袖子中,连同整个手臂穿入袖子,再换另一只手穿好另一边的袖子。整个过程中,我们都会依靠触觉,保证动作不会破坏衣服。但是目前还没有能让智能体自己穿衣的机器学习案例,想将人物和衣服之间这样复杂的交互动作制作成动画,依然是很大的挑战。
最近,佐治亚理工学院的研究人员们提出了一种模型,可以让强化学习智能体像人类一样穿短袖、衬衫等衣服。以下是论智对原论文做的大致介绍:
为了用动画模拟人们穿衣的动作,我们用到了物理模拟和机器学习,我们使用了一个物理引擎模拟人物和衣服的动作。为了生成任务动作,我们用强化学习训练了一个神经网络,执行人物控制衣服的策略。
由于每个人在穿衣服时的控制策略不同,每个策略的动作都是由任务和环境的状态决定的。和其他运动或控制动作不同,穿衣服的动作并不遵循特定的运动轨迹,同时环境状态也在高度变换,难以表示。所以我们用无模型的深度强化学习方法,用深度网络自动探索穿衣控制策略。
深度强化学习最近受到很大关注,因为它可以大大减少降维需求,也无需选择状态空间和动作空间的特征。但是,直接在高维空间中学习、输入状态空间,对穿衣问题来说比较棘手,因为在这种场景下的计算成本非常大。所以,直接生成“穿衣策略”会严重影响奖励函数、状态和动作的设计,使得端到端学习方法变得不切实际。在这篇论文中,我们首次证明了,利用合适的输入状态空间和奖励函数,是可以将模拟衣物嵌入到强化学习框架中的,从而学习一种稳定的穿衣控制策略的。
触觉感知
虽然穿衣的过程类似“移动”和“抓取”任务,但是与常见的操控任务不同的是,穿衣过程是依靠触觉判断任务的进行的。智能体需要学习用触觉完成两个相反的任务:施加力量将身体套在衣服上,同时还要避免力量过大损坏衣服。
在这一过程中,我们提出了一种可以表示触觉信息的方法,用来指引穿衣过程。输入到控制策略中的一部分环境状态是一张触觉地图(haptic map),它可以测量智能体和模拟衣物之间接触部分的力度。我们在智能体身上安置了一系列触觉感应器,然后收集身体和衣服之间的接触力量。感应器分布如下所示:
分辨正反
人们在穿衣时,会让身体和衣服的内侧接触,也就是说人类能很容易地分辨衣服的正反面,这对不具备视觉感应器的机器人来说也是个难题。为此,我们对每个触觉感应器提供了相应的策略,可以区分衣物的内侧和外侧。
如果感应器上的接触力与该位置上面向外的顶点法线相反,那么就是-1,反之则为1.如果最后感应器收集的值为正数,那么我们就认为与感应器接触的是衣服的内里,反之则是外侧。
除此之外,训练期间的奖励函数会根据触觉状态和采取的动作提供学习信号。例如,如果模型检测到衣服发生变形,就会用奖励函数进行惩罚。
策略程序算法
另一个遇到的挑战就是,智能体在穿衣服时需要做一系列动作,例如先抓起衬衫,将手对准袖口,再将手穿过去。想让单一的控制策略学习每一个步骤,并且一气呵成是不可能的,原因仍然与计算成本有关。于是,我们将一整套穿衣流程分解成不同的子任务,对每个任务学习控制策略。每个穿衣动作的子任务都被设计成部分可观测的马尔可夫决策过程(POMDP),每个POMDP的解决方法都是随机控制策略:π:O × A →[0, 1]。一个马尔可夫决策过程是(S, A, r, ρ, Psas’, γ)的组合,其中S表示状态空间,A表示动作空间,r是奖励函数,ρ表示初始状态s0的分布,Psas’是过渡概率,γ是折扣因子。我们的目标是优化表示神经网络的策略π,让积累的奖励达到最大。
为了保证任务效果不会因为策略的改变而改变,我们提出了一种策略程序(Policy sequencing)算法,它可以将一种子任务中的输出状态分布与下一个子任务的输入分布按顺序相匹配。
要为一个子任务生成成功策略需要数小时的模拟和优化。高计算成本也有好处,这样一来,最终结果就不是单一的动画,而是智能体的控制策略,可以处理多种情况,比如不同的衣服位置和人物动作,如果过程中有干扰,会利用控制策略进行修正。
结果
模拟小人穿t-shirt
模拟小人穿对开式衣服
模拟小人在辅助工具下穿衣
全部0条评论
快来发表一下你的评论吧 !