元学习Meta-Learning—授人以鱼不如授人以渔

目录

  • 背景
  • Meta-Learning的数据划分
  • MAML算法
  • MAML的思考
  • 参考

背景

我们知道现在深度学习在使用大型数据集掌握一项任务(检测,分类等)方面取得了巨大的成功,但这并不是真正我们追求的“人工智能”。具体来说,我们可能训练了一个能做物理题很高分的学生,但是他也只能做物理题而已,面对数学题他只能吞下零分的命运;其次,在面对新的任务(数学题)的时候,我们的学生仍然需要大量的数据(数学题)进行训练,而在学习物理的时候积累下的学习方法(先验知识)却基本帮不上忙。

以上的问题可以抽象为一个具体的问题:现在的深度学习往往只是在学习某一类特定的任务,而不是在学习自身“学习”的能力,这也是Meta-Learning的定义:学习如何学习的能力,而不是学习具体的某一个任务。假如我们的算法学会了怎么学习,当面对一个新的任务的时候,有了学习能力(先验知识)就可以只用少量的数据进行快速的学习,而这种学习如何学习的方式才是真正的“人工智能”。

Meta-Learning 的算法有很多,有些算法可以针对不同的训练任务,输出不同的神经网络结构和超参数,例如 Neural Architecture Search (NAS) 和 AutoML。本文主要介绍另外一种Meta-Learning算法:MAML,它不改变深度神经网络的结构,只改变网络的初始化参数。

Meta-Learning的数据划分

首先我先用一段不严谨的语言描述一下Meta-Learning:我们假定传统的深度学习算法是给100道化学题让他学会做化学题(再用50道化学题进行测试),MAML算法则是用5道数学题,5道语文题,5道物理题来让算法学会做5道化学题,具体来说先通过5道数学、5道语文、5道物理题来让算法掌握学习的能力(分别用2道数学、2道语文、2道物理题来验证学习效果),然后再给一点点化学题(5题)训练就可以让算法掌握化学题的做法。如果说传统深度学习是在学习一个任务,那么MAML则是在遍历多个任务后找到一组敏感的参数,在新任务到来的时候帮助模型利用这组参数快速地将先验知识转移到新任务上。自然地,Meta-Learning的数据集肯定不是像传统DL那样简单划分为训练集和测试集:


如上图所示,在Meta-Learning上,我们不再直接叫train和test了,而是叫Meta-trainMeta-test。在上图中,每一行都是一个task(例如数学题、物理题),包含了task的train set和test set,图中展示就是所谓的5way 1shot 设定,也就是一个task包含5个类,每一个类一个训练样本,然后给你2个测试样本测试。我们可以把每一个task当做一个Meta-Learning的训练样本。我们要通过多种task的训练,从而在Meta-test的时候也就是在新的task上取得好效果。出于习惯,我们把meta-training中的training data叫做support set、test set叫做query set

这部分主要是掌握Meta-Learning的数据集是如何划分的即可,具体MAML的细节下一部分会具体阐述。

MAML算法

MAML算法主要分成三步:

  • (1)采样任务数据:首先会从meta-training里面采样一個batch size的training data,比如batch size为3的时候我们就会随机采样3个任务的数据(比如做数学题,做物理题,做语文题)。
  • (2)计算梯度和参数:对 training data 中每一个 task 以及其对应的 label 计算属于每个 Task 的 gradient 与更新后的 model 参数。(这里是第一次计算梯度
  • (3)更新模型:当有了每个 task 利用 training data of meta-train(即support set)得到的新模型参数后,可以利用test data of meta-train(即query set)验证,並且加总所有任务的loss,对原本模型参数(注意不是对第一次求的梯度参数)微分并真正的更新一次参数。(第二次计算梯度

MAML的思考

整个算法的流程还是比较简洁的,读者可能会觉得为什么不和往常一样计算一次梯度就好了,为什么要算两次,我的理解是:对于一个有很多任务要学习的模型,我们要优化这个模型,第一个想法可能是找到一个点(参数空间上)让所有的任务在这个点是最优解,听起来很强,但想想都觉得很困难,平时我们训练单一任务SGD找最优解都要迭代那么久,怎么可能一下子就可以找到一个点是所有任务的最优解?所以MAML把问题转换为找到一个点,让这个点距离各个任务的最优解最近,让这个点只需要简单地梯度下降一次就可以找到最优解,显然这种想法更加的科学。



回到我们一开始的例子:我们想在计算机视觉漫谈公众号发掘一位有考上清华潜力的全才,只计算一次梯度的想法相当于我先在这些人里面找语文满分的,然后在语文满分的中找数学满分的,再在数学满分里面找英语满分的……,这肯定很难。而计算两次梯度的想法相当于我在所有关注计算机视觉漫谈公众号中的人中找到很聪明的那个,这个人不一定语文第一名,但他很聪明,全能型选手,学啥都很快很好,显然通过第二种方法更能挖掘出一位有考上清华潜力的全才。

另外有接触过迁移学习的同学可能会觉得元学习和迁移学习很像,在我的理解上两者其实没有明显的界限,这里引用王晋东博士的话:你可以说元学习是强调从不同的若干小任务小样本来学习一个对未知样本未知类别都有好的判别和泛化能力的模型,但其实你想想,难道这不就是知识迁移吗?从迁移上来看,你可以说学习一个可迁移的特征或模型,可以从A迁移到B。但这些可以被迁移过提纯的东西,难道不能被叫做元知识吗?所以其实是殊途同归的,都应该一起联系起来看。

参考

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