Создание данных с помощью моделей диффузии. Часть 3: Быстрое создание пользовательских данных

 Data generation with diffusion models. Part 3: Generating custom data in the blink of an eye

“`html

Вступление

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

Генерация изображений на основе дополнительных условий

Использование моделей диффузии может привести к творческим, воображаемым результатам. Однако для использования этих данных в реальных бизнес-проектах также необходима дополнительная информация, будь то состав объектов, размер или общий вид. По этой причине было бы полезно включить еще один вход помимо подсказки и передать его в сеть, чтобы она предоставляла руководство по тому, что мы ожидаем. В deepsense.ai мы экспериментировали с наиболее популярными методами для направленной генерации изображений и с нетерпением делимся нашими мыслями.

Стабильная инкапсуляция диффузии

Давайте начнем с метода, который происходит из статьи “Стабильное диффузионное восстановление”. Пайплайн инкапсуляции позволяет редактировать конкретные части изображения, предоставляя маску и текстовую подсказку. Это позволяет пользователю удалять и заменять части изображения. Функциональность инкапсуляции стабильной диффузии основана на модифицированной архитектуре UNet. Эта специализированная сеть включает пять дополнительных входных каналов: четыре, посвященных закодированному маскированному изображению, и один специально для самой маски.

ControlNet

Звучит знакомо? Да, мы уже упоминали архитектуру ControlNet в нашей первой статье этой серии “Генерация данных с моделями диффузии” – вы можете посмотреть ее здесь. Но мы возвращаемся к этой теме с большим опытом и тщательно обдуманными выводами.

GLIGEN

Похожую концепцию замораживания исходных весов предварительно обученных моделей диффузии можно увидеть в реализации GLIGEN (Генерация изображений на основе связанного языка). Помимо создания копии всего кодера, как в ControlNet, он вводит новые слои под названием Gated Self-Attention (GSA), которые отвечают за обработку входных данных в рамках кодера.

Обучение моделей

Предварительно обученные модели безусловно впечатляют, но часто они не соответствуют точным потребностям бизнес-проектов. Их входные данные часто являются гиперреалистичными, воображаемыми и не соответствуют настраиваемым, специализированным наборам данных. Это можно бороться с помощью инженерии подсказок, но такое решение плохо масштабируемо. В этом случае необходим процесс повторного обучения.

LoRA – всему голова

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

Результаты для Cityscapes

Мы выбрали набор данных “Cityscapes” для представления результатов модели Stable Diffusion с уровнями LoRA.

Заключение

В этой статье мы представили различные подходы к генерации данных с использованием дополнительных условий. Техники, такие как Stable Diffusion Inpainting, ControlNet и GLIGEN, предлагают впечатляющие возможности, которые могут значительно помочь в генерации данных для бизнес-проектов. Однако переобучение этих методов обычно требует времени и относительно большого количества данных.

“`

Полезные ссылки: