Созданная проектировщиками и инженерами из Stability AI, CompVis и LAION, "Stable Diffusion" отбирает право на обладание титулом новой современной модели преобразования текста в изображение с открытым исходным кодом у Craiyon, ранее известного как DALL-E-Mini. Хотя генерирование изображений из текста уже воспринимается как древняя технология, Stable Diffusion сумела привнести инновации, и это ещё более удивительно, учитывая, что это проект с открытым исходным кодом. Давайте углубимся в детали и узнаем, что Stable Diffusion припасла для научного сообщества! Stable Diffusion — это имплементация архитектуры Latent Diffusion с открытым исходным кодом, обученная проводить денойзинг случайного гауссовского шума в латентном (скрытом) пространстве более низкой размерности, чтобы получить интересующую нас выборку. Диффузионные (Diffusion) модели обучаются предсказывать способ незначительного удаления шума из образца на каждом шаге, и после нескольких итераций получается результат. Диффузионные модели уже применялись для решения различных задач генерации, таких как синтез изображений, речи, трехмерных форм и графов. Диффузные модели состоят из двух этапов: Прямая диффузия (Forward Diffusion) — маппирование данных с шумом путем постепенного внесения помех в исходную информацию. Формально это достигается простым стохастическим (случайным) процессом, который начинается с исходного образца и итеративно генерирует зашумленные экземпляры, используя простое гауссово ядро диффузии. Этот процесс используется только во время обучения, и при выводе не применяется. Параметризованный реверс — откатывает назад прямую диффузию и осуществляет процесс итеративного денойзинга. Он представляет из себя синтез данных и обучен генерировать информацию путем преобразования случайного шума в реалистичные данные. Прямой и обратный (реверсивный) процессы требуют последовательного повторения тысяч шагов, внесения и уменьшения шума, что делает весь процесс медленным и тяжелым для вычислительных ресурсов. Чтобы обеспечить возможность обучения на ограниченных ресурсах при сохранении качества и гибкости, создатели Stable Diffusion применили метод, описанный в статье. Вместо использования фактического пиксельного пространства, они применили процесс диффузии над латентной областью более низкой размерности. Например, автокодер, используемый в Stable Diffusion, имеет коэффициент редукции (уменьшения)  8. Это означает, что изображение формы (3, 512, 512) становится (3, 64, 64) в латентном пространстве, что требует в 8 × 8 = 64 раза меньше памяти. официальные примечания к релизу "Stable Diffusion" Архитектура Stable Diffusion состоит из трех основных компонентов, два из которых предназначены для редукции образца в латентное пространство более низкой размерности и последующего денойзинга от случайного гауссовского шума, а один - для обработки текста. 1) Автоэнкодер: На входе модели — случайный шум с желаемым значением размера выходного сигнала. Сначала образец редуцируется в латентное пространство до меньшего размера. Для этого авторы использовали архитектуру VAE, состоящую из двух частей — кодера и декодера. Кодер используется во время обучения для конвертации образца в уменьшенное латентное представление и передает его в качестве входа в следующий блок. При выводе, прошедшие денойзинг сгенерированные образцы подвергаются обратной диффузии и трансформируются обратно в свои начальные размеры латентного пространства. 2) U-Net: Блок U-Net, состоящий из ResNet, получает зашумленный образец в латентном пространстве, сжимает его, а затем декодирует обратно с меньшим уровнем шума. Примерно вычисленный остаток шума на выходе U-Net используется для построения ожидаемого представления зашумленного образца.  3) Кодировщик текста: Кодировщик текста отвечает за его обработку, преобразуя запрос (prompt) в место для встраивания. Подобно Imagen от Google, Stable Diffusion использует "замороженный" текстовый кодировщик CLIP ViT-L/14. Stable Diffusion v1 была предварительно обучена на изображениях 256x256, а затем отлажена на 512x512, все из подмножества базы данных LAION-5B. Для диффузионной модели использовался автоэнкодер с понижающим коэффициентом 8, UNet 860M и текстовый кодер CLIP ViT-L/14. Stable Diffusion достаточно легковесная и работает на GPU с 10 ГБ VRAM, и даже меньше если использовать точность float16 вместо float32 по умолчанию. В настоящее время команда опубликовала следующие контрольные точки: sd-v1-1.ckpt: 237 тыс. шагов при разрешении 256x256 на laion2B-en. 194 тыс. шагов при разрешении 512x512 на laion-high-resolution (170 млн. примеров из LAION-5B с разрешением >= 1024x1024). sd-v1-2.ckpt: Продолжен с sd-v1-1.ckpt. 515 тыс. шагов при разрешении 512x512 на laion-aesthetics v2 5+ (сабсет laion2B-en с оценкой эстетики > 5.0, и дополнительно отфильтрованы изображения с оригинальным размером >= 512x512, и предполагаемой оценкой вотермарка < 0.5. Оценка вотермарка получена из метаданных LAION-5B, оценка эстетики - с помощью LAION-Aesthetics Predictor V2). sd-v1-3.ckpt: Продолжено с sd-v1-2.ckpt. 195 тыс. шагов при разрешении 512x512 на "laion-aesthetics v2 5+" и 10% уменьшение обработки текста для улучшения выборки руководства без использования классификатора. sd-v1-4.ckpt: Возобновлено с sd-v1-2.ckpt. 225 тыс. шагов при разрешении 512x512 на "laion-aesthetics v2 5+" и 10% уменьшение обработки текста для улучшения выборки руководства без использования классификатора. Из официального GitHub-репозитория Stable Diffusion Для оценки качества изображений, созданных с помощью генеративных моделей, принято использовать метрику дискретное расстояние Фреше (FID). В двух словах, FID вычисляет величину отклонения между векторами признаков реальных и сгенерированных изображений. На бенчмарке COCO Imagen в настоящее время достиг наилучшего (наименьшего) показателя FID для zero-shot - 7,27, опередив DALL-E 2 с показателем FID 10,39. Команда Stable Diffusion не опубликовала никаких эталонных результатов для сравнения с другими моделями. Из оригинальной статьи Latent Diffusion (см. ниже), модель Latent Diffusion (LDM) достигла результата 12.63 FID, используя набор данных MS-COCO размером 56 × 256: с 250-ступенчатым DDIM. Самое лучшее в моделях по преобразованию текста в изображение, это то, что мы можем легко оценить качество их работы. Давайте посмотрим, как Stable Diffusion работает по сравнению с проприетарной моделью SOTA, DALL-E 2. Бостон-терьер с хвостом русалки, на дне океана, драматический, цифровой арт. Бостон-терьер джедай, держащий темно-зеленый световой меч, фотореалистично Я не могу не восхищаться результатами, которые дают эти модели, они просто поражают воображение. Будущее наступило! Из результатов видно, что DALL-E-2 удается понять и создать изображения, которые больше соответствуют запросу, в то время как Stable Diffusion испытывает трудности. Например, собака стоит на рыбе вместо того, чтобы иметь хвост. Однако качество изображения, цвет, освещение и стиль впечатляют. Но как хорошие специалисты по анализу данных, мы хотели бы сравнить яблоки с яблоками (т.е. эквивалентные вещи). Давайте сравним Stable Diffusion с опенсорсным проектом Craiyon. Ботан-терьер в очках за компьютером пишет код в стиле аниме Как мы сразу видим, Stable Diffusion создает гораздо более реалистичные изображения, в то время как Craiyon пытается выправить морду собаки. За короткое время своего существования Stable Diffusion вызвала много споров. В отличие от DALL-E 2, Stable Diffusion имеет очень мало ограничений на контент, который она может генерировать. После ее выхода пользователи тестировали ограничения, генерируя фото людей по имени, порнографические рисунки и копии, подозрительно напоминающие работы художников, которые не давали согласия на использование своих материалов. Все это вызвало бурные обсуждения в Twitter и Reddit, где люди призывали остановить проект из-за вопросов безопасности. На момент написания этой статьи в блоге, Twitter решил заблокировать аккаунт проекта, а модель, размещенная на HugginFace Space, была ограничена в отношении контента, который она может генерировать, под названием "Safety Classifier", который предназначен для удаления NSFW изображений. Stable Diffusion — один из самых интересных проектов OSDS за последнее время. Он обеспечивает самые современные результаты и значительное улучшение по всем параметрам в сравнении с предыдущими моделями OS для преобразования текста в изображение. Не терпится узнать, какие перспективы ожидают эту область, но при этом хочу выразить беспокойство о последствиях. Ресурсы Примечания к выпуску Stable Diffusion GitHub репозиторий Stable Diffusion Доклад "Синтез изображений высокого разрешения с использованием моделей Latent Diffusion" Улучшение диффузионных моделей как альтернатива GANs Скоро состоится открытое занятие «Сверточные нейронные сети», на котором мы: - Рассмотрим сверточную нейронную сеть;- Рассмотрим свертку, деконволюцию, субдискретизацию;- Dropout и BatchNorm для сверток.  ]Регистрация на мепроприятие по ссылке.  Редактор