MAML笔记

date
Sep 29, 2022
Last edited time
Sep 29, 2022 11:55 AM
status
Published
slug
MAML笔记
tags
DL
summary
type
Post
Field
Plat

元学习

元学习的意思即 “学会如何学习” 。 在机器学习中,工作量最大也是最无聊的事情就是调参。我们针对每一个任务从头开始进行这种无聊的调参,然后耗费大量的时间去训练并测试效果。因此,一个直观的想法是:我们是否能让机器自己学会调参,在遇到相似任务时能够触类旁通、举一反三,用不着我们从头开始调参,也用不着大量标签数据重新进行训练。
通常的机器学习是针对一个特定的任务找到一个能够实现这个任务的function,例如猫和狗的分类任务。而元学习的目标就是要找到一个Function能够让机器自动学习原来人为确定的一些超参(Hyper-parameter),如初始化参数 、学习速率 、网络架构等,元学习的分类就是看学习的是什么超参。这个 Function用 表示, 不是针对某一个特定任务的,而是针对一群类似的任务,例如这些任务可能包括猫和狗的分类、橘子和苹果的分类、自行车和摩托车的分类等等。这个 是要帮这一群类似任务找到一个好的超参,在下次再遇到相似任务的时候,初始化参数可以直接用上,用不着我们再调参了。

元学习的单位

元学习的基本单元是任务,任务结构如图所示。 元训练集 (Meta-Training Data)、元验证集 (Meta-Validation Data) 和元测试集 (Meta-Testing Data) 都是由抽样任务组成的任务集合。 元训练集和元验证集中的任务用来训练元学习模型, 元测试集中的任务用来衡量元学习模型完成任务的效果。
在元学习中,之前学习的任务称为元训练任务 (meta-train task), 遇到的新任务称为元测试任务 (meta-test task)。 每个任务都有自己的训练集和测试集, 内部的训练集和测试集一般称为支持集 (Support Set) 和查询集 (Query Set)。 支持集又是一个 N-Way K-Shot 问题,即有 N 个类别,每个类有 K 个样例。
notion image

MAML

MAML概述

在普通机器学习中,初始化参数往往是随机生成的,MAML聚焦于学习一个最好的初始化参数 。初始参数 不同,对于同一个任务 训练得到的最优参数 不同,在任务 的测试数据集上损失值 不同。MAML的目标是找到最优的初始参数 ,是所有任务的测试损失值最小,在遇到新任务时,只需基于少量标签对初始化参数 进行微调就可以获得很好的效果。这和前面提到的预训练有些相似,但也有些不同。
notion image

MAML的训练

MAML的训练使用梯度下降法:
具体流程:
  1. 假设刚开始的初始化参数的初始化参数是
  1. 随机采样一个训练任务
  1. 通过训练任务 的支持集(训练数据)求loss,然后更新一次参数得到任务 的最优参数 ,注意此时并没有更新
  1. 使用任务 的最优参数 , 通过训练任务 的查询集(测试数据)对 再求一次loss,计算梯度,然后用此梯度的方向更新
  1. 回到2
notion image
上述过程有一个很值得关注的地方是,对于任务 ,更新一次参数就认为参数最优了,李宏毅认为作者之所以这么设置是因为MAML主要用于小样本学习,更新一次是怕发生过拟合的问题。
MAML 中执行了两次梯度下降 (gradient by gradient),分别作用在基学习器和元学习器上。下图给出了 MAML 中特定任务参数  和元级参数  的更新过程。
MAML 示意图。灰色线表示特定任务所产生的梯度值(方向);黑色线表示元级参数选择更新的方向(黑色线方向是几个特定任务产生方向的平均值);虚线代表快速适应,不同的方向代表不同任务更新的方向。
MAML 示意图。灰色线表示特定任务所产生的梯度值(方向);黑色线表示元级参数选择更新的方向(黑色线方向是几个特定任务产生方向的平均值);虚线代表快速适应,不同的方向代表不同任务更新的方向。

为什么是二阶导?

它之所以叫做meta loss的原因而不叫做training loss的原因在于它的反传方式,我们求和了所有的loss却不在期望参数 上反传,而是用这个meta loss在model原来的参数 上求导,然后再优化model的参数。这里对于 求导的时候,我们其实得到了二阶导信息,不信请看:
那么:

训练代码

第一次更新参数
第二次更新参数

MAML的优缺点

优点
  • 适用于任何基于梯度优化的模型结构。
  • 双层优化结构,提升模型精度和泛化能力,避免过拟合。
缺点
  • 存在二阶导数计算

Reference


© Lazurite 2021 - 2024