Точность точной настройки BERT значительно варьировалась в зависимости от эпох для задачи классификации намерений

Я использовал Bert base uncased как вложение и выполнение простого косинусного сходства для классификации намерений в моем наборе данных (около 400 classes and 2200 utterances, train:test=80:20). Базовая модель BERT обеспечивает точность 60% в наборе тестовых данных, но разные эпохи тонкой настройки дали мне совершенно непредсказуемые результаты.

Это моя настройка:

max_seq_length=150
train_batch_size=16
learning_rate=2e-5

Это мои эксперименты:

base model   accuracy=0.61
epochs=2.0   accuracy=0.30
epochs=5.0   accuracy=0.26
epochs=10.0  accuracy=0.15
epochs=50.0  accuracy=0.20
epochs=75.0  accuracy=0.92
epochs=100.0 accuracy=0.93

Я не понимаю, пока он так себя вел. Я ожидаю, что любые эпохи тонкой настройки не должны быть хуже, чем базовая модель, потому что я точно настроился и сделал вывод о том же наборе данных. Есть ли что-то, что я неправильно понимаю или должно волновать?

1 ответ

Ну, как правило, вы не сможете сразу ввести все данные в свой тренировочный набор (я предполагаю, что у вас есть огромный набор данных, который вам придется использовать для мини-пакетов). Следовательно, вы разделяете его на мини-партии. Таким образом, отображаемая точность сильно зависит от последней мини-партии или последнего этапа обучения эпохи.

Другие вопросы по тегам