Нейросеть Kandinsky 2.1 · генерация изображений по тексту

Kandinsky 2.1 ( версия на данный момент) предоставляет уникальный способ создания изображений с помощью текстовых описаний на любом из 101 языков или их комбинаций. Также возможно дополнять неполные изображения и формировать картины на основе эскизов.
Система Kandinsky 2.1 основана на диффузионных моделях с условием. Основной принцип заключается в поэтапном воссоздании изображения из шума, двигаясь в направлении максимизации вероятности для реальных изображений. Нейронная сеть UNet предсказывает степень движения на каждом обратном шаге диффузии. Условие на текст достигается путем добавления слоев внимания в архитектуру UNet. Отметим, что обучение UNet проводилось в латентном пространстве сети KL-AE, а не непосредственно в пространстве изображений.
Обучение Kandinsky 2.1 проходило в три этапа:
- Предварительное обучение на изображениях размером 256×256
- Обучение на изображениях размером 512×512
- Обучение на сильно отфильтрованных данных (100M) с разрешением 512×512
Для решения задач дополнения (inpainting) и продолжения (outpainting) изображений использовались дополнительные случайные маски.
Модель имеет 2 миллиарда параметров, что позволяет развертывать ее на стандартной GPU. Высокая скорость вывода обеспечивается за счет того, что текстовые векторы могут быть вычислены отдельно на CPU.