Если вы в последнее время следите за социальными сетями, возможно, вы слышали о таких моделях распространения, как Stable Diffusion и DALLE-2. Эти модели способны создавать сверхреалистичные изображения, а иногда даже аудиосэмплы, но они редко применяются в области генерации текста, никогда не задумывались, почему это так? В первую очередь потому, что эти диффузионные модели требуют для работы непрерывных данных, в то время как текст является дискретным (если вам дадут 2 предложения «привет, как дела» и «Добро пожаловать в мой дом» и попросят найти их среднее значение, вы не сможете из-за дискретного характера текста, в отличие от изображений).

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

В этом сообщении в блоге я сосредоточусь на некоторых основополагающих работах, которые следуют второму подходу. Я кратко обсуждаю каждую статью здесь, и я настоятельно рекомендую прочитать всю статью, чтобы получить более глубокое понимание. Кроме того, в конце я прикрепил некоторые ресурсы для дискретной диффузии. Также, если вы не знакомы с процессом распространения, вы можете обратиться к блогам AI Summer и Huggingface.

DiffusionLM

В настоящее время в NLP способ обучения больших языковых моделей для конкретной задачи заключается в выполнении точной настройки конкретной задачи, однако авторы отмечают, что обновление параметров LM для каждой задачи управления может быть дорогостоящим и не позволяет создавать композиции несколько элементов управления (например, генерация текста, позитивного настроения и нетоксичного).

В этой работе Li et. др. они вводят plug-and-play управляемую настройку генерации. Учитывая языковую модель, обученную на большом количестве неразмеченных данных, и для каждой задачи управления они используют классификатор, обученный на небольшом количестве размеченных данных. Затем цель состоит в том, чтобы использовать эти две модели для приблизительной выборки из апостериорного p(w|c) по правилу Байеса p(w| c) ∝ plm(w) · p(c | w). Здесь plm(w) поощряет беглость речи, а p(c|w) побуждает следовать ограничениям, влияние обоих этих терминов можно взвесить в соответствии с требованиями задачи. .

Прямой процесс процесса распространения

Во-первых, функция внедрения должна отображать дискретный текст в пространство внедрения. Авторы считают, что обучение вложений совместно с параметрами диффузионной модели работает лучше, чем использование предварительно обученных вложений. Они используют марковский переход от дискретных слов w к x0 в прямом процессе, который задается выражением

После получения вложений остальная часть процесса шумоподавления аналогична обычным моделям диффузии, добавляйте гауссовский шум к данным x0, пока не достигнете xT.

Реверс (процесс шумоподавления)

Фактический процесс шумоподавления очень похож на обычный процесс диффузии, но они должны внести некоторые изменения на последнем этапе, который возвращает дискретный текст из непрерывного x0. Это можно сделать, выбрав наиболее вероятное слово для каждой позиции с помощью операции argmax. Однако они обнаружили, что этот метод не фиксирует ни одного слова. Причина этого, как объясняют авторы, заключается в функции потерь, поскольку ограничение, согласно которому x0 должно быть одним словом, возникает только в терминах с t, близким к 0. Поэтому они изменили фактор потери, чтобы включить предсказание x0 в каждый термин.

Еще одна интересная концепция, которую они используют, — это трюк с зажимом. Обычно модель уменьшает шум от xt до xt-1, сначала вычисляя оценку x0 через сеть, а затем выбирая xt-1 в зависимости от оценки прямого прохода. В трюке с зажимом модель дополнительно сопоставляет прогнозируемую оценку вектора с ближайшей последовательностью встраивания слов. Затем это ближайшее слово используется для предсказания оценки xt-1 (а не предсказанного x0). Трюк с ограничением заставляет предсказанный вектор фиксироваться в слове для промежуточных шагов распространения, что приводит к уменьшению ошибок округления.

DIFFUSEQ: Генерация текста от последовательности к последовательности с использованием моделей распространения

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

Причина, по которой Diffusion-LM нельзя использовать для задач seq2seq, заключается в том, что он использует классификатор для кондиционирования (для получения вероятности p(w|x)). Это легко сделать, когда w является меткой дискретного класса, но для seq2seq w будет другим предложением, и нам нужно будет обучить отдельный классификатор для каждого входного сигнала, который мы подаем. in, что невозможно.
В качестве альтернативы они предлагают подход без классификатора к руководству.

Процесс переадресации

Подобно DiffusionLM, авторы используют функцию встраивания для отображения дискретного текста w в непрерывное пространство. Разница здесь в том, что вместо одного предложения у них есть два (входное и выходное), поэтому здесь они объединяют их оба и встраивают эту конкатенацию. Одно и то же вложение используется как для x, так и для y (общее пространство кодирования). Экспериментируя с использованием модели BERT-Tiny, они обнаружили, что метод развязанного обучения приводит к низкой производительности.

Здесь есть одно ключевое отличие процесса шумоподавления: вместо стандартного шумоподавления применяется частичный шум, т. е. шум накладывается только на yT (испорченная версия xT снова заменяется на x0).

Процесс шумоподавления

Функция потерь шумоподавления имеет три члена: срок реконструкции, обучение вложений и один для регуляризации вложений. Хотя потери при реконструкции применяются только к y-компоненте Z, поскольку используется внимание, веса, используемые для встраивания x0, также будут изучены.

Поскольку сам вход содержит вектор, на котором должен быть обусловлен вывод, никакой другой сигнал классификатора не требуется.

Распространение самообусловленных вложений для генерации текста

По сравнению с авторегрессионными (AR) моделями диффузионные модели могут предсказывать все токены в последовательности одновременно. Это обеспечивает двунаправленное внимание, увеличивая взаимодействие между токенами. В этой работе Strudel et. др. они предлагают фиксированное пространство для встраивания и самообусловленное уточнение

Процесс переадресации

В отличие от Diffusion-LM, они не изучают матрицу вложения, поскольку авторы утверждают, что она эмпирически нестабильна и может привести к падению энтропии униграмм. Они обучают только матрицу весов считывания.

Процесс шумоподавления

Во время шумоподавления они вводят ключевой компонент самоконтроля. Он постепенно уточняет оценки x0, передавая оценки прогнозируемого x0 на временном шаге t+1 (предыдущий временной шаг) в качестве входных данных для сети шумоподавления. Это помогает установить направление диффузии.

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

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

Difformer: расширение возможностей модели распространения при встраивании пространства для генерации текста

В этой работе Gao et. al., авторы указывают на три ключевые проблемы, с которыми сталкиваются существующие модели распространения в текстовой области при использовании процесса непрерывного распространения.

  1. Свернуть функцию шумоподавления

В отличие от случая с изображениями, где начальная точка (само изображение) фиксируется, в случае встраивания текста она также изучается. Это может привести к коллапсу функции потерь шумоподавления, потому что модель может легко выучить тривиальное решение, что все вложения похожи друг на друга и расположены в небольшом подпространстве, таким образом, если модель предсказывает неправильно, потери все равно не будут слишком большими. high.
Решение
Простым решением этой проблемы было бы использование предварительно обученных вложений слов, но это показало неоптимальную производительность. Вместо этого они вводят Потерю привязки, которая использует предсказание модели вместо золотого встраивания. Они сравнивают оценку анизотропии вложений, изученных с этой потерей и без нее, и обнаруживают, что в первом случае она намного лучше.

2. Проблема с длинным хвостом
Из-за разной частоты встраивания токенов будут по-разному подвержены воздействию градиентов и, следовательно, будут иметь разные масштабы. Следовательно, неоптимально добавлять одинаковое количество шума к разным вложениям, поскольку вложения с большими нормами потребуют большего количества шума для сокрытия.
Решение
Добавьте модуль нормализации слоя поверх слоя внедрения.

3. Отвлечение на процесс шумоподавления
При шумоподавлении встраивания из чистого шума, взятого из нормального гауссовского априора, оно может в конечном итоге упасть на вложения рядом с шумом и, следовательно, отвлечь процесс диффузии.
Решение
Они просто увеличивают масштаб шума, добавляемого на каждом этапе, путем умножения ковариационной матрицы на коэффициент шума. Таким образом, расстояния сэмплированных шумов и вложений будут увеличены, что не будет отвлекать внимание.

Еще одно ключевое понятие, введенное в этой работе, касается длины создаваемой последовательности. Они используют более эффективный способ явного предсказания целевой длины с помощью выходных данных кодировщика. Таким образом, они могут генерировать несколько ответов с разной длиной на основе первых k длин из предсказателя длины и получать наилучшие результаты, сводя к минимуму ожидаемый риск по отношению к .r.t. метрика вроде BLEU.

Некоторые ресурсы для дискретной диффузии

  1. Потоки Argmax и мультиномиальная диффузия: изучение категориальных распределений
  2. Структурированные модели диффузии шумоподавления в дискретных пространствах состояний
  3. Векторная квантованная диффузионная модель для синтеза текста в изображение
  4. DiffusER: дискретная диффузия с помощью реконструкции на основе редактирования
  5. Пошаговые автоэнкодеры шумоподавления для генерации текста