«Это 14-й день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."
SimCSE: Simple Contrastive Learning of Sentence Embeddings
Автор статьи:Тяньюй Гао, Синчэн Яо, Данци Чен
Ссылка на бумагу: АР Вест V.org/ABS/2104.08…
Ссылка на код: GitHub.com/Princeton — Вы…
Что такое увеличение текста: мне нужно всего два дропаута
В этой статье вводится идея контрастного обучения во встраивание предложений, что разрушает задачу вычисления семантического сходства без учителя и с учителем SOTA, которая является очень редкой статьей высокого уровня. Многие большие шишки уже интерпретировали ее, делая простые заметки и исследования других больших шишек, чтобы расширить свои идеи для своих собственных идей.
Запись интерпретации Большого Брата:
Си Сяояо:Tickets.WeChat.QQ.com/Yes/BP BI_S9LX…
В этой статье предлагается простая структура контрастивного обучения SimCSE для изучения представлений предложений. В этой статье предлагается отсев + контрастное обучение и NLI + контрастное обучение, которые очень полезны для обучения представлению предложений. SimCSE значительно обновил список задач STS и достиг нового раунда SOTA. Очевидно, это привычный нам дропуаут и давно знакомые нам данные НЛИ, но авторы этой статьи могут посмотреть на них с новой стороны, связать с обучением, добиться очень значительного улучшения и объяснить это разумно зачем работать.
Зная толкование:zhuanlan.zhihu.com/p/368353121
Видеоинтерпретация станции b:Woohoo. Scale.com/video/BV1 О, вопрос…
Эксперимент Су Цзяньлиня на китайских задачах:woohoo.spaces.ac.ca/archives/83…
Давайте сначала представим сравнительное обучение и почему сравнительное обучение работает
Контрастное обучение
Что такое контрастное обучение
Вводные справочные материалы для сравнительного обученияИнститут прикладной математики Китайской академии наук называет его Дацзин.Статья Чжиху "Учебник по контрастному обучению".
Контрастное обучение под наблюдением
Контрастное обучение с учителем — это метод машинного обучения, который использует одновременноеНаучите модель, какие точки данных похожи или отличаются, чтобы узнать общие особенности набора данных. Сравнительное обучение с учителем — это метод обучения с учителем, требующий высокого качества выборки. По сравнению с обычным контролируемым обучением, контролируемое сравнительное обучение обычно может дать лучшие результаты.Видео ниже визуализирует процесс контролируемого сравнительного обучения.
Вот видеокарта Yuque, нажмите на ссылку для просмотра:видео
В большинстве практических сценариев мы не добавляем метки к каждому образцу. Взяв в качестве примера медицинскую визуализацию, получить образцы сложно, и специалистам приходится тратить бесчисленные часы на ручную классификацию и сегментацию изображений для создания меток. Хотя создание наборов данных с чистыми метками обходится дорого, мы постоянно генерируем огромные объемы неразмеченных данных. Самоконтролируемое обучение — это метод, который позволяет нам учиться на этих неразмеченных данных. Один из способов извлечь выгоду из этих больших объемов неразмеченных данных — правильно установить цели обучения, чтобы получить контроль от самих данных.
В НЛП, word2vec, Модель языка маски — это типичное обучение с самоконтролем. Есть также много примеров самоконтролируемого обучения в CV, таких как: разрезание изображения на небольшие блоки, предсказание взаимосвязи между блоками, объединение небольших блоков в исходные изображения и т. д.
самоконтролируемое обучение
Контрастное обучение с учителем и контрастивное обучение с учителем в целом схожи, разница в том, что контрастивное обучение с учителем проходитувеличение данныхдля создания помеченных образцов, в то время как контролируемое контрастное обучениеРучная аннотациясравнительные образцы.
следовательно,Суть и трудность самостоятельного сравнительного обучения заключается в создании высококачественных сравнительных выборок.. В CV положительные образцы обычно генерируются такими операциями, как отсечение, вращение, гауссов шум, маскирование и окрашивание. В NLP шум обычно добавляется путем обратного перевода, добавления, удаления и модификации символов, тем самым генерируя положительные выборки. Из-за дискретной природы текста, как правило, трудно создать хорошие расширенные образцы, не изменяющие метки.
Как использовать пару контрастных образцов для правильной классификации? При этом используется самоконтролируемая функция контрастных потерь.
в— это функция кодировщика, которая сопоставляет выборки с низкоразмерным пространством или низкоразмерной сферической поверхностью.
является положительной парой образцов,
взято из выборочного дистрибутива
Образцы, отобранные в г.
да
пары отрицательных проб.
Контрастная потеря сближает признаки из изученных положительных пар, в то же время выталкивая признаки из случайно выбранных отрицательных пар. В разделе о выравнивании и однородности ниже мы подробно расскажем о свойствах контрастных потерь.
Какова взаимосвязь между контрастными потерями и потерями softmax?Помнитеза
Таким образом, есть:
Разве это неПроблема множественной классификации
от
Этот
Определяется правильная одна из категорий
, в которой вы находитесь. В отличие от softmax, для каждого образца
здесь
все разные.
Выравнивание (симметрия): пара из двух выборок должна быть сопоставлена с ближайшим соседним вектором признаков, и этот признак не зависит от фактора шума.
Единообразие: собственные векторы должны быть приблизительно равномерно распределены на единичной гиперсфереи сохранить как можно больше данных.
AlignmentиUniformityиsoftmax lossв этой статьеintra-class compactness and inter-class separabilityявляется последовательной, а не новой концепцией, но эта статья дает более математическое выражение обеих концепций и показывает, что они достижимы.
Контрастное обучение, зачем работать
Для сравнения и изучения того, почему работа, можно обратиться к статье ICML за 2020 год "Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere》
В документе отмечается, что контрастное обучение полезно главным образом потому, что оно оптимизирует две цели:
- Положительные примеры указывают на сохранение относительно близкого расстояния.
- Представление случайной выборки должно быть распределено по гиперплоской сфере.
и предложить, чтобы эти две цели былиalignmentиuniformityизмерять.
выравнивание: Вычислить математическое ожидание векторного расстояния между парами положительных примеров
Чем больше похожи образцы, тем выше выравнивание. Поскольку выравнивание измеряется с помощью расстояния, чем меньше расстояние, тем выше степень выравнивания.
Однородность: оценивает степень равномерности распределения векторов всех данных, чем более однородно, тем больше информации сохраняется..
Можно произвольно выбрать два данных x и y из пространства представления, надеясь, что они далеко друг от друга. Чем они дальше, тем равномернее пространственное распределение. Поэтому чем меньше значение однородности, тем лучше.
SimCSE также использует эти две метрики для измерения сгенерированных векторов предложений и доказывает, что семантическое пространство текста также удовлетворяет:Чем меньше значение выравнивания и меньше значение однородности, тем выше качество представления вектора и выше коэффициент корреляции Спирмена на задаче STS. .
Личное понимание: SimCSE также удовлетворяет семантическому пространству, точно так же, как вектор слова / KGE, он генерирует вложение через ожидание расстояния абстрактного пространства, что доказывает, что идея поиска расстояния и распределения в семантическом пространстве является эффективным интерпретируемый Путь.
SimCSE
SimCSEЕсть два варианта:Unsupervised SimCSEиSupervised SimCSE, основное отличие заключается в построении положительных и отрицательных примеров контрастивного обучения. Подробности их построения описаны ниже.
SimCSE без присмотра
Unsupervised SimCSEВведите исключение, чтобы добавить шум к входу, предполагая, что зашумленный ввод все еще близок к исходному вводу в семантическом пространстве. Его положительные и отрицательные примеры строятся следующим образом:
Положительный пример: данный ввод, с предварительно обученной языковой моделью
кодирование
два вектора, полученные дважды
и
как положительный пример.
Отрицательный пример: используйте внутрипакетные отрицания, то есть случайным образом отбирайте другой вход в пакете.в виде
отрицательный пример.
Целевая функция обучения:
На следующем рисунке показан пример неконтролируемой SimCSE:
Как создать маску исключения?
заUnsupervised SimCSE, суть в том, как сгенерировать маску исключения. Когда я впервые закончил читать, я был поражен, что отсев можно использовать таким образом, и эффект значительно улучшился. Оригинальный текст выглядит следующим образом:
Другими словами, мы дважды передаем одно и то же входное предложение предварительно обученному кодировщику и получаем два вложения в виде «положительных пар», применяя независимо выбранные маски исключения.
Автор объяснил: потому что каждое отсев внутри BERT случайным образом генерирует другую маску отсева. Таким образом, SimCSL не нужно изменять исходный BERT, ему нужно только дважды передать одно и то же предложение в модель, а два полученных вектора являются результатом применения двух разных масок исключения. Затем обработайте два вектора как положительные пары. (действительно просто)
SimCSE под наблюдением
В этой статье также предлагаетсяSupervised SimCSE, используя помеченные данные для построения положительных и отрицательных примеров контрастного обучения. Чтобы изучить, какие данные маркировки больше подходят для изучения векторов предложений, в этой статье проводятся эксперименты с различными наборами данных, и, наконец, обнаруживается, что данные NLI наиболее подходят для изучения представлений предложений. Далее в качестве примера используются данные NLI, чтобы представить процесс Supervised SimCSE.
Supervised SimCSE вводит задачу NLI для наблюдения за процессом контрастного обучения. Модель предполагает, что если два предложения имеют отношения следствия, то расстояние по вектору предложений между ними должно быть ближе; если два предложения имеют противоречивые отношения, то их расстояние должно быть дальше. Следовательно, подразумеваемые пары предложений и пары противоречивых предложений в NLI соответствуют положительным и отрицательным парам в контрастном обучении соответственно. Таким образом, в Supervised SimCSE положительные и отрицательные примеры строятся следующим образом:
Положительный пример: Пример пары отношений следования в NLI. Отрицательные примеры: а) внутрипакетные негативы б) пары примеров в НЛИ, отношение которых является противоречием.
Цели обучения:
Результаты экспериментов
Dropout лучше, чем традиционное увеличение данных?
На рисунке ниже сравнивается корреляция Спирмена на проверочном наборе STS-B с использованием неконтролируемого SimCSE (отсутствует в первой строке) и обычных методов увеличения данных. Среди них обрезка k% означает случайное сокращение диапазона длины k%, удаление слова означает случайное удаление k% слов, удаление одного слова удаляет только одно слово, а MLM 15% означает случайную замену 15% слов. Все методы отсева в таблице выше имеют коэффициент отсева 0,1. (Поскольку в тексте сравниваются разные коэффициенты отсева, p=0,1 работает лучше всего.)
Экспериментальные результаты ясно показывают, что SimCSE намного превосходит другие методы дополнения данных. Сяохуа понимает, что традиционный метод улучшения данных заключается в непосредственном изменении исходного ввода После кодирования расстояние между улучшенными данными и исходными данными в семантическом пространстве больше, чем при методе прямого исключения?
Связь между отсевом и контрастным обучением
Чтобы понять, почему отсев работает, автор визуализировал изменяющиеся тенденции выравнивания и однородности во время обучения по разным методам.
На приведенном выше рисунке сравниваются методы улучшения/исключения данных при различных методах улучшения/исключения данных.и
Направление изменения во время обучения (выборка каждые 10 шагов обучения). Исправление 0,1 означает, что при p=0,1 одна и та же маска исключения используется дважды. Для Fixed 0.1 и No dropout представление предложения положительной пары точно такое же,
Видно, что по мере увеличения количества шагов обучения Unsup.SimCSE'sНеуклонно снижаться. Несмотря на то что
Тенденция к снижению не очевидна, но ее начальное значение относительно невелико. Приведенный выше рисунок еще раз подтверждает, что SimCSE эффективен, поскольку он может постепенно снижать значения выравнивания и единообразия.
Как работает семантическое сходство текста?
SimCSE оценивается по задаче STS (Семантическое сходство текста). Метрикой оценки является корреляция Спирмена.
В таблице сравниваются различные методы моделирования векторов предложений, в том числе простое усреднение векторов Glove, с недавними SOTA: BERT-Flow и BERT-Whitening. Как видно, SimCSE достигает значительных улучшений в различных кодировщиках и контролируемых и неконтролируемых режимах. Например, при отсутствии присмотра средние показатели BERT-base и RoBETa-Base улучшаются на 7,96% и 14,77% соответственно по сравнению с BERT-Whitening.
Кроме того, автор также сравнил различные модели представления предложений с разными моделями представления предложений.и
с их результатами по задаче STS:
Как можно видеть:
- Средняя модель BERT
ниже, но
выше;
- Напротив, BERT-поток и BERT-отбеливание после обработки представления BERT
ниже, но
но очень высокий;
- Оба значения Unsup.SimCSE и SimCSE ниже, а их результаты STS лучше.
инструкцияи
Его необходимо использовать в комбинации, и только когда значения обоих относительно низки, представление вектора предложения, изученное моделью, является наиболее подходящим для задачи STS.
эффект переноса обучения
В дополнение к оценке по задаче STS мы переносим обученные векторы предложений на 7 задач.
SimCSE при трансферном обучении не показывает явного преимущества. Автор объясняет, что цели обучения на уровне предложений не приносят прямой пользы трансферному обучению. Чтобы сделать эффект переноса обучения лучше, в статье по-прежнему пытаются тренировать потерю MLM и потерю контрастного обучения вместе, и достигнуто небольшое улучшение (строка, отмеченная w / MLM в приведенной выше таблице).
ситуация с открытым исходным кодом
Ссылка на код: GitHub.com/Princeton — Вы…
Предварительно обученная языковая модель в этой статье была интегрирована в HuggingFace, и эту модель можно вызывать напрямую через API, как и модель BERT.
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("princeton-nlp/sup-simcse-bert-base-uncased")
model = AutoModel.from_pretrained("princeton-nlp/sup-simcse-bert-base-uncased")
Эксперимент Су Шэня над китайскими задачами
Следующий контент взят из блога Су Шена:science.parents/archives/83…
苏神
Вдохновленный BERT-потоком, был задуман метод под названием «BERT-отбеливание», который стал новой SOTA для семантического сходства.На Arxiv появилось по крайней мере две новые статьи с результатами, которые были значительно лучше, чем BERT-отбеливание. Первый«Создание наборов данных с предварительно обученными языковыми моделями», В этой статье используется шаблон для неконтролируемого создания пар данных из GPT2_XL для обучения модели сходства.Я лично считаю, что, хотя есть определенное вдохновение и эффект в порядке, стоимость и переменные повторения слишком велики. Другой главный герой этой статьиSimCSE: простое сравнительное изучение вложений предложений, его предложенный SimCSE значительно превосходит BERT-flow и BERT-отбеливание на английских данных, и метод особенно прост ~
Итак, SimCSE одинаково эффективен на китайском языке? Может ли это значительно улучшить эффект китайского семантического сходства? Су Шен провел дополнительный эксперимент.Адрес в открытом доступе: https://github.com/bojone/SimCSE
Результаты эксперимента Су Шена:
Данные каждого блока имеют вид «a/b/c», a — исходный результат без какой-либо обработки, b — результат BERT-отбеливания (без уменьшения размерности), c — результат SimCSE, если c > b, то c отображается зеленым, иначе красным,то есть более зеленый , инструкция SimCSE намного лучше, чем отбеливание BERT.
Из результатов эксперимента видно, что, помимо «гетерогенного» PAWSX, SimCSE действительно имеет подавляющее преимущество перед BERT-отбеливанием, а некоторые задачи лучше более чем на 10 баллов, а на BQ SimCSE даже лучше, чем контролируемый обученный SimBERT, и такую модель, как SimBERT, прошедшую обучение под наблюдением, можно улучшить, что показывает, что она действительно мощная. (Что касается того, почему PAWSX «отличается», статья«Какой из них сильнее для неконтролируемого семантического сходства? Мы сделали более полный обзорПроведен простой анализ. )
В то же время мы также можем видеть, что в SimCSE метод объединения first-last-avg, который лучше работает в BERT-flow и BERT-whitening, не имеет преимуществ, вместо этого лучше напрямую брать [CLS] vector, но удивительно, что производительность Pooler (добавление Dense на основе [CLS]) относительно низкая, что действительно сбивает с толку~
Поскольку отбеливание BERT — это только линейное преобразование, автор также проверил, может ли только SimCSE воспроизвести эффект этого линейного преобразования. В частности, нужно зафиксировать вес кодировщика, затем подключить плотный слой без функции активации, а затем использовать SimCSE в качестве цели для обучения только последнего подключенного плотного слоя. Получается, что SimCSE в данном случае не так хорош, как BERT-отбеливание.Это означает, что для того, чтобы SimCSE была эффективной, кодировщик должен быть точно настроен, и это также показывает, что отбеливание BERT может содержать вещи, которых нет в SimCSE.Возможно, комбинация этих двух способов каким-то образом приведет к лучшим результатам..
В процессе изучения сравнительного исследования я увидел новую статью Су Шэня:
Новая работа Су Шен: SimBERTv2 уже здесь! Объединенная модель поиска и генерации RoFormer-Sim
SimBERT=BERT+UniLM+Сравнительное обучение
RoFormer-Sim=RoFormer+UniLM+Контрастное обучение+BART+Дистилляция