BERT + 自定义层训练性能随着时代的推移而下降

use*_*951 2 nlp machine-learning language-model tensorflow

我正在训练一个在 BERT 之上使用自定义层的分类模型。在此期间,该模型的训练性能随着纪元的增加而下降(在第一个纪元之后)..我不确定这里要修复什么 - 是模型还是数据?

(对于数据来说,它是二进制标签,并且每个标签的数据点数量是平衡的)。

关于问题可能出在哪里的任何快速提示?以前有人遇到过这个吗?

编辑:事实证明,我使用的 Transformer 库和 tf 版本不匹配。一旦我解决了这个问题,训练表现就很好了!

谢谢!

小智 5

请记住,微调像 Bert 这样的预训练模型通常需要比从头开始训练的模型少得多的 epoch 数。事实上,Bert 的作者建议 2 到 4 个时期。进一步的训练通常会导致过度拟合数据并忘记预先训练的权重(请参阅灾难性遗忘)。

根据我的经验,这会影响小型数据集,特别是因为它们很容易过度拟合,即使在第二个时期也是如此。此外,您还没有对 Bert 之上的自定义层进行评论,但是增加更多的复杂性也可能会增加过度拟合——请注意,文本分类的通用架构仅添加了线性变换。