元学习 (Meta Learning)、小样本学习 (Few-Shot Learning)、课程学习 (Curriculum Learning)

Posted by Lucius on January 2, 2021

元学习

元学习 (Meta Learning - learn to learn),即 “学会学习”。

MAML

MAML:使模型自己学会初始化

  • 初始有多个训练任务、测试任务,每个任务都包含训练数据 (Support Set) 和测试数据 (Query Set)

  • 初始化 meta 网络参数,执行迭代 “预训练”
    • 采样一个训练任务 a,将 meta 网络参数赋给任务 a 的网络(结构均一致)
    • 使用任务 a 的 Support Set,基于该任务学习率,进行一次优化,并更新任务 a 网络参数
    • 使用任务 a 的 Query Set,计算基于该任务 loss 的梯度
    • 使用该梯度,基于 meta 学习率,更新 meta 网络参数
    • 采样一个训练任务 b…
  • 测试时,使用测试任务的 Support Set 微调,在 Query Set 上测试

meta learning 与 model pre-training 区别:

  • 元学习使用任务在训练数据上更新一次后,在测试数据上的梯度来更新 meta 网络

  • 模型预训练使用任务在训练数据上第一次的梯度来更新 model 网络

MAML 是典型的 optimization based meta-learning,即通过之前大量的相似任务的学习,给网络模型学习到一组不错的 / 有潜力的 / 比较万金油的参数,使用这组参数作为初始值,在特定任务上进行训练,只需要微调几次就可以在当前的新任务上收敛

参考资料:

小样本学习

N-ways, K-shot:N 个类别,每个类别有 K 个数据

小样本学习 (few shot learning),可以说是 meta learning 在监督学习上的一个典型应用,当然小样本学习也可以用其它方法,但目前基本上绝大多数小样本学习都用的元学习

基于 meta learning 的小样本学习思想:

  • 上游使用大量相关任务数据学得一个模型,获得先验知识

  • 下游仅使用小样本数据即可使模型收敛到一个比较好的解

课程学习

出发点:

  • 课程学习 (Curriculum learning, CL) 最早由 Bengio 提出,是一种训练策略,模仿人类学习过程,主张让模型从易到难进行学习,此处指样本学习的难度

策略框架的两大部件:

  • 难度测量器 (Difficulty Measurer)

  • 得到一个 ranking function,对每条数据、每个任务给出其 learning priority

  • 训练调度器 (Training Scheduler)

  • 确实什么时候把 Hard data 输入训练,以及每次放多少

课程学习方法分类:

相关联系:

  • 课程学习可与迁移学习中的样本选择紧密结合

参考资料: