Advertisement

论文阅读:Learning from Failure: Training Debiased Classifier from Biased Classifier

阅读量:

Abstract:
本文提出了如何训练一个debias的模型的方法
这个方法主要有两步: a,有意放大一些“prejudice”来将模型训练成bias的。
b,将focus放在和a的prejudice相反的sample上,来训练得到一个debias的nn。

Intro:
如果在一个bias的dataset上训练AI模型,到了另一个dataset上测试,模型的精度会下降非常多。就比如说,如果一个数据集里的boat都在水上,那模型学到如何分辨boat的方法可能不是专注于boat本身,而是参考背景里有没有水。’
当前提出的几种在bias数据集上训练debias的模型的算法,需要人工的supervise来对数据集进行标注。但是这样是很耗时耗力的工作。
本文作者提出了一种,failure-bias的debising方案,能从故障中学习。基于作者在bias的数据集上的几个有趣的发现:
a,bias的数据并不一定会造成模型的bias,只有当bias的属性比目标属性更容易学习的时候,才会造成模型的bias。比如之前提到的水和船。
b,通过观察训练的进程可以发现,分类器在早期会学习与bias一致的样本,后期才会学习与bias对立的样本。因为神经网络倾向于将困难的学习部分放到后面。
因此我们可以训练两个神经网络,一个bias一个debias。训练bias的时候,我们放大前期训练过程,这样模型将会向bias的方向靠拢。与此同时训练debias,侧重在bias模型很难学习的那些samples上,这些sample就是和bias有冲突的sample。此时我们可以重新对这些sample进行加权。

2.Training DNN on biased dataset:
2.1 我们判断一个数据集是否是bias的依据:
我们在这个数据集上训练出一系列intended decision rules,可以正确预测我们想要的target attribute(at)
a,数据集中存在一个attribute(ab), ab != y,但和我们的target(y)有很高的相关性
b,有另一种unintended decision rule可以正确的预测出这个attribute(ab)
我们就认为这个数据集是bias,并把a称为bias attribute
本文中使用两种testing(evaluation)数据集:
a,unbiased set:数据集中ab和at的sample数量是一样的
b,bias- conflicting set:从unbiased set中删去和bias-aligned的数据

2.2 并非所有的bias数据都对模型有害
因为如之前提到,只有bias比target更容易learn,才会对模型产生影响。
作者认为恶意(malignant)bias应该是:一个模型在在unbiased dataset上训练出来的精度比在这个dataset(D)上的精度高,(用2.1提到的unbiased set做evaluation),那么这个dataset(D)的bias就应该是恶意bias。
反之,这称这个bias是善意(benign)bias。
所以只要bias比target容易学习,那这个bias应该就是malignant bias。

2.3 malignant bias会先被学习到
作者发现,如果一个dataset是malignant bias的,那么在bias- align的sample上的loss会随着训练进行很快降为接近0。但是在bias-confilct的sample上的loss会先上升,等到bias- align的sample的loss降到接近0后才会下降。

3.Debiasing by LfF
作者用在abstract中提到的的方法来训练一对神经网络(fB,fD)

3.1 train a biased model
为了有意放大我们在网络训练初期的重要性,作者使用了GCE(generalized cross entropy)作为loss来放大训练的bias。
在这里插入图片描述
p(x; theta)是模型里softmax层的输出,py(x; theta)是预测是target (=y)时的概率
在GCE里,q取值范围是(0,1】,代表了bias的放大系数,当q趋于0时,GCE就近似普通的CE loss
和普通的CE相比,GCE会给那些有更高概率被预测为target的sample更大的gradient。
这样就能使模型更注重“易区分”的sample,从而变得bias

3.2 train a debiased model
训练bias model的同时,进行训练debiased model。在这里插入图片描述
用这个公式给每个sample加上新的weight。
fB(x)和fD(x)是bias model和debiased model中softmax层的输出。这个值能反应出sample的bias- conflict的程度。
对于越bias- conflict的sample,fB(x)的loss会越大,而fD(x)的loss越小。

全部评论 (0)

还没有任何评论哟~