Классификация БЕРТА по несбалансированному или малому набору данных

#bert-language-model #imbalanced-data

Вопрос:

У меня большой корпус, никаких ярлыков. Я обучил этот корпус, чтобы получить свой токенизатор BERT.

Затем я хочу создать BertModel двоичную классификацию для помеченного набора данных. Однако этот набор данных сильно несбалансирован-1: 99. Поэтому мой вопрос таков:

  1. Будет ли BertModel хорошо работать с несбалансированным набором данных?
  2. Будет ли BertModel хорошо работать с небольшим набором данных? (всего менее 500 точек данных, держу пари, что это не так..)

Ответ №1:

Цель переданного обучения с использованием предварительно подготовленных моделей частично отвечает на ваши вопросы. BertModel предварительно обученные на большом корпусе, которые при адаптации к конкретному корпусу задач обычно работают лучше, чем модели без предварительной подготовки (например, обучение простому LSTM для задачи классификации).

БЕРТ показал, что он хорошо работает при точной настройке на небольшом корпусе задач. (Это ответ на ваш вопрос 2.). Однако уровень улучшений также зависит от домена и задачи, которую вы хотите выполнить, и от того, насколько данные, используемые для предварительной подготовки, связаны с вашим целевым набором данных.

По моему опыту, предварительно обученный BERT при точной настройке на целевую задачу работает намного лучше, чем другие DNN, такие как LSTM и CNN, когда наборы данных сильно несбалансированы. Однако это опять же зависит от задачи и данных. 1:99-это действительно огромный дисбаланс, который может потребовать методов балансировки данных.