https://arxiv.org/pdf/2003.11563.pdf
1.常见NLP数据增强+BERT在失衡数据上的表现
任务为2分类。正负样本比例为28% vs. 72%(这里以正/负指代文中的propaganda/non-propaganda)。
BERT模型采用BERT_base,增加全连接层,用于对句子编码分类。
常见NLP数据增强方法详见https://arxiv.org/pdf/1901.11196.pdf
评估结果如下:
用同一份数据集中75%训练,25%测试时(即在相似的数据上验证),没有数据增强的BERT性能最佳。
可能是因为有上下文的word embedding并不能从数据增强中受益。
在不相似的数据上验证时,同义词插入和词去除也没有带来性能增益(甚至更差),而上采样比无数据增强的性能高4%。同义词插入和词去除性能差可能是因为引入了噪声,上采样没有。因而,上采样带来一些泛化能力。
进一步的实验显示:
上采样提升了正类的召回率和副样本的精确率,损失了正类的精确率和副样本的召回率。
其中正类召回率提升和副样本召回率损失都比较显著。
2.BERT + cost-sensitive loss
cost-sensitive分类是上采样的一种替代方法,后者难免会对不同的样本厚此薄彼,前者则提供了更稳定、连续的样本权重。
cost-sensitive loss的原理:
加权交叉熵,参见pytorch文档(https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html)
效果评估:
在一定范围内,随着少数类的权重增长,验证集上的f1-score随之增长。超出范围后,验证集上的f1-score趋平。
说明,结合合适的权重,cost-sensitive loss能够提升泛化能力。