元学习
元学习 (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 输入训练,以及每次放多少
课程学习方法分类:
相关联系:
- 课程学习可与迁移学习中的样本选择紧密结合
参考资料: