学习如何学习之metalearning

1
<pre contenteditable-directive="" mm-paste="" ng-blur="editAreaBlur($event)" ng-click="editAreaClick($event)" ng-keydown="editAreaKeydown($event)" ng-keyup="editAreaKeyup($event)" ng-model="editAreaCtn" style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;word-wrap: break-word;color: rgb(51, 51, 51);letter-spacing: 0.544px;text-align: justify;background-color: rgb(255, 255, 255);white-space: pre-wrap;font family: arial;font-size:15px;line-height:35px;;line-height: 22px;box-sizing: border-box !important;"><img class="" data-ratio="0.665625" data-type="jpeg" data-w="640" onerror="this.src='http://mmbiz.qpic.cn/mmbiz/dcEP2tDMibcd9g9aFjBooVn5U4PP1EDF3ugVJrLlia2ELtxHbXUJs7SUPtRaxmkUBHhx3jLciaHXpx1ABVYwYBu9w/640?wx_fmt=jpeg'" src="图片/混沌巡洋舰_2018-09-23_学习如何学习之metalearning/1_axmkUBHhx3jLciaHXpx1ABVYwYBu9w.jpeg" style="box-sizing: border-box !important;word-wrap: break-word !important;visibility: visible !important;width: 640px !important;"></img>
1
<pre contenteditable-directive="" mm-paste="" ng-blur="editAreaBlur($event)" ng-click="editAreaClick($event)" ng-keydown="editAreaKeydown($event)" ng-keyup="editAreaKeyup($event)" ng-model="editAreaCtn" style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;word-wrap: break-word;color: rgb(51, 51, 51);letter-spacing: 0.544px;text-align: justify;white-space: pre-wrap;font family: arial;background-color: rgb(255, 255, 255);font-size:15px;line-height:35px;;line-height: 22px;box-sizing: border-box !important;"><span style="max-width: 100%;font-size:16px;line-height:36px;;box-sizing: border-box !important;word-wrap: break-word !important;">作者许铁,微信号:ironcruiser </span><br style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;"></br><span style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;">法国</span><strong style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;">巴黎高师</strong><span style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;">物理硕士 ,</span><strong style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;">以色列理工大学</strong><span style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;">(以色列85%科技创业人才的摇篮, 计算机科学享誉全球)计算神经科学博士,巡洋舰科技有限公司创始人,   《机器学习与复杂系统》纸质书作者。曾在香港浸会大学非线性科学中心工作一年 ,万门童校长好战友。<br style="max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;"></br></span>
1
<pre contenteditable-directive="" mm-paste="" ng-blur="editAreaBlur($event)" ng-click="editAreaClick($event)" ng-keydown="editAreaKeydown($event)" ng-keyup="editAreaKeyup($event)" ng-model="editAreaCtn" style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;word-wrap: break-word;color: rgb(51, 51, 51);letter-spacing: 0.544px;text-align: justify;white-space: pre-wrap;font family: arial;background-color: rgb(255, 255, 255);font-size:15px;line-height:35px;;line-height: 22px;box-sizing: border-box !important;"><img class="" data-ratio="0.10966542750929369" data-s="300,640" data-type="jpeg" data-w="538" onerror="this.src='http://mmbiz.qpic.cn/mmbiz/dcEP2tDMibccdYT8ViaXic1q1ibC3U0Ub0WhaaX0dxl5oRO3YicRx7fSozVkP7Z5UfiaQdwyaxxEM5AZaMAGHjY4yS4Q/640?wx_fmt=jpeg'" src="图片/混沌巡洋舰_2018-09-23_学习如何学习之metalearning/2_Z5UfiaQdwyaxxEM5AZaMAGHjY4yS4Q.jpeg" style="box-sizing: border-box !important;word-wrap: break-word !important;visibility: visible !important;width: 538px !important;"></img>

深度学习如火如荼的今天, 我们看到强大的视觉算法识别了复杂的疾病和所有人所观察不到的事物细节, 强大的阿法狗能够结束人类历史最精妙的发明围棋。一方面这些算法无时无刻不再鄙视着人类, 另一方面它们越来越透漏出它们的局限,比如惊人的数据消耗, 惊人的耗能, “ 有限的范化能力” , 使得越来越多的人了解它们不过是一些头脑巨大的爬虫 而非真正的智能物种。 给你和人类学习一样的数据和一样的能量, 看你还能牛到哪去? 这是人们经常的质疑。

这些问题事实也是学界的焦点, 前两年一片叫做“元学习” 的文章, 就试图从学习的本质解决问题。 那就是 - 学习 如何 学习, 就像那个cousera 的爆款课程一样 learn how to learn. 机器能够用暴力的算力和数据来梯度下降,但是它们真的懂学习吗?

我们知道, 所谓的机器学习还是深度学习, 无非给出一个问题, 你写出一个带着一堆参数(假设)的问题表达式和损失函数, 然后上一个损失函数, 然后梯度下降大法, 求出一个最优解。

然而如果我说这是学习的唯一方法, 你一定会觉得我学傻了。 难道你要学习人任何一个任务,都要在那里等着你大脑里的神经突触一点点的改造(梯度下降)? 简直有一种欲练神功, 必先自宫的既视感。

我们的生活无时无刻不需要我们快速的学习和适应新的情况, 而神经突触的改变是一个慢过程, 这就决定了它必然不是学习的全部方法。 这个“快” 与 “ 慢” 的矛盾如何调和呢? 一个解决方法就是学习本身也是一个“快” 与“慢” 相加的过程。

事实上我们人类能够快速学习新情况, 是因为我们已经经过了大量的基础性学习, 我们后天的学习 , 事实是因为我们的学习建立在更基础的模型之上。 这一点你的反应可能立即是迁移学习, 但是光看我们深度学习里那个迁移参数的深度学习是一个解决方法, 你可以把迁移学习看作今天这类方法的一个特例 ,而我们要看的是一种更广泛的方法。

这里提到的双层学习, 是另一种更基本的框架, 又称元学习 , “meta learning” , 它的概念是学习一大类任务的先验信息 , 然后利用学习到的先验学习, 加速这一大类里的每个具体任务的学习。 其实这样的一个工作正是深度视觉能够成功的关键, 我们常说的CNN结构本身就是抓住了图像理解这个任务里平移不变等关键先验信息, 然后把它们手写到网络里面去的。 这里元认知唯一的区别在于我们不再靠手写, 而是让神经网络自己学到这个先验。 就好比给你一个特别巨大的多层感知机网络, 然后让它自己学出类似深度卷积的结构来。

今天讲的元学习的一个具体实例是指利用RNN网络加上深度强化学习的方法先学得一大类相关任务的先验信息, 然后利用这个先验信息,不用梯度下降学习, 纯凭网络动力学, 也可以适应每一个具体的任务得方法。

文章声称, 当您 有一个RNN,加上比较强大的深度强化学习算法, 你就可能拥有这种能力。 具体怎么做呢? 首先, 我们知道一个强化学习任务里, 你需要根据当下的状态做决策,来最大化最后的奖励, 这个东西我们通常称之为策略 ,数学上看就是根据每个状态, 采取一定决策的条件概率函数。

对于传统的强化学习算法, 我们通常需要动态优化等技巧来求解这个最优策略。 一个最典型的任务就是多臂赌博机。 这是一个由很多摇臂组成的赌博机, 每个臂都按照一定概率给你带来一个回报 , 然后你要在有限的次数里最大化你的利益。 这个问题浓缩了强化学习的核心矛盾 - 探索与发现,假定你能够绝对准确的测量中奖概率, 那么你无非选择概率最高的那个臂就够了, 但是你要懂得绝对准确的测量概率需要无限长的时间, 而你的时间是有限的, 这时候, 你就需要在探索(测量)与发现之间做出权衡,摇臂赌博机涵盖了有限生命和未知世界的永恒矛盾, 因而也在生活或者广告电商应用里无处不见其踪影。

/pic/3_bqjDvDVmbqicdv1wOLRV5ibTnAIZOg.png

对于这个问题的求解有很多经典算法, 一大类经典算法称为托马斯采样, 这个方法的本质就是求解最大后验概率, 你用一个β分布作为先验,然后根据每一次实验(摇臂)的结构来更新这个概率, 比如一次结果为空, 就会按照贝叶斯后验概率公式轻微下降这个选项的概率而上升其它,最终求得结果。 托马斯采样是一种保守的,将探索和利用混合在一起的策略, 也能够取得相当不错的成绩。

另外一个常用的方法称为upper confidence bound(UCB), 可以翻译成最大信心策略吧。 这个策略与上面的托马斯采样相反,是一种激进乐观主义的策略, 它的信条是在那片黑暗的未知里隐藏着好事情。 具体的公式类似于当你在当下对某个摇臂积累了一定的经验, 比如N次尝试有m次奖励,此时的经验概率为m/N, 你知道这个测量由于数据不足有不准确性, 假定这个奖励符合高斯分布, 那么你就可以根据你的置信区间(自己定的)得到真实可能的概率的上界(乐观因此取上界), 这样你就得到你的决策根据。 这个策略会偏向于探索未知, 因为你对某个摇臂尝试的次数越少,你的高斯分布就越宽(不确定), 你的上确界距离你的实验概率就越远。

好了, 我们来看看现在的任务, 我们生成一些的二摇臂(两个摇臂)的任务, 每个任务里的摇臂的得奖概率都是随机制定的0到1间的数。 有多少个这样的任务呢? 两万个, 相反的, 我们对于这些任务不适用那些量身定制的传统算法, 而是使用一个LSTM加上Actor Critic 方法训练, 这是一种当下流行的, 同时进行策略估值和生成的方法, 我们把这个游戏里每一步骤的奖励和决策作为输入给网络 , 然后让网络去最优化总奖励数。

这样训练完之后, 我们再来一组(300)个这样的任务, 没一个二摇臂任务由不同的概率组成, 不同的是,这组任务里我们固定网络参数, 不允许网络在梯度下降。

如果按照传统方法的思维, 这时候的表现应该很差, 因为每个任务里概率都不一样, 需要重新通过刚刚讲过的方法学习得到, 你不允许网络学习, 它也就无所适从了。

然而这个时候我们发现, LSTM仿佛自己得到了学习的真谛,它在任务的开始, 逐步探索积累经验, 然后通过学习得到的概率,很好的完成了任务, 就跟那些传统的学习算法结果一样好!

/pic/4_VdgdyQl7vrTgFDejtNdQDPrtV10pZQ.jpg

不仅如此, 我们再进一步, 让这个游戏便的更复杂,我们刚刚假设摇臂是独立的, 真实世界的选项之间往往由相关性, 比如A的好往往暗示了B的坏, 宇宙能量守恒吗。 再摇臂之间的概率由相关性的时候又会怎样呢? 比如最简单的相关性 p1 +p2 = 1. 最后的结果就是相当的好! 再经过一段时间的训练后,网路无需学习, 就可以利用这种概率间的相关性规律, 来加速探索取得更好的成绩! 这也就是所谓的RNN可以自发学习掌握任务里的先验规律的意思。

然后还有更有意思的 , 我们可以设计一个更加奇妙古怪的相关性, 比如:

我们又12个摇臂, 其中的某一个摇臂叫做信息摇臂,它可以指示其它的摇臂的奖励值,仿佛一个先知, 然而先知本身不给你奖励,只是告诉你哪一个摇臂的奖励值可能更高, 而且发现先知的过程要耗费时间的。 训练后的RNN网络仿佛理解了这个游戏的含义 - 通过寻找提示信息来学习。 在全新的任务里, RNN可以不再经过任何梯度下降, 主动的寻找信息摇臂, 并利用摇臂指示的信息寻找最高奖励。 这个问题里, RNN仿佛理解了探索与利用的矛盾, 并在全新的网络里, 利用自己的动力系统去实现这个过程。

更上一层楼, 我们让这回连固定的概率都不要, 让每个摇臂的概率值随时间变化,唯一固定的是有的时候这个概率变化的速度快, 有的时候这个变化的概率小, 这个时候, RNN训练后的网络竟然仿佛能够在任何新来到的时候, 具有一种可调节学习速度的能力, 在那些概率经常变化的时间段让自己的学习速度也加快。

/pic/5_hcicib51umtBLSSFcVOgpzaIxT7cfg.jpg

除了K摇臂这个实验 , 论文还尝试了经典的马尔科夫决策问题, 这个任务旨在通过一个简单的实验, 证实一个概念, 那就是刚刚的RNN 加上深度强化学习方法, 具备某种“构造世界模型” 的能力, 所谓构建世界模型,就是通过主动的了解和预测外界环境的变化来加强决策(对未知事物做出计划)。 而非光通过经验积累。 这也是区分人类高级学习和低级学习的关键所在,我们饱读诗书,都是在建立世界模型, 让我们对于毫无经历的事物也能够决策。

/pic/6_d4j6DmVynLEeCXaCQbGmIEo8SItkNQ.jpg

但是这个能力以往需要通过工程方法加入到模型, 也就是人类自己先了解了模型, 然后通过程序嵌入进去。 而在刚刚的框架下, 这种通过构建世界模型的学习能力似乎也能够被学到。 上面的例子里,有一个状态S1 , 状态S1 可以通过行为a1 或者a2 得到新的状态S2 或S3, 在此之上根据S2或S3得到一个奖励0或1, 这个奖励也是随时间变化的随机变量。 当然任何一种行为都可以得到后面的两个状态只是概率不同, 就像经典的马尔科夫决策问题一样, 这可以被一个转移概率矩阵描述, 而这个矩阵对于行为者是未知的。 由于这个转移概率包含了世界在我的行为下会如何变化, 它就是我们所说的世界模型。 如果学习者主动掌握这个模型来决策, 就好比它学会了有模型学习。

我们可以通过学习者的行为判断它是否试图建立这个模型, 如果行为者做出a1 ,并且最终达到S3得到奖励1, 那么它是应该更加鼓励行为a1还是行为a2 呢? 一朝中大彩, 十年买彩票, 不考虑任何模型的学习者所依靠的就是纯经验, 那么这个好经历无疑会让他更倾向于在S1下进行a1的决策, 而有模型的决策者就不然了,因为它知道这个结果是在一个小概率事件(从a2到S3是一个25%的小概率事件) , 同时通过“深思世界的本质” 他知道, 其实这真正说明的是S3是一个好状态, 更加容易达到S3的路径是a1而不是a2, 那么反过来我应该增大a2决策的权值而不是a1 ! 在这个事件下, 通过经验学习, 和模型结合经验学习就天壤之别了。

后面论文还举了一些比较复杂的任务,其中一个比较有趣的是导航。 这个导航的任务, 是让行为单元走迷宫,这个迷宫的某个角落藏着宝物, 然而隔一段事件宝物的位置就会被移动到另一个位置, 而更加残酷的是, 每次行为者发现宝物后就会被转移到另一个随机的地点。 这个任务里, 行为者的输入只有它眼前的迷宫景物和它本身的行动速度,以及是否得到了奖励, 这样的情景很像我们的3D射击游戏, 同样的RNN 框架下, 通过不停游戏的初始训练阶段,游戏者仿佛掌握了一种进行空间行走规划的能力。在测试阶段,无需重新训练调整, 行为者也可以去发现目标宝藏, 并且在一次发现之后,无论它被重新扔到哪个未知角落, 都已十分有效的方法返回回去。这里的世界模型, 事实上是这个环境的地图和宝藏的坐标, RNN在某种程度掌握了这个概念, 因此, 它会在全新的位置也能够做出类似于合理的行为, 这一点, 和人是类似的。

/pic/7_mDYrqibj4vPRZV0o8CfwSq6d6VHkBA.jpg

/pic/

为什么是强化学习? 请看下图的技术泡沫爆裂图。 机器学习和深度学习在2017处于关注热度的顶峰, 大家看处在上升期的人工智能技术, 第一当属深度强化学习, 据这张非常表格非常粗糙的估计, 深度强化学习的技术成熟期在未来5-10年, 此时此刻, 正类似于深度学习在2010的状况。

/pic/9_ZVTJINPzpfRibpMV6hWgUKSlj7ibBw.jpg

/pic/11_RjdLTN2KH6SKHZqnzyGO5K0G3dNOwg.jpg

David2018-09-23 15:25:01

没有购买链接,差评![捂脸]

作者

书确实应该做二维码购买链接的,下次原文阅读加上

Qmax2018-09-25 11:04:14

为什么rnn有这种性质啊?

自由如风2018-09-23 17:28:00

首图质量高

张德祥 不评价感受需要正念向前2019-10-09 21:50:30

介绍的是哪篇论文啊?能发个链接吗?