首页 > 解决方案 > 为什么在训练拥抱脸变压器 NER 模型时评估损失会增加?

问题描述

huggingface transformers根据文档训练NER 模型,几个 epoch 后评估损失增加,但其他分数(准确率、精度、召回率、f1)不断变好。这种行为似乎出乎意料,这种效果有简单的解释吗?这可以取决于给定的数据吗?

在此处输入图像描述

model = TokenClassificationModel.from_pretrained('roberta-base', num_labels=len(tag_values))


model.train()
model.zero_grad()

   for epoch in range(epochs):
      for batch in range(batches):
         -- train --
         ...

      train_loss = model.evaluate(train_data)
      validation_loss = model.evaluate(validation_data)



标签: pythonpytorchhuggingface-transformers

解决方案


准确性和损失不一定完全(反向)相关。
损失函数通常是准确度函数的近似值——与准确度不同,损失函数必须是可微的。
一个很好的解释可以在这里找到。


推荐阅读