Lecture 15:元学习Meta Learning

目录

Review Machine Learning

Introduction of Meta Learning

What is Meta Learning?

Meta Learning的三个步骤

Meta Learning的framework:

ML v.s. Meta

Meta Learning的training

What is learnable in a learning algorithm?

初始化参数θ0

Optimizer

Network Structure

Data Processing

Sample Reweighting

Beyond Gradient Descent

Meta Learning的Applications

More about Meta Learning

Meta Learning v.s. Self-supervised Learning

Meta Learning v.s. Knowledge Distillation

Meta Learning v.s. Domain Adaptation

Meta Learning v.s. Life-long Learning


Meta Learning: Learn to learn

Review Machine Learning

Machine Learning = Looking for a function

Machine Learning有三个step:

Step 1: Function with unknown

Step 2: Define loss function

Step 3: Optimization

Introduction of Meta Learning

What is Meta Learning?

Meta Learning的三个步骤

Machine Learning通过三个步骤找function,Meta Learning通过三个步骤找learning algorithm:

step 1: What is learnable in a learning algorithm?

找出learning algorithm中要被machine学出来的东西,例如Net Architecture, Initial Parameters, Learning Rate。这些之前都是人自己决定的,现在我们期待它们是可以被学出来的。我们把这些在learning algorithm里面想要学出来的东西统称为Φ。

step 2: Define loss function(L(Φ)) for learning algorithm FΦ

In typical ML, we compute the loss based on training examples.

In meta, we compute the loss based on testing examples.

step 3: Find Φ that can minimize L(Φ)

Meta Learning的framework:

ML v.s. Meta

Goal:

Training Data:

Framework:

Loss:

上面介绍的是它们的差别,下面介绍它们的相同之处:

Meta Learning的training

假设在training的时候使用gradient descent,那就需要求出loss,即求出L(Φ),所以需要把每个ln求出来。要算第n个任务的ln,要进行一次episode(一次within-task training+一次within-task testing),所以要算一个ln,运算量比较大。

What is learnable in a learning algorithm?

下面用一些实例介绍在meta Learning里面,什么是可以被学的。

Review: Gradient Descent

我们一般最常用的learning algorithm就是gradient descent:

初始化参数θ0

在gradient descent的整个过程中,θ0是可以被train出来的。如何找出一个对训练特别有帮助的initial的参数θ0——MAML:

How to train MAML (train MAML也需要调参数,需要random seed):

MAML v.s. pre-training:

        在self-supervised learning还不流行的时候,pre-training比较常见的做法是把好几个任务的资料倒在一起当做一个任务进行训练,这种做法叫做multi-task learning。通常把multi-task learning的方法当做meta的baseline。

Why MAML is good? 关于MAML为什么会好有两个不同的假设,rapid learning 和feature reuse,下图中的paper得到的结论是feature reuse是MAML好的理由:

Optimizer

除了学习初始化的参数θ0,还可以学习optimizer:

Network Structure

Network Structure也可以被训练出来。训练network架构这系列的研究,叫做Network Architecture Search (NAS)。

在NAS中,Φ是network架构,不好微分,所以可以用RL硬做:

除了用RL硬做以外,用Evolution Algorithm也是可以的。

把Network Architecture改一下,让它变得可以微分,也是可以做的,有个经典的做法叫DARTS:

Data Processing

Sample Reweighting

Beyond Gradient Descent

上面的方法都是基于gradient descent去做改进,有没有可能完全舍弃gradient descent?

Meta Learning的Applications

今天做meta learning的时候,最常拿来测试Meta Learning技术的任务是Few-shot lmage Classification。

Few-shot lmage Classification: Each class only has a few images

N-ways K-shot classification: In each task, there are N classes, each has K examples.

In meta learning, you need to repare many N-ways K-shot tasks as training and testing tasks.

如何寻找一堆N-ways K-shot的任务?在文献上,最常见的做法是使用Omniglot这个corpus当做

benchmark corpus:

N-ways K-shot的任务做在Omniglot上没什么实际的作用,但是meta learning不是只能用在Omniglot上面,下表列举了meta learning在语音还有自然语言处理上的应用(纵轴是不同meta learning的方法,横轴是不同的应用):

More about Meta Learning

Meta Learning v.s. Self-supervised Learning

Self-supervised Learning (BERT and pals):

Learn to lnit (MAML family):

BERT和MAML它们有共同的目标——找初始化的参数。

BERT和MAML不是互斥的,它们可以相辅相成。MAML通过gradient descent的方法去learn一组初始化的参数,但MAML本身也需要initialize的参数Φ0,BERT可以用来寻找Φ0:

BERT和MAML各有长短,把它们结合在一起的实验结果如下:

有关meta learning用在自然语言处理上的一些work,如下图,在做MAML的时候,多数文章都使用了BERT或Word Embedding做initialization:

Meta Learning v.s. Knowledge Distillation

Knowledge Distillation:

在Knowledge Distillation中,大的model、即teacher model到底擅不擅长教学?因为在训练过程中,teacher model只是被当做一个普通的的model去训练,并没有教teacher model如何teaching。

有文献指出,在分类任务上做的特别好的teacher,不一定擅长教学:

Can the teacher-network “learn to teach”? —— meta learning

要让teacher net learn to teach,teacher net update参数的目标不是自己能够做多好,而是student可以做多好:

Meta Learning v.s. Domain Adaptation

Domain Adaptation:

Meta Learning for Domain Generalization:

Example -Text Classification:

Meta Learning可以帮助做domain adaptation,但是Meta Learning本身也可能会遇到需要做domain adaptation的状况:

Meta Learning v.s. Life-long Learning

Lifelong Learning Scenario:

在过去的笔记中,有写过一些处理Catastrophic forgetting的方法,meta learning可以强化这些方法,下面以Regularization-based的方法为例:

在之前的笔记中提过一系列Regularization-based的方法,例如EWC、SI等,这些方法是人设计的。除了让人设计Regularization以外,可以通过meta learning找一个比较好的algorithm,这个比较好的algorithm可以避免Catastrophic forgetting:

Meta Learning可以帮助learn一个比较好的algorithm,这个algorithm可以避免Catastrophic forgetting,但是Meta Learning本身也可能遇到Catastrophic forgetting的状况,如何解决参见下图中的论文:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值