什么是元学习 (Meta Learning)

目录

    • 元学习(Meta Learning)
      • 元学习介绍
      • 元学习目的
      • 元学习流程

元学习(Meta Learning)

元学习介绍

元学习希望使得模型获取调整超参数的能力,使其可以在获取已有知识的基础上快速学习新的任务。

元学习目的

元学习和机器学习的区别在于:机器学习是先人为调参,之后直接训练特定任务下深度模型。元学习则是先通过其它的任务训练出一个较好的超参数,然后再对特定任务进行训练。

什么是元学习 (Meta Learning)_第1张图片
这些超参数可以是初始化参数、选择优化器、定义损失函数、梯度下降更新参数等。

什么是元学习 (Meta Learning)_第2张图片

元学习流程

在机器学习中,训练单位是样本数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。

在元学习中,训练单位是任务,一般有两个任务分别是训练任务(Train Tasks),和测试任务(Test Task)。

(1)训练任务

在训练任务中给定 h h h个子训练任务,每个子训练任务的数据集分为 Support set 和 Query set。

  1. 首先通过这 h h h个子任务的 Support set 训练 ,分别训练出针对各自子任务的模型参数 θ k ∗ \theta^*_k θk
  2. 然后用不同子任务中的 Query set 分别去测试 θ k ∗ \theta^*_k θk的性能,并计算出预测值 P i k q P^{kq}_i Pikq和真实标签 Y i k q Y^{kq}_i Yikq的损失 l k l_k lk
  3. 接着整合这 h h h个损失函数为 L ( φ ) L(\varphi) L(φ) L ( φ ) = l 1 + . . . + l k + . . . + l h L(\varphi)=l_1+...+l_k+...+l_h L(φ)=l1+...+lk+...+lh
  4. 最后利用梯度下降法去求出超参数 φ \varphi φ去更新参数 { θ i ∗ } i = 1 k \{\theta^*_i\}^k_{i=1} {θi}i=1k,从而找到最优的超参设置 φ ∗ \varphi^* φ;如果 φ ∗ \varphi^* φ不可求,则可以采用强化学习或者进化算法去解决。

什么是元学习 (Meta Learning)_第3张图片
(2)测试任务

测试任务是正常的机器学习的过程,它将数据集划分为训练集和测试集。

训练任务的目的是找到一个好的超参设置 φ ∗ \varphi^* φ,利用这个先验知识可以对特定的测试任务 f f f进行更好的进行训练。

什么是元学习 (Meta Learning)_第4张图片

参考文献:

  1. 一文通俗讲解元学习(Meta-Learning)

你可能感兴趣的:(计算机视觉,学习)