我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本节内容综述

  1. 本节课由助教 陈建成 讲解。
  2. 本节 Outline 见小细节。
  3. 首先是 What is meta learning? 。
  4. 接下来是 Why meta learning? 。
  5. How and what to do with meta learning? 是本节课的主要内容。首先讲了一个很有趣的现象:元学习的作者普遍会把其方法缩写成某种动物的名字。
  6. 讨论了 What can we “meta learn”? 。
  7. 接着是 What can we meta learn on? 。讨论元学习的常见数据集。
  8. 之后,则可以开始讨论元学习的类别,并介绍其做法。
  9. 最后,介绍了与 meta-learning 相关的技术。

文章目录

  • 本节内容综述
  • 小细节
    • Outline
    • What is meta learning?
    • Why meta learning?
      • Motivations for meta learning?
    • (Interesting Names of) Models / Techniques
    • What can we "meta learn"?
    • What can we meta learn on? Datasets
    • Categories
      • Black-box
      • Optimization / Gradient based
        • MAML
        • Meta-SGD
        • How to train your MAML?
        • Different meta-parameters
          • iMAML
          • R2-D2: closed form solvers
      • Base-box v.s. Gradient based
      • Metric-based / non-parametric
        • Siamese network
        • Prototypical network
        • Matching network
        • Relation network
        • IMP (Infinite Mixture Prototypes)
      • Problem of metric-based
    • Hybrid
      • LEO (Latent Embedding Optimization)
    • Bayesian meta-learning
    • Related machine learning topics

小细节

Outline

  • What is meta learning?
  • Why meta learning?
  • How and what to do with meta learning?
    • Categories
    • Datasets
    • Models
  • Related machine learning topics

What is meta learning?

所谓 meta 就是 sth about sth

meta learning 就是 learning about learning ,也就是 learn to learn。


图示如上。

Why meta learning?

Motivations for meta learning?

  1. too many tasks to learn, to learn more efficiently: learning to learn.
  • Faster learning methods (adaptation)
  • Better hyper-parameters / learning algorithms
  • Related to:
    • transfer learning
    • domain adaptation
    • multi-task learning
    • life-long learning
  1. Too little data, to fit more accurately (few-shot learning, better learner, fit more quickly)
  • Traditional supervised may not work


此外,老师的频道如上。(看来我还差一些…

(Interesting Names of) Models / Techniques


如上,元学习的模型都用动物命名。SNAIL 是基于注意力的模型。

具体不讲解,有需要则自行阅读。

What can we “meta learn”?

  1. Model Parameters (suitable for Few-shot framework)
  • `Initializations
  • Embeddings / Representations / Metrics
  • Optimizers
  • Reinforcement learning (Policies / other settings)
  1. Hyperparapmeters (e.g. AutoML): beyond the scope of today, but can be viewed as kind of meta learning
  • Hyperparameters search ((training) settings)
  • Network architectures → Network architecture search (NAS), related to: evolutional strategy, genetic algorithm…
  1. Others
  • Algorithm itself (literally, not a network)
  • …(More in DLHLP)

What can we meta learn on? Datasets


如上,可以用在语言字体识别上。


此外,还可以用在图片上。

Categories


如上,可以分为:

  • 黑箱 RNN;
  • 优化器、初始参数;
  • 学出一个比较标准;
  • 还有一些混合方法。

Black-box


其原理如上,我们得到ϕi\phi_iϕi可以理解为一种分布。其实还可以理解为一种 auto-encoder 。

如上,其基本思想就是,用 LSTM 硬训练一发。

Optimization / Gradient based


这是最为经典的一类方法,包括 MAML 与 Reptile 等。

MAML


对 MAML 的概述如上。

Meta-SGD


但是 MAML 存在一些问题,比如其学习率对于不同任务是相同的。但学习率往往很重要。


因此,为 MAML 增加一个 meta 参数,即让学习率匹配参数。

但是学习率数量与参数一样多,这很没有效率。因此,提出 How to train your MAML?

How to train your MAML?


这篇文章指出了 MAML 的五个问题,如上。


针对上述五个问题,作者都提出了解决方案。

Different meta-parameters


此外,还有两篇文章,对 MAML 的架构改动较大。

iMAML


如上,中间的图是传统的 MAML ,只用了一阶的方向。而其方向向量叠加起来,与真正的 MAML 偏差是较大的。

因此,作者提出了一个假设(如上图抛物线,即二次项):Can we do better? Consider the following…


如上图,如果 meta 参数 θ\thetaθ 能够对一群 task (如图中的几条线),有一定的学习到;此时 θ\thetaθ 应该会有这些 ϕi\phi_iϕi 中的共通点。此时,θ\thetaθ 不应该跑太远。

因此,我们加一个正则,并且进行推导,发现可以近似成 θ\thetaθ 的微分最终只与最终的 ϕi\phi_iϕi 有关。


其表现还不错。

R2-D2: closed form solvers


如上,其中 ρ\rhoρ 表示那个正则器 R.R. 中的参数。正则器中进行了数学推导,其中进行的是一些线性代数运算。

Base-box v.s. Gradient based


如上,其实二者区别并不是很大。都是把训练任务的信息存储起来。

Metric-based / non-parametric


如上,我们在这种方法中,放其构建 F ,而直接把训练数据与测试数据输入到大的黑箱中,直接进行比较,输出标签。


如上,用 training data 来对类别做 embedding ,然后讲训练数据与之进行临近的比较。

Siamese network


如上,我们训练的目标为:一样标签的够近,不一样的够远,就可以了。

Prototypical network


如上,分别设定不同的 CNN ,抽取特征。

Matching network


而 Matching network 则为了找到其之间的关系,用双向 LSTM 存储他们之间的关系。

Relation network


Relation network 的思路类似上文,只不过是通过一个网络去算其分数。

以上是李老师讲过的四种方法。

IMP (Infinite Mixture Prototypes)


如上,使用了贝叶斯的方法,为了追求更准的分类,增加一些类别。

Problem of metric-based

  • When the K in N-way K-shot large → difficult to scale
  • Limited to classification (only learning to compare)

Hybrid

最后讲一下融合模型。

LEO (Latent Embedding Optimization)


如上,我们的在 inner 训练时(训练元学习的能力时),讲数据集投影到一个较小维度的空间中,这个空间对应着网络参数的空间。

Bayesian meta-learning


如上,我们的目标本来是想区分“笑”与“不笑”,但是机器却学到了“带不带帽子”这个特点。

因此,提出了一系列方法如上。

Related machine learning topics


在 RL 中,我们卡在了“交互”、“数据量”少上。因此,与元学习结合很有必要。

【李宏毅2020 ML/DL】P97-98 More about Meta Learning相关推荐

  1. 【李宏毅2020 ML/DL】P118 RL - Model-based, Meta, Multi-agent, Alpha

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 关于强化学习,我专门花半年时间学习实践过,因此这里笔记只记录李老师的 outline .我的强化学习资源仓库: ...

  2. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  3. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  4. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  5. 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  6. 【李宏毅2020 ML/DL】P15 Why Deep-

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  7. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  8. 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM

    李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...

  9. 【李宏毅2020 ML/DL】P88-96 Meta Learning – MAML | Reptile

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 元学习就是 Learn to learn ,让机器变成 a better learner .Me ...

最新文章

  1. python如何开发小软件-Python程序员,如何快速开发一个小程序
  2. S5PV210开发 -- 交叉编译器
  3. PHP中错误处理集合
  4. 标准库类型String
  5. jquery每次动态加载dom,绑定事件会多一次,
  6. 用积分来衡量博客的成绩
  7. 百度前端学院-基础学院-第二课
  8. 工作队列 ( workqueue )
  9. 微信小程序公测了!教你第一时间注册微信小程序
  10. 颜宁谈为何选择深圳:一拍即合!我麻溜地向普林斯顿递了辞职申请
  11. java酒店管理系统毕业论文
  12. 将CS5463存放的数据转换成float类型
  13. 计组实验-CPU设计-指令添加
  14. 星计划--Python内置对象之旅(3)(列表)
  15. 工作中的十大棘手难题
  16. delphi mysql 删除_Delphi如何清空日志文件
  17. 【历史上的今天】11 月 11 日:腾讯成立;信息论先驱出生;阿德曼提出 DNA 计算
  18. Spyder 运行时kernels启动报错
  19. ABR算法研究综述 | A Survey on Bitrate Adaptation Schemes for Streaming Media Over HTTP(IEEE COMST‘18)阅读笔记
  20. 中学计算机教师人生职业规划,初中教师个人职业发展规划

热门文章

  1. shell中变量的引用(两种方式:$变量名,${变量名})。
  2. 呉服屋 2011/03/24早会文章
  3. 关于VBA中【按钮的改名】 和 【函数名字的改变】
  4. 【Yarn】工作机制及任务提交流程
  5. 【Python-2.7】列表与元组
  6. 为什么接口在设计时所有的方法一般都要抛异常?
  7. eslint 验证vue文件 报错 unexpected token =解决方法
  8. 我得到 http 响应,但 response.getEntity().getContent() 显示空指针异常
  9. 找不到元数据文件“ .dll”
  10. jmap 文件解析_jvm系列:dump文件深度分析