Advertisement

Learning to Learn from Noisy Labeled Data

阅读量:

知乎链接:Learning to Learn from Noisy Labeled Data

论文地址:https://arxiv.org/pdf/1812.05214.pdf

代码分享:https://github.com/LiJunnan1992/MLNT

一、 ABSTARCT

DNN依赖于大量的数据,人工标注昂贵,网络上廉价的数据源往往包含不准确的数据,训练带有噪声的数据集会导致性能下降。本文提出了一个 noise-tolerant 训练算法,其中meta-learning update在常规的梯度更新之前(因为网络包含两部分loss,meta loss 的更新是在classification loss 之前的)。本文针对每一个mini-batch,都会人工合成一些噪声,形成一个这个mini-batch的噪声集合(就是会有M个重复的mini-batch 数据,但是它们label里面的噪声是不一样的),然后用这个噪声集合进行元学习,通过和teacher-network 的训练结果保持一致来使得网络不受噪声的影响。我们在CIFAR-10 and the Clothing1M数据集上做了大量实验,实验结果表明了模型的优越性。

二、 Introduction

对于DNN需要的大量监督信息,人工标注方式比较昂贵,网页自动搜取的方式准确率不高.本文研究如何在noisy label的数据集上高效训练.

一些现有的方法通过人工验证seed images或者估计标签的混淆矩阵(label confusion)的方式. 但是这样的方法不适合用于大规模的数据集。另一方面,有些方法是不用人工监督的(例如label correction和noise correct layer)是可扩展的,但效果差。本文提出了一个基于meta-learning的噪声容忍的训练方法, 该方法不用任何附加的监督信息和clean label data 。而且我们的算法 是不针对与任何特定的模型的 ,只要是反向梯度训练的模型,都可以适用于本算法。

在noisy label 训练中的突出问题是在训练过程中对noisy label的过拟合会造成模型表现能力的下降。我们通过优化模型参数来解决这个问题,通过优化使得模型不容易过拟合,更具有鲁棒性。

更具体的来说,针对于一个小批次,我们提出了一个meta-objective来训练模型,使模型在经过传统的反向梯度传播之后不会过拟合noisy label。该meta-objective鼓励模型在经过各种合成噪声的训练之后产生一致的预测结果。本文提出算法的主旨思想是, 一个噪声容忍模型,不管标签的噪声是怎样的,都应该能够始终如一的从数据中学习到基础的feature。

本文的主要贡献:

1. 提出了一个噪声容忍度很高的模型,meta-objective 在传统的反向更新之前优化。任何用反向梯度更新参数的模型都可以应用到本算法中,我们的目标是优化一个不会过度拟合噪声的模型。

2. 我们把meta-objective定义为:训练模型,使其在学习了各种合成的噪声标签进行梯度更新后,更新后的模型给出的预测结果与教师模型一致。

3. 本文在两个数据集上进行测试,这两个数据集包含来自人工合成和自然掺杂的噪声。另外还做了很多对比实验,探究提出的算法组件的作用。

三、 Related Work

(一) Learning with label noise

有一种方法使用DNN、概率图模型、知识图谱或条件随机场等方式建立显式或隐式噪声模型来表征噪声和真实标签的分布;对噪声建模的结果用来把修正标签或者给噪声标签赋予更小的权重。但是这种方法通常需要小部分干净的标签子集,或者要用比较expensive的评估准则。除此之外,这种方法不能应用于复杂的噪声标签分布上面。

另一种是用矫正的方式来减轻噪声标签的影响。例如《Training deep neural networks on noisy labels with bootstrapping》该方法引入了一个consistency objective,在训练的过程中不断re-label 数据。《Joint optimization framework for learning with noisy labels.》提出了一种同时优化网络参数和噪声标签的优化策略。《Iterative learning with open-set noisy labels》一文提出在迭代过程中识别并减小噪声权重。也有一些方法寻找可以抵抗噪声的损失函数,即寻找0-1 损失函数的可替代损失函数。

(二) Meta-Learning

Meta-learning通常是基于传统机器学习方法之上的学习方法,例如学习learner的更新规则,或者学习可以更容易fine-tune或者transfer的初始化权重(就是类似于迁移学习里面的那个pre-train之后的权重)。我们的方法和MAML最为相似(Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks),MAML希望meta-learner可以通过在初始参数的基础上进行一或多步的梯度调整,来达到仅用少量数据就能快速适应新task的目的。本文的算法和MAML都是不针对于特定模型并且在simulated meta-task上梯度更新来进行训练。我们和MAML的不同之处在于,MAML致力于在面对新的task上时,loss function可以很快的适应到当前任务,而我们的任务是希望学习到一个noise-tolerant模型。除此之外,MAML在meta-test上面使用分类损失进行训练,而我们和一个teacher model 使用一致性损失进行训练。

MAML可以参考这篇文章

Rust-in:MAML 论文及代码阅读笔记
图标

(三) Self-Ensembling

最近一些基于Self-Ensembling 的方法已经提高了半监督领域(打标签的样本很少,更多的是无标签的样本)的效果。这些方法对unlabeled 的样本赋予一个一致化损失,规范网络让网络可以对在不同的数据扩充、dropout或者噪声条件下的同一个样本得到相同的预测结果。本文提出的算法有借鉴《Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results.》这篇文章的思想,该论文的算法有两个网络,一个teacher network,一个student network,teacher network的权值是student network 的移动平均值,他们强制这两个网络的预测结果是相同的。在本文中,teacher-network是在meta-test里面的,我们使用teacher-network来指导student-network网络的训练,从而使其more tolerant to label noise。

PS: 大概简述下这个算法,首先student 和 teacher network的网络架构是相同的,teacher network 的参数是 student network 的滑动平均,两个网络输入也是相同的,里面带有真实标签的样本,也带有无标签的样本。这个mini-batch 同时输入到这两个网络里,然后利用student network产生的对真实样本的预测和真实标签做一个交叉熵验证称为classification cost,而后student network 和teacher network 会有一个一致性损失(consistency loss,为了让这两个网络的预测结果保持一致),然后把这两部分loss合起来,一起优化。

四、 Method

(一) Problem Statement

针对于噪声训练的问题陈述,就是如何在噪声数据中训练鲁棒性的网络。

(二) Meta-Learning based Noise-Tolerant Training

我们的目的是使网络找到Noise-Tolerant 的网络。我们通过在每个mini-batch 的更新之前引入了一个meta-learning update 来使得网络more tolerant to label noise。meta-learning update这部分模拟了用噪声数据训练的过程,从而避免网络对噪声数据过拟合。具体来说,会给mini-batch里面的每一张图片生成多种噪声label,针对每一个合成的噪声标签集合,我们用one gradient update来更新网络参数,并且要求更新后的网络产生的预测结果要和没有受噪声影响的teacher network 结果一致。 如下图所示,meta-learning update优化了模型,使其能够更好地利用conventional gradient update对原有的mini-batch进行学习。实际上,我们的目标是找到对标签噪声不那么敏感的模型参数,并且能够在标签噪声影响下始终如一地从数据中学习基础知识。 提出的meta learning update包括meta train和meta test两个步骤。【之后的具体步骤讲的会清楚一些】

(三) Meta-Train

(四) Meta-test

Teacher network 不受噪声的影响(我理解的是teacher network不会接触这些后期产生的M种噪声分布),所以在student network 和 teacher network 之间有一个一致性损失。(保持两个网络预测结果的一致性)

我们希望针对于这一个mini-batch 的M个人工噪声集合的loss能够达到最小,因此 meta loss 是M个 θ m' 的一致性损失的均值。

尽管meta-loss 是由每个假设噪声集合的均值得出的,但是在反向更新参数的时候,我们更新的是最开始的参数θ。

在meta-learning 结束之后,我们再在(X,Y)上进行分类loss的优化。

(五) 算法流程图

流程图中的讲解比较清晰

值得注意的一个点

这个图现在再看就可以看懂是啥意思了

五、 Iterative Training

训练阶段的两个目的,第一个是把classification loss 中可能错误的类去掉。第二个是在这个过程中要改进teacher network 的预测效果,从而使得一致性损失更加有效。

首先,按照algorithm 1中描述的方法进行初始训练迭代,并获得一个验证精度最好的模型(通常是teacher network)。我们将这个模型命名为mentor,并使用θ∗来表示它的参数。【可以看作是预训练warm up 的过程】

在第二次训练迭代中,我们重复算法1中的步骤,有两个变化如下。

1、 如果我们用所有的样本来训练的话,noisy label 会对网络产生不好的影响,因此我们把menter network 中认为这个样本label正确的概率很低的样本剔除掉。而且这一次迭代中其实是从过滤之后的数据集D’中抽取样本,里面的noisy label会更少些

2、 为了能够产生更好的预测效果,我们把mentor network 和teacher network的预测结果合并放到一致性损失当中。

其中λ是控制两部分比例的参数,随着训练过程从0增加到1

我们在实验中训练了三次迭代。Mentor model是 the previous iteration中最好的模型。作者说,超过三个的进一步的训练迭代不会带来显著的性能改进。

六、 Experiments

(一) Dataset

用的数据集是CIFAR-10 and Clothing1M

对于CIFAR-10,其中10%的数据用作验证集,并用两种类型的标签噪声人为地破坏其余的训练数据:对称噪声和非对称噪声。

对称标签噪声注入是以r的概率将数据的one-hot 标签编码替换为一个随机的one-hot vector。不对称标签噪音的目的是模仿一些真正的错误结构的相似类,例如,汽车和卡车,鹿和马,猫和狗等等。使得真类和错类的概率分别为1−r和r。

对于Clothing1M,里面的数据是来自网络的,已经有现实世界中的错误了。我们分别用14k and 10k clean data for validation and test。

(二) Implementation

参数设置

(三) Experiments on CIFAR-10

噪声比例

symmetric label noise (noise ratio r = 0,0.1,0.3,0.5,0.7,0.9)

asymmetric label noise (noise ratio r = 0.1,0.2,0.3,0.4,0.5)

对比模型

Cross Entropy:直接训练

(2) Forward : forward loss correction based on the noise transition matrix.

[Making deep neural networks robust to label noise: A loss correction approach.]

(3) CNN-CRF :是用条件随机场纠正label的一个算法

[Toward robustness against label noise in training deep discriminative neural networks.]

(4) Joint Optimization: 选择一部分样本来训练

[Joint optimization framework for learning with noisy labels.]

其中(2)和(3)都需要ground-truth noise transition matrix,(4)需要the ground-truth class distribution among training data

(四) Ablation Study

1. Progressive Comparison

2. Hyper-parameters.


3. Full optimization

(五) Experiments on Clothing1M

全部评论 (0)

还没有任何评论哟~