При обучении модели huggingface transformers
NER в соответствии с документацией потеря оценки увеличивается через несколько эпох, но другие оценки (точность, точность, отзывчивость, 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)
Это просто указывало на переоснащение, очень распространенное явление. — person Moritz Blum schedule 12.10.2020
Но не должны ли тогда и другие оценки также ухудшиться или, по крайней мере, остаться неизменными? Они значительно улучшаются …. — person Moritz Blum schedule 12.10.2020
Не могли бы вы использовать один и тот же масштаб оси для каждой диаграммы? Первая диаграмма имеет шаг 0,1, а все остальные диаграммы — 0,2 шага. — person Moritz Blum schedule 12.10.2020
Вы придумали какой-нибудь способ решения этой проблемы? Имею дело с чем-то похожим на моей модели трансформаторов — person Moritz Blum schedule 04.06.2021
К сожалению нет. — person Moritz Blum schedule 07.06.2021
Точность и потери не обязательно точно (обратно) коррелированы.
Функция потерь часто является приближением функции точности — в отличие от точности, функция потерь должна быть дифференцируемой.
Хорошее объяснение можно найти здесь.