Stable Diffusion — это модель глубокого обучения , преобразования текста в изображение , выпущенная в 2022 году на основе методов диффузии . Технология генеративного искусственного интеллекта является ведущим продуктом Stability AI и считается частью продолжающегося бума искусственного интеллекта .
В первую очередь он используется для создания подробных изображений на основе текстовых описаний, хотя его можно применять и для других задач, таких как закрашивание , закрашивание и создание переводов изображений с помощью текстовой подсказки . [3] В его разработке принимали участие исследователи из CompVis Group в Мюнхенском университете Людвига-Максимилиана и Runway с вычислительным пожертвованием от Stability и учебными данными от некоммерческих организаций. [4] [5] [6] [7]
Stable Diffusion — это модель скрытой диффузии , своего рода глубокая генеративная искусственная нейронная сеть . Ее код и веса модели были опубликованы публично , [8] и она может работать на большинстве потребительских аппаратных средств, оснащенных скромным графическим процессором с не менее чем 4 ГБ видеопамяти . Это ознаменовало отход от предыдущих фирменных моделей преобразования текста в изображение, таких как DALL-E и Midjourney , которые были доступны только через облачные сервисы . [9] [10]
Stable Diffusion возникла из проекта Latent Diffusion , [ 11] разработанного в Германии исследователями из Мюнхенского университета Людвига Максимилиана и Гейдельбергского университета . Четверо из первоначальных 5 авторов (Робин Ромбах, Андреас Блаттманн, Патрик Эссер и Доминик Лоренц) позже присоединились к Stability AI и выпустили последующие версии Stable Diffusion. [12]
Техническая лицензия на модель была выпущена группой CompVis в Мюнхенском университете Людвига-Максимилиана. [10] Разработкой руководили Патрик Эссер из Runway и Робин Ромбах из CompVis, которые были среди исследователей, ранее изобретших архитектуру модели скрытой диффузии, используемую Stable Diffusion. [7] Stability AI также отметила EleutherAI и LAION (немецкая некоммерческая организация, которая собрала набор данных, на котором обучалась Stable Diffusion) как спонсоров проекта. [7]
Модели в серии Stable Diffusion до SD 3 все использовали своего рода модель диффузии (DM), называемую моделью скрытой диффузии (LDM) , разработанную группой CompVis (Computer Vision & Learning) [13] в LMU Munich . [14] [8] Представленные в 2015 году модели диффузии обучаются с целью удаления последовательных применений гауссовского шума на обучающих изображениях, которые можно рассматривать как последовательность шумоподавляющих автокодировщиков . Stable Diffusion состоит из 3 частей: вариационного автокодировщика (VAE), U-Net и необязательного текстового кодировщика. [15] Кодер VAE сжимает изображение из пиксельного пространства в меньшее размерное скрытое пространство , захватывая более фундаментальное семантическое значение изображения. [14] Гауссовский шум итеративно применяется к сжатому скрытому представлению во время прямой диффузии. [15] Блок U-Net, состоящий из ResNet backbone, шумоподавляет выход из прямой диффузии назад, чтобы получить скрытое представление. Наконец, декодер VAE генерирует окончательное изображение, преобразуя представление обратно в пиксельное пространство. [15]
Шаг шумоподавления может быть гибко обусловлен строкой текста, изображением или другой модальностью. Закодированные данные обусловливания подвергаются шумоподавляющим U-сетям через механизм перекрестного внимания . [15] Для обусловливания текста используется фиксированный, предварительно обученный текстовый кодер CLIP ViT-L/14 для преобразования текстовых подсказок в пространство внедрения. [8] Исследователи указывают на повышенную вычислительную эффективность для обучения и генерации как на преимущество LDM. [7] [14]
Название «диффузия» происходит от термодинамической диффузии , и в 2015 году была установлена важная связь между этой чисто физической областью и глубоким обучением. [16] [17]
Имея 860 миллионов параметров в U-Net и 123 миллиона в текстовом кодировщике, Stable Diffusion считается относительно легковесным по стандартам 2022 года и, в отличие от других моделей диффузии, может работать на потребительских графических процессорах [18] и даже на центральных процессорах — только при использовании версии OpenVINO Stable Diffusion. [19]
Версия XL использует ту же архитектуру LDM, что и предыдущие версии, [20] за исключением большего размера: большая магистральная сеть UNet, больший контекст перекрестного внимания, два текстовых кодировщика вместо одного и обучена на нескольких соотношениях сторон (а не только на квадратном соотношении сторон, как в предыдущих версиях).
SD XL Refiner, выпущенный в то же время, имеет ту же архитектуру, что и SD XL, но он был обучен добавлять мелкие детали к уже существующим изображениям с помощью текстово-условного img2img.
Версия 3.0 [21] полностью меняет магистральную сеть. Не UNet, а Rectified Flow Transformer , который реализует метод выпрямленного потока [22] [23] с помощью Transformer .
Архитектура Transformer, используемая для SD 3.0, имеет три «дорожки»: для кодирования исходного текста, кодирования преобразованного текста и кодирования изображения (в скрытом пространстве). Кодирование преобразованного текста и кодирование изображения смешиваются в каждом блоке transformer.
Архитектура называется «мультимодальный диффузионный трансформатор» (MMDiT), где «мультимодальный» означает, что он смешивает кодировки текста и изображения внутри своих операций. Это отличается от предыдущих версий DiT, где кодировка текста влияет на кодировку изображения, но не наоборот.
Stable Diffusion обучалась на парах изображений и подписей, взятых из LAION-5B, общедоступного набора данных, полученного из данных Common Crawl , извлеченных из Интернета, где 5 миллиардов пар изображение-текст были классифицированы на основе языка и отфильтрованы в отдельные наборы данных по разрешению, прогнозируемой вероятности содержания водяного знака и прогнозируемой «эстетической» оценке (например, субъективное визуальное качество). [24] Набор данных был создан LAION , немецкой некоммерческой организацией, которая получает финансирование от Stability AI. [24] [25] Модель Stable Diffusion обучалась на трех подмножествах LAION-5B: laion2B-en, laion-high-resolution и laion-aesthetics v2 5+. [24] Сторонний анализ данных обучения модели выявил, что из меньшего подмножества в 12 миллионов изображений, взятых из исходного более широкого набора данных, примерно 47% размера выборки изображений поступило из 100 различных доменов, при этом Pinterest занимает 8,5% подмножества, за которым следуют такие веб-сайты, как WordPress , Blogspot , Flickr , DeviantArt и Wikimedia Commons . [ необходима ссылка ] Расследование Bayerischer Rundfunk показало, что наборы данных LAION, размещенные на Hugging Face, содержат большие объемы личных и конфиденциальных данных. [26]
Первоначально модель обучалась на подмножествах laion2B-en и laion-high-resolution, а последние несколько раундов обучения проводились на LAION-Aesthetics v2 5+, подмножестве из 600 миллионов изображений с подписями, которые, по прогнозам LAION-Aesthetics Predictor V2, в среднем давали бы оценку не менее 5 из 10, когда их просили оценить, насколько они им нравятся. [27] [24] [28] Подмножество LAION-Aesthetics v2 5+ также исключало изображения с низким разрешением и изображения, которые LAION-5B-WatermarkDetection идентифицировал как несущие водяной знак с вероятностью более 80%. [24] Заключительные раунды обучения дополнительно исключали 10% обусловленности текста для улучшения руководства по диффузии без классификатора. [29]
Модель была обучена с использованием 256 графических процессоров Nvidia A100 на Amazon Web Services в общей сложности в течение 150 000 часов работы графических процессоров, что обошлось в 600 000 долларов США. [30] [31] [32]
Обучение SD3 обошлось примерно в 10 миллионов долларов. [33]
Stable Diffusion имеет проблемы с деградацией и неточностями в определенных сценариях. Первоначальные выпуски модели были обучены на наборе данных, состоящем из изображений с разрешением 512×512, что означает, что качество сгенерированных изображений заметно ухудшается, когда пользовательские спецификации отклоняются от его «ожидаемого» разрешения 512×512; [34] обновление версии 2.0 модели Stable Diffusion позже представило возможность изначально генерировать изображения с разрешением 768×768. [35] Другая проблема заключается в генерации человеческих конечностей из-за низкого качества данных о конечностях в базе данных LAION. [36] Модель недостаточно обучена для понимания человеческих конечностей и лиц из-за отсутствия репрезентативных признаков в базе данных, и побуждение модели генерировать изображения такого типа может запутать модель. [37] Stable Diffusion XL (SDXL) версии 1.0, выпущенная в июле 2023 года, представила собственное разрешение 1024x1024 и улучшенную генерацию конечностей и текста. [38] [39]
Доступность для отдельных разработчиков также может быть проблемой. Чтобы настроить модель для новых вариантов использования, которые не включены в набор данных, таких как создание персонажей аниме («вайфу-диффузия»), [40] требуются новые данные и дополнительное обучение. Тонко настроенные адаптации Stable Diffusion, созданные путем дополнительного переобучения, использовались для множества различных вариантов использования, от медицинской визуализации [41] до алгоритмически сгенерированной музыки . [42] Однако этот процесс тонкой настройки чувствителен к качеству новых данных; изображения с низким разрешением или другие разрешения от исходных данных могут не только не обучить новую задачу, но и ухудшить общую производительность модели. Даже когда модель дополнительно обучена на высококачественных изображениях, отдельным лицам сложно запускать модели в потребительской электронике. Например, процесс обучения для waifu-diffusion требует минимум 30 ГБ видеопамяти , [43] что превышает обычный ресурс, предоставляемый в таких потребительских графических процессорах, как серия GeForce 30 от Nvidia , которая имеет всего около 12 ГБ. [44]
Создатели Stable Diffusion признают потенциал для алгоритмической предвзятости , поскольку модель в первую очередь обучалась на изображениях с описаниями на английском языке. [31] В результате сгенерированные изображения усиливают социальные предвзятости и исходят из западной точки зрения, поскольку создатели отмечают, что в модели отсутствуют данные из других сообществ и культур. Модель дает более точные результаты для подсказок, написанных на английском языке, по сравнению с теми, которые написаны на других языках, при этом западная или белая культура часто является представлением по умолчанию. [31]
Чтобы устранить ограничения первоначального обучения модели, конечные пользователи могут выбрать реализацию дополнительного обучения для тонкой настройки выходных данных генерации в соответствии с более конкретными вариантами использования, процесс также называется персонализацией . Существует три метода, с помощью которых доступная пользователю тонкая настройка может быть применена к контрольной точке модели Stable Diffusion:
Модель Stable Diffusion поддерживает возможность генерировать новые изображения с нуля с помощью текстовой подсказки, описывающей элементы, которые следует включить или исключить из вывода. [8] Существующие изображения могут быть перерисованы моделью для включения новых элементов, описанных текстовой подсказкой (процесс, известный как «управляемый синтез изображений» [49] ), с помощью ее механизма шумоподавления диффузии. [8] Кроме того, модель также позволяет использовать подсказки для частичного изменения существующих изображений с помощью закрашивания и закрашивания при использовании с соответствующим пользовательским интерфейсом, который поддерживает такие функции, для которых существует множество различных реализаций с открытым исходным кодом. [50]
Рекомендуется запускать Stable Diffusion с 10 ГБ или более видеопамяти, однако пользователи с меньшим объемом видеопамяти могут выбрать загрузку весов с точностью float16 вместо float32 по умолчанию , чтобы обеспечить производительность модели за счет меньшего использования видеопамяти. [34]
Скрипт выборки текста в изображение в Stable Diffusion, известный как «txt2img», использует текстовую подсказку в дополнение к различным параметрам опций, охватывающим типы выборки, размеры выходного изображения и начальные значения. Скрипт выводит файл изображения на основе интерпретации подсказки моделью. [8] Сгенерированные изображения помечаются невидимым цифровым водяным знаком , чтобы пользователи могли идентифицировать изображение как сгенерированное Stable Diffusion, [8] хотя этот водяной знак теряет свою эффективность, если изображение изменяется в размере или поворачивается. [51]
Каждое поколение txt2img будет включать определенное начальное значение , которое влияет на выходное изображение. Пользователи могут выбрать рандомизацию начального значения, чтобы исследовать различные сгенерированные выходные данные, или использовать то же начальное значение, чтобы получить тот же выходной файл изображения, что и ранее сгенерированное изображение. [34] Пользователи также могут настроить количество шагов вывода для сэмплера; более высокое значение занимает больше времени, однако меньшее значение может привести к визуальным дефектам. [34] Другой настраиваемый параметр, значение шкалы руководства без классификатора, позволяет пользователю настроить, насколько близко выходное изображение соответствует подсказке. [29] Более экспериментальные варианты использования могут выбрать более низкое значение шкалы, в то время как варианты использования, нацеленные на более конкретные выходные данные, могут использовать более высокое значение. [34]
Дополнительные функции text2img предоставляются реализациями интерфейса Stable Diffusion, которые позволяют пользователям изменять вес, заданный определенным частям текстовой подсказки. Маркеры выделения позволяют пользователям добавлять или уменьшать акцент на ключевых словах, заключая их в скобки. [52] Альтернативным методом корректировки веса частей подсказки являются «отрицательные подсказки». Отрицательные подсказки — это функция, включенная в некоторые реализации интерфейса, включая собственный облачный сервис DreamStudio от Stability AI, и позволяющая пользователю указывать подсказки, которых модель должна избегать во время генерации изображения. Указанные подсказки могут быть нежелательными особенностями изображения, которые в противном случае присутствовали бы в выходных данных изображения из-за положительных подсказок, предоставленных пользователем, или из-за того, как изначально обучалась модель, при этом искалеченные человеческие руки являются распространенным примером. [50] [53]
Stable Diffusion также включает в себя другой скрипт выборки, «img2img», который использует текстовую подсказку, путь к существующему изображению и значение силы между 0,0 и 1,0. Скрипт выводит новое изображение на основе исходного изображения, которое также содержит элементы, предоставленные в текстовой подсказке. Значение силы обозначает количество шума, добавленного к выходному изображению. Более высокое значение силы создает больше вариаций в изображении, но может создать изображение, которое семантически не соответствует предоставленной подсказке. [8]
Существуют различные методы выполнения img2img. Основной метод — SDEdit, [54], который сначала добавляет шум к изображению, а затем шумоподавляет его, как обычно в text2img.
Способность img2img добавлять шум к исходному изображению делает его потенциально полезным для анонимизации и дополнения данных , при которых визуальные характеристики данных изображения изменяются и анонимизируются. [55] Тот же процесс может быть полезен для масштабирования изображений, при котором разрешение изображения увеличивается, и к изображению потенциально добавляется больше деталей. [55] Кроме того, Stable Diffusion экспериментировался как инструмент для сжатия изображений. По сравнению с JPEG и WebP , последние методы, используемые для сжатия изображений в Stable Diffusion, сталкиваются с ограничениями в сохранении мелкого текста и лиц. [56]
Дополнительные варианты использования для модификации изображений через img2img предлагаются многочисленными реализациями интерфейса модели Stable Diffusion. Inpainting подразумевает выборочное изменение части существующего изображения, обозначенной предоставленной пользователем маской слоя , которая заполняет замаскированное пространство новым сгенерированным содержимым на основе предоставленной подсказки. [50] Специальная модель, специально настроенная для вариантов использования inpainting, была создана Stability AI вместе с выпуском Stable Diffusion 2.0. [35] И наоборот, outpainting расширяет изображение за пределы его исходных размеров, заполняя ранее пустое пространство содержимым, сгенерированным на основе предоставленной подсказки. [50]
Модель с управлением глубиной, названная «depth2img», была представлена с выпуском Stable Diffusion 2.0 24 ноября 2022 года; эта модель определяет глубину предоставленного входного изображения и генерирует новое выходное изображение на основе как текстовой подсказки, так и информации о глубине, что позволяет поддерживать согласованность и глубину исходного входного изображения в сгенерированном выходе. [35]
ControlNet [57] — это архитектура нейронной сети, разработанная для управления моделями диффузии путем включения дополнительных условий. Она дублирует веса блоков нейронной сети в «заблокированную» копию и «обучаемую» копию. «Обучаемая» копия изучает желаемое условие, в то время как «заблокированная» копия сохраняет исходную модель. Такой подход гарантирует, что обучение с небольшими наборами данных пар изображений не ставит под угрозу целостность готовых к производству моделей диффузии. «Нулевая свертка» — это свертка 1×1, в которой и вес, и смещение инициализированы нулем. Перед обучением все нулевые свертки производят нулевой вывод, предотвращая любые искажения, вызванные ControlNet. Ни один слой не обучается с нуля; процесс все еще является тонкой настройкой, сохраняя исходную модель в безопасности. Этот метод позволяет проводить обучение на небольших или даже персональных устройствах.
Stability предоставляет онлайн-сервис генерации изображений под названием DreamStudio . [58] [59] Компания также выпустила версию DreamStudio с открытым исходным кодом под названием StableStudio . [60] [61] В дополнение к интерфейсам Stability существует множество сторонних интерфейсов с открытым исходным кодом, таких как AUTOMATIC1111 Stable Diffusion Web UI , который является самым популярным и предлагает дополнительные функции, [62] Fooocus , который направлен на уменьшение количества подсказок, необходимых пользователю, [63] и ComfyUI , который имеет основанный на узлах пользовательский интерфейс, по сути визуальный язык программирования , родственный многим приложениям для 3D-моделирования . [64] [65] [66]
Ключевые документы
Стоимость обучения
Stable Diffusion не претендует на какие-либо права на сгенерированные изображения и свободно предоставляет пользователям права использования любых сгенерированных изображений из модели при условии, что содержимое изображения не является незаконным или вредным для отдельных лиц. [81]
Изображения, на которых обучался Stable Diffusion, были отфильтрованы без участия человека, что привело к появлению в обучающих данных некоторых вредоносных изображений и большого количества личной и конфиденциальной информации. [26]
Более традиционные визуальные художники выразили обеспокоенность тем, что широкое использование программного обеспечения для синтеза изображений, такого как Stable Diffusion, может в конечном итоге привести к тому, что художники-люди, а также фотографы, модели, операторы и актеры постепенно потеряют коммерческую жизнеспособность по сравнению с конкурентами, работающими на основе искусственного интеллекта. [82]
Stable Diffusion заметно более терпима в типах контента, который могут генерировать пользователи, например, жестокие или откровенно сексуальные изображения, по сравнению с другими коммерческими продуктами на основе генеративного ИИ. [83] Отвечая на опасения, что модель может быть использована в оскорбительных целях, генеральный директор Stability AI Эмад Мостак утверждает, что «люди несут ответственность за то, являются ли они этичными, моральными и законными в том, как они используют эту технологию», [10] и что передача возможностей Stable Diffusion в руки общественности приведет к тому, что технология обеспечит чистую выгоду, несмотря на потенциальные негативные последствия. [10] Кроме того, Мостак утверждает, что намерение открытой доступности Stable Diffusion состоит в том, чтобы положить конец корпоративному контролю и доминированию над такими технологиями, которые ранее разрабатывали только закрытые системы ИИ для синтеза изображений. [10] [83] Это отражается в том факте, что любые ограничения, которые Stability AI накладывает на контент, который могут генерировать пользователи, можно легко обойти из-за доступности исходного кода. [84]
Споры вокруг фотореалистичных сексуализированных изображений несовершеннолетних персонажей возникли из-за того, что такие изображения, созданные Stable Diffusion, были размещены на таких сайтах, как Pixiv . [85]
В июне 2024 года произошел взлом расширения ComfyUI , пользовательского интерфейса для Stable Diffusion, при этом хакеры заявили, что их целью были пользователи, совершившие «один из наших грехов», в том числе генерация произведений искусства с помощью искусственного интеллекта, кража произведений искусства и продвижение криптовалюты. [86]
В январе 2023 года три художника, Сара Андерсен , Келли МакКернан и Карла Ортис, подали иск о нарушении авторских прав против Stability AI, Midjourney и DeviantArt , утверждая, что эти компании нарушили права миллионов художников, обучая инструменты ИИ на пяти миллиардах изображений, извлеченных из Интернета без согласия оригинальных художников. [87]
В июле 2023 года окружной судья США Уильям Оррик склонился к отклонению большей части иска, поданного Андерсеном, МакКернаном и Ортисом, но разрешил им подать новую жалобу, предоставив им возможность переформулировать свои аргументы. [88]
В январе 2023 года Getty Images инициировала судебное разбирательство против Stability AI в Высоком суде Англии, заявив о существенном нарушении своих прав интеллектуальной собственности. Getty Images утверждает, что Stability AI «стащила» миллионы изображений с веб-сайтов Getty без согласия и использовала эти изображения для обучения и разработки своей модели Stable Diffusion с глубоким обучением. [89] [90]
Ключевые пункты иска включают в себя:
Ожидается, что судебный процесс состоится летом 2025 года и будет иметь серьезные последствия для законодательства Великобритании об авторском праве и лицензировании контента, созданного с помощью искусственного интеллекта.
В отличие от моделей типа DALL-E , Stable Diffusion делает свой исходный код доступным , [93] [8] вместе с моделью (предварительно обученными весами). До Stable Diffusion 3 он применял лицензию Creative ML OpenRAIL-M, форму Responsible AI License (RAIL), к модели (M). [94] Лицензия запрещает определенные случаи использования, включая преступления, клевету , преследование , доксинг , « эксплуатацию ... несовершеннолетних », предоставление медицинских консультаций, автоматическое создание юридических обязательств, предоставление юридических доказательств и «дискриминацию или причинение вреда отдельным лицам или группам на основе ... социального поведения или ... личных или личностных характеристик ... [или] юридически защищенных характеристик или категорий ». [95] [96] Пользователь владеет правами на сгенерированные им выходные изображения и может свободно использовать их в коммерческих целях. [97]
Stable Diffusion 3.5 применяет разрешительную лицензию Stability AI Community License, в то время как коммерческим предприятиям с доходом свыше 1 миллиона долларов нужна лицензия Stability AI Enterprise License. [98] Как и в случае с лицензией OpenRAIL-M, пользователь сохраняет права на свои сгенерированные выходные изображения и может свободно использовать их в коммерческих целях. [78]
{{cite arXiv}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )Группа активистов CCDH протестировала четыре крупнейшие общедоступные платформы ИИ: Midjourney, ChatGPT Plus от OpenAI, DreamStudio от Stability.ai и Image Creator от Microsoft.