Meta Learning——MAML

Meta Learning就是元学习,所谓元学习,就是学习如何去学习。这个概念放在机器学习当中就是我们希望找到一个算法可以帮助我们找到一个好的学习算法去解决问题

传统机器学习算法是从一个函数集合中找到一个好的函数来拟合数据,而元学习算法是从一个学习算法集合中找到一个好的学习算法来解决问题。

听上去好像很厉害的样子?元学习居然可以自己找到最适合当前问题的算法?

也别抱太高期望,因为元学习做的事并不是自己构建一个算法,而只是从我们给出的算法集合中挑一个出来。听起来似乎也很厉害了?我们先来看一看我们提供的算法集合会是什么样子:

拿神经网络模型来说,需要人为指定的包括上图中的红框部分——网络架构(决定了函数集合)、权重初始值、更新参数的算法(选用何种梯度下降法以及梯度下降法中学习率变化的算法)。

那么我们现在希望机器自己做到红框中的某些部分,从而进一步减少人为参与。注意,上图中整个灰色框框内的内容都是学习算法F的一部分,若红色框框内的部分都由人来指定,那么这就是一个由人设计好的算法F,喂给F一些data,就可以得到一个不错的模型f,这就是机器学习做的事情;若我们把某个红框内的内容让机器自己去学,那么此时的F就可以视为一个元学习函数了。

我们先看一下元学习算法和机器学习算法在训练上的差别。机器学习算法有训练集和测试集,两者都是同一类型的数据;元学习算法则有一系列的训练Task和测试Task,每个Task又包含了自己的训练集和测试集

因此我们要评判一个元学习算法F的好坏,要看它在训练集中的各个Task上的平均表现,具体来说,当我们评判F在Task 1上的表现时,先让F在Task 1的训练集上进行训练,然后输出一个模型f注意,这里输出的f是训练好的模型,也就是说,F一共完成了两件事,第一件事,找到某个红框里的合适的值(比如参数初始值),第二件事,以学到的参数初始值初始化模型然后进行训练得到最终模型)。接下来检验f在Task 1的测试集上的表现,计算出损失l^1。类似的,我们可以计算出F在各个Task上的损失l^n,然后计算它们的平均值。

定义好F的损失函数,接下来我们只需要找到令损失函数L(F)最小的F即可。

接下来我们可以看一下MAML算法是如何做的:

MAML把参数初始化的任务交给机器去学习,因此这里把损失函数写成L(\phi)的形式,有趣的是,L(\phi)=\sum_{n=1}^{N} l^{n}\left(\hat{\theta}^{n}\right)中的\hat{\theta}^{n}是由\phi经过梯度下降得到的。下图显示了\hat{\theta}^{n}\phi的关系:

而优化L(\phi)的方法依然是梯度下降:

然而还有一个问题亟待解决——\hat{\theta}^{n}是由\phi经过梯度下降得到的,那么迭代几次合适呢?要迭代至收敛吗?

MAML给出的做法是,只做一次!

为什么只进行一次迭代呢?一次迭代得到的\hat{\theta}^n表现不好真的可以说明初始值\phi不好而不是训练不足吗?

这样做的原因有以下几个方面:

首先是快,节约计算成本。

然后是我们这样调整\phi最后说不定真能得到一个迭代一两次就能得到好结果的\phi呢。

然后是当我们真的用这个初始值来训练最终的模型f的时候,还是会迭代多次的,所以不用担心。

最后就是如果我们的Task中的数据很少,那么迭代多次很容易过拟合,所以迭代一次是不错的选择。

总之,只进行一次迭代的梯度下降过程如下,经过推导和近似,可以得到:

也就是说,损失函数对\phi的偏导可以近似看作对\hat{\theta}的偏导:

下图是整个MAML的操作流程示意图,可以看到,整个算法对\phi的更新过程很简单,首先,先由\phi_0初始化的网络进行一步梯度下降得到更新后的参数\hat{\theta}^m,然后求损失函数关于\hat{\theta}^m的梯度方向,并让\phi_0沿此方向移动一个步长得到\phi_1,依次进行。

Meta Learning是机器学习中比较新的一个领域,它的愿景是激动人心的,让机器学会如何学习这件事本身也很酷,但是目前为止我们能做到的还很有限,我们仍然需要把大框架搭建好,然后试着把其中的一部分工作交给机器,而且这部分工作如何做依然要人类指定,从这个角度来说,Learn to Learn的目标还任重道远。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容