Stable Diffusion — это модель глубокого обучения преобразования текста в изображение, выпущенная в 2022 году и основанная на методах диффузии . Это считается частью продолжающейся весны ИИ .
В основном он используется для создания подробных изображений на основе текстовых описаний, хотя его также можно применять и для других задач, таких как закрашивание , закрашивание и создание переводов между изображениями под управлением текстовой подсказки . [3] В его разработке участвовали исследователи из группы CompVis в Мюнхенском университете Людвига-Максимилиана и Runway при вычислительном пожертвовании Stability AI и обучающих данных от некоммерческих организаций. [4] [5] [6] [7]
Стабильная диффузия — это модель скрытой диффузии , своего рода глубокая генеративная искусственная нейронная сеть . Его код и вес модели были открыты [8] , и он может работать на большинстве потребительских устройств, оснащенных скромным графическим процессором с объемом видеопамяти не менее 4 ГБ . Это ознаменовало отход от предыдущих проприетарных моделей преобразования текста в изображение, таких как DALL-E и Midjourney , которые были доступны только через облачные сервисы . [9] [10]
Разработку Stable Diffusion финансировала и формировала стартап-компания Stability AI . [10] [11] [12] [13] Техническая лицензия на модель была выпущена группой CompVis в Мюнхенском университете Людвига-Максимилиана. [10] Разработку возглавляли Патрик Эссер из Runway и Робин Ромбах из CompVis, которые были среди исследователей, которые ранее изобрели архитектуру модели скрытой диффузии, используемую Stable Diffusion. [7] Stability AI Я также отметил, что EleutherAI и LAION (немецкая некоммерческая организация, которая собрала набор данных для обучения Stable Diffusion) являются сторонниками проекта. [7]
В октябре 2022 года Stability AI привлекла 101 миллион долларов США в рамках раунда, проведенного Lightspeed Venture Partners и Coatue Management . [14]
Стабильная диффузия использует разновидность модели диффузии (DM), называемую моделью скрытой диффузии (LDM), разработанную группой CompVis в LMU Мюнхен . [15] [8] Представленные в 2015 году диффузионные модели обучаются с целью удаления последовательных применений гауссовского шума на обучающих изображениях, что можно рассматривать как последовательность автокодировщиков шумоподавления . Stable Diffusion состоит из трех частей: вариационного автокодировщика (VAE), U-Net и дополнительного кодировщика текста. [16] Кодер VAE сжимает изображение из пространства пикселей в скрытое пространство меньшего размера , улавливая более фундаментальное семантическое значение изображения. [15] Гауссов шум итеративно применяется к сжатому скрытому представлению во время прямой диффузии. [16] Блок U-Net, состоящий из магистральной сети ResNet , удаляет шум на выходе прямой диффузии назад, чтобы получить скрытое представление. Наконец, декодер VAE генерирует окончательное изображение, преобразуя представление обратно в пространство пикселей. [16]
Шаг шумоподавления может быть гибко обусловлен строкой текста, изображением или другой модальностью. Закодированные данные кондиционирования подвергаются шумоподавлению U-Nets с помощью механизма перекрестного внимания . [16] Для обработки текста используется фиксированный предварительно обученный текстовый кодер CLIP ViT-L/14, который преобразует текстовые подсказки в пространство для встраивания. [8] Исследователи указывают на повышенную вычислительную эффективность для обучения и генерации как на преимущество LDM. [7] [15]
Имея 860 миллионов параметров в U-Net и 123 миллиона в текстовом кодировщике, Stable Diffusion считается относительно лёгким по стандартам 2022 года и, в отличие от других моделей диффузии, может работать на потребительских графических процессорах [17] и даже на центральных процессорах — только при использовании версия OpenVINO Stable Diffusion. [18]
Обучение Stable Diffusion проводилось на парах изображений и подписей, взятых из LAION-5B, общедоступного набора данных, полученного на основе данных Common Crawl , извлеченных из Интернета, где 5 миллиардов пар изображение-текст были классифицированы на основе языка и отфильтрованы в отдельные наборы данных по разрешению. прогнозируемая вероятность наличия водяного знака и прогнозируемая «эстетическая» оценка (например, субъективное визуальное качество). [19] Набор данных был создан LAION , немецкой некоммерческой организацией, которая получает финансирование от Stability AI. [19] [20] Модель Stable Diffusion была обучена на трех подмножествах LAION-5B: laion2B-en, laion-high-solve и laion-esthetics v2 5+. [19] Сторонний анализ данных обучения модели показал, что из меньшего подмножества в 12 миллионов изображений, взятых из исходного более широкого используемого набора данных, примерно 47% размера выборки изображений поступили из 100 различных доменов, при этом Pinterest взял до 8,5% подмножества, за которыми следуют такие сайты, как WordPress , Blogspot , Flickr , DeviantArt и Wikimedia Commons . [ нужна цитация ] Расследование Bayerischer Rundfunk показало, что наборы данных LAION, размещенные на Hugging Face, содержат большое количество частных и конфиденциальных данных. [21]
Первоначально модель обучалась на подмножествах laion2B-en и laion-high-разрешения, причем последние несколько раундов обучения проводились на LAION-Aesthetics v2 5+, подмножестве из 600 миллионов изображений с субтитрами, которые, по прогнозам LAION-Aesthetics Predictor V2, люди в среднем дали бы оценку не менее 5 из 10, когда их попросили оценить, насколько они им понравились. [22] [19] [23] Подмножество LAION-Aesthetics v2 5+ также исключало изображения с низким разрешением и изображения, которые LAION-5B-WatermarkDetection идентифицировал как несущие водяной знак с вероятностью более 80%. [19] Заключительные этапы обучения дополнительно снизили необходимость обработки текста на 10 %, чтобы улучшить управление диффузией без классификаторов. [24]
Модель была обучена с использованием 256 графических процессоров Nvidia A100 в Amazon Web Services в общей сложности 150 000 графо-часов и обошлась в 600 000 долларов США. [25] [26] [27]
Стабильная диффузия имеет проблемы с деградацией и неточностями в определенных сценариях. Первоначальные выпуски модели были обучены на наборе данных, состоящем из изображений с разрешением 512×512, а это означает, что качество создаваемых изображений заметно ухудшается, когда пользовательские спецификации отклоняются от «ожидаемого» разрешения 512×512; [28] в обновлении модели Stable Diffusion версии 2.0 позже появилась возможность генерировать изображения с разрешением 768×768. [29] Другая проблема заключается в создании человеческих конечностей из-за низкого качества данных о конечностях в базе данных LAION. [30] Модель недостаточно обучена, чтобы понимать человеческие конечности и лица из-за отсутствия репрезентативных особенностей в базе данных, и побуждение модели генерировать изображения такого типа может сбить ее с толку. [31] Версия 1.0 Stable Diffusion XL (SDXL), выпущенная в июле 2023 года, представила собственное разрешение 1024x1024 и улучшенную генерацию конечностей и текста. [32] [33]
Доступность для отдельных разработчиков также может быть проблемой. Чтобы настроить модель для новых вариантов использования, которые не включены в набор данных, таких как генерация аниме- персонажей («диффузия вайфу»), [34] требуются новые данные и дальнейшее обучение. Точные адаптации Stable Diffusion, созданные посредством дополнительной переобучения, использовались для множества различных случаев использования, от медицинских изображений [35] до алгоритмически генерируемой музыки . [36] Однако этот процесс тонкой настройки чувствителен к качеству новых данных; Изображения с низким разрешением или разрешения, отличные от исходных данных, могут не только не справиться с новой задачей, но и ухудшить общую производительность модели. Даже если модель дополнительно обучена на изображениях высокого качества, людям сложно запускать модели в бытовой электронике. Например, процесс обучения вайфу-диффузии требует минимум 30 ГБ видеопамяти , [ 37 ] что превышает обычный ресурс, предусмотренный в таких потребительских графических процессорах, как серия Nvidia GeForce 30 , у которой всего около 12 ГБ. [38]
Создатели Stable Diffusion признают возможность алгоритмической предвзятости , поскольку модель в первую очередь обучалась на изображениях с английскими описаниями. [26] В результате сгенерированные изображения усиливают социальные предубеждения и отражают западную точку зрения, поскольку создатели отмечают, что в модели отсутствуют данные из других сообществ и культур. Модель дает более точные результаты для подсказок, написанных на английском языке, по сравнению с подсказками, написанными на других языках, при этом западная или белая культура часто является представлением по умолчанию. [26]
Чтобы устранить ограничения первоначального обучения модели, конечные пользователи могут выбрать дополнительное обучение для точной настройки результатов генерации в соответствии с более конкретными сценариями использования. Этот процесс также называется персонализацией . Существует три метода, с помощью которых доступная пользователю точная настройка может быть применена к контрольной точке модели стабильной диффузии:
Модель Stable Diffusion поддерживает возможность генерировать новые изображения с нуля с помощью текстового приглашения, описывающего элементы, которые следует включить или исключить из вывода. [8] Существующие изображения могут быть перерисованы моделью, чтобы включить новые элементы, описываемые текстовой подсказкой (процесс, известный как «направляемый синтез изображений» [43] ) посредством механизма диффузионного шумоподавления. [8] Кроме того, модель также позволяет использовать подсказки для частичного изменения существующих изображений посредством закрашивания и перерисовки при использовании с соответствующим пользовательским интерфейсом, поддерживающим такие функции, для которых существует множество различных реализаций с открытым исходным кодом. [44]
Stable Diffusion рекомендуется запускать с 10 ГБ или более видеопамяти, однако пользователи с меньшим количеством видеопамяти могут выбрать загрузку весов с точностью float16 вместо значения по умолчанию float32, чтобы обеспечить компромисс между производительностью модели и меньшим использованием видеопамяти. [28]
Сценарий выборки текста в изображение в Stable Diffusion, известный как «txt2img», использует текстовую подсказку в дополнение к различным параметрам, охватывающим типы выборки, размеры выходного изображения и начальные значения. Сценарий выводит файл изображения на основе интерпретации подсказки моделью. [8] Сгенерированные изображения помечаются невидимым цифровым водяным знаком , чтобы пользователи могли идентифицировать изображение как созданное с помощью Stable Diffusion, [8] хотя этот водяной знак теряет свою эффективность, если изображение изменяется в размере или поворачивается. [45]
Каждое поколение txt2img будет включать определенное начальное значение , которое влияет на выходное изображение. Пользователи могут выбрать рандомизацию начального числа, чтобы изучить различные сгенерированные выходные данные, или использовать одно и то же начальное число для получения того же выходного изображения, что и ранее сгенерированное изображение. [28] Пользователи также могут регулировать количество шагов вывода для пробоотборника; более высокое значение занимает больше времени, однако меньшее значение может привести к визуальным дефектам. [28] Другая настраиваемая опция — значение шкалы навигации без классификатора — позволяет пользователю регулировать, насколько точно выходное изображение соответствует подсказке. [24] В более экспериментальных случаях использования можно выбрать более низкое значение шкалы, в то время как в сценариях использования, нацеленных на более конкретные результаты, может использоваться более высокое значение. [28]
Дополнительные функции text2img предоставляются внешними реализациями Stable Diffusion, которые позволяют пользователям изменять вес, придаваемый определенным частям текстового приглашения. Маркеры выделения позволяют пользователям добавлять или уменьшать выделение ключевых слов, заключая их в квадратные скобки. [46] Альтернативным методом корректировки веса частей подсказки являются «негативные подсказки». Отрицательные подсказки — это функция, включенная в некоторые внешние реализации, включая собственный облачный сервис DreamStudio от Stability AI, и позволяющая пользователю указывать подсказки, которых модели следует избегать во время создания изображения. Указанные подсказки могут представлять собой нежелательные особенности изображения, которые в противном случае присутствовали бы в выходных изображениях из-за положительных подсказок, предоставленных пользователем, или из-за того, как модель изначально обучалась, причем частым примером являются искалеченные человеческие руки. [44] [47]
Stable Diffusion также включает в себя еще один сценарий выборки, «img2img», который использует текстовую подсказку, путь к существующему изображению и значение силы от 0,0 до 1,0. Скрипт выводит новое изображение на основе исходного изображения, которое также содержит элементы, представленные в текстовой подсказке. Значение силы обозначает количество шума, добавленного к выходному изображению. Более высокое значение интенсивности приводит к большему разнообразию изображения, но может создать изображение, которое семантически не соответствует предоставленному запросу. [8]
Способность img2img добавлять шум к исходному изображению делает его потенциально полезным для анонимизации и увеличения данных , при которых визуальные особенности данных изображения изменяются и анонимизируются. [48] Тот же процесс может также быть полезен для масштабирования изображения, при котором разрешение изображения увеличивается, при этом к изображению потенциально может быть добавлено больше деталей. [48] Кроме того, Stable Diffusion экспериментировал как инструмент для сжатия изображений. По сравнению с JPEG и WebP , последние методы, используемые для сжатия изображений в Stable Diffusion, имеют ограничения по сохранению мелкого текста и лиц. [49]
Дополнительные варианты использования для модификации изображений с помощью img2img предлагаются многочисленными внешними реализациями модели Stable Diffusion. Inpainting включает в себя выборочное изменение части существующего изображения, очерченной предоставленной пользователем маской слоя , которая заполняет замаскированное пространство вновь созданным содержимым на основе предоставленной подсказки. [44] Специальная модель, специально настроенная для сценариев использования рисования, была создана Stability AI одновременно с выпуском Stable Diffusion 2.0. [29] И наоборот, перерисовка расширяет изображение за пределы его исходных размеров, заполняя ранее пустое пространство контентом, созданным на основе предоставленной подсказки. [44]
Модель с контролем глубины под названием «Deep2img» была представлена вместе с выпуском Stable Diffusion 2.0 24 ноября 2022 года; эта модель определяет глубину предоставленного входного изображения и генерирует новое выходное изображение на основе как текстовой подсказки, так и информации о глубине, что позволяет поддерживать согласованность и глубину исходного входного изображения в сгенерированном выходе. [29]
ControlNet [50] — это архитектура нейронной сети, предназначенная для управления моделями диффузии путем включения дополнительных условий. Он дублирует веса блоков нейронной сети в «заблокированную» копию и «обучаемую» копию. «Обучаемая» копия изучает желаемое условие, а «заблокированная» копия сохраняет исходную модель. Этот подход гарантирует, что обучение с небольшими наборами данных пар изображений не поставит под угрозу целостность готовых к производству диффузионных моделей. «Нулевая свертка» — это свертка 1×1, в которой вес и смещение инициализируются равными нулю. Перед обучением все нулевые свертки дают нулевой результат, предотвращая любые искажения, вызванные ControlNet. Ни один слой не обучается с нуля; процесс все еще находится в стадии тонкой настройки, сохраняя исходную модель в безопасности. Этот метод позволяет проводить обучение на небольших или даже персональных устройствах.
Stable Diffusion не претендует на какие-либо права на сгенерированные изображения и бесплатно предоставляет пользователям права использования любых сгенерированных изображений из модели при условии, что содержание изображения не является незаконным или вредным для отдельных лиц. [60]
Изображения, на которых проходил обучение Stable Diffusion, были отфильтрованы без вмешательства человека, что привело к появлению в обучающих данных некоторых вредоносных изображений и большого количества частной и конфиденциальной информации. [21]
Поскольку визуальные стили и композиции не защищены авторским правом, часто считается, что пользователи Stable Diffusion, генерирующие изображения произведений искусства, не должны рассматриваться как нарушающие авторские права на визуально похожие произведения. [61] Однако люди, изображенные на сгенерированных изображениях, могут быть защищены правами личности , если используется их изображение, [61] а интеллектуальная собственность , такая как узнаваемые логотипы брендов, по-прежнему остается защищенной авторским правом. Тем не менее, художники выразили обеспокоенность тем, что широкое использование программного обеспечения для синтеза изображений, такого как Stable Diffusion, может в конечном итоге привести к тому, что люди-художники, а также фотографы, модели, кинематографисты и актеры постепенно потеряют коммерческую жизнеспособность по сравнению с конкурентами, основанными на искусственном интеллекте. [13]
Stable Diffusion заметно более либерален в отношении типов контента, который могут создавать пользователи, например изображений насилия или откровенно сексуального характера, по сравнению с другими коммерческими продуктами, основанными на генеративном искусственном интеллекте. [62] Отвечая на опасения, что модель может быть использована в злоупотребительных целях, генеральный директор Stability AI Эмад Мостак утверждает, что «[это] ответственность людей за то, являются ли они этичными, моральными и законными в том, как они используют эту модель. технологии», [10] и что передача возможностей стабильной диффузии в руки общественности приведет к тому, что технология принесет чистую выгоду, несмотря на потенциальные негативные последствия. [10] Кроме того, Мостак утверждает, что цель открытой доступности Stable Diffusion состоит в том, чтобы положить конец корпоративному контролю и доминированию над такими технологиями, которые ранее разрабатывали только закрытые системы искусственного интеллекта для синтеза изображений. [10] [62] Это отражается в том факте, что любые ограничения Stability AI, налагаемые на контент, который могут создавать пользователи, можно легко обойти благодаря доступности исходного кода. [63]
Споры вокруг фотореалистичных сексуализированных изображений несовершеннолетних персонажей возникли из-за того, что такие изображения, созданные Stable Diffusion, публикуются на таких веб-сайтах, как Pixiv . [64]
В январе 2023 года три художника: Сара Андерсен , Келли МакКернан и Карла Ортис подали иск о нарушении авторских прав против Stability AI, Midjourney и DeviantArt , утверждая, что эти компании нарушили права миллионов художников, обучая инструменты искусственного интеллекта на пяти миллиардах человек. изображения, взятые из сети без согласия авторов оригинала. [65] В том же месяце Getty Images подала в суд на компанию Stability AI за использование ее изображений в обучающих данных. [12]
В июле 2023 года окружной судья США Уильям Оррик был склонен отклонить большую часть иска, поданного Андерсеном, МакКернаном и Ортисом, но разрешил им подать новую жалобу. [66]
В отличие от таких моделей, как DALL-E , Stable Diffusion предоставляет доступ к исходному коду [67] [8] вместе с моделью (предварительно обученными весами). К модели (M) применяется лицензия Creative ML OpenRAIL-M, разновидность лицензии Responsible AI (RAIL). [68] Лицензия запрещает определенные случаи использования, включая преступления, клевету , преследование , доксинг , «эксплуатацию… несовершеннолетних», предоставление медицинских консультаций, автоматическое создание юридических обязательств, представление юридических доказательств и «дискриминацию или причинение вреда отдельным лицам или группам на основе на... социальном поведении или... личных или личностных характеристиках... [или] охраняемых законом характеристиках или категориях ". [69] [70] Пользователь владеет правами на созданные им выходные изображения и может свободно использовать их в коммерческих целях. [71]