链接:CVPR 2020 | 用无监督强化学习方法来获得迁移能力
CVPR2020文章---无监督强化学习获得迁移能力
引出问题
首先在3d仿真环境中给agent指定一个自然语言的输入,比如冰箱,agent需要在环境中完整一系列原子动作,从而找到目标,需要完成这个任务,视觉导航能力必不可少。
深度强化学习任务存在的问题
1、通常是data inefficient,需要大量的训练数据;
2、就算是两个相似的任务,模型都需要从头开始训练。
人类之所以能够从广泛的任务中快速学习,是因为可以学到很多meta-skills,这些meta-skills通常具有迁移能力。具体可以是,直线行驶,绕开障碍物等。
我们的目标
关注视觉导航在少量训练环境中的应用;
设计一种无监督的学习方法可以让机器可以掌握这些mata-skills,从而只提供少量样本让机器人将meta-skills迁移到视觉导航的任务中来。
meta-learning
什么是meta-learning
是所谓的learning to learning
不直接直接优化在单个任务上的性能;而是优化模型能够快速学习任务的能力。
主要分为三种类型:
这里主要看第三种类型,基于梯度的方法。
基于梯度的方法
需要找到模型的初始化,可以让模型快速适应新的任务。
theta是模型参数,三个L是在三个不同任务上的损失函数。我们希望通过少量的bp就可以找到一个让三个任务都到达最优的点。
meta-learning学习分为以下两个阶段
meta-trainning和meta-testing
在meta-trainning阶段,有比传统方法多的训练样本,这里是一些task,让模型学到一组初始化值,到所有的任务的最优解都比较接近;
在meta-testing中,给定新的任务,以及给定的数据,只需要少量的更新就可以。
问题及解决方案
缺点:
1、在trainning阶段需要手工定义很多样本。
解决:无监督强化学习
2、同时如果就用少量样本训练,容易造成overfitting。
解决:分层策略网络
具体工作
1、curriculum-base Adversarial training Strategy
课程基地对抗性训练策略
由两部分组成
Task Generator:生成模块,用来产生任务供Meta-Learning学习
Meta-Learning:完成任务并可以学到一组在各个任务之间共享的子策略。使用meta-learning算法进行更新。
具体定义三种rewards,来鼓励Task Generator产生适合Meta-Learning难度的任务,并可以随着Meta-learning能力提升对任务难度进行升级。
例如:
Generator走到一个点,将看到的任务信息传送给Meta-Learning
2、Hierarchical Policy
Master Policy选择采用什么原子policy。原子Policy可以是比如直行,左等。
对于不同任务,可以有不同的Master Policy,sub-Policy(meta-skills)是在任务中共享的。
3、Meta-Reinforcement Learning
Master Policy对于特定任务进行更新,sub-Policy是共享的。
总结
首先在无标注数据中,根据生成网络训练参数theta,然后在少量有标注数据中进行少量更新,学习一个Master Policy。