深入浅出元学习-拆解MAML和Reptile算法「Meta-learning」「AI核心算法」

关注:决策智能与机器学习,深耕AI脱水干货

作者:郑思座  来源:知乎

专栏地址:https://www.zhihu.com/column/c_1068928500529958912

转载请联系作者

概述

元学习,meta-learning,又叫learning to learn,直译即为学习如何学习,从中文字面上来理解,似乎这类算法更接近人类的学习方式——触类旁通,举一反三。而传统的深度学习方法虽然功力强大,但是框架无外乎都是从头开始学习(训练),即learning from scratch,对算力和时间都是更大的消耗和考验。

元学习的诞生促使机器学习向另一侧面突进,以更接近人类和更具效率的方式实现人工智能。元学习包括Zero-Shot/One-Shot/Few-Shot 学习,模型无关元学习(Model Agnostic Meta Learning)和元强化学习(Meta Reinforcement Learning)等,本文结合台大李宏毅老师的教学视频,重点解读元学习中的两大经典算法——MAML和Reptile。

基本思想

理解一个算法,抛去所有细节、公式、证明,最重要的是什么?是思想,算法的思想是高于其他一切细节的核心。理解了思想,其他的细节也能通过推理逐渐丰富,甚至只要对思想进行一个小小的改动,可能就是另一篇好论文了。回到本文,元学习的核心思想只需要掌握一个关键词,task——不同于其他的机器学习方法,元学习的训练样本和测试样本都是基于任务的。

换句话说,元学习是要去学习任务中的特征表示,从而在新的任务上泛化。举个例子,以下图的图像分类来说,元学习的训练过程是在task1和task2上训练模型(更新模型参数),而在训练样本中的训练集一般称作support set,训练样本中的测试集一般叫做query set;测试过程是在测试任务上评估模型好坏,从图中可以看出,测试任务和训练任务内容完全不同。

要更清晰地理解元学习,需要搞清其与传统深度学习、终身学习(life-long learning)、迁移学习中的model pre-training的区别与联系,尤其是与model pre-training的区别,这一点将在后文不断强调。终身学习的目标是学到一个模型可以做所有的任务,有点“一招鲜吃遍天”的意味,而元学习是掌握其他任务的内在原理从而举一反三,有点“学好数理化走遍天下都不怕”的意味。用我们这一行的话来理解元学习就是,当一个程序员掌握了基本的C++、python、Java,后面不管学什么语言都能迅速掌握,这就是元学习算法的魅力。

传统深度学习的操作方式如下图,先定义一个网络架构,初始化参数,然后通过自己选择的优化器更新参数,图中通过两次epoch更新最终得到网络输出  ,那元学习与传统深度学习的联系在哪儿呢?注意到红色方框中的东西都是人为设计定义的,其实元学习的目标就是去自动学习或者说代替方框中的东西,不同的代替方式就发明出不同的元学习算法。比如说对于一个新任务的初始参数部分来说,如果能够提前获得一个来自其他任务学习到的较好的初始参数,可能经过很快的训练就能收敛到全局最优,也就是fast adaption。

深度学习的通用流程

以下两个经典算法都把学习目标定义在初始化参数的部分,所以接下来的解读都以此假设为学习目标。在神经网络算法,都需定义一个损失函数来评价模型好坏,元学习的损失通过N个任务的测试损失相加得到。定义在第n个任务上的测试损失是 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Reptile是一种学习算法,它的名称来源于原论文中的一种玩笑说法,可能是为了找一个与爬行动物相关的名称而取得。Reptile算法核心思想是在算法流程的第一步中进行多次更新,并在第三步使用差向量作为更新方向。可以将Reptile视为MAML(Model-Agnostic Meta-Learning)、模型预训练(model pre-training)和Reptile三者的梯度更新方向的综合。通过理解这些概念,我们可以更容易地理解Reptile学习算法学习是指学习如何学习的一种方法,也被称为learning to learn。学习与传统的深度学习、终身学习(life-long learning)和迁移学习有所区别。终身学习的目标是通过学习一个模型来完成所有任务,而学习是通过掌握其他任务的内在原理来举一反三。换句话说,学习使我们能够快速学习新任务,就像一个程序员掌握了基本的编程语言后能够迅速掌握新的语言一样。学习可以被看作是一种更接近人类学习方式的算法,即触类旁通、举一反三。与传统的深度学习方法相比,学习算法可以节省算力和时间的消耗。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [深入浅出学习-拆解MAML和Reptile算法Meta-learning」「AI核心算法」](https://blog.csdn.net/u9Oo9xkM169LeLDR84/article/details/110211715)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值