Class-Imbalanced Loss Based on Effective Number of Samples

Class-Imbalanced Loss Based on Effective Number of Samples

Yin Cui, etc.

Intro

CNN在一些skewed/long tailed数据集上表现的不是非常好。总的来说解决方案有两套

  1. re-sampling
  2. cost-sensitive reweighting

前者会带来一个overfitting的问题,因此我们侧重第二个方案,如何设计一个好的loss function。

这里的理论框架来自于random covering problem,它的目标是通过一些列随机的小集合来覆盖一个大集合。注意这里提出的effective number of samples并不是统计学中的概念,它是当sample correlated的时候计算variance。

Effective Number of Samples

核心的想法就是每一个sample并不仅仅是一个点,而代表了其附近的一个neighboring区域。

Class-Balanced Loss

考虑到实际情况,这里假设$$N_i$$是依赖于dataset,并且$$N_i=N$$, $$\beta_i = \beta = (N-1)/N$$。

Class-Balanced Softmax Cross-Entropy Loss

softmax是将每一个class as mutual exclusive, 也就是其概率和是1。

$$ CE{softmax}(z,y) = -\log \frac{\exp(z_y)}{\sum{j=1}^C \exp(z_j) }

$$

然后再乘以effective number

Class-Balanced Sigmoid Cross-Entropy Loss

使用sigmoid而不是softmax是假设每一个class都是独立,并且并不互相排斥。也就是其概率和可以大于1。

$$ CE{sigmoid} = - \sum{i=1}^C \log (sigmoid (zi^t)) = - \sum{i=1}^C \log \frac{1}{1 + \exp{(-z_i^t)}}

$$

然后再乘以effective number

Class-Balanced Focal Loss

最近提出的focal loss是基于sigmoid cross-entropy

$$ pi^t = sigmoid(z_i^t)\ FL{z,y} = - \sum_{i=1}^C (1-p_i^t)^\gamma \log (p_i^t)

$$

Appendix

注意,这里有一个不一样的点。

在原来提出的focal loss中,CE或者FL只要考虑正确的class对应的likelihood,而这里是sum-up over all class likelihood。

换句话说,

本来是$$- \sum y \log$$,而这里是$$- \sum \log$$。

results matching ""

    No results matching ""