跳至内容
- 来源:ACL 2021
- 机构:复旦
- 任务:DSRE
- 动机:别人做 DSRE 是想怎么让模型避免噪声干扰,这篇文章用 negative training,找出并过滤噪声样本
- 方法:instance-level 的方法
- NT:普通正训练 loss
,负训练 loss 就是找 K 个不正确的标签,优化负 loss (就是 triplet loss 的后半部分)
实验证明,NT 比 PT 更能分辨噪声样例,高 confidence 的就不会是噪声(文中没有给出理论解释,我觉得可能是,在 NT 中,对于一个噪声样例,如果找到的负标签恰巧是它原本的标签,此时就会被噪声干扰,但是这种干扰比较小,因为概率只有 K/N(选择的负例数/总类别数)而在 PT 中,噪音干扰就是完全 100% 了?)- 后面就根据阈值,将 logits 小于阈值的看成 noise,把他们看成没标签的数据,后面重新归类;重新归类的预测时,只有 logit 高于阈值的才正式归类,其它的,还是留作没标签的。这些数据应该就不要了?或者下一轮的时候再重新归类?文中没说
- 阈值是动态阈值:
这一类的最大 logit 乘以一个全局阈值 - 总体流程:迭代 M 次,最后得到重新标注的数据集,再用 PT 得到预测结果
- 实验:
- SOTA @ NYT & 30% noise TACRED
- 会随着迭代一点点变好
- 长尾关系和量大的关系 threshold 不同,动态阈值,好
- 最后一步 PT:准确率↓,总体↑