[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting

文章目录

  • 摘要
  • 引言
  • The Proposed Meta-Weight-Net Learning Method
    • The Meta-learning Objective
  • 相关工作
  • 补充1:MAML
  • 补充2:Rethinking the Value of Labels for ImprovingClass-lmbalanced Learning


[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第1张图片

摘要

  1. 目前的深度神经网络(DNNs)很容易对带有损坏标签或类不平衡的有偏训练数据(biased training data)进行过拟合。通常采用样本重加权策略来缓解这一问题,通过设计一个从训练损失到样本权重的权重函数映射,然后在权重重计算和分类器更新之间进行迭代
  2. 然而,目前的方法需要手动预先指定权重函数及其附加的超参数根据所调查的问题和训练数据,适当的加权方案会发生较大的变化,这使得它们在实践中很难得到普遍应用。为了解决这个问题,我们提出了一种直接从数据中自适应学习显式权重函数的方法权函数是一个隐含层的MLP,构成了几乎所有连续函数的通用逼近器,使该方法能够拟合包括传统研究中假定的权函数在内的广泛范围。
  3. 少量无偏元数据的指导下加权函数的参数可以随着分类器的学习过程同步微调更新。综合实验和实际实验表明,该方法能够在类不平衡和有噪声标签的情况下实现适当的权重函数,完全符合传统方法的常见设置,并在超出传统情况的更复杂的情况下实现。这自然导致它比其他最先进的方法更准确

引言

  1. 由于dnn对复杂输入模式建模的强大能力,最近在各种应用程序中获得了令人印象深刻的良好性能。然而,dnn很容易过度拟合到有偏差的训练数据 ,如那些包含损坏的标签[2]或类不平衡[3],导致他们在这种情况下的泛化表现很差。这一鲁棒深度学习问题已经在多篇文献[4,5,6,7,8,9]中得到了理论上的阐述。

  2. 然而,在实践中,这种有偏倚的训练数据是常见的。例如,实际收集的训练样本总是包含损坏的标签。一个典型的例子是一个从众包系统[18]或搜索引擎[19,20]粗略收集的数据集,这可能会产生大量的嘈杂标签。另一种受欢迎的有偏见的训练数据类型是那些不平衡的类别。现实世界的数据集通常被描述为具有长尾配置的倾斜分布。少数类占了大部分数据,而大多数类没有得到充分的表示。因此,利用这些有偏的训练数据进行有效学习是机器学习中一个重要而又具有挑战性的问题[1,21]。
    [论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第2张图片
    图1:(a)-(b)焦点丧失和自定步调学习(SPL)的权重函数。© Meta-WeightingNet架构。(d)-(f)用我们的方法分别在类不平衡(不平衡因子100)、噪声标签(40%均匀噪声)和真实数据集中学习的元加权净函数。

  3. 样本重加权方法是解决鲁棒学习问题的常用策略。主要方法是设计一个从训练损失到样本权值的权重函数映射(带有超参数),然后迭代从当前训练损失值计算权值和最小化加权训练损失用于分类器更新。对于构建这样一个轻量级映射,存在两种完全矛盾的想法。一是使函数单调递增,如图1(a)所示,即强制学习更强调损失值较大的样本,因为它们更可能是位于分类边界上的不确定硬样本。这一类的典型方法包括AdaBoost[22, 23]、硬负性挖掘[24]和局灶性损失[25]。这种样本加权方式对于类失衡问题是必要的,因为它可以优先考虑训练损失相对较高的少数类。

  4. 另一种方法则将权函数设置为单调递减,如图1(b)所示,**将损失值较小的样本作为更重要的样本。其合理性在于,这些样本更有可能是标签干净的高自信样本。**典型的方法包括自定步调学习(SPL)[26]、迭代重加权[27,17]和多变量[28,29,30]。这种加权策略特别用于有噪声标签的情况,因为它倾向于抑制具有极大损失值的样本的影响,可能有损坏的错误标签。
    [论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第3张图片[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第4张图片

  5. 虽然这些样本重加权方法有助于提高学习算法在有偏训练样本上的鲁棒性,但在实践中仍然存在明显的不足。一方面,目前的方法需要根据训练数据的某些假设,手动设置特定形式的加权函数。然而,当我们对数据的基础知识知之甚少或标签条件过于复杂时,这往往是不可行的,比如训练集既不平衡又有噪声。另一方面,即使我们指定了某些加权方案,如focal损失[25]或SPL[26],它们也不可避免地涉及超参数,如前者的聚焦参数和后者的年龄参数,这些参数需要手动预置或通过交叉验证进行调优这往往会进一步提高其应用难度,降低其在实际问题中的性能稳定性。

  6. 为了解决上述问题,本文提出了一种自适应的样本加权策略,从数据中自动学习显式加权函数。主要思想是参数化权重函数为(多层感知器)网络只有一个隐层(如图1所示©),称为Meta-Weight-Net,理论上这是一个普遍近似为几乎任何连续函数[31],然后使用一组小无偏验证(元数据)来指导训练参数。最后得到了适合学习任务的显式加权函数。

  7. 综上所述,本文在以下三个方面做出了贡献:

  8. 1)我们提出以元学习的方式从数据中自动学习由MLP参数化的显式loss-weight函数。由于该权重网具有普遍的逼近能力,它可以很好地拟合广泛的权重函数,包括传统研究中使用的权重函数。

  9. 2)实验证明,在不同的训练数据偏差情况下,如类别不平衡和有噪声的标签情况下,通过我们的方法学习到的加权函数都高度符合传统中手动预设的加权方式,分别如图1(d)和1(e)所示。这表明,通过本文方法学习的权重方案有助于揭示对数据偏差的更深理解,特别是在提取的权重函数具有复杂趋势的复杂偏差情况下(如图1(f)所示)

  10. 3)可以很好地解释为什么提出的方法有效。其中,Meta-Weight-Net参数的更新方程可以解释为,更符合元数据知识的样本的样本权重会得到提高,而违背元数据知识的样本的样本权重会被抑制。这符合我们对这个问题的常识:我们应该减少那些有高度偏见的影响,而强调那些没有偏见的影响。本文的组织结构如下。第2节介绍了提出的元学习方法,以及详细的算法和对其收敛性的分析。第三节讨论相关工作。第四部分对实验结果进行了说明,最后得出结论。

The Proposed Meta-Weight-Net Learning Method

为了提出这样一个自适应的且不需要超参数的reweighting方法,文章的主要想法是用MLP来充当weight fucntion的作用,即让MLP自动学习从loss到weight之间的映射关系。然后用unbiased meta data来引导MLP的参数学习。

The Meta-learning Objective

记整个分类网络为f(), 用于预测样本loss权重的MLP网络为\theta(), 网络的整体训练过程如下图:
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第5张图片[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第6张图片

可以重点关注箭头的颜色,红色的表示的是meta-weight-net的参数更新过程而黑色的表示的整体分类网络的参数更新过程。对于时间t而言,最重要的几个步骤如下:

1) 对于分类网络f的参数w, 用从训练集中采出的minibatch data进行网络参数的更新,得到w_hat, 注意这里是暂时更新的w_hat,并没有替换原来f的参数w,可以理解为是一个临时变量。(图中step5)
2) 对于MLP网络为\theta(),用当前的w_hat预测得到的loss作为MLP网络的输入,得到输出的loss weights,用meta-dataset构建出来的minibatch data更新参数theta, 得到t+1时刻的thrta,替换原来\theta()中的网络参数。(图中step6)
3) 用t+1时刻的theta和t时刻的w, 再次用训练集中采出的minibatch data进行网络参数的更新,得到w,这次的w才真正作为t+1时刻的w, 替换原来中f的网络参数。(图中step7)

具体的公式可能看起来稍微有点复杂,但其实就是SGD在mini-batch上的优化。

[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第7张图片
元权重网的权重方案分析

[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第8张图片在这里插入图片描述
第j个梯度项的系数表示训练损失计算的第j个训练样本的梯度元损失计算的小批量元数据的平均梯度之间的相似性。这意味着,如果一个训练样本的学习梯度与元样本的学习梯度相似,那么它将被认为有利于获得正确的结果,并且它的权重往往更有可能增加。相反,样品的重量倾向于被抑制。这种理解与为什么著名的MAML的工作原理是一致的说明模型会朝着跟meta-data数据分布一致的方向进行学习

相关工作

Sample Weighting Methods.

  1. reweighting examples的想法可以追溯到数据集重采样[40,41]或实例重权[42],通过使用任务或数据的某些先验知识,对样本权重进行预评估,作为预处理步骤。使样本权重拟合数据更加灵活,最近的研究人员关注于预先设计一个从训练损失到样本权重的权重函数映射,并在训练过程中动态地改进权重[43,44]。权重函数的设计主要有两种方式。一种是使其单调递增,在阶级不平衡的情况下特别有效。典型的方法包括boosting算法(如AdaBoost[22])及其多个变体[45]、硬例挖掘[24]和焦损[25],它们对损失值较大的算法施加更大的权重。相反,另一系列方法指定权函数为单调减少,特别是用于噪声标签的情况。如SPL[26]及其扩展[28,29]、迭代重加权[27,17]等近期的研究[46,30],更多地关注损耗较小的简单样本。这些方法的局限性在于,它们都需要人工预先指定权函数的形式及其超参数,这就增加了它们在实际应用中易于使用的难度。

Meta Learning Methods.

  1. 受元学习发展的启发,最近提出了一些方法,从数据中学习自适应加权方案,使学习更加自动化和可靠。这方面的典型方法有FWL[51]、learning to teach[52,32]和MentorNet[21]方法,权值函数分别设计为贝叶斯函数近似器、带注意机制的DNN、双向LSTM网络。与传统方法仅以损失值作为输入不同,他们所使用的加权函数(即元学习者)具有更复杂的形式,需要输入复杂的信息(如样本特征)。这使得它们不仅难以继承传统方法所具有的优良性质,而且容易被一般用户复制。
  2. 与此密切相关的方法L2RW[1]采用了与我们相似的元学习机制。主要的区别是权重是隐式学习的,没有显式的权重函数。然而,这可能导致训练过程中不稳定的加权行为和不可泛化。相比之下,我们的Meta-Weight-Net明确而简单,可以更稳定地学习权重,如图6所示,并且可以很容易地从某一任务推广到其他相关的任务。

补充1:MAML

参考链接
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第9张图片
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第10张图片
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第11张图片

  1. 如何评价初始的theta的好坏呢?主要是看它被更新为theta_i之后,在该任务T_i上表现如何。
  2. 这个表现如何可以用损失函数来评价。每次,我们输入一个batch的tasks,然后,利用这个初始化参数theta,在这个batch里所有的任务上更新,更新完毕后吧在这些task上的测试损失值加起来,得到的大的Loss就可以用来评价我们这个theta的好坏
  3. 通过优化找到最好的初始化参数theta。有了一个好的初始化参数theta,当我们遇到新的问题,它就能够快速的根据新任务做调整。只需要一步或者几部的更新,就能得到很好的结果

[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第12张图片
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第13张图片
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第14张图片

  1. 第七行,这一步梯度迭代其实更新了若干次,而不是一次。(代码里是5次)因为每个任务都需要这样做,所以不能过多,而且是few-shot,数据量很少,如果迭代次数过多,如果过拟合(存疑)。

  2. 在meta-update这里,直接那quary的数据来做了。这里的loss是更新后的theta_i’在quary的数据上的测试损失。通过这个测试损失对初始化参数theta做梯度下降优化。
    [论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第15张图片

为了防止混淆,吧meta-update的那个theta记作phi
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第16张图片
[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第17张图片[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第18张图片

[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第19张图片[论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting_第20张图片

补充2:Rethinking the Value of Labels for ImprovingClass-lmbalanced Learning

原文地址MIT博士生、北大校友,利用自监督算法,解决了数据集中这一常见的“难题”

你可能感兴趣的:(论文阅读,机器学习,python,人工智能,计算机视觉,深度学习)