Приговор-детали BERT

алгоритм

Это 4-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

Кратко

BERT и RoBERTa достигли результатов SOTA в задачах регрессии пар предложений, таких как семантическое сходство текста. Однако всем им необходимо скормить в сеть два предложения одновременно, что приводит к огромным вычислительным затратам: требуется около 50 миллионов (C100002=49,995,000C_{10000}^2=49,995,000) вычисления логических выводов, которые заняли около 65 часов на графическом процессоре V100. Эта структура делает BERT непригодным для поиска семантического подобия и в равной степени непригодным для неконтролируемых задач, таких как кластеризация.

Обычный подход к решению проблемы кластеризации и семантического поиска состоит в том, чтобы отображать каждое предложение в векторное пространство таким образом, чтобы семантически схожие предложения находились близко друг к другу. Обычно существует два способа получения векторов предложений:

  1. Вычислить среднее значение всех выходных векторов токена
  2. использовать[CLS]вектор позиционных выходов

Однако исследователи из UKP обнаружили, что в задаче на сходство текста (STS) результаты, полученные с использованием двух вышеупомянутых методов, были не очень хорошими, и даже вектор перчатки был значительно лучше, чем простые вложения предложений BERT (см. рисунок ниже). Ряд)

Sentence-BERT(SBERT)Авторы предварительно обученного BERT вносят модификации: используют **Siamese and Triplet Network** для генерации векторов встраивания предложений с семантикой. Для предложений с похожей семантикой векторное расстояние вложения относительно близко, так что косинусное сходство, манхэттенское расстояние, евклидово расстояние и т. д. можно использовать для поиска предложений с похожей семантикой. При обеспечении точности SBERT может сократить вышеупомянутые 65 часов BERT/RoBERTa до 5 секунд (при вычислении косинусного сходства около 0,01 секунды). Таким образом, SBERT может выполнять некоторые новые конкретные задачи, такие как кластеризация, семантический поиск информации и т. д.

Введение модели

Стратегия объединения

SBERT добавляет операцию объединения к выходным данным BERT/RoBERTa для создания предложения Embedding с фиксированным размером. В эксперименте для сравнения использовались три стратегии Пулинга:

  1. CLS: напрямую используйте выходной вектор положения CLS как весь вектор предложения
  2. СРЕДНИЙ: вычислить среднее значение всех выходных векторов токена как всего вектора предложения.
  3. MAX: возьмите максимальное значение каждого измерения всех выходных векторов токена как весь вектор предложения.

Экспериментальное сравнение трех стратегий выглядит следующим образом.

Из результатов видно, что эффект MEAN наилучший, поэтому стратегия MEAN также принимается по умолчанию в последующих экспериментах.

Структура модели

Чтобы иметь возможность тонкой настройки BERT/RoBERTa, в статье используется двойная сеть и тройная сеть для обновления параметров, чтобы сгенерированные векторы предложений были более информативными семантически. Структура сети зависит от конкретных обучающих данных.В этой статье тестируются следующие механизмы и целевые функции.

Classification Objective Function

Для задач классификации автор использует векторu,v,uvu,v,|u-v|Три вектора объединяются вместе, а затем умножаются на весовой параметр.WtеR3n×kW_t\in \mathbb{R}^{3n\times k}nnпредставляет размерность вектора,kkУказывает количество этикеток

o=Softmax(Wt[u;v;uv])o = \text{Softmax}(W_t[u;v;|u-v|])

Функция потерь CrossEntropyLoss

Примечание. Исходная формулаSoftmax(Wt(u,v,uv))\text{Softmax}(W_t(u,v,|u-v|))Я лично предпочитаю использовать[;;][;;]Указывает значение векторного сплайсинга

Regression Objective Function

Два вектора встраивания предложенийu,vu,vСтруктура вычисления косинусного подобия выглядит следующим образом, а функция потерь — MAE (среднеквадратичная ошибка).

Triplet Objective Function

Для получения дополнительной информации о Triplet Network см. мою статьюSiamese Network & Triplet NetWork. с учетом главного предложенияaa, положительное предложениеppи отрицательное предложениеnn, тройная потеря настраивает сеть таким образом, чтоaaиppРасстояние между ними как можно меньше,aaиnnРасстояние между ними максимально большое. Математически мы ожидаем минимизировать следующую функцию потерь:

max(saspsasn+ϵ,0)max(||s_a-s_p||-||s_a-s_n||+\epsilon, 0)

в,sxs_xвыразить приговорxxвложение,||·||Указывает расстояние, параметр краяϵ\epsilonвыражатьsas_aиsps_pрасстояние должно быть не менееsas_aиsns_nЗакрытьϵ\epsilon. В экспериментах, используя евклидово расстояние в качестве метрики расстояния,ϵ\epsilonустановить на 1

Детали обучения модели

Автор объединяет наборы данных SNLI (Stanford Natural Language Inference) и Multi-Genre NLI для обучения. В SNLI имеется 570 000 пар предложений, аннотированных вручную с меткамипротиворечие, заключение, нейтральностьТри; MultiNLI — это обновленная версия SNLI с тем же форматом и метками, 430 000 пар предложений, в основном наборы устного и письменного текста.

Отношение импликации описывает отношение рассуждений между двумя текстами, один из которых является предпосылкой (Premise), а другой — гипотезой (Hypothesis). Эталонный образец выглядит следующим образом:

Sentence A (Premise) Sentence B (Hypothesis) Label
A soccer game with multiple males playing. Some men are playing a sport. entailment
An older and younger man smiling. Two men are smiling and laughing at the cats playing on the floor. neutral
A man inspects the uniform of a figure in some East Asian country. The man is sleeping. contradiction

В ходе эксперимента автор использовал целевую функцию классификации Softmax категории 3 для тонкой настройки SBERT, batch_size=16, оптимизатор Adam, learning_rate=2e-5.

Абляционные исследования

Чтобы провести исследования абляции по различным аспектам SBERT, чтобы лучше понять их относительную важность, мы строим модели классификации на наборах данных SNLI и Multi-NLI и модели регрессии на наборе эталонных данных STS. В стратегии объединения сравниваются три стратегии MEAN, MAX и CLS, а в целевой функции классификации сравниваются различные методы комбинирования векторов. Результат выглядит следующим образом

Результаты показывают, что стратегия объединения оказывает меньшее влияние, стратегия комбинирования векторов оказывает большее влияние и[u;v;uv][u;v;|u-v|]лучший эффект

Reference