【学习笔记】标签噪声下利用深度学习进行图像分类任务——概述

论文地址 

[1912.05170v1] Image Classification with Deep Learning in the Presence of Noisy Labels: A Survey (arxiv.org)https://arxiv.org/abs/1912.05170v1

目录

 Abstract

Introduction

Preliminaries

Problem Statement

Label Noise Models

Sources of Label Noise

Methodologies

Noise Model Based Methods

Noisy Channel 噪声信道

Label Noise Cleaning 噪声清洗

Sample Choosing 样本选择

Sample Importance Weighting 样本重要性赋权

Labeler Quality Assessment 标签机质量评估

Noise Model Free Methods

Robust Losses 鲁棒性损失函数

Meta Learning 元学习

Multiple-Instance Learning 多实例学习

Semi-Supervised Learning 半监督学习

Regularizers 正则化

Ensemble Methods 集成方法

Others 其他

Dataset and Noise Generation

Datasets and Test Set 数据集和测试集

 Adding Synthetic Label Noise 添加合成标签噪声

Conlusion


 

 Abstract

用于进行图像分类的神经网络需要大量的标记数据来进行适当的训练。但是,由于分类的困难标记过程的高代价,使得标签噪声是数据集中普遍存在的问题。

众所周知,深度网络对标签噪声具有一定的鲁棒性,但它们倾向于过拟合数据,这使它们容易对噪声进行记忆,甚至是完全随机的噪声也是如此。因此,为了有效地训练深度神经网络,必须考虑标签噪声的存在,并开发相应的对抗算法来消除其负面影响。

 本文的目的是在提出这些算法的同时,根据它们的相似性对它们进行分类。

一种常见的用于图像分类的卷积神经网络(CNN)结构图

Introduction

尽管强大的模型会具有令人印象深刻的泛化能力,但研究表明,它们能够记忆完全随机的噪声。如何避免记忆噪声,是一个重要的挑战。

这里我们将噪声分为两种,即特征噪声标签噪声。特征噪声对应观测到的数据特征的破坏,而标签噪声则是标签从其真实类别标签的变化。

一种特征噪声,将图像原有的特征加以破坏

一种标签噪声,将图像的类别加以变化

两种噪声类型均可能会导致性能的下降,但是标签噪声往往被认为是更有害的。标签对每个数据都是唯一的,而数据的特性是多重的,每个特性的重要性是不同的,标签总是对神经网络训练有很大的影响。

事实上,监督学习需要过多的带标签数据是一个主要的缺点,因为它需要一个昂贵的数据集收集和标记过程。当前,数据收集和标记的过程往往借助于搜索引擎和网络,也可以通过众包来完成。这样的做法导致数据的收集和标记过程都会产生噪声

本文是关于围绕标签噪声深度学习的分类方法的全面调查。 

Preliminaries

Problem Statement

记无噪声数据集 D={(x_1,y_1)...(x_n,y_n)},有噪声数据集\tilde{D}={(x_1,\tilde{y _1})...(x_n,\tilde{y _n})}

参考集D{ref},是一个无噪声的子集。 最终数据集用D_f表示,则D_f可分为两种。

一种是带有参考集的:D_f=\left \{ D_{ref},\tilde{D}\right \}

一种是不带有参考集的:D_f=\left \{ \tilde{D} \right \}


标签向量y在二元分类任务中,是二进制变量,在多分类任务中,则是一个单热向量。

对于多标记的数据,在y_i唯一的情况下,一个实例x_i可以有多个\tilde{y _i}。如果一个实例包含多个对象,yy_i则可以代表多个类。

Label Noise Models

随机噪声是完全随机的,既不依赖实例的特征,也不依赖它的类别。如果存在一个给定的转移概率矩阵,那么p_e标签将依据矩阵改变它的真实类别。

一个噪声率为0.4的对称噪声转移概率矩阵(混淆矩阵)

Y依赖噪声 噪声与实例X无关,但依赖于实例的类别Y。这意味着来自特定类的数据更有可能被错误标记。

XY依赖噪声同时依赖于XY。在Y依赖的情况下,来自特定类的对象更有可能被错误标记。X依赖则意味着错标的几率可能会根据数据特征而改变。

Sources of Label Noise

  1. 噪声会产生于获取数据的过程中。
  2. 噪声会由于不同标记者的水平不同而产生。
  3. 过于复杂的数据即使是专家也会产生误分类。
  4. 数据中毒中需要使用标签噪声。

Methodologies

提高分类性能的方法目前可分为两类:基于噪声模型的方法非基于噪声模型的方法

基于噪声模型的方法旨在为噪声建立一个噪声的模型,并用这个模型提供的信息来训练分类器, 以达到良好的鲁棒性。

非基于噪声模型的方法旨在设计一个更为通用的算法来克服噪声带来的负面影响。

Noise Model Based Methods

Noisy Channel 噪声信道

通过对噪声转移矩阵建模,提取数据样本的真实分类概率,并将其送入分类器进行噪声鲁棒训练。

噪声信道是模型预测和噪声标签之间的映射。

噪声可以被建模为基础分类器上的噪声信道

在这类方法中,一个常见的问题是可扩展性,因为增加类的数量需要在噪声转移矩阵中估计更多的参数。这可以通过只允许在最可能的节点或预定义节点之间连接来避免。

噪声信道的建模方法可以大致分为三种:

  • Extra Layer:噪声信道可以建模为分类器之上的额外一层。在反向传播阶段,无噪声梯度通过这一层进行干净的训练。这一层可以是线性全连接层或者是应用了dropout的softmax层
  • Seperate Network:在该方法中,噪声信道采用另一个网络进行建模。方法包括,采用两种卷积神经网络分别预测实例的真实标签和噪声类型,然后使用期望最大化算法(EM)迭代计算随机变量和网络参数的后验;使用屏蔽,允许某些类转换发生而其他类不发生;引入了一个新的参数,即嵌入质量,它表示数据的可信度,并由神经网络进行估计,基于真类概率和嵌入质量两个变量,分类器进行分类。
  • Explicit Calculation:可以显式地计算噪声转移矩阵,并应用于将模型预测映射到噪声标记。可以采用的算法有期望最大化算法、条件独立性、前向和后向损失、无监督生产模型、贝叶斯定理等。

Label Noise Cleaning 噪声清洗

处理噪声标签的一种简单方法是去除带有可疑标签的样本,或将其噪声标签修正为与真实类别相对应的类别。这可以在训练数据的预处理阶段完成,但这类方法通常解决了从带有噪声标签的样本中区分有信息的硬样本的困难。

硬样本:Hard Sample,是相对于Easy Sample而言的。两种样本均是干净的,但是分类器(神经网络)往往更容易学习到Easy Sample的特征和信息,对于Hard Sample则比较难以学习。

根据对参考集的需要,可将这类方法分为使用参考集不使用参考集。 

使用参考集:如果存在一个干净的数据子集,该子集既有噪声标签又有经过验证的真标签,则可以使用在该数据集上训练的网络重新标记噪声标签。

  • 在参考集上训练清洁器,用于噪声清洁
  • 基于特征提取的噪声清洁
  • 导师网络为学生网络清洁噪声
  • 采用不同数据集子集训练的网络集成学习,如果他们都同意标签,它被更改为预测标签,否则标签设置为随机标签。

不使用参考集

  • 网络预测的移动平均
  • 一致性的损失
  • 网络整合
  • 为每个类构造原型,这些原型能够代表对应类的深度特征分布
  • 数据集随机分割
  • 部署信任策略,其中标签由网络输出或给出噪声标签决定。随着迭代数数的增加,网络输出的置信度增加,使得网络在训练时能够更好地预测标签

Sample Choosing 样本选择

克服标签噪声的一种广泛使用的方法是控制进入到分类器的输入流。引导网络选择正确的实例进行训练,可以帮助分类器在有噪声标签的情况下更好的学习。由于这些方法在现有系统之外操作,因此它们更容易作为附加组件附加到现有系统中。

Self Consistency 自我一致性:通过检查标签与网络预测的一致性,可以选择下一个待训练的样本

  • 网络预测的移动平均
  • 与模型一致,如果给定样本的标签预测和模型预测一致,则将其用于训练集。否则,模型有权不同意。
  • 标签预测和模型预测的移动平均之间的一致性
  • 基于图的方法
  • 在概率分类器的帮助下,训练数据被分为两个子集:自信的干净子集和噪声子集。根据这些子集的大小估计噪声率,并从干净子集中去除不太自信的例子。最后,在修剪后的数据集上训练分类器

Curriculum Learning 课程学习:从简单的样本开始,经过较难的样本来指导训练

  • 筛选损失函数
  • 导师-学生网络
  • 在训练中选择不确定的样本
  • 提取类与类之间的相似关系,然后将计算出的相似矩阵作为额外层加入模型当中,并输入硬样本进行微调
  • 选择损失值低的样本进行损耗计算的课程损失,将该损失作为0-1损失上界进行优化
  • 根据数据的复杂性,将数据分成子组,并通过在完整数据集上预先训练的网络进行提取
  • 使用一个网络来寻找和估计容易丢失的样本,其他网络来训练这些校正的数据

Multiple Classifiers 多分类器:使用两个分类器互相帮助,选择下一批数据进行训练。这不同于教师-学生的方法,因为没有一个网络监督对方,但他们更愿意互相帮助,这可以提供鲁棒性。

  • 如果两个网络都不同意给定的标签,则假设标签是有噪声的,只有当两个网络的预测发生冲突时才更新模型权重
  • 采用合作教学范式,两个网络相互选择对方的下一批数据 

Active Learning 激励学习:对整个数据集进行正确的注释可能代价高昂,因此可以使用主动学习方法只标记关键实例

  • 在一个大的有噪声的数据集上训练网络,这些数据集很容易从网络上获得。在训练分类器之后,与模型预测有太多不一致的实例被发送到注释器进行校正。重复这个过程,直到获得所需的分类精度。 

Sample Importance Weighting 样本重要性赋权

根据估计的噪声水平为实例赋权,可以使训练更加有效。这样做的效果是强调更清晰的实例,以便更好地更新模型权重。

一种基于元学习为样本赋权的算法流程图

样本赋权的方法有

  • 加权因子取决于条件分布和噪声率
  • 训练两个独立的网络处理标签偏差:视觉呈现分类器和相关性分类器
  • 相似性损失:图像与其噪声标签的相关性,然用来衡量特定样本对学习的重要性
  • 将图像特征分组,并进行稀疏正则化,迫使模式选择相关特征,从而使可靠图像的权重更大
  • 采用元学习范式确定权重因子
  • 通过对Siamese网络的识别特征的学习,将干净的和有噪声的数据分离出来,从而实现对噪声标签的检测
  • 根据pLOF加权 引入弃权,根据样本的交叉熵误差,可以选择弃权样本,并设置弃权惩罚
  • 利用θ分布中样本的θ值来计算干净样本的概率,并利用这个信息在训练中增加干净样本的权重。 检查生成分布和目标分布之间的一致性来估计数据样本的质量

Labeler Quality Assessment 标签机质量评估

多标记数据集的存在可能有几个原因。每个标签者可能有不同的专业知识,他们的标签通常相互矛盾。众包数据或数据集中常见的情况之一就是,在如医学成像等领域,需要高水平的专业知识。因此,建模和使用标签器特性可以显著提高性能。在这种设置中,有两个未知数,即标签器噪声转移矩阵和真实标签。目前研究的方法有:

  • 用EM算法来进行估计。
  • 在损失函数中添加了一个正则化器,该函数是注释器混淆矩阵的迹之和,这个附加项有助于在一些温和的条件下近似出真正的混淆矩阵。
  • 估计图像的难度,以更好地评估标签的准确性。
  • 人和计算机视觉系统相互使用
  • 处理图像中省略标签时的噪声,采用省略概率变量来代替标签符的混淆矩阵,并利用EM算法与真类一起进行估计。
  • 针对每个注释器和最终的分类器训练Softmax层,根据标签特定的网络的输出和数据的特征来预测数据的真实类别。这种设置使得能够在单独的网络中为每个标记器建模,以及为它们的整体噪声结构建模。

Noise Model Free Methods

Robust Losses 鲁棒性损失函数

如果分类器在有噪声和无噪声的数据中学习,两者达到相同的分类精度,则称损失函数具有噪声鲁棒性。 

本节旨在设计损失函数,使噪声不会降低分类器性能 。然而,即使对于鲁棒损失函数,噪声也会严重影响性能。某些非凸损失函数,如0-1损失,比常用的凸损失具有更大的噪声容忍度。

一些研究证明了在均匀非均匀噪声和非均匀噪声风险最小化下容忍噪声的充分条件。

如果一个损失函数是对称的,这意味着它的分量之和等于一个常数,噪声水平低于一个阈值,在均匀噪声下,它是噪声鲁棒的。

经验表明,在给定的情况下,没有一个标准的凸损失函数具有噪声鲁棒性,而0-1的损失具有噪声鲁棒性。

然而,0-1损失是非凸的,不可微的,因此一些研究也提出了0-1损失的替代损失,这仍然是噪声敏感的。

在其他情况下,我们还有以下方法使得损失函数达到鲁棒性 

  • MAE及其改进IMAE
  • 广义交叉熵和对称交叉熵
  • 线性奇损失
  • 分类校准的损失函数
  • 利用标签噪声的先验信息的损失函数的无偏加权估计
  • 修改的交叉熵损失(省略噪声) 

Meta Learning 元学习

虽然网络能够自主学习复杂的功能,但仍然存在许多手工设计的参数,如网络结构、超参数、优化算法等。元学习的目的是消除这些必要,不仅学习任务所需的复杂功能,而且学习“学习”本身。目前的研究有:

  • 元任务可以定义为在一系列方法中预测给定噪声数据集最合适的方法
  • 泵出,定义的元目标是通过尺度梯度上升来消除噪声样本对模型的影响,来恢复噪声样本所造成的损伤。
  • 通过元学习找寻权重初始化方案,也可找出在师生训练架构下不易受噪音影响的容忍噪音模型参数
  • 知识蒸馏,在一个干净的数据集中训练一个教师网络,并将其知识转移到学生网络,以便在存在错误标记数据的情况下指导训练过程。
  • 梯度控制调整,目标网络在噪声过大的数据上进行训练,置信网络在参考集上进行训练,置信网络的任务是控制目标网络梯度更新的大小,使噪声标签不会导致更新梯度。
一种通过元学习更正错误标签的算法流程图

Multiple-Instance Learning 多实例学习

数据被分为“包”或“簇”。在一包数据中,有一个为正例则该包为正。一个包的数据输入网络,但只产生一个输出。目前研究的方法有:

  • 最小化总“包”级损失,来有效地从每个包中选择训练样本来训练噪声鲁棒分类器。
  • 训练额外模型作为注意力模型,选择部分要聚焦的图像。其目的是关注正确标记图像上的少数区域,而不是关注任何错误标记图像的区域。

Semi-Supervised Learning 半监督学习

由于噪声只存在于标签中,而不存在于特征中,因此可以去除带有噪声实例的标签,并以半监督的方式对网络进行训练。

  • 在学习开始前去除最有可能是噪声的标签
  • 在学习过程中迭代去除噪声标签

Regularizers 正则化

众所周知,正则化可以防止DNN过度拟合噪声标签

  • Dropout
  • 对抗性训练
  • 混合
  • 标签平滑
  • 预训练

有研究提出了一种复杂性度量来理解网络是否开始过度拟合。其结果表明,学习包括两个步骤

  1. 维数压缩,建模一个与底层数据的分布密切匹配的低维子空间
  2. 维数展开,稳步增加子空间维数以过拟合数据。

防止过拟合的关键是在第二步之前停止学习。

局部内在维数(LID)可用于测量训练模型的复杂性,并在其开始过拟合前停止。

Ensemble Methods 集成方法

  • LogitBoost&BrownBoost
  • 基于AdaBoost的噪声检测
  • rBoost  
  • RBoost1&RBoost2
  • 鲁棒多类AdaBoost

Others 其他

  • 协方差最小行列式
  • 使用补充标签
  • 带有噪声和低噪声标签的数据集
  • 自动编码器重构错误 

Dataset and Noise Generation

Datasets and Test Set 数据集和测试集

用于测试在存在标签噪声的情况下的算法性能的基准数据集可分为两个子类别:

  1. 具有噪声标签的数据集,这类数据集通常有干净注释的样本参考集,以便用作验证集。
  2. 具有干净标签的数据集。这类数据集,在保持验证集干净的同时,可以手动添加合成标签噪声,以评估网络的性能。
图像分类任务中常用的公开数据集
NameImage countClass count
Datesets with Clean Annotation
MNIST70K10
Fashion-MNIST70K10
Cifar1060K10
Cifar10060K100
SVHN630K10
ImageNet1.2M1000
MS-COCO320K80
OpenImages9M6012
Datesets with Noisy Annotation
Clothing1M1M14
Food101N310K101
WebVision2.4M1000
YFCC100M100M5400

 Adding Synthetic Label Noise 添加合成标签噪声

Y-Dependent Noise

Y−依赖噪声可以用混淆矩阵表示,其中p_{ij}项表示实例的标签从第i类翻转到第j类的概率。

  • 均匀噪声:选择任何其他类(不是其本身真正的类)的概率,是均匀分布的。可以定义一个预定义的错标概率p,并将每个类的样本从它的真类改变为具有相同概率的任何其他类。
均匀噪声的混淆矩阵
  • 随机噪声:选择任何其他类别(不是真正的类别)的概率,是随机分布的。对于第i类到第j类的每一个误标概率,可以定义一个误标p_{ij}的随机概率。

 

随机噪声的混淆矩阵

p_i=p_{i0}+...p_{in} 

  • 成对噪声:一个类的任何实例只能以p的概率翻转到另一个类。在这种类型的噪声中,学习的充分条件是p<50%,否则成对错误标记的数据占多数。
成对噪声的混淆矩阵
  • 类依赖噪声:根据类的相似性分配从类ij的翻转概率。例如,在手写体数字识别任务中,将1错标为7的概率可能更高,而p_{15}则更低。这些概率可以由人工标注者分配,也可以由预先训练的网络的预测概率分配。 
类依赖噪声的混淆矩阵

 XY-Dependent Noise

人工创建这种XY-依赖噪声比之前的要复杂,因为需要考虑每个样本的特征向量。最简单的方法是使用人工注释器来选择样本,但这既昂贵又缺乏扩展性。一种特别的方法是使用预训练网络,直接对给定的数据或来自相似但不同域的数据集进行训练,提取决策边界。 

Conlusion

在这篇论文中,为了从真实的数据集中获得理想的性能,标签噪声是一个重要的障碍使处理标签噪音成为通过自我持续学习系统的重要一步。 方法可以细分为两大类:基于噪声模型的方法和无噪声模型的方法。

  • 第一组的方法旨在以某种方式对噪声进行建模,并利用这些信息来减少噪声标签对学习的负面影响。
  • 第二组方法的目的是设计更通用的算法,以消除噪音的影响尽管对机器学习技术 进行了大量的研究,但通过噪声标签进行深度学习肯定是一个有待研究的问题。考虑到其对DNNs的显著影响,该领域仍有许多悬而未决的研究课题。例如,真正理解标签噪声对深度网络的影响可能是一个富有成果的未来研究课题。
  • 了解网络的哪些部分受标签噪声的影响较大,有助于有效地实现迁移学习。当数据量较小时,对带噪声标记的数据集的学习关注很少。考虑到它在收集数据集成本高昂的领域的潜力,这可能是一个卓有成效的研究方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ace2NoU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值