Как стать автором
Обновить

TextDiffuser-2: генерация текста диффузиями

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.5K

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

Во-первых, как проблемы могут встретиться в задаче?

  • Дополнительные действия со стороны пользователя для определения ключевых слов (GlyphDraw, TextDiffuser), а в работе GlyphControl создание глиф изображения для запоминания текста после OCR черными буквами на белом фоне по технологии ControlNet

  • Ограничение сценарной генерации (по большому промпту)

  • Невозможно менять исходное изображение в режиме диалога, указывая на ошибки самой модели

Все это, так или иначе, решают авторы статьи TextDiffuser-2. Вместе с этим, они также обеспечивают улучшение своей прошлой работы TextDiffuser в вариации стиля текста, так как отказываются от маски сегментации текста

Спойлер, какой результат получится по итогу работы над TextDiffuser-2:

Как именно авторы добиваются такого результата?

Вдохновленным шумом LLM весь 2023 год, чувакам в мете приходит просто гениальная идея: зачем использовать трансформер для распознавания ключевых слов и смешивания с диффузией, если можно использовать декодер (они используют vicuna) для генерации координат, которые позже появятся на сгенерированном изображении, а затем заиспользовать умную токенизацию второй языковой моделью, которая включит эти позиции в информацию для диффузии

целостный пайплайн обучения
целостный пайплайн обучения

Теперь по порядку

  • Юзер подает на вход промпт, конечно, он должен включать в себя специальные токены (ключевые слова или промпт), все мы это знаем из использования больших декодеров

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

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

  • Дальше диффузия учится как обычно, когда через клип энкодер подкидывается в cross-attention текст

Красивые метрики:

метрики
метрики

Ссылка на репозиторий с кодом и демо

Ссылка на модель на huggingface

Ссылка на статью

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+5
Комментарии0

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань