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