Meta-learning:Survey

文章目录

      • introduction
      • 超参的元学习
        • 先验模型独立推荐超参
        • 超参空间的设置
        • 配置的迁移
      • Leaning from task Properties
        • 元特征
        • 热启动算法
      • 元模型
      • Learning from Prior Models
        • 迁移学习
        • 神经网络中的元学习
        • 小样本学习
        • 超越监督学习

Meta-learning:Survey

introduction

  1. 元学习的先验任务必须是具有一定相似性的任务,才能够有很好的泛化。
  2. 元数据:用于描述先验任务或者先验模型的数据。可以为:超参设置,网络结构,模型评估的结果(如训练时间或模型准确率),网络模型参数等。
  3. 根据元数据类型,本文将元学习方法分成了三类。
    • how to learn purely from model evaluation?超参的元学习,从结果的角度评估相似度
    • how we can characterize tasks and bulid meta-models?即寻找特征化任务的方法以及计算数据相似度的方法。从特征的角度评估相似度。
    • how we can transfer trained model parameters?即迁移模型参数,将具有内在相似性的模型进行训练参数的迁移。即迁移学习and小样本学习。

注: 元学习可以与多任务学习以及集成学习有机的结合在一起。
多任务学习:同时学习多个具有相关性的任务.
集成学习: 为一个任务建立多个模型
多任务学习和集成学习本身并没有从先验知识中学习的步骤。


超参的元学习

假设一个包含所有超参空间 Θ \Theta Θ,任意一个超参配置 θ i ∈ Θ \theta_i ∈ \Theta θiΘ
对于先验任务 t j t_j tj 在以 θ i \theta_i θi为配置的情况下的先验评估为 P i , j P_{i,j} Pi,j,这些标量评估组成集合 P
元学习器的目的:基于新任务,以 P ∪ P n e w P∪P_{new} PPnew为原数据进行训练,获得可以预测recommend configuration for new task的模型、

先验模型独立推荐超参

  • 通过对超参空间中的所有模型进行评估得到每个 θ \theta θ 的evaluation,然后排序,找到最佳的那一个。在排序时可以考虑准确率,AUC,迭代速度等。
  • 在排序时也可以使用Top-K 的取值方法。
  • 在获得recommend configuration 后,我们可以以此超参为初始,热启动贝叶斯优化算法,优化超参。

超参空间的设置

  • 通过先验评估选择重要的超参放入配置空间中进行搜索。
  • 利用ANOVA(方差分析)算法,针对于同一个任务,那些算法性能变化较大的那些超参即为重要的超参,可被放入超参空间中。
  • 通过性能增益寻找重要超参:首先找到最佳的超参配置(将所有任务的平均风险损失降到最低的配置),然后针对于每一个超参,通过调整它来观察模型性能的变化,进而得到模型的重要性。

配置的迁移

  • 通过计算任务之间的相似度,将相似的任务的配置直接拿来使用。相似度的计算方法
    • Relative landmark: R L a , b , j = P a , j − P b , j RL_{a,b,j}=P_{a,j}-P_{b,j} RLa,b,j=Pa,jPb,j。给两个任务设置相同的热启动,然后遍历超参空间,如果任务i 的RL_{a,b,i} 和RL_{a,b,j} 相似,则说明 i,j 两个任务相似。缺点:该方法的 θ \theta θ 全部为先验任务中已有的。
    • 设置替代模型。为每一个先验任务设置一个替代模型,如果替代模型和new task 的 performance 误差很小,则说明这两个模型很相似。(该方法经常与高斯优化相结合)Wistuba et al. (2018) train surrogate models based on Gaussian Processes (GPs) for every prior task, plus one for t n e w t_{new} tnew
    • 利用 acquisition function (Wistuba2018)采样元数据。提取函数是贝叶斯优化中的描述如何采样数据点的一种方法,即为下一次采样提供方向。 该函数是 P i , n e w P_{i,{new}} Pi,new上的期望性能改善 (Jones et al., 1998)以及所有先验 P i , j P_{i,j} Pi,j上的预测性能改善的加权平均。

Leaning from task Properties

元特征

  1. 每个任务都可以用一个元特征向量进行表示,可以使用欧氏距离就散两个任务的元特征距离,进而得到相似性。
  2. 常用的元特征有如下:
    Meta-learning:Survey_第1张图片
    当然除了这些特征外,不同类型的数据还有一些自己独有的元特征,如流数据的landmark,时间序列的自相关矩阵等。
  • 除了人为的定义元特征之外,我们还可以学习一组元特征的表征。一种方法是,在其他任务的元特征 M 的基础上直接生成类似于标记的元特征表示 M ′ M' M,即学习函数 f : M → M ′ f:M \rightarrow M' f:MM ,如Sun and Pfahringer (2013) 等;另一种方法是,利用已有的元数据P 进行联合表征学习,即 f : P × Θ → M ′ f:P\times\Theta\rightarrow M' f:P×ΘM。例如使用孪生网络学习元特征的表示 (Kim et al., 2017)。

热启动算法

  • 元特征除了能够计算任务的相似性之外,可以用来热启动优化算法,即做优化的初始。
  • 可以利用最短的 TOP-k 的 L1 距离的配置来初始化遗传算法,贝叶斯优化,多次感知机等
  • 通过协同过滤的方法寻找针对于任务t ,每种配置的推荐评级,然后根据评级判断最佳配置。

元模型

  • 通过构建能够预测最佳配置的元模型,来学习指定配置效用和任务之间的复杂关系。
  • 在准确的元特征下,boost and bagge 能够很好的输出最佳预测。
  • 用于产生最佳的 K 个配置的元模型:首先利用 KNN 算法,计算出最相似的 K 个任务,然后对这些任务的最佳配置进行排序。
  • 用于直接预测performance(比如accuracy or training time) 的元模型,在给定任务和它的元数据的情况下。
  • 这些寻找出来的配置大多用于热启动中,不会被直接使用。
  • 除却学习指定配置与任务之间的关系外,还可以寻找可以揭露不同配置与指定任务之间关系的元模型。
  • 当获取到元模型的新任务,可以根据具体情况,优化超参量,进而节约优化时间。

    人们提出元模型来预测给定的算法是否值得调整 (Ridd and Giraud-Carrier, 2014),以及和增加额外时间投资相比对特定算法的调整可以带来多大收益 (Sanders and Giraud-Carrier, 2017)。人们对特定学习算法进行了更有针对性的研究,提出元模型用于预测何时需要调整 SVM (Mantovani et al.,2015a)、对于给定任务的优良SVM默认超参数(包括可解释的元模型) (Mantovani et al., 2015b)以及如何调整决策树 (Mantovani et al., 2016)。


Learning from Prior Models

从先验模型本身中进行学习。
Meta-learning:Survey_第2张图片

迁移学习

  1. 将多个先验任务的训练后模型,作为 t n e w t_{new} tnew 的起始点。
  2. 迁移学习在面对不那么相似的新任务时,表现一般。因此,迁移学习的目的是学习一种具有 归纳偏置(inductive bias) 的元学习器
  3. 归纳偏置:从现实生活中观察到的现象中归纳出一定的规则(heuristics),然后对模型做一定的约束,从而可以起到“模型选择”的作用

神经网络中的元学习

  • Hochreiter and Schmidhuber, 等人将LSTM 引入作为元学习器
  • Andrychowicz et al. 2016,Chen et al.2016 等取代了传统SGD,提出了一种基于综合函数(计算所有base-learner的损失和)的优化方法。
  • Li and Malik (2016)等在强化基础领域,提出了策略搜索的方式。
  • 神经网络结构搜索领域还存在着一些算法,比如贝叶斯优化和强化学习等。

小样本学习

  • Vinyals et al. (2016) 等人提出的 Matching Network 学习器:为每个样本学习一个表征,然后利用余弦相似度和KNN的结合对数据进行分类。
  • Snell et al. (2017)等 提出了 Prototypical Networks:将所有数据映射到p-维空间中,该空间可以是同类的数据聚合在一起。然后计算每个类的平均向量。然后通过新样本和中心的距离判断类别。
  • Ravi and Larochelle (2017) 等人提出以 LSTM 为元学习器去学习神经网络的更新规则,每个学习器都将自己的梯度和损失返回给元学习器。元学习器在进行更新。
  • MAML算法用于学习一个初始模型
  • REPTILE 一种近似与MAML的算法,主要是扩展迭代次数;因为每个任务可能存在超过一组的最佳权重,reptile的目标就是寻找一组权重,使这组权重与每个任务的至少一组权重接近。
  • Santoro et al.(2016a) 提出 Memory-Augmented Neural Networks (MANNs), 一种具有记忆功能的元学习器,该学习器存在着具有增强存储功能的神经网络。该学习器可以存储先验任务的信息并且利用他们进行学习。
  • SNAIL:一种包含了交错时间卷积和因果注意力卷积层的通用元学习结构。

超越监督学习

  • 可以将base-learner 用作无监督,然后meta-learner用作有监督

  • 很多强化学习(RL)、主动学习、密度估计和项目推荐的方法被用于元学习中。

你可能感兴趣的:(人工智能,深度学习)