387. Jigsaw Multilingual Toxic Comment Classification | jigsaw-multilingual-toxic-comment-classification
感谢我出色的队友 @naivelamb、@wuyhbb、@terenceliu4444、@hughshaoqz,感谢你们帮助我获得了我的第5枚金牌!
祝贺所有的获奖者!
以下是对我们有效的主要思路:
我们使用这里列出的翻译数据进行训练和测试(用于TTA):
https://www.kaggle.com/c/jigsaw-multilingual-toxic-comment-classification/discussion/159888
感谢大家发布这些优秀的数据集!
我们训练了一些基线模型,然后将它们与一些公开提交的文件进行融合,使 LB 分数达到 0.9481,然后将其作为伪标签一直使用到最后。
在使用带有伪标签的测试数据进行训练时,我们发现使用 KL 散度损失配合软标签处理所有测试数据能带来最佳性能。
众所周知,在训练集上训练模型后,在验证集上进行微调可以提高 LB 分数,我们称之为2阶段训练。(https://www.kaggle.com/xhlulu/jigsaw-tpu-xlm-roberta)
通过在我们的训练流程中增加更多阶段,我们能够进一步提高 LB 分数。我们的部分流程如下:
(Train1: 2018年第一届 Jigsaw 竞赛的训练数据)
(Train2: 2019年第二届 Jigsaw 竞赛的训练数据)
(伪标签: 本次竞赛的测试数据)
(验证集: 本次竞赛的验证数据)
请注意,在使用 Train1 和 Train2 时,我们通常不会在完整数据集上进行训练,而是使用其子集。
冻结 Transformer 的嵌入层可以节省 GPU 显存,使我们能够在训练时使用更大的批次大小,同时加快训练过程。
通过多阶段训练、伪标签和冻结嵌入层,我们能够在不融合任何公开提交文件的情况下达到 LB 0.9487。
我们对所有 6 种语言进行推理,原始语言与其他 5 种语言之间的融合权重比例为 8:2。通过这种 TTA 方法,我们的 LB 分数达到了 0.9492。
参考:https://arxiv.org/pdf/1904.12848.pdf
然后我们融合了一些在训练时使用 UDA 的模型,LB 分数达到了 0.9498,经过进一步的调整,我们达到了 LB 0.9500。