Diversity is all you need

  • 在很多强化学习任务中,在reward很稀疏的,通过采样动作序列达到最终的目的十分困难(比如说是经过迷宫到的最终的终点,只有到达了终点才会有奖励),而其他的一些方法比如课程学习方法,需要人工置顶一些较小的学习目标,在一些情况下与环境进行交互是很简单的,但是需要人工设置小的学习目标是很费时的,因此作者提出了diversity is all you need(DIAYN)的方法在无监督的环境中不使用特定的reward function而是最大化熵来是的学习各种各种有用的skill比如说是奔跑跳跃,然后用到下游的任务中,

  • 首先使用无监督的方式训练出一系列的skill(就是动作的集合,比如旋转,跳跃等等),而可以想象,在强化学习中如果直接采样一系列动作完成某个任务是很难的,本文的idea是先使用无监督的方式训练出很多的skill,然后在具体的任务中直接使用这些skill或者是在上面进行微调。

  • 现在的强化学习算法比如说是自动驾驶,使用现在的技术训练的再好,在一个不熟悉的场景中也可能无法训练

  • 训练的这一组skill尽可能的多样化,因此叫diversity is all you need。

  • 将技能之间的区分性当做一个目标。

  • 学习的技能不仅是不一样的,而且不一样性要尽可能的显著as diverse as possible

  • 作者的想法是使用不同的state来区分同步的skill,因为action不能影响一个outsider observer不能告诉学习者。

  • 具有高熵的skill应该探索与其他skill不同的state。

  • 作者完成目标是通过最大化skills和states的互信息完成的,因此我们就可以根据states来推断出skill,同时为了确保states而不是action是真正让skill变的不一样,因此最小化在状态条件下动作和skill的互信息,为了让动作变得多样性,增大基于状态的动作的熵,因此整个目标函数变成了:


  • 针对这个目标函数,因为我们要最大化skill的熵,因此我们干脆直接把Z的分布变成一个均匀分布,看第二项,我们的目的是为了根据S能很容易的推断出是什么skill,第三项表明,每一个skill的动作要尽可能的多样化。

  • 下图是算法和网络架构,每次我们需要尽可能的欧力士

Diversity is all you need_第1张图片
  • 这个图一开始的时候state有重叠所以给的reward很少,后面的时候state的区分度很高因此给的reward也很高。


    Diversity is all you need_第2张图片
  • 要选择一个high reward的Policy我们只用选取high reward的 skill即可。


  • 应用于层次强化学习的时候,学习一个meta-controller,控制在那几步的时候使用什么skill.


    Diversity is all you need_第3张图片
    image.png
  • 应用于模仿学习的时候,选取skill的state与专家的state最为相近的skill。


  • 作者argue对下游任务有用的skill通常是状态起很大改变的。
  • 作者argue

We should emphasize that including a task-specific biases skill may cause poor generalization across tasks.

  • 在具体的任务上使用task-specific reward function来微调skill
    Diversity is all you need_第4张图片

你可能感兴趣的:(Diversity is all you need)