深度学习模型往往需要大量的标记正确的数据,而现实世界的数据集中有8%~38.5%的数据是被污染的。现在的深度学习模型很容易对存在噪音的数据集过拟合,从而使得模型在测试集上的表现较差。现在比较流行的防止模型过拟合的方法:数据增强,权重衰减,dropout, batch normalization等方法并不能很好的解决这一问题。
1 鲁棒性的损失函数
这类方法通过改编损失函数,使得模型在噪音数据集上训练后的性能与在干净的噪音数据集上的性能相当。比如分类交叉熵往往用作分类任务的损失函数,但是它本身在面对噪音数据时表现并不好。
所以有些研究者就想使用GCE, generalized cross entropy ; SCE, symmetric cross entropy来对抗噪音数据。但是这些改编的损失函数只适用于简单的情形,即任务比较简单,数据量比较少的时候。
在实做的时候,改编的损失函数往往对降低模型的性能。
2 鲁棒性的架构
这类方法中包含噪音适应层,以及用于估计噪音转移概率的专用架构。生成对抗网络也包含在这一类方法之中,我对这类方法了解有限,只知道这类方法往往难以训练而且效果并不好。
3 正则化
常用的权重衰减,dropout, batch normalization等方法足以抵抗少量噪音数据。除此之外现在预训练模型比如BERT、ELMO等也可以在一定程度上增加模型在微