本文主要是RL中的迁移学习(transfer Learning)、多任务学习( Multi-task Learning)、分布式系统(Distributed Systems)
关于Transfer Learning:
定义:在一个Source Task中train,transfer到一个new task
在一个Source Task,即一个Source MDP中Train一个Policy,然后直接在New Task中尝试。
如:
在Robotics的虚拟仿真环境中训练得一个Policy,直接在现实的Robotics中使用,然后Hope for the best,确实有的还是work的~
设定:Source Task与Target Task都fixed的前提下
从CV任务中出发,在ImageNet中取下具备图像特征的Representation ,然后在downstream tasks中Fine-tune,这种在RL中是否可行呢?
举一个Fine-tune的例子:
如上图,Source Task的目标是到一个交叉的地方即Source Task,使用Entropy Regularised 的Policy进行训练即MERL,得一个Soft Optimal Policy,该Policy尽可能的Diverse,尽可能地在完成Source Task的同时具备High-Entropy。
如下图,Target Task的目标同样是到一个交叉的地方,但由于环境改变了有一个block,即与Source Task的MDP不同,具体而言是Target Task的MDP中Transition dynamics model发生了改变。然后将Source Task中的Soft Optimal Policy迁移到More Restricted的Target Task中再Fine-Tune时会work,因为Soft Optimal Policy的High Entropy有机会探索到另一个solution。
如果是对于DDPG、PPO等,会因为在Source Task中探索到比较短,较为deterministic的policy(往上走)而在Target Task中走向block而reach不同任务目标。
Fine-Tune小总结:利用Soft Optimal Policy在General、Less Restrictive的Source Task上训练一个High Entropy的Soft Optimal Policy,再在Restricted、Specialized的Target Task上Fine-Tune(Fine-Tune的过程即减少Entropy的过程)
设定:Source Task可以Design,而Target Task比较难的情况下
比较适用于Sim2Real的场景,Motivation是在Source Domain中训练时看到的Diversity越多,则transfer到Target Domain后会越稳定(有点与Ensemble Learning、Adversarial Training的思想类似)
目前为止,问题的设定
一开始的Superviesed Domain Adaptation是将Simulated Image和真实的Image进行人工配对,形成pairs of aligned image,进行有监督训练,形成Source Domain到Target Domain的一个映射。
这篇文章的Motivation就是使用Fully Unsupervised Adaptation去掉人工配对这麻烦的一步,具体而言是无监督中的minimized discrepancy,在不同domains的feature distribution中减小discrepancy,达到Weak Pairwise Constraints的样本。
批判一下:引入无监督去掉该领域中的部分人工操作(人工配对)来灌水
这些都是在Single Source Task的设定下,transfer到一个new Target Task上,下面这是Multi-Task Source Domain的多任务机制进行transfer了。
之前的Forward Transfer可总结凝练为:More Diversity = Better Transfer
现在的Multi-task Transfer则是更符合人的学习方式,可以从多种任务中习得经验,然后transfer到新任务上,但问题是
在MBRL的设定下,Dynamics Model是多个Source Task中共有的,而Target Domain也有,因此可以在Dynamics Model上transfer,而transfer的方式有两种,一是hope for the best,二是fine-tune or adapt
因此,上图是下面这篇文章的,在5个Source Task的共同点dynamics model进行transfer,直观理解类似于law of physics,是Source与Target任务共通的。
One-shot learning of manipulation skills with online dynamics adaptation and neural network priors 2016 IROS
Model Distillation类似于Knowledge Distillation,将多个Model融合成一个Model。
具体的文章是Actor-Mimic: Deep Multitask and Transfer Reinforcement Learning 2016 ICLR
一般有两种设定:
所以在第一种多任务设定中,Model Distillation将多任务各自的policy融合到一个joint policy中;第二种多任务设定,则是将同一任务下,修改其MDP,将各自MDP的policy融合到一个joint policy中(开头说了一个task在RL中指一个MDP,这里术语有点混淆)
其实这种做法,正是lec1-lec4中的goal-conditioned的behavior cloning,只不过现在用在了RL中,称为Contextual Policies,其与上述内容最大的区别就是输入多了一个task vector即 w \mathbf w w, w 1 w_1 w1指让agent去洗碗的, w 1 w_1 w1指让agent去折叠衣服,即一个policy通过扩充输入,增加任务相关的prior vector而具备了多任务功能,这其实就很像meta-learning了,只是meta-learning稍后再介绍。
举个列子:
在(1,0,0),(0,1,0)的prior输入下的policy已经train好了,然后在(0,0,1)的输入下对new task进行Finetune~
感觉通过这两幅图就挺明显的,感觉这很像Hierarchical RL,只不过此处用在了Multi-task的模块化中。
Transfer Learning中还有第三大类为Meta Learning,稍后介绍,分为两类:
总结一下:
Fine-Tune in RL:
Finetuning via MaxEnt RL: Haarnoja*, Tang*, et al. (2017). Reinforcement Learning with Deep Energy-Based Policies.
Finetuning from transferred visual features (via VAE): Higgins et al. DARLA: improving zero-shot transfer in reinforcement learning. 2017.
Pretraining with hierarchical RL methods:
Andreas et al. Modular multitask reinforcement learning with policy sketches. 2017.
Florensa et al. Stochastic neural networks for hierarchical reinforcement learning. 2017.
Domain Randomization in RL:
Rajeswaran, et al. (2017). EPOpt: Learning Robust Neural Network Policies Using Model Ensembles.
Yu et al. (2017). Preparing for the Unknown: Learning a Universal Policy with Online System Identification.
Sadeghi & Levine. (2017). CAD2RL: Real Single Image Flight without a Single Real Image.
Tobin et al. (2017). Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World.
James et al. (2017). Transferring End-to-End Visuomotor Control from Simulation to Real World for a Multi-Stage Task.
Tzeng*, Devin*, et al. (2016). Adapting Deep Visuomotor Representations with Weak Pairwise Constraints.
Bousmalis et al. (2017). Using Simulation and Domain Adaptation to Improve Efficiency of Deep Robotic Grasping.
Fu etal. (2016). One-Shot Learning of Manipulation Skills with Online Dynamics Adaptation and Neural Network Priors.
Rusu et al. (2016). Policy Distillation.
Parisotto et al. (2016). Actor-Mimic: Deep Multitask and Transfer Reinforcement Learning.
Devin*, Gupta*, et al. (2017). Learning Modular Neural Network Policies for Multi-Task and Multi-Robot Transfer.
CS285的Lecture16的PPT
本来应该趁热打铁,直接写一篇Meta-Learning的,但还是根据课程顺序,下一篇写Distributed RL,接着再写Meta-Learning,最后一篇是Exploration与Exploitation,然后考虑一下Multi-arm bandit problem,毕竟它跟探索与利用密切相关呢,争取在四月前写完这个,开始边看论文边跑实验= =