Generalized Cross Entropy Loss for Training Deep Neural Networks with Noisy Labels

Generalized Cross Entropy Loss for Training Deep Neural Networks with Noisy Labels

Zhilu Zhang, Mert R. Sabuncu

Intro

我们的工作是在前述的基础上[1],从理论上证明了mean absolute error (MAE)在某些假设下会对noisy labels比较robust。我们下面会证明,MAE会在训练上带来一系列难度,性能上会带来剧烈的下降。尤其是在复杂数据集上更加明显。为了解决这个问题,我们提倡使用一个更加泛化的noise-robuse loss function,将MAE和CCE都考虑在内。

这篇paper有两个贡献: 1. 提出了CCE的一个泛化,并且展示了theoretical analysis,关于这个loss function在noisy label情况下如何有效。 2. 通过一系列实验证明了其有效性。

在SVM框架下,提到了几个noise-robust loss function,比如ramp loss,unhinged loss,和savage loss。但是,对于DNN提到的很少。[1]证明了MAE对于noisy label很有效。这篇paper是其的一个延伸和拓展。

另外一个方法是将noisy数据清理掉。

其他的方法还有,比如将真实label当作latent variable,将noisy label当作observed variable,然后使用类似EM算法来学习到真实label的分布。还有将confident sample进行reweight。使用LSTM模型来讲每一个sample分配权值。还有使用一个晓得干净的数据集,然后给不包含在内的noisy sample根据gradient重新分配权值。

我们的方法也是重新分配全职,只不过我们根据softmax outputs了来进行权值更新。

Generalized Cross Entropy Loss for Noise-Robust Classifications

Preliminaries

  • k-class classification
  • X feature space, 有label space
  • D是clean dataset
  • classifier, a function $$x \to \mathbb{R}^c$$
  • 这里考虑function是DNN,with softmax output layer
  • for any loss function $$\mathcal{L}$$, the empirical risk of f is $$RL(f) = \mathbb{E}_D[\mathcal{L}(f(x;\theta), y_x)] = - \frac{1}{n} \sum{i=1}^{n} \sum{j=1}^c y{ij} \log f_j(x_i; \theta)$$
    • 其中 $$f_j$$表示$$f$$的output中的第$$j$$个(也就是第j个class预测的概率)
  • dataset with noisy label $$D\eta = {x_i, \tilde y_i}{i=1}^n$$
  • 这里做了一个假设,就是noise条件独立于inputs,given true labels。也就是$$p(\tilde yi =k|y_i=j,x_i) = p(\tilde y_i =k|y_i=j) = \eta{jk}$$

$$\mathcal{L}_q$$ Loss for Classification

CCE与MAE相比而言,会更多地把重点放在difficult samples上。当数据比较noisy的时候,会带来overfitting。

MAE会将每个样本相同对待。但是它可能产生的一个问题是,convergence 会变慢。而且这种implicit weighting scheme没有强调hard samples,会使得convergence变慢。

MAE的特点是noise-robust,而CCE的特点是implicit weighting。我们想将二者能否结合起来。提出使用negative Box-Cox transformation作为loss function

$$\mathcal{L}q(f(x, e_j) = \frac{1-f_j(x)^q}{q}$$

根据LHopital‘s rule,这个loss function在q逼近0的时候与CCE等价,在q逼近1的时候就是MAE/unhinged loss。因此,可以把这个loss当作是CCE和MAE的泛化形式。

证明: $$q \to 0$$, 这个loss函数约等于CCE

Recall: $$(a^x)' = a^x \cdot \log (a)$$

根据洛必达法则(LHopital Rule)

$$\lim{q \to 0} \mathcal{L} = \lim{q \to 0} \frac{\frac{d}{dq}(1 - fj(x)^q)}{\frac{d}{dq}q} = \lim{q \to 0} -f_j(x)^q \cdot \log(f_j(x)) = -log(f_j(x))$$, 也就是CCE。得证。

这个loss的称呼是根据[2]。

从理论上,对于任意的输入,$$\mathcal{L}_q$$在所有C个class上的和是能够被bound住:

$$ \frac{c - c^{1-q|}}{q} \le \sum_{j=1}^c \frac{1-f_j(x)^q}{q} \le \frac{c-1}{q}

$$

证明:

右边比较好证明,$$\sumj f_j(x) = 1 \Longrightarrow \sum{j=1}^c 1-f_j(x)^q \le C-1$$

左边,$$\sum{j=1}^c f_j(x)^q \le \sum{j=1}^c (1/c)^q = c^{1-q}$$ (能理解,但是严格证明?)这个理解的话就是已经知道$$L_1$$norm是unit diamond,然后$$L_q$$ norm的最大值就相当于在unit中间画圈,这里是说全部等价 $$1/c$$ 的时候能达到最大值。严格证明TBA。

因此$$\sum_{j=1}^c 1 - f_j(x)^q \ge c - c^{1-q}$$

Noise-Robustness

算一下这个loss的gradient

$$ \begin{align} \frac{\partial \mathcal{L}}{\partial \theta} & = \frac{\partial (1 - f{y_i}(x;\theta)^q)}{\partial \theta}\ & = - \frac{\partial (f{yi}(x;\theta)^q)}{\partial \theta}\ & = -f{yi}(x;\theta)^q \cdot \partial \log(f{yi}(x; \theta))\ & = - f{yi}(x;\theta)^{q-1} \cdot \nabla f{y_i}(x;\theta) \end{align}

$$

由此可以看出,相比于CCE,$$\mathcal{L}q$$ loss给每个sample增加了一个额外的权重为$$f{yi}(x;\theta)^q$$,因此当某个softmax output和true label不相符的时候,$$\frac{f{yi}(x;\theta)^q}{f{yi}(x;\theta)} < \frac{1}{f{y_i}(x;\theta)}$$,也就是权重更低了,less emphasis,所以对于noise更加robust。

而相比于MAE,$$f{y_i}(x;\theta)^q$$比较小,也就意味着这个sample的output与true label差距比较大,因此$$f{y_i}(x;\theta)^{q-1}$$就比较大;即等于给这些hard sample增加更多的权重。

Truncated $$\mathcal{L}_q$$ Loss

$$ \mathcal{L}_{trunc}(f(x), e_j) = \begin{cases} \mathcal{L}_q(k) = (1-k^q)/q& f_j(x) \le k\ \mathcal{L}_q(f(x), e_j)& f_j(x) > k \end{cases}

$$

能够证明这个bound会更加tight。

Experiments

将label进行corruption。

Appendix

[1] Ghosh, Aritra, Himanshu Kumar, and P. S. Sastry. "Robust loss functions under label noise for deep neural networks." In Thirty-First AAAI Conference on Artificial Intelligence. 2017.

[2] Davide Ferrari, Yuhong Yang, et al. Maximum lq-likelihood estimation. The Annals of Statistics, 38(2):753–783, 2010.

这里对于hard sample,实际上有两种不同的解释方法 1. 如文中,3.2所说。CCE会更加侧重于difficult samples,而这种implicit weighting在clean data上比较好用,而对于noisy labels会带来overfitting。 2. 如果CCE没有侧重于difficult samples,而这些difficult samples对于边界的确定又更加重要,那么同样的,generalization performance会比较差。

MAE或者hinge loss,也已经考虑到。按照这种形式的gradient,其特征之一就是将每一个sample同等看待。但是它可能产生的一个问题是,convergence 会变慢。这里与我们在synthetic数据上观测到的不一样。当然设定也不一样。这种特性反而在imbalanced的情况下可能反而比较受欢迎。

总的来说还是很有意思的work。中间的一些思考方法很值得借鉴。

results matching ""

    No results matching ""