噪声标签工作介绍
假设图像被分为了 C C C个类, X ∈ R d X\in R^{d} X∈Rd为图像的特征空间(feature space), Y = { 1 , 2 , ⋯ , C } Y=\{1,2,\cdots,C\} Y={1,2,⋯,C}为标签空间(label space)。具有真实标签的数据集 D \mathcal{D} D中有 n n n个训练样本,每一个训练样本表示为 ( x k , y k ) ∈ ( X × Y ) , k = 1 ⋯ n (x_k,y_k)\in(X\times Y),k=1\cdots n (xk,yk)∈(X×Y),k=1⋯n,其中 y k y_k yk是 x k x_k xk的真实标签。样本 x k x_k xk的真实标签 y k y_k yk因为某些原因(比如人为标注错误)被转化为了噪声标签 y ~ k \tilde{y}_{k} y~k。
我们将噪声标签的产生过程(corruption process)抽象为一个函数 F N ( ⋅ ) F_{N}(\cdot) FN(⋅),这个函数作用在具有真实标签的数据集 D \mathcal{D} D(以下称为干净数据集)上(该数据集的所有样本均具有真实的,正确的标签)产生具有噪声标签的数据集 D ~ \tilde{\mathcal{D}} D~(以下称为噪声数据集),如下:
D ~ = F N ( D ) \tilde{\mathcal{D}}=F_{N}(\mathcal{D}) D~=FN(D)
这个函数有两个重要的参数:
1️⃣噪声率 φ \varphi φ;
噪声率 φ \varphi φ表示干净数据集 D \mathcal{D} D中有 φ ∗ n \varphi*n φ∗n个样本的标签被转化为了错误的标签,其余 ( 1 − φ ) ∗ n (1-\varphi)*n (1−φ)∗n个样本的标签仍然是正确的,其中 φ ∈ [ 0 , 1 ] \varphi\in[0,1] φ∈[0,1]。
2️⃣真实标签转化为噪声标签的转化概率(corruption probability) ρ \rho ρ。
一般地,样本 x k x_k xk的真实标签 y k = i , i ∈ Y y_k=i,i\in Y yk=i,i∈Y转化为噪声标签 y ~ k = j , j ∈ Y \tilde{y}_{k}=j,j\in Y y~k=j,j∈Y的概率可以表示为 ρ i j ( x k ) = p ( y ~ k = j ∣ y k = i , x k ) {\rho}_{ij}(x_k)=p(\tilde{y}_{k}=j|y_{k}=i,x_{k}) ρij(xk)=p(y~k=j∣yk=i,xk)。
标签噪声的分类
Instance-independent Label Noise
真实标签 i i i转化为噪声标签 j j j的概率与具体的哪个样本无关,此时的转化概率 ρ \rho ρ可以直接写成:
ρ i j = p ( y ~ = j ∣ y = i ) \rho_{ij}=p(\tilde{y}=j|y=i) ρij=p(y~=j∣y=i)
此时, C C C个类之间的转化可以表示为噪声转移矩阵(noise transition matrix) T \mathrm{T} T, T \mathrm{T} T中的每一个元素 T i j = ρ i j \mathrm{T}_{ij}=\rho_{ij} Tij=ρij,表示真实标签 i i i转化为噪声标签 j j j的概率。例如,当 C = 3 C=3 C=3时, T \mathrm{T} T可以表示为:
T = [ ρ 11 ρ 12 ρ 13 ρ 21 ρ 22 ρ 23 ρ 31 ρ 32 ρ 33 ] \mathrm{T}=\begin{bmatrix}\rho_{11}&\rho_{12}&\rho_{13}\\\rho_{21}&\rho_{22}&\rho_{23}\\\rho_{31}&\rho_{32}&\rho_{33}\end{bmatrix} T= ρ11ρ21ρ31ρ12ρ22ρ32ρ13ρ23ρ33
其中 ρ i j ∈ [ 0 , 1 ] \rho_{ij}\in[0,1] ρij∈[0,1]且 ∑ j = 1 3 ρ i j = 1 \sum_{j=1}^3\rho_{ij}=1 ∑j=13ρij=1。
1️⃣symmetric(or uniform)
真实标签 i i i以相同的概率转化为其它标签 j j j( j ≠ i j\neq i j=i)。此时的噪声转移矩阵 T \mathrm{T} T表现为一个对称矩阵,即 T ⊤ = T \mathrm{T}^{\top}=\mathrm{T} T⊤=T。在噪声率为 φ , φ ∈ [ 0 , 1 ] \varphi,\varphi\in [0,1] φ,φ∈[0,1]的情况下, T \mathrm{T} T中的每一个元素为:
∀ i = j T i j = 1 − φ ∧ ∀ i ≠ j T i j = φ C − 1 \forall_{i=j}\mathrm{T}_{ij}=1-\varphi\wedge\forall_{i\neq j}\mathrm{T}_{ij}=\frac{\varphi}{C-1} ∀i=jTij=1−φ∧∀i=jTij=C−1φ
以下为噪声率 φ = 0.4 \varphi=0.4 φ=0.4的噪声转移矩阵:

2️⃣asymmetric(or label-dependent)
真实标签 i i i更可能转化为其它特定的某个标签 j j j( j ≠ i j\neq i j=i)。此时, T \mathrm{T} T中的每一个元素为:
∀ i = j T i j = 1 − φ ∧ ∃ i ≠ j , i ≠ k , j ≠ k T i j > T i k \forall_{i=j}\mathrm{T}_{ij}=1-\varphi\wedge\exists_{i\neq j,i\neq k,j\neq k}\mathrm{T}_{ij}>\mathrm{T}_{ik} ∀i=jTij=1−φ∧∃i=j,i=k,j=kTij>Tik
上式的后半部分: ∃ i ≠ j , i ≠ k , j ≠ k T i j > T i k \exists_{i\neq j,i\neq k,j\neq k}\mathrm{T}_{ij}>\mathrm{T}_{ik} ∃i=j,i=k,j=kTij>Tik就是在表达:比起标签 k k k,真实标签 i i i更有可能转化为 j j j。举例来说,一只“狗🐶”有较大可能被混淆为一只“猫🐈”,而只有较小的可能被混淆为一条“鱼🐟”。

特别地,存在一种更严苛的情况(pair noise),那就是真实标签 i i i只可能转化为某一特定的标签 j j j( j ≠ i j\neq i j=i),完全没有可能转化为除 i , j i,j i,j外的其它标签。此时 T \mathrm{T} T中的每一个元素为:
∀ i = j T i j = 1 − φ ∧ ∃ i ≠ j T i j = φ \forall_{i=j}\mathrm{T}_{ij}=1-\varphi\wedge\exists_{i\neq j}\mathrm{T}_{ij}=\varphi ∀i=jTij=1−φ∧∃i=jTij=φ

Instance-dependent Label Noise
这种是更为一般的情况,标签的转换不仅与类标签(class labels)有关,还与数据特征(data features)本身有关,标签转化概率 ρ \rho ρ可以写成(每个类下的每个样本都有自己的一组标签转化概率):
ρ i j ( x k ) = p ( y ~ k = j ∣ y k = i , x k ) {\rho}_{ij}(x_k)=p(\tilde{y}_{k}=j|y_{k}=i,x_{k}) ρij(xk)=p(y~k=j∣yk=i,xk)
不同的克服噪声标签的方法
以下是对不同的克服噪声标签的方法的分类,可以利用这些方法对深度神经网络(DNNs)进行对噪声标签鲁棒的训练(robust training):

网络结构优化(robust architecture)
许多研究对干净数据集 D \mathcal{D} D噪声化的过程,也即噪声标签产生的过程(函数表达为 F N ( ⋅ ) F_N(\cdot) FN(⋅))进行建模。为了建模 F N ( ⋅ ) F_N(\cdot) FN(⋅),它们要么选择在原有的基础结构(base model)上进行修改,1️⃣在 s o f t m a x \mathrm{softmax} softmax层上添加噪声适应层(Noise Adaptation Layer),2️⃣要么选择设计新的专用网络架构(Dedicated Architecture)。通过这些变化,所得到的架构可以利用估计的转化概率 ρ \rho ρ对深度神经网络(DNNs)的输出结果进行调整,从而实现了更好的泛化效果。
-
Noise Adaptation Layer
Noise Adaptation Layer
通过一个深度神经网络(DNN)来模仿标签转化的过程。其实就是通过DNN
来建模 F N ( ⋅ ) F_N(\cdot) FN(⋅)的转化概率 ρ ( x ) \rho(x) ρ(x)。The noise adaptation layer is intended to mimic the label transition behavior in learning a DNN.
对于一个样本 x x x,其噪声标签后验概率可以表达为:
p ( y ~ = j ∣ x ) = ∑ i = 1 C p ( y ~ = j , y = i ∣ x ) = ∑ i = 1 C ρ ( x ) p ( y = i ∣ x ) , w h e r e ρ ( x ) = p ( y ~ = j ∣ y = i , x ) . \begin{aligned}p(\tilde{y}=j|x)&=\sum_{i=1}^Cp(\tilde{y}=j,y=i|x)=\sum_{i=1}^C\rho(x)p(y=i|x),\\&\mathrm{where}\quad\rho(x)=p(\tilde{y}=j|y=i,x).\end{aligned} p(y~=j∣x)=i=1∑Cp(y~=j,y=i∣x)=i=1∑Cρ(x)p(y=i∣x),whereρ(x)=p(y~=j∣y=i,x).
设 p ( y ∣ x ; Θ ) p(y|x;\Theta) p(y∣x;Θ)为具有 s o f t m a x \mathrm{softmax} softmax输出层的
base Model
的输出,样本 x x x被预测为其噪声标签 y ~ \tilde{y} y~的概率可以写成:p ( y ~ = j ∣ x ; Θ , W ) = ∑ i = 1 C p ( y ~ = j , y = i ∣ x ; Θ , W ) (4) = ∑ i = 1 C p ( y ~ = j ∣ y = i , x ; W ) ⏟ Noise Adaptation Layer p ( y = i ∣ x ; Θ ) ⏟ Base Model . \begin{aligned} p(\tilde{y}=j|x;\Theta,\mathcal{W})& =\sum_{i=1}^Cp(\tilde{y}=j,y=i|x;\Theta,\mathcal{W}) \\ &&\text{(4)} \\ &=\sum_{i=1}^C\underbrace{p(\tilde{y}=j|y=i,x;\mathcal{W})}_{\text{Noise Adaptation Layer}}\underbrace{p(y=i|x;\Theta)}_{\text{Base Model}}. \end{aligned} p(y~=j∣x;Θ,W)=i=1∑Cp(y~=j,y=i∣x;Θ,W)=i=1∑CNoise Adaptation Layer p(y~=j∣y=i,x;W)Base Model p(y=i∣x;Θ).(4)
其中 W \mathcal{W} W是
Noise Adaptation Layer
的参数。当噪声标签 y ~ \tilde{y} y~与输入 x x x条件独立(conditionally independent)的时候,也就是Instance-independent Label Noise
的情况,上述Noise Adaptation Layer
可以写成(真实标签 i i i转化为哪一个噪声标签 j j j与具体哪一个样本 x x x无关):p ( y ~ = j ∣ y = i , x ; W ) = p ( y ~ = j ∣ y = i ; W ) ⏟ Noise Adaptation Layer p(\tilde{y}=j|y=i,x;\mathcal{W})=\underbrace{p(\tilde{y}=j|y=i;\mathcal{W})}_{\text{Noise Adaptation Layer}} p(y~=j∣y=i,x;W)=Noise Adaptation Layer p(y~=j∣y=i;W)
y ~ \tilde{y} y~ and x x x are said to be conditionally independent given y y y, written symbolically as: ( y ~ ⊥ ⊥ x ∣ y ) (\tilde{y}\perp\!\!\!\perp x\mid y) (y~⊥⊥x∣y).
使用
Noise Adaptation Layer
进行噪声建模的过程如下:1️⃣在测试阶段,
Noise Adaptation Layer
被移除,仅使用Base Model
进行判断。2️⃣这种方法对待所有样本都一视同仁,不能找出那些被错误标签的样本。
3️⃣在噪声率较高时,转化概率(或者说噪声转移矩阵)的估计误差较大。
-
Dedicated Architecture
通过设计新的专用网络架构来增加标签转化概率 ρ ( x ) \rho(x) ρ(x)估计的可靠性。
Increasing the reliability of estimating the label transition probability.
具体的结构各不相同,详见部分相关论文:
1️⃣🔗Learning From Massive Noisy Labeled Data for Image Classification
2️⃣🔗Masking: A New Perspective of Noisy Supervision
3️⃣🔗Deep Learning From Noisy Image Labels With Quality Embedding
4️⃣🔗Robust Inference via Generative Classifiers for Handling Noisy Labels
正则化(Regularization)约束
提到正则化(Regularization),我们可能想到data augmentation,weight decay,dropout和batch normalization等被广泛应用的方法。这些经典的正则化方法在噪声数据集 D ′ \mathcal{D}^{\prime} D′中含有适量(moderate)噪声时表现良好,但仅靠它们并不能充分提高测试准确性;当噪声较为严重(heavy)时,可能仍会出现泛化能力较差的情况。
因此,最近提出了许多更先进的正则化技术,它们与经典方法相结合,进一步提高了对标签噪声的稳健性。
-
Explicit Regularization
显示的正则化直接对使用的训练损失做直观的修改,比如说weight decay和dropout。
👉具体的例子:
Early-Learning Regularization:🔗Early-Learning Regularization Prevents Memorization of Noisy Labels,简称
ELR
。对深度神经网络(DNNs)的记忆效应(memorization effects)的研究表明:对于噪声数据集 D ′ \mathcal{D}^{\prime} D′,深度神经网络会首先记忆具有干净标签的训练数据,然后再记忆带有噪声标签的训练数据。这说明
DNNs
在训练早期学到的东西是比较正确的。ELR
就是充分利用模型的早期学习阶段,利用损失内的正则化项鼓励模型将当前输出与历史目标输出(targets)靠拢,也就是最大化 p [ i ] ( k ) \mathbf{p}^{[i]}(k) p[i](k)和 t [ i ] ( k ) \mathbf{t}^{[i]}(k) t[i](k)的内积,损失形式如下:L E L R ( Θ ) : = L C E ( Θ ) + λ n ∑ i = 1 n log ( 1 − ⟨ p [ i ] , t [ i ] ⟩ ) ⏟ Early-Learning Regularization \mathcal{L}_{\mathrm{ELR}}(\Theta):=\mathcal{L}_{\mathrm{CE}}(\Theta)+\underbrace{\frac\lambda n\sum_{i=1}^n\log\left(1-\langle\mathbf{p}^{[i]},\mathbf{t}^{[i]}\rangle\right)}_{\text{Early-Learning Regularization}} LELR(Θ):=LCE(Θ)+Early-Learning Regularization nλi=1∑nlog(1−⟨p[i],t[i]⟩)
其中, t [ i ] ( k ) \mathbf{t}^{[i]}(k) t[i](k)和 p [ i ] ( k ) \mathbf{p}^{[i]}(k) p[i](k)分别为样本 i i i在第 k k k轮迭代时模型的历史目标输出(targets)和当前输出。历史目标输出就是模型历史输出的移动平均(running average),如下:
t [ i ] ( k ) : = β t [ i ] ( k − 1 ) + ( 1 − β ) p [ i ] ( k ) \mathbf{t}^{[i]}(k):=\beta\mathbf{t}^{[i]}(k-1)+(1-\beta)\mathbf{p}^{[i]}(k) t[i](k):=βt[i](k−1)+(1−β)p[i](k)
其中, β \beta β为动量系数。
-
Implicit Regularization
隐式的正则化通过增加输入的数据或其标签的随机性(拓展特征或标签空间)的方式隐式地提高模型对噪声标签的忍受程度。
👉具体的例子:
mixup:🔗mixup: Beyond Empirical Risk Minimization通过噪声训练样本之间的简单线性组合来实现正则化,训练用到的
mini-batch
是通过噪声数据集 D ′ \mathcal{D}^{\prime} D′中随机的两个噪声样本 ( x i , y ~ i ) (x_{i},\tilde{y}_{i}) (xi,y~i)和 ( x j , y ~ j ) (x_{j},\tilde{y}_{j}) (xj,y~j)线性插值得到的。x m i x = λ x i + ( 1 − λ ) x j and y m i x = λ y ~ i + ( 1 − λ ) y ~ j x_{mix}=\lambda x_i+(1-\lambda)x_j\quad\text{and}\quad y_{mix}=\lambda\tilde{y}_i+(1-\lambda)\tilde{y}_j xmix=λxi+(1−λ)xjandymix=λy~i+(1−λ)y~j
其中 λ ∈ [ 0 , 1 ] \lambda\in[0,1] λ∈[0,1]。
PyTorch-like
的伪代码如下:# y1, y2 should be one-hot vectors for (x1, y1), (x2, y2) in zip(loader1, loader2): lam = numpy.random.beta(alpha, alpha) x = Variable(lam * x1 + (1. - lam) * x2) y = Variable(lam * y1 + (1. - lam) * y2) optimizer.zero_grad() loss(net(x), y).backward() optimizer.step()
损失设计
-
固定但鲁棒的损失函数
👉具体的例子:
GCE:🔗Generalized Cross Entropy Loss for Training Deep Neural Networks with Noisy Labels。文中作者对比分析了
categorical cross entropy
(CCE)损失和mean absolute error
(MAE)损失,认为:在噪声标签存在的情况下,MAE
比CCE
更鲁棒。但同时也存在一个问题,MAE
损失收敛比较慢,而且得到的效果也不好(测试误差比较大),如下图(分别在CIFAR10
和CIFAR100
数据集上):于是作者设计了他们称之为
generalized cross entropy
(GCE)的损失,其兼顾CCE
的快速收敛及高泛化能力和MAE
的噪声鲁棒性,其形式如下:L q ( f ( x ) , e j ) = ( 1 − f j ( x ) q ) q \mathcal{L}_q(f(\boldsymbol{x}),\boldsymbol{e}_j)=\frac{(1-f_j(\boldsymbol{x})^q)}q Lq(f(x),ej)=q(1−fj(x)q)
其中 q ∈ ( 0 , 1 ] q\in(0,1] q∈(0,1]。上式(GCE)在 q → 0 q\rightarrow0 q→0时变成
CCE
,在 q = 1 q=1 q=1时变成MAE
。得到的效果还不错:可以看到在 q = 0.7 q=0.7 q=0.7的时候,模型给予错误标签样本的平均预测分数相比
CCE
低了不少,说明模型能够识别到噪声样本并给予它低的分数。 -
自适应调整的损失函数
这一类方法根据它们理念的不同又可以分为以下几种:
1️⃣Loss Correction
Estimate the noise transition matrix T ^ \hat{\mathrm{T}} T^ to correct the forward or backward loss.
这种方法类似于前文网络结构优化中提到的
Noise Adaptation Layer
,loss correction
将估计的 p ^ ( y ~ ∣ y ; W ) \hat{p}(\tilde{y}\mid y;\mathcal{W}) p^(y~∣y;W)要么在前向传播阶段作用到网络输出上(forward correction),要么在后向传播阶段作用到网络损失上(backward correction)。与Noise Adaptation Layer
的区别是,Loss Correction
噪声转移矩阵的估计是与要训练的模型的训练过程解耦的,而不是像Noise Adaptation Layer
那样作为要训练的模型的一部分。🤜forward correction
先用噪声转移矩阵对
softmax
的输出进行修改,再应用损失函数:ℓ → ( f ( x ; Θ ) , y ~ ) = ℓ ( ⟨ p ^ ( y ~ ∣ 1 ) , … , p ^ ( y ~ ∣ C ) ⟩ f ( x ; Θ ) ⊤ , y ~ ) = ℓ ( T ^ ⊤ f ( x ; Θ ) ⊤ , y ~ ) \begin{aligned} \mathop{\ell}\limits ^\rightarrow\big(f(x;\Theta),\tilde{y}\big)&=\ell\Big(\Big\langle\hat{p}(\tilde{y}|1),\ldots,\hat{p}(\tilde{y}|C)\Big\rangle f(x;\Theta)^{\top},\tilde{y}\Big) \\ &=\ell\left(\hat{\mathrm{T}}^{\top}f(x;\Theta)^{\top},\tilde{y}\right) \end{aligned} ℓ→(f(x;Θ),y~)=ℓ(⟨p^(y~∣1),…,p^(y~∣C)⟩f(x;Θ)⊤,y~)=ℓ(T^⊤f(x;Θ)⊤,y~)
🤛backward correction
先对所有可以观测的类别( 1 , … , C 1,\ldots,C 1,…,C)应用损失函数,再用
inverse
的噪声转移矩阵对整体损失进行修改:ℓ ← ( f ( x ; Θ ) , y ~ ) = T ^ − 1 ⟨ ℓ ( f ( x ; Θ ) , 1 ) , … , ℓ ( f ( x ; Θ ) , C ) ⟩ ⊤ \mathop{\ell}\limits ^\leftarrow\big(f(x;\Theta),\tilde{y}\big)=\hat{\mathrm{T}}^{-1}\Big\langle\ell\big(f(x;\Theta),1\big),\ldots,\ell\big(f(x;\Theta),C\big)\Big\rangle^{\top} ℓ←(f(x;Θ),y~)=T^−1⟨ℓ(f(x;Θ),1),…,ℓ(f(x;Θ),C)⟩⊤
方法的关键在于噪声转移矩阵
noise transition matrix
的估计。详见🔗Making Deep Neural Networks Robust to Label Noise: A Loss Correction Approach。🥇gold loss correction
🔗Using Trusted Data to Train Deep Networks on Labels Corrupted by Severe Noise
这种方法相较于
forward correction
和backward correction
仅改变了噪声转移矩阵的估计方式。作者认为存在少量的值得信赖的正确样本(gold samples)来帮助我们进行噪声转移矩阵的估计。2️⃣Loss Reweighting
给予具有错误标签的样本较小的权重,给予具有真实标签的样本较大的权重。
在
mini-batch
B t \mathcal{B}_t Bt上重新加权的损失可以写成:Θ t + 1 = Θ t − η ∇ ( 1 ∣ B t ∣ ∑ ( x , y ~ ) ∈ B t w ( x , y ~ ) ℓ ( f ( x ; Θ t ) , y ~ ) ⏞ Reweighted Loss ) , \Theta_{t+1}=\Theta_t-\eta\nabla\Bigl(\frac1{|\mathcal{B}_t|}\sum_{(x,\tilde{y})\in\mathcal{B}_t}\overbrace{w(x,\tilde{y})\ell\bigl(f(x;\Theta_t),\tilde{y}\bigr)}^{\text{Reweighted Loss}}\Bigr), Θt+1=Θt−η∇(∣Bt∣1(x,y~)∈Bt∑w(x,y~)ℓ(f(x;Θt),y~) Reweighted Loss),
其中 w ( x , y ~ ) w(x,\tilde{y}) w(x,y~)为具有噪声标签 y ~ \tilde{y} y~的样本 x x x的权重。因此,具有小权重的样本不会明显影响
DNN
的学习。这种方式在实践中比较难以实现,因为不同的噪声数据集 D ′ \mathcal{D}^{\prime} D′可能需要不同的产生权重 w ( x , y ~ ) w(x,\tilde{y}) w(x,y~)的方式。某一种产生权重的策略可能对某一个数据集有用,对另外一个不同的数据集可能就没用了。
3️⃣Label Refurbishment
refurbishment
就是调整、重新装修的意思,这里的label refurbishment
指的是利用DNN
: f ( x ; Θ ) f(x;\Theta) f(x;Θ)当前的预测输出 y ^ \hat{y} y^来修正噪声标签 y ~ \tilde{y} y~,得到修正后的标签 y r e f u r b y^{refurb} yrefurb。在后向传播损失的时候利用的是修正后的标签 y r e f u r b y^{refurb} yrefurb而不是噪声标签 y ~ \tilde{y} y~ 。y r e f u r b = α y ~ + ( 1 − α ) y ^ , α ∈ [ 0 , 1 ] y^{refurb}=\alpha\tilde{y}+(1-\alpha)\hat{y},\,\alpha\in[0,1] yrefurb=αy~+(1−α)y^,α∈[0,1]
最近,
SELFIE
:🔗Refurbishing Unclean Samples for Robust Deep Learning引入了可翻新样本(refurbishable examples)的概念,可以实现高精度的校正。 关键思想是将具有一致标签预测(consistent label predictions)的样本视为可翻新的,因为由于学习者的感知一致性(对同一对象的感知应该是一致的),这种一致的预测很可能与其真实标签相对应。 因此,仅校正可翻新样本的标签,以最小化错误校正案例的数量。4️⃣Meta Learning
近年来,元学习成为机器学习社区的一个重要主题,并被应用于提高噪声鲁棒性。关键概念是
learn to learn
,在高于传统学习方法的维度进行学习,从而制定与数据和噪声类型无关的loss correction
规则。 它类似于loss reweighting
和label refurbishment
,但调整是以元学习的方式自动进行的。
样本选择
从噪声数据集
D
′
\mathcal{D}^{\prime}
D′中选择具有真实标签的样本来训练DNN
。
Selecting true-labeled examples from a noisy training dataset.
设
B
t
\mathcal{B}_{t}
Bt为
t
t
t时刻的mini-batch
,
C
t
⊆
B
t
\mathcal{C}_{t}\subseteq\mathcal{B}_{t}
Ct⊆Bt为
t
t
t时刻经过某种判断策略被认定为干净样本的集合。DNN
只在选择的干净样本集合
C
t
\mathcal{C}_{t}
Ct上进行更新。
Θ t + 1 = Θ t − η ∇ ( 1 ∣ C t ∣ ∑ ( x , y ~ ) ∈ C t ℓ ( f ( x ; Θ t ) , y ~ ) ) \Theta_{t+1}=\Theta_t-\eta\nabla\Big(\frac1{|\mathcal{C}_t|}\sum_{(x,\tilde{y})\in\mathcal{C}_t}\ell\big(f(x;\Theta_t),\tilde{y}\big)\Big) Θt+1=Θt−η∇(∣Ct∣1(x,y~)∈Ct∑ℓ(f(x;Θt),y~))
利用样本选择(sample seletion)进行学习有很好的动机,在一般情况下效果也很好,但这种方法会因选择不正确(incorrect selection)而产生累积误差,尤其是当训练数据中有很多模糊类别时。因此,最近的方法通常利用多个DNNs
相互合作或运行多轮训练来进行更准确的样本选择。此外,为了充分利用选出的具有错误标签的样本,许多研究还将loss correction
或半监督学习方法与样本选择策略相结合。
-
Multi-network Learning
Collaborative learning
和co-training
被广泛用于multi-network
多网络训练。样本选择过程分别由mentor network
(collaborative learning的情况下)或者peer network
(co-training的情况下)决定。在🔗MentorNet: Learning Data-Driven Curriculum for Very Deep Neural Networks on Corrupted Labels中,一个预训练的导师网络以合作学习(collaborative learning)的方式指导学生网络的训练。基于"小损失技巧(small-loss trick)",导师网络向学生网络提供可能具有真实标签的样本。
small-loss trick
Many true-labeled examples tend to exhibit smaller losses than false-labeled examples, so we can treat a certain number of small-loss training examples as true-labeled examples.
🔗Decoupling "when to update" from "how to update"维护两个网络 h 1 h_1 h1和 h 2 h_2 h2,如果两个网络对输入 x x x的预测不同(disagreement),即 h 1 ( x ) ≠ h 2 ( x ) h_1(x)\neq h_2(x) h1(x)=h2(x)时,样本 x x x才会被用来更新两个网络。作者认为这样的样本 x x x才是价值比较大的。如下图:
🔗Co-teaching: Robust training of deep neural networks with extremely noisy labels和🔗Co-teaching+: How does Disagreement Help Generalization against Label Corruption?也维护着两个深度神经网络(DNNs),每个
DNN
选择一定数量的小损失样本(潜在干净样本),并将它们分别送给对方进行进一步的训练。 -
Multi-round Learning
不需要另外附加的网络,单一网络通过多轮迭代,优化被选择的干净样本集合。
-
Hybrid Approach
样本选择方法(sample selection)的不足之处在于其会丢弃所有未被选中的训练样本,没有完全应用所有训练样本。为了利用所有噪声样本(noisy samples),研究人员尝试将样本选择与其它的思想结合起来。
典型的方法是
DivideMix
:🔗DivideMix: Learning with Noisy Labels as Semi-supervised Learning。over.
注:本文主要参考了Learning From Noisy Labels With Deep Neural Networks: A Survey,更多细节请看原文。