Lecture 15:元学习Meta Learning2

目录

Meta Learning – MAML

MAML

Reptile

Meta Learning – Gradient Descent as LSTM

Meta Learning – Metric-based

Meta Learning - Train+Test as RNN


Meta Learning – MAML

Meta Learning:让机器自动找出learning algorithm

Meta Learning的三个步骤(前面笔记有写,这里简单复习一下):

step 1: Define a set of learning algorithm

step 2: Defining the goodness of a function F

Meta Learning常常跟few-shot learning一起使用

step 3: Find the best function F*

下面介绍Meta Learning的两个technique:MAML、Reptile

MAML

评价Φ的好坏:如下图,Φ本身拿去做task1和task2没有很强,但是Φ拿去做训练以后(用task1和task2的data做训练后)变得很强,那它就是一个好的Φ

MAML v.s. Model Pre-training

MAML在实作的时候,training algorithm通常只做一次update,理由如下:

  • Fast ... Fast ... Fast ...
  • Good to truly train a model with one step.
  • When using the algorithm, still update many times.
  • Few-shot learning has limited data.

MAML - Real lmplementation: MAML走两步gradient,用第二步gradient去update参数Φ

对比下pre-training:往当前Φ在training task上算出来的gradient方向移动

把MAML实作在translation的任务上,结果如下图。MAML比pre-training效果好,尤其是在训练资料量少的时候。

Reptile

Reptile和MAML、pre-train的不同:

下图是Reptile、MAML、pre-train实作在Omniglot上的结果,可以看到meta learning的方法效果明显好于pre-train的方法:

Meta Learning – Gradient Descent as LSTM

Review Recurrent Neural Network:

Review LSTM:

LSTM和gradient descent的式子有相似之处:

LSTM for Gradient Descent:

LSTM memory cell中的值,就是network的参数

LSTM for Gradient Descent在实作上,因为LSTM的memory cell不可能开的太大(1024个memory cell就算比较多的了),而network的参数通常有几万到几十万个,所以在实作上LSTM只开一个cell,所有的network参数都通过相同的LSTM训练出来:

Meta Learning – Metric-based

Metric-based是一个比较crazy的idea,它希望输入training data和testing data,能够直接输出predicted label of testing data:

后面都以Face Verification这个task为例,它是一个few-shot learning的task:

Face Verification可以当做一个meta learning的任务做:

对于上面图片中的network,我们要训练这个network能够同时做训练和测试。实际上这个network的架构最常见的设计叫做Siamese Network(可以理解为孪生网络):

Siamese Network - Intuitive Explanation(当做一个binary classification的problem去理解)

上面都是做的Verification的任务,即可以当成binary classification的任务,下面介绍如何做identification的任务,即N-way Few/One-shot Learning的任务。

N-way Few/One-shot Learning任务举例:

这种任务的network架构如何设计?下面给出三个文献上的做法:

① Prototypical Network

② Matching Network

这个network和Prototypical Network很类似,它们最大的区别在于Prototypical Network把training data的每一张图片都分开处理,Matching Network用一个bidirectional LSTM接收所有的training data。

③ Relation Network

在few-shot learning中常常遇到的问题是训练资料很少,所以我们可以让机器去generate训练资料。generator是和network一起被learn出来的。

Meta Learning - Train+Test as RNN

在上面使用过的Metric-based approach的方法,使用的是专门设计过的network architecture。Can we use general network architecture?

用一般的LSTM train不起来,修改LSTM架构(比较知名的有MANN、SNAIL)后可以train起来:

文献上结果表明SNAIL效果比较好:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值