Персонализация текста в изображение — это задача глубокого обучения для компьютерной графики , которая дополняет предварительно обученные генеративные модели преобразования текста в изображение . В этой задаче генеративная модель, обученная на больших объемах данных (обычно базовая модель ), адаптируется таким образом, чтобы она могла генерировать изображения новых, предоставленных пользователем концепций. [1] [2] Эти концепции обычно не видны во время обучения и могут представлять собой конкретные объекты (например, домашнее животное пользователя) или более абстрактные категории (новый художественный стиль [3] или объектные отношения [4] ).
Методы персонализации Text-to-Image обычно связывают новую (личную) концепцию с новыми словами в словаре модели. Эти слова затем могут использоваться в будущих подсказках для вызова концепции для предметно-ориентированной генерации, [5] inpainting , переноса стиля [6] и даже для исправления предубеждений в модели. Для этого модели либо оптимизируют встраивание слов , либо настраивают саму генеративную модель, либо используют смесь обоих подходов.
Персонализация текста в изображение была впервые предложена в августе 2022 года двумя параллельными работами: Textual Inversion [7] и DreamBooth [8] .
В обоих случаях пользователь предоставляет несколько изображений (обычно 3–5) концепции, например, собственной собаки, вместе с грубым описанием класса концепции (например, слово «собака»). Затем модель учится представлять субъект с помощью цели, основанной на реконструкции, где подсказки, ссылающиеся на субъект, должны реконструировать изображения из обучающего набора.
В текстовой инверсии персонализированные концепции вводятся в модель «текст-изображение» путем добавления новых слов в словарь модели. Типичные модели «текст-изображение» представляют слова (а иногда и части слов) как токены или индексы в предопределенном словаре. Во время генерации входная подсказка преобразуется в такие токены, каждый из которых преобразуется в «внедрение слова»: непрерывное векторное представление, которое изучается для каждого токена в рамках обучения модели. Текстовая инверсия предлагает оптимизировать новый вектор встраивания слова для представления новой концепции. Затем этот новый вектор встраивания может быть назначен выбранной пользователем строке и вызываться всякий раз, когда подсказка пользователя содержит эту строку. [7]
В DreamBooth вместо оптимизации нового вектора слов настраивается сама полная генеративная модель. Сначала пользователь выбирает существующий токен, обычно тот, который редко появляется в подсказках. Затем сам субъект представляется строкой, содержащей этот токен, за которым следует грубый дескриптор класса субъекта. Подсказка, описывающая субъект, затем принимает форму: «Фото <токена> <класс>» (например, «фото кота sks» при обучении представлению определенного кота). Затем модель преобразования текста в изображение настраивается таким образом, что подсказки этой формы будут генерировать изображения субъекта. [8]
Основная идея текстовой инверсии заключается в добавлении нового термина в словарь модели диффузии, который соответствует новой (персонализированной) концепции. Текстовая инверсия оптимизирует векторное встраивание этого нового термина таким образом, что использование его в качестве входного текстового приглашения будет генерировать изображения, которые похожи на заданные примеры изображений концепции. Полученная модель чрезвычайно легкая для каждой концепции: всего 1 Кб в длину, но успешно кодирует подробные визуальные свойства концепции.
Было предложено несколько подходов для усовершенствования и улучшения исходных методов. Они включают в себя следующее.
Методы персонализации текста в изображение должны бороться с несколькими проблемами. В их основе лежит цель достижения высокой точности персональной концепции при сохранении высокого соответствия между новыми подсказками, содержащими тему, и сгенерированными изображениями (обычно называемыми «редактируемостью»).
Еще одна проблема, с которой приходится сталкиваться методам персонализации, — это требования к памяти. Первоначальные реализации методов персонализации требовали более 20 гигабайт памяти GPU, а более поздние подходы сообщали о требованиях более 40 гигабайт. [13] Однако оптимизации, такие как Flash Attention [15], с тех пор значительно снизили это требование.
Подходы, которые настраивают всю генеративную модель, могут также создавать контрольные точки размером в несколько гигабайт, что затрудняет совместное использование или хранение многих моделей. Подходы, основанные на встраивании, требуют всего несколько килобайт, но обычно испытывают трудности с сохранением идентичности при сохранении возможности редактирования. Более поздние подходы предложили гибридные цели настройки, которые оптимизируют как встраивание, так и подмножество сетевых весов. Они могут снизить требования к хранению до всего лишь 100 килобайт, достигая при этом качества, сопоставимого с методами полной настройки. [11]
Наконец, процессы оптимизации могут быть длительными, требуя нескольких минут настройки для каждой новой концепции. Методы кодирования и быстрой настройки направлены на сокращение этого времени до секунд или меньше. [16]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )