CoMic: Complementary Task Learning & Mimicry for Reusable Skills
作者:互联网
发表时间:2020(ICML 2020)
文章要点:这篇文章想要先学low-level policy,然后基于low-level policy来训练一些强化的任务,这样就相当于可以用reusable skills来加快下游任务的训练。主要思路是通过模仿学习和联合辅助任务训练来学reusable skills(imitating motion capture data and joint training with complementary tasks),并且这些reusable skills都是嵌在low-level policy的潜空间(low dimensional skill embedding spaces)中的,后面的强化也会基于这个潜空间去训练。
具体的,模仿学习就是从之前的数据中去学一些技能,通过一个reference encoder把要模仿的states弄到潜空间上得到\(z_t\),然后用这个\(z_t\)结合状态\(s_t\)喂给low-level policy去学\(a_t\)。联合辅助任务训练主要考虑的是先有的数据里面可能缺少一些重要的skills,所以在学low-level policy的时候还需要把这些skills考虑进去,这样得到的潜空间才完备。比如作者举了两个skill,一个是站起来(get-up and stand task),一个是抓球(catching a ball)。这个和模仿的结合方式就是在模仿学习的同时,用强化去训这两个辅助任务,这样得到的low-level policy就既包括模仿学习里的skill,也包括解决这两个辅助任务的skill了。
完了之后,low-level policy就不会变了,这个潜空间\(z_t\)就是新的动作空间了,后面训强化的high-level policy其实就是去训reference encoder。整个控制的过程就是,high-level policy输出\(z_t\),再结合当前状态\(s_t\)输入到low-level policy,得到skill的动作输出。
总结:挺有意思的方法,这样就相当于不是每次都从最底层的action来做决策了,而是把动作抽象了一层skill,基于这个skill来训强化,其实是减少了动作空间的维度或者说动作训练的长度,从而降低了训练难度,加快了训练速度。同时因为这个形式是embedding space,而不是那种one hot的生硬构造的动作空间,就会更加灵活,也更有利于学习更多skill。而且感觉这个方式也可以和planning结合起来,相当于不用在每一步都planning了,加快了planning的速度。
疑问:这里面的状态片段序列好像都是5个step,不能自适应调整吗?
从训练的辅助任务、正则项以及reward的复杂程度来看,估计还是少不了调参吧,不知道对于更复杂的任务适用性如何。
标签:Task,训练,level,Skills,Complementary,skills,low,policy,skill 来源: https://www.cnblogs.com/initial-h/p/15551279.html