Архитектура нейронной сети Stable Diffusion (перевел с английского)

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Stable Diffusion - это модель преобразования текста в изображение с глубоким обучением, выпущенная в 2022 году на основе методов диффузии. В основном она используется для создания подробных изображений, основанных на текстовых описаниях, хотя ее также можно применять для других задач, таких как ввод, вывод изображения и генерация переводов от изображения к изображению с помощью текстовой подсказки. Нейронная сеть разработана исследователями из CompVis Group Мюнхенского университета Людвига Максимилиана при финансовой поддержке Stability AI на основе обучающих данных от некоммерческих организаций.

Stable Diffusion - это модель на основе скрытой диффузии, разновидность глубокой генерирующей искусственной нейронной сети. Ее код и весовые коэффициенты были получены с открытым исходным кодом, и она может работать на большинстве потребительских устройств, оснащенных скромным графическим процессором с объемом видеопамяти не менее 4 ГБ. Это ознаменовало отход от предыдущих проприетарных моделей преобразования текста в изображение, таких как DALE и Midjourney, которые были доступны только через облачные сервисы.

Нейронная сеть использует своего рода модель диффузии (DM), называемую моделью скрытой диффузии (LDM), разработанную CompVis group в Мюнхенском университете LMU. Представленные в 2015 году диффузионные модели обучаются с целью устранения последовательного применения гауссовского шума к обучающим изображениям, что можно рассматривать как последовательность автоэнкодеров, снижающих уровень шума. Stable Diffusion состоит из 3 частей: вариационного автоэнкодера (VAE), U-Net и дополнительного текстового кодера.

1. Кодер VAE сжимает изображение из пиксельного пространства в скрытое пространство меньшего размера, улавливая более фундаментальное семантическое значение изображения. Гауссовский шум итеративно применяется к сжатому скрытому представлению во время прямого распространения.

2. Блок U-Net, состоящий из магистрали ResNet, отключает выходные данные от прямого распространения в обратном направлении для получения скрытого представления.

3. Наконец, декодер VAE генерирует конечное изображение, преобразуя представление обратно в пиксельное пространство.

Шаг уменьшения шума может быть гибко обусловлен строкой текста, изображением или другим способом. Закодированные данные обработки передаются в U-сети для подавления шума с помощью механизма перекрестного внимания. Для обработки текста используется фиксированный, предварительно обученный текстовый кодировщик CLIP ViT-L/14 для преобразования текстовых подсказок в пространство для встраивания. Исследователи указывают на повышенную вычислительную эффективность для обучения и генерации в качестве преимущества LDMS.

Имея 860 миллионов параметров в U-Net и 123 миллиона в text encoder, Stable Diffusion считается относительно легкой нейросетью по стандартам 2022 года и, в отличие от других моделей диффузии, может работать на потребительских графических процессорах.

Stable Duffusion была обучена на парах изображений и подписей к ним, взятых из LAION-5B, общедоступного набора данных, полученного на основе общих данных сканирования, извлеченных из Интернета, где 5 миллиардов пар изображение-текст были классифицированы на основе языка и отфильтрованы в отдельные наборы данных по разрешению, прогнозируемой вероятности наличия водяного знака и прогнозируемым оценкам "эстетическая" (например, субъективное визуальное качество).

Набор больших данных был создан LAION, немецкой некоммерческой организацией, которая получает финансирование от Stability AI. Модель Stable Diffusion была обучена на трех подмножествах LAION-5B: laion2B-en, laion-high-resolution и laion-aesthetics v2 5+. Сторонний анализ обучающих данных модели выявил, что из меньшего подмножества из 12 миллионов изображений, полученных с первоначально использовался более широкий набор данных, примерно 47% выборки изображений было получено из 100 различных доменов, при этом Pinterest занимал 8,5% подмножества, за ним следовали такие веб-сайты, как WordPress, Blogspot, Flickr, DeviantArt и Викисклад. Расследование Bayerischer Rundfunk показало, что наборы данных LAION, размещенные на Hugging Face, содержат большое количество личных и конфиденциальных данных.

Первоначально модель была обучена на подмножествах laion2B-en и laion-high-resolution, а последние несколько раундов обучения были проведены на LAION-Aesthetics v2 5+, подмножестве из 600 миллионов изображений с подписями. Подмножество LAION-Aesthetics v2 5+ также исключало изображения с низким разрешением и изображения, которые LAION-5B-WatermarkDetection идентифицировал как содержащие водяной знак с вероятностью более 80%. Заключительные раунды обучения дополнительно сократили на 10% обработку текста, чтобы улучшить руководство по распространению без классификаторов.

Модель была обучена с использованием 256 графических процессоров Nvidia A100 в Amazon Web Services в общей сложности на 150 000 графических часов, что обошлось в $600,000.

Стабильное распространение имеет проблемы с ухудшением качества и неточностями в определенных сценариях. Первоначальные версии модели были обучены на наборе данных, состоящем из изображений с разрешением 512?512. Это означает, что качество генерируемых изображений заметно ухудшается, когда пользовательские спецификации отклоняются от "ожидаемого" разрешения 512?512.

Обновление версии модели Stable Diffusion до 2.0 позже добавило возможность изначально генерировать изображения с разрешением 768?768. Еще одна проблема заключается в создании человеческих конечностей из-за низкого качества данных о конечностях в базе данных LAION. Модель недостаточно обучена понимать человеческие конечности и лица из-за отсутствия репрезентативных признаков в базе данных, и запрос модели на создание изображений такого типа может сбить модель с толку. Более стабильная версия 1.0 Diffusion XL (SDXL), выпущенная в июле 2023 года, представила собственное разрешение 1024x1024 и улучшенную генерацию для конечностей и текста.

Доступность для отдельных разработчиков также может быть проблемой. Чтобы настроить модель для новых вариантов использования, которые не включены в набор данных, таких как генерация персонажей аниме ("распространение вайфу"), требуются новые данные и дальнейшее обучение. Тонко настроенные адаптации Stable Diffusion, созданные путем дополнительной переподготовки, использовались для множества различных вариантов использования, от медицинской визуализации до алгоритмически сгенерированной музыки. Однако этот процесс тонкой настройки чувствителен к качеству новых данных; изображения с низким разрешением или разрешения, отличные от исходных данных, могут не только не помочь в освоении новой задачи, но и снизить общую производительность модели. Даже если модель дополнительно обучена изображениям высокого качества, отдельным лицам трудно запускать модели в бытовой электронике. Например, для процесса обучения waifu-diffusion требуется минимум 30 ГБ видеопамяти, что превышает обычный ресурс, предоставляемый такими потребительскими графическими процессорами, как GeForce 30 серии от Nvidia, у которых всего около 12 ГБ.

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

Чтобы устранить ограничения первоначального обучения модели, конечные пользователи могут выбрать дополнительное обучение для точной настройки выходных данных генерации в соответствии с более конкретными вариантами использования; это процесс, также называемый персонализацией. Существует три метода, с помощью которых доступная пользователю тонкая настройка может быть применена:

1. "Встраивание" может быть обучено на основе коллекции предоставленных пользователем изображений и позволяет модели генерировать визуально похожие изображения всякий раз, когда в приглашении к генерации используется название встраивания. Встраивания основаны на концепции "текстовой инверсии", разработанной исследователями из Тель-Авивского университета в 2022 году при поддержке Nvidia, где векторные представления для определенных токенов, используемых текстовым кодировщиком модели, связаны с новыми псевдослов. Встраивания могут использоваться для уменьшения искажений в исходной модели или для имитации визуальных стилей.

2. "Гиперсеть" - это небольшая предварительно обученная нейронная сеть, которая применяется к различным точкам внутри более крупной нейронной сети и относится к технике, созданной разработчиком NovelAI Kurumuz в 2021 году, первоначально предназначенной для моделей-трансформеров для генерации текста. Гиперсети направляют результаты в определенном направлении, позволяя стабильным моделям, основанным на диффузии, имитировать художественный стиль конкретных художников, даже если оригинальная модель не распознает художника; они обрабатывают изображение, находя ключевые области, такие как волосы и глаза, а затем помещают эти области во вторичное скрытое пространство.

3. DreamBooth - это модель генерации глубокого обучения, разработанная исследователями из Google Research и Бостонского университета в 2022 году, которая может точно настраивать модель для создания точных, персонализированных выходных данных, отображающих конкретный предмет, после обучения с помощью набора изображений, которые изображают предмет.

Модель Stable Diffusion поддерживает возможность генерировать новые изображения с нуля с помощью текстовой подсказки, описывающей элементы, которые должны быть включены или опущены в выходные данные. Существующие изображения могут быть отрисованы моделью заново, чтобы включить новые элементы, описанные текстовой подсказкой (процесс, известный как "управляемый синтез изображений"), с помощью механизма рассеивания шума. Кроме того, модель также позволяет использовать подсказки для частичного изменения существующих изображений с помощью inpainting и outpainting, когда используется с соответствующим пользовательским интерфейсом, поддерживающим такие функции, из которых существует множество различных реализаций с открытым исходным кодом.

Рекомендуется запускать Stable Diffusion с 10 ГБ или более видеопамяти, однако пользователи с меньшим объемом видеопамяти могут выбрать загрузку весов с точностью float16 вместо float32 по умолчанию, чтобы обеспечить оптимальную производительность модели при меньшем использовании видеопамяти.

Сценарий преобразования текста в изображение в рамках Stable Diffusion, известный как "txt2img", использует текстовое приглашение в дополнение к различным параметрам параметров, охватывающим типы выборки, размеры выходного изображения и начальные значения. Сценарий выводит файл изображения на основе интерпретации запроса моделью. Сгенерированные изображения помечаются невидимым цифровым водяным знаком, позволяющим пользователям идентифицировать изображение как сгенерированное методом стабильного распространения, хотя этот водяной знак теряет свою эффективность, если размер изображения изменяется или поворачивается.

Каждая генерация txt2img будет включать определенное начальное значение, которое влияет на выходное изображение. Пользователи могут выбрать рандомизацию начального значения, чтобы исследовать различные сгенерированные выходные данные, или использовать одно и то же начальное значение для получения того же выходного изображения, что и ранее сгенерированное изображение. Пользователи также могут регулировать количество шагов вывода для сэмплера; более высокое значение занимает больше времени, однако меньшее значение может привести к визуальным дефектам. Другая настраиваемая опция, значение шкалы наведения без классификатора, позволяет пользователю регулировать, насколько точно выходное изображение соответствует подсказке. В более экспериментальных вариантах использования может быть выбрано меньшее значение шкалы, в то время как в вариантах использования, нацеленных на более конкретные результаты, может использоваться более высокое значение.

Дополнительные функции text2img предоставляются интерфейсными реализациями Stable Diffusion, которые позволяют пользователям изменять значение, придаваемое определенным частям текстового запроса. Маркеры выделения позволяют пользователям добавлять или уменьшать выделение ключевых слов, заключая их в квадратные скобки. Альтернативным методом корректировки веса частей подсказки являются "отрицательные подсказки". Отрицательные подсказки - это функция, включенная в некоторые интерфейсные реализации, включая собственный облачный сервис DreamStudio от Stability AI, и позволяющая пользователю указывать подсказки, которых модели следует избегать при генерации изображений. Указанные подсказки могут быть нежелательными элементами изображения, которые в противном случае присутствовали бы в выходных данных изображения из-за положительных подсказок, предоставленных пользователем, или из-за того, как изначально была обучена модель, распространенным примером чего являются искалеченные человеческие руки.

Stable Diffusion также включает в себя другой сценарий выборки, "img2img", который использует текстовое приглашение, путь к существующему изображению и значение силы между 0.0 и 1.0. Сценарий выводит новое изображение на основе исходного изображения, которое также содержит элементы, указанные в текстовом приглашении. Значение интенсивности обозначает количество шума, добавленного к выходному изображению. Более высокое значение интенсивности приводит к большему изменению изображения, но может привести к получению изображения, семантически не соответствующего предоставленной подсказке.

Способность img2img добавлять шум к исходному изображению делает его потенциально полезным для анонимизации и увеличения объема данных, при котором визуальные характеристики данных изображения изменяются и анонимизируются. Тот же процесс также может быть полезен для увеличения масштаба изображения, при котором разрешение изображения увеличивается, и к изображению потенциально добавляется больше деталей. Кроме того, в качестве инструмента сжатия изображений были проведены эксперименты со стабильной диффузией. По сравнению с JPEG и WebP, последние методы, используемые для сжатия изображений в режиме стабильной диффузии, сталкиваются с ограничениями в сохранении мелкого текста и лиц.

Дополнительные варианты использования для модификации изображений с помощью img2img предлагаются многочисленными интерфейсными реализациями Stable Diffusion. Рисование включает выборочное изменение части существующего изображения, очерченной предоставленной пользователем маской слоя, которая заполняет замаскированное пространство вновь сгенерированным содержимым на основе предоставленного запроса. Специальная модель, настроенная для сценариев использования inpainting, была создана Stability AI одновременно с выпуском Stable Diffusion 2.0. И наоборот, outpainting расширяет изображение за пределы его первоначальных размеров, заполняя ранее пустое пространство контентом, сгенерированным на основе предоставленной подсказки.

Модель, ориентированная на глубину, названная "depth2img", была представлена с выпуском стабильной версии Diffusion 2.0 от 24 ноября 2022 года; эта модель определяет глубину предоставленного входного изображения и генерирует новое выходное изображение на основе как текстовой подсказки, так и информации о глубине, что обеспечивает согласованность и глубину исходного входного изображения, которое будет сохранено в сгенерированном выходном изображении.


Источник: vk.com

Комментарии: