一、introduction
-
工业界:大量GPU同时训练多组可能的超参数,找到结果较好的参数配置
-
学术界:“通灵”,定义一组好的参数
Meta-learning:learn to learn,希望自己学会超参数、网络架构……,帮助学术界解决问题
-
“学习算法”也可以看做一个函数F,它的输入是训练数据,输出是model
- 一般的ML中,F是人想出来的(hand-crafted)
- Meta Learning 自动学习“学习算法”F
二、Learning Algorithm
训练数据→训练任务(训练任务里的训练数据+测试数据)
测试数据→测试任务(包含训练数据+测试数据)
Step 1: What is learnable in a learning algorithm?
明确要被学的东西
让机器自己学习
⇒learnable components ϕ \phi ϕ
- 网络架构
- 初始参数
- 学习率
- ……
根据学习内容不同,将元学习的具体方法进行分类
Step 2:Define loss function for learning algorithm F ϕ F_\phi Fϕ
定义损失函数
很多“任务”,每个任务中有训练集和测试集
使用学到的学习算法 F ϕ F_\phi Fϕ,利用某个任务的训练数据进行训练,得到模型 f θ 1 ∗ f_{\theta^{1*}} fθ1∗
模型 f θ 1 ∗ f_{\theta^{1*}} fθ1∗性能越好时,说明学习算法 F θ F_\theta Fθ越好,此时损失函数 L ( θ ) L(\theta) L(θ)越小
-
评估训练得到的模型 f θ 1 ∗ f_{\theta^{1*}}