ICLR 2020论文精选:“好奇心”的本质探讨,元学习与增强学习(RL)的“好奇心”机制,好奇心算法搜索,智能体的适应力增强

与其说人类是智能“搜索”机,不如说人类是智能“贪婪”机— David 9
David最近在思考一个问题,表面上看所有智能问题都是“搜索”问题,包括今天我们讨论“好奇心”本质,也可以理解为对“好奇心”算法的搜索。
但是,人类仅仅是一台高级一点的“搜索机”吗?或者说除了“搜索”,“智能”(灵性)是否必须有一些其他重要属性比如“抽象能力”,“信息组织能力” ?换句话,仅仅用显式“搜索”构建的“智能”是不是“伪智能”?
事实上,今天我们探讨的这篇MIT在ICLR 2020的论文,就是这样一种“搜索”出来的“好奇心”。但是,这已经是当今一群聪明人可以设计的较好的“好奇心”机制了。
毫无疑问,好奇心是智能体主动探索外部环境,获取有用经验的驱动力。
在内部,MIT研究人员把“好奇心”设计为一种“代理回报”(proxy rewards)的机制:
来自:https://arxiv.org/pdf/2003.05325.pdf
在传统RL算法外部环境之间又架了一层“好奇心”模块,模块返回的\hat{r} 是RL算法真正训练使用的回报。(并不直接使用环境回报r )。
这样对于RL算法,回报不再是“傻乎乎”地锚定某个特定环境,而是可以适应多个环境。事实上该论文的实验就是针对多个RL环境游戏的,如Grid World:

继续阅读ICLR 2020论文精选:“好奇心”的本质探讨,元学习与增强学习(RL)的“好奇心”机制,好奇心算法搜索,智能体的适应力增强

对经验“抽样”的艺术:增强学习(RL)的底层逻辑线索,回顾与总结

人类是一个神奇的物种,他们竟然可以把过往经验和自身感知叠加在一起进行“抽样”,他们管这种行为叫做:“灵感”  — David 9

人对“时间”的感知似乎比其他动物都强,这也许导致我们对过往经历(或经验)的认识更加清晰。如果是神经网络的拥护者,可能会把类似RL增强学习“行为决策”的问题用类似“路径感知”的方法解释,即,我们的行为是对过往经历(经验)的感知后得出的。

无论这种直觉是否正确,发生在人类身上的“增强学习”有时还掺杂了许多自身其他复杂的感知:

毕加索的“朵拉·玛尔”肖像画

有人说毕加索的创作灵感许多来自超空间感知(五维空间?) 不可否认毕加索似乎是在用多只“眼睛”看世界,他的创作过程显然不是对经验“抽样”那么简单。

但对于纯AI领域的增强学习,更多是对经验“抽样”的艺术之前David其实聊过策略学习的大体系(RL, IRL,DPL),今天,我们专注于讨论增强学习中的价值学习(Value Learning),这是透露RL底层逻辑的重要线索。

开启经验“抽样”旅程的第一步,是我们认识到除了IRL模仿学习,大多数增强学习,对于过往行为经验,都会给出回报(Reward)值。广义上任何行为都可以看做一种博弈游戏(game),而游戏的过程中总可以给出回报值(粗粒度或细粒度)。

以一个简单的路径游戏为例:

如果走到最右边的棕色悬崖扣一分-1,而如果走到蓝色框加两分(如左图+2分)。

如上图,现在摆在我们面前的看似只有两条实验路径(episode)。这是原始的蒙特卡罗法看到的抽样结果,这种抽样的偏见(bias)是明显的,它(智能体)今后会趋向选择“偏上”的路线,因为有一条+2的路线是靠上的。

事实上,我们抽样得到的不仅仅是2条路径 继续阅读对经验“抽样”的艺术:增强学习(RL)的底层逻辑线索,回顾与总结

CVPR2019观察: 谷歌大脑的”自动数据增强”方法及其前景,David9划重点

如果你要帮助别人学习,你应该让他多犯错,还是让他少出错?— David 9

试想这样一个未来,所有的AI模型构建的范式都分为两部分:1. 从自然界自动收集所有有利于构建模型的信息数据,2. 自动构建一个端到端模型,处理某一任务。

如果上述两个智能体足够智能不断进化达到一个较高的智能水平,那么我们今天提到的自动数据增强(AutoAugment)也许是原始雏形。

虽然David认为模型本身就应该含有大量的信息不应该是外部“强加”给模型大量信息(人类的基因不正是这样?)。同时Google利用大量的机器、实验和工作发的这篇论文普通AI从业者想复制比较困难,但有几点有意思的地方David想指出一下,

1. 虽然自动数据增强的训练模型较难重现,但是google已经公布用于检测的自动数据增强方法,其代码我们可以直接拿来用:https://github.com/tensorflow/tpu/blob/master/models/official/detection/utils/autoaugment_utils.py

并且提供了不只一种增强数据策略,如下只是其中一种策略:

def policy_v1():
  """Autoaugment policy that was used in AutoAugment Detection Paper."""
  # Each tuple is an augmentation operation of the form
  # (operation, probability, magnitude). Each element in policy is a
  # sub-policy that will be applied sequentially on the image.
  policy = [
      [('TranslateX_BBox', 0.6, 4), ('Equalize', 0.8, 10)],
      [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)],
      [('Sharpness', 0.0, 8), ('ShearX_BBox', 0.4, 0)],
      [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)],
      [('Rotate_BBox', 0.6, 10), ('Color', 1.0, 6)],
      [('Color', 0.0, 0), ('ShearX_Only_BBoxes', 0.8, 4)],
      [('ShearY_Only_BBoxes', 0.8, 2), ('Flip_Only_BBoxes', 0.0, 10)],
      [('Equalize', 0.6, 10), ('TranslateX_BBox', 0.2, 2)],
      [('Color', 1.0, 10), ('TranslateY_Only_BBoxes', 0.4, 6)],
      [('Rotate_BBox', 0.8, 10), ('Contrast', 0.0, 10)],
      [('Cutout', 0.2, 2), ('Brightness', 0.8, 10)],
      [('Color', 1.0, 6), ('Equalize', 1.0, 2)],
      [('Cutout_Only_BBoxes', 0.4, 6), ('TranslateY_Only_BBoxes', 0.8, 2)],
      [('Color', 0.2, 8), ('Rotate_BBox', 0.8, 10)],
      [('Sharpness', 0.4, 4), ('TranslateY_Only_BBoxes', 0.0, 4)],
      [('Sharpness', 1.0, 4), ('SolarizeAdd', 0.4, 4)],
      [('Rotate_BBox', 1.0, 8), ('Sharpness', 0.2, 8)],
      [('ShearY_BBox', 0.6, 10), ('Equalize_Only_BBoxes', 0.6, 8)],
      [('ShearX_BBox', 0.2, 6), ('TranslateY_Only_BBoxes', 0.2, 10)],
      [('SolarizeAdd', 0.6, 8), ('Brightness', 0.8, 10)],
  ]
  return policy

2.  强化学习和GAN哪个更好? 继续阅读CVPR2019观察: 谷歌大脑的”自动数据增强”方法及其前景,David9划重点