Stable Diffusion

Stable Diffusion
Тип текст-у-зображення
Розробник Stability AI
Перший випуск 22 серпня 2022
Стабільний випуск SDXL 1.0 (model)[1] (26 липня 2023)
Операційна система Всі що підтримують CUDA kernels
Мова програмування Python
Ліцензія Creative ML OpenRAIL-M
Репозиторій github.com/Stability-AI/stablediffusion
Вебсайт stability.ai/stable-image

Stable Diffusion — це модель глибокого навчання для перетворення тексту в зображення, випущена у 2022 році. Використовується переважно для генерування детальних зображень на основі текстових описів або модифікації зображень[2]. Розроблена стартапом Stability AI у співпраці з низкою академічних дослідників і некомерційних організацій.

Stable Diffusion — це модель прихованої дифузії, різновид глибокої генеративної нейронної мережі. Його код і ваги моделі були опубліковані[3], і він може працювати на більшості споживчого обладнання, оснащеного скромним графічним процесором із принаймні 8 ГБ VRAM. Це означало відхід від попередніх власних моделей перетворення тексту в зображення, таких як DALL-E та Midjourney, які були доступні лише через хмарні служби[4].

Розробка

Розробку Stable Diffusion фінансувала та формувала нова компанія Stability AI[5] .Технічну ліцензію на модель видала група CompVis Мюнхенського університету імені Людвіга Максиміліана. Розробкою керували Патрік Ессер і Робін Ромбах, які були серед дослідників, які раніше винайшли архітектуру моделі латентної дифузії, яку використовував Stable Diffusion. Stability AI також назвав Eleuther AI та LAION як прихильників проекту.

У жовтні 2022 року Stability AI залучив 101 мільйон дол. США під час раунду під керівництвом Lightspeed Venture Partners і Coatu Management[6].

Технології

Діаграма архітектури прихованої дифузії, яку використовує Stable Diffusion
Процес усунення шумів, який використовує Stable Diffusion. Модель генерує зображення шляхом ітеративного усунення випадкового шуму, доки не буде досягнуто налаштовану кількість кроків, керуючись кодувальником тексту CLIP, попередньо навченим на концепціях разом із механізмом уваги, що призводить до бажаного зображення, що зображує представлення навченої концепції.

Архітектура

У Stable Diffusion використовується модель дифузії (DM), яка називається моделлю латентної дифузії (LDM), розроблена групою CompVis у LMU Munich[3]. Представлені в 2015 році дифузійні моделі навчаються з метою усунення послідовних застосувань гаусового шуму на навчальних зображеннях, які можна розглядати як послідовність усунення шумів автокодерів. Stable Diffusion складається з 3 частин: варіаційного автокодувальника (VAE), U-Net і додаткового текстового кодувальника[7]. Кодер VAE стискає зображення з піксельного простору до меншого розмірного прихованого простору, захоплюючи більш фундаментальне семантичне значення зображення. Гаусівський шум ітеративно застосовується до стисненого латентного представлення під час прямої дифузії[7]. Блок U-Net, що складається з магістралі ResNet, знімає шум на виході прямої дифузії назад, щоб отримати приховане представлення. Декодер VAE генерує остаточне зображення, перетворюючи представлення назад у простір пікселів[7]. Етап усунення шумів можна гнучко налаштувати на рядок тексту, зображення або іншу модальність. Закодовані дані кондиціонування піддаються знешумленню U-Nets через механізм перехресного звернення уваги[7]. Для кондиціонування тексту використовується фіксований попередньо навчений текстовий кодер CLIP ViT-L/14 для перетворення текстових підказок у простір для вбудовування[3]. Дослідники вказують на підвищення обчислювальної ефективності для навчання та генерації як на перевагу LDM.

Тренувальні дані

Stable Diffusion було навчено на парах зображень і підписів, взятих із LAION-5B, загальнодоступного набору даних, отриманого з даних Common Crawl, зібраних з Інтернету, де 5 мільярдів пар зображення та тексту класифіковано на основі мови та відфільтровано в окремі набори даних за роздільною здатністю, прогнозована ймовірність вмісту водяного знака та прогнозована «естетична» оцінка (суб'єктивна візуальна якість тощо)[8]. Набір даних створено німецькою некомерційною організацією LAION, яка отримує фінансування від Stability AI.[8][9]

Stable Diffusion була навчена на трьох підмножинах LAION-5B: laion2B-en, laion-high-resolution і laion-aesthetics v2 5+[8]. Аналіз тренувальних даних моделі третьою стороною виявив, що з меншої підмножини з 12 мільйонів зображень, взятих із оригінального ширшого набору даних, приблизно 47 % розміру вибірки зображень походять із 100 різних доменів, при цьому Pinterest займає 8,5 % підмножини, а потім такі веб-сайти, як WordPress, Blogspot, Flickr, DeviantArt й Wikimedia Commons[10][8].

Навчальні процедури

Спочатку модель тренувалась на підмножинах laion2B-en і laion-high-resolution, а останні кілька раундів навчання було виконано на LAION-Aesthetics v2 5+, підмножині з 600 мільйонів зображень із підписами, які передбачив LAION-Aesthetics Predictor V2. Люди, у середньому, дадуть оцінку принаймні 5 із 10, коли їх попросять оцінити, наскільки вони їм подобаються[11][8][12]. Піднабір LAION-Aesthetics v2 5+ також виключив зображення з низькою роздільною здатністю та зображення, які LAION-5B-WatermarkDetection ідентифікував як такі, що містять водяний знак з імовірністю понад 80 %[8].

Модель тренувалася з використанням 256 графічних процесорів Nvidia A100 у веб-сервісах Amazon загалом 150 000 GPU-годин за ціною 600 000 дол. США[13][14][15].

Обмеження

Тонко налаштовані адаптації Stable Diffusion, створені шляхом додаткового перенавчання, використовувалися для різних випадків використання, від медичних зображень до алгоритмічно створеної музики[16]. Однак цей процес тонкого налаштування залежить від якості нових даних. Зображення з низькою роздільною здатністю або роздільною здатністю, що відрізняється від вихідних даних, можуть не тільки не засвоїти нове завдання, але й погіршити загальну продуктивність моделі. Навіть якщо модель додатково навчена на високоякісних зображеннях, людям важко запускати моделі в споживчій електроніці. Наприклад, процес навчання вайфу-дифузії вимагає мінімум 30 ГБ відеопам'яті[17], що перевищує звичайний ресурс у споживчих графічних процесорах, таких як серія GeForce 30 від Nvidia, яка має близько 12 ГБ[18].

Розробники Stable Diffusion визнають потенціал для алгоритмічного упередження, оскільки модель в основному навчалася на зображеннях з описом англійською мовою[14]. Як наслідок — створені зображення посилюють соціальні упередження та відображають західну точку зору, оскільки творці відзначають, що моделі бракує даних з інших спільнот і культур. Модель дає точніші результати для підказок, написаних англійською мовою, порівняно з тими, що написані іншими мовами, де за умовчанням часто виступає західна або біла культури[14].

Точне налаштування кінцевого користувача

Щоб усунути обмеження початкового навчання моделі, кінцеві користувачі можуть вибрати додаткове навчання для точного налаштування вихідних даних генерації відповідно до більш конкретних випадків використання. Існує три методи, за допомогою яких доступне для користувача тонке налаштування можна застосувати до контрольної точки моделі стабільної дифузії:

  • «Вбудовування» можна навчити з колекції зображень, наданих користувачем, і дозволяє моделі створювати візуально подібні зображення щоразу, коли ім'я вбудовування використовується в підказці створення[19]. Вбудовування базуються на концепції «текстової інверсії», розробленій дослідниками з Тель-Авівського університету в 2022 році за підтримки Nvidia, де векторні представлення для конкретних токенів, що використовуються текстовим кодувальником моделі, пов'язані з новими псевдословами. Вбудовування можна використовувати, щоб зменшити упередження в оригінальній моделі або імітувати візуальні стилі.
  • «Гіпермережа» — це невелика попередньо навчена нейронна мережа, яка застосовується до різних точок у більшій нейронній мережі, і відноситься до техніки, створеної розробником NovelAI Kurumuz у 2021 році, спочатку призначеної для моделей трансформаторів генерації тексту. Гіпермережі спрямовують результати в певному напрямку, дозволяючи моделям на основі стабільної дифузії імітувати художній стиль певних художників, навіть якщо художник не впізнається оригінальною моделлю; вони обробляють зображення, знаходячи ключові важливі області, такі як волосся та очі, а потім заправляють ці області у вторинному латентному просторі[20].
  • DreamBooth — це модель генерації глибокого навчання, розроблена дослідниками з Google Research і Бостонського університету в 2022 році, яка може налаштувати модель для генерації точних персоналізованих результатів, які зображують певний предмет, після навчання за допомогою набору зображень, які зображують цей предмет[21].

Можливості

Модель Stable Diffusion підтримує можливість генерувати нові зображення з нуля за допомогою текстової підказки з описом елементів, які слід включити або виключити з результату[3]. Існуючі зображення можуть бути перемальовані моделлю, щоб включити нові елементи, описані текстовою підказкою за допомогою механізму дифузії та зменшення шуму[3]. Крім того, модель також дає змогу використовувати підказки для часткової зміни існуючих зображень за допомогою зафарбовування та зафарбовування, якщо використовується з відповідним інтерфейсом користувача, який підтримує такі функції, для яких існує безліч різних реалізацій із відкритим кодом[22].

Stable Diffusion рекомендується запускати щонайменше з 10 ГБ відеопам'яті, проте з меншим об'ємом VRAM можливо вибрати завантаження вагових коефіцієнтів із точністю float16 замість стандартного float32 для компромісу продуктивності моделі з меншим використанням VRAM[23].

Генерація тексту в зображення

Демонстрація впливу негативних підказок на формування іміджу
  • Top: no negative prompt
  • Centre: "green trees"
  • Bottom: "round stones, round rocks"

Сценарій вибірки тексту в зображення в Stable Diffusion, відомий як «txt2img», використовує текстову підказку на додаток до різноманітних параметрів параметрів, що охоплюють типи вибірки, розміри вихідного зображення та вихідні значення. Сценарій виводить файл зображення на основі інтерпретації підказки моделлю[3]. Згенеровані зображення позначаються невидимим цифровим водяним знаком, щоб дозволити користувачам ідентифікувати зображення як згенероване за допомогою Stable Diffusion[3] хоч цей водяний знак втрачає свою ефективність, якщо зображенням змінюють розмір або обертають[24].

Кожне покоління txt2img включатиме певне початкове значення, яке впливає на вихідне зображення. Користувачі можуть вибрати рандомізацію початкового числа, щоб досліджувати різні згенеровані результати, або використовувати те саме початкове число, щоб отримати той самий результат зображення, що й попередньо створене зображення[23]. Користувачі також можуть регулювати кількість кроків висновку для семплера; більш високе значення займає більше часу, однак менше значення може призвести до візуальних дефектів[23]. Ще один параметр — значення вказівної шкали без класифікатора, дозволяє користувачеві регулювати, наскільки вихідне зображення відповідає текстовому опису[23].

Додаткові функції text2img надаються зовнішніми реалізаціями Stable Diffusion, які дозволяють користувачам змінювати вагу, надану певним частинам текстового підказки. Маркери виділення дозволяють користувачам додавати або зменшувати акцент на ключових словах, укладаючи їх у дужки[25]. Альтернативним методом коригування ваги частин підказки є «негативні підказки». Негативні підказки є функцією, включеною в деякі зовнішні реалізації, включаючи власну хмарну службу DreamStudio від Stability AI, і дозволяють користувачеві вказувати підказки, яких модель повинна уникати під час створення зображення. Зазначені підказки можуть бути небажаними властивостями зображення, які інакше були б присутні в результатах зображення через позитивні підказки, надані користувачем, або через те, як модель була початково навчена, з понівеченими людськими руками, як поширений приклад[22].

Модифікація зображення

Stable Diffusion також включає інший сценарій вибірки, «img2img», який використовує текстову підказку, шлях до наявного зображення та значення сили від 0,0 до 1,0. Сценарій виводить нове зображення на основі оригінального зображення, яке також містить елементи, надані в текстовому запиті. Значення інтенсивності вказує на кількість шуму, доданого до вихідного зображення. Більше значення міцності створює більше варіацій всередині зображення, але може створити зображення, яке семантично не відповідає наданій підказці[3].

Здатність img2img додавати шум до оригінального зображення робить його потенційно корисним для анонімізації та розширення даних, коли візуальні характеристики даних зображення змінюються та анонімізуються. Той самий процес також може бути корисним для масштабування зображення, під час якого роздільна здатність зображення збільшується з потенційним додаванням більшої кількості деталей до зображення[26]. Крім того, Stable Diffusion експериментували як інструмент для стиснення зображень. Порівняно з JPEG і WebP останні методи, що використовуються для стиснення зображень у Stable Diffusion, стикаються з обмеженнями щодо збереження дрібного тексту та граней[27].

Додаткові випадки використання для модифікації зображення за допомогою img2img пропонують численні інтерфейсні реалізації моделі Stable Diffusion. Inpainting передбачає вибіркову зміну частини існуючого зображення, окресленого наданою користувачем маскою шару, яка заповнює замаскований простір новоствореним вмістом на основі наданої підказки[22]. Разом із випуском Stable Diffusion 2.0 компанією Stability AI була створена спеціальна модель, спеціально налаштована для малювання сценаріїв використання[28]. І навпаки, замальовування розширює зображення за його початкові розміри, заповнюючи раніше порожній простір вмістом, створеним на основі наданої підказки[22].

Модель із керуванням глибиною під назвою «depth2img» була представлена разом із випуском Stable Diffusion 2.0 24 листопада 2022 року; ця модель робить висновок про глибину наданого вхідного зображення та генерує нове вихідне зображення на основі як текстового підказки, так і інформації про глибину, що дозволяє підтримувати когерентність і глибину оригінального вхідного зображення у згенерованому виході[28].

ControlNet

ControlNet[29] — це архітектура нейронної мережі, призначена для керування дифузійними моделями шляхом включення додаткових умов. Він дублює ваги блоків нейронної мережі в «заблоковану» копію та «придатну для навчання» копію. «Навчувана» копія вивчає потрібний стан, тоді як «заблокована» копія зберігає оригінальну модель. Цей підхід гарантує, що навчання з невеликими наборами даних пар зображень не порушить цілісність готових до виробництва дифузійних моделей. «Нульова згортка» — це згортка 1×1 з вагою та зміщенням, ініціалізованими до нуля. Перед навчанням усі нульові згортки дають нульовий вихід, запобігаючи будь-яким спотворенням, викликаним ControlNet. Жоден шар не навчається з нуля; процес ще точно налаштовується, зберігаючи вашу оригінальну модель у безпеці. Цей метод дозволяє тренуватися на невеликих або навіть персональних пристроях.

Використання та суперечки

Stable Diffusion не претендує на жодні права на згенеровані зображення та вільно надає користувачам права на використання будь-яких згенерованих зображень із моделі за умови, що вміст зображення не є незаконним або шкідливим для окремих осіб. Свобода, яка надається користувачам щодо використання зображень, спричинила суперечки щодо етики власності, оскільки Stable Diffusion та інші генеративні моделі навчаються із захищених авторським правом зображень без згоди власника[30].

Оскільки візуальні стилі та композиції не підлягають авторському праву, часто вважається, що користувачів Stable Diffusion, які створюють зображення творів мистецтва, не слід вважати такими, що порушують авторські права на візуально схожі твори[31]. Однак особи, зображені на створених зображеннях, можуть бути захищені правами особистості, якщо використовується їхня схожість[31], а інтелектуальна власність, така як впізнавані логотипи брендів, все ще залишається захищеною авторським правом. Тим не менш, художники висловлюють стурбованість тим, що широке використання програмного забезпечення для синтезу зображень, такого як Stable Diffusion, може врешті-решт призвести до того, що художники-люди, а також фотографи, моделі, оператори та актори, поступово втратять комерційну життєздатність проти конкурентів на основі ШІ.

Порівняно з іншими комерційними продуктами, заснованими на генеративному штучному інтелекті, Stable Diffusion є значно більш дозволеним щодо типів контенту, який можуть створювати користувачі, наприклад зображень насильства чи відверто сексуального характеру[32]. Відповідаючи на занепокоєння щодо того, що модель може бути використана для зловживань, генеральний директор Stability AI Емад Мостаке пояснює, що «люди відповідають за етичні, моральні та законні принципи використання цієї технології». і що передача можливостей Stable Diffusion в руки громадськості призведе до того, що технологія забезпечить чисту вигоду, незважаючи на потенційні негативні наслідки. Крім того, Мостак стверджує, що намір відкритої доступності Stable Diffusion полягає в тому, щоб покласти край корпоративному контролю та домінуванню над такими технологіями, які раніше розробляли лише закриті системи ШІ для синтезу зображень[32]. Це відображається в тому факті, що будь-які обмеження Stability AI на контент, який можуть створювати користувачі, можна легко обійти завдяки доступності вихідного коду[30].

У січні 2023 року троє художників: Сара Андерсен, Келлі МакКернан і Карла Ортіс подали позов про порушення авторських прав проти Stability AI, Midjourney і DeviantArt, стверджуючи, що ці компанії порушили права мільйонів художників, навчивши інструменти ШІ на п'ять мільярдів зображення, взяті з Інтернету без згоди оригінальних художників[33]. Того ж місяця Getty Images також подала до суду на Stability AI за використання її зображень у навчальних даних[5].

Ліцензія

На відміну від таких моделей, як DALL-E, Stable Diffusion робить вихідний код доступним[34][3] разом із моделлю (попередньо підготовлені ваги). Він застосовує ліцензію Creative ML OpenRAIL-M, форму ліцензії відповідального штучного інтелекту (RAIL), до моделі (M)[35]. Ліцензія забороняє певні випадки використання, зокрема злочини, наклепи, переслідування, доксинг, «експлуатацію… неповнолітніх», надання медичних порад, автоматичне створення юридичних зобов'язань, надання юридичних доказів і «дискримінацію або заподіяння шкоди особам чи групам на основі… соціальна поведінка або… особисті чи особистісні характеристики… [або] захищені законом характеристики або категорії».[36][37] Користувач володіє правами на створені ними вихідні зображення та може вільно використовувати їх у комерційних цілях[38].

Див. також

Примітки

  1. Announcing SDXL 1.0. stability.ai. Архів оригіналу за 26 липня 2023.
  2. Diffuse The Rest - a Hugging Face Space by huggingface. huggingface.co. Архів оригіналу за 5 вересня 2022. Процитовано 5 вересня 2022.
  3. а б в г д е ж и к Stable Diffusion Repository on GitHub. CompVis - Machine Vision and Learning Research Group, LMU Munich. 17 вересня 2022. Процитовано 17 вересня 2022.
  4. The new killer app: Creating AI art will absolutely crush your PC. PCWorld. Архів оригіналу за 31 серпня 2022. Процитовано 31 серпня 2022.
  5. а б Korn, Jennifer (17 січня 2023). Getty Images suing the makers of popular AI art tool for allegedly stealing photos. CNN (англ.). Процитовано 22 січня 2023.
  6. Wiggers, Kyle (17 жовтня 2022). Stability AI, the startup behind Stable Diffusion, raises $101M. Techcrunch (англ.). Процитовано 17 жовтня 2022.
  7. а б в г Alammar, Jay. The Illustrated Stable Diffusion. jalammar.github.io. Процитовано 31 жовтня 2022.
  8. а б в г д е Baio, Andy (30 серпня 2022). Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion's Image Generator. Waxy.org (амер.). Процитовано 2 листопада 2022.
  9. This artist is dominating AI-generated art. And he's not happy about it. MIT Technology Review (англ.). Процитовано 2 листопада 2022.
  10. Ivanovs, Alex (8 вересня 2022). Stable Diffusion: Tutorials, Resources, and Tools. Stack Diary (амер.). Процитовано 2 листопада 2022.
  11. Schuhmann, Christoph (2 листопада 2022), CLIP+MLP Aesthetic Score Predictor, процитовано 2 листопада 2022
  12. LAION-Aesthetics | LAION. laion.ai (англ.). Архів оригіналу за 26 серпня 2022. Процитовано 2 вересня 2022.
  13. Mostaque, Emad (28 серпня 2022). Cost of construction. Twitter (англ.). Архів оригіналу за 6 вересня 2022. Процитовано 6 вересня 2022.
  14. а б в CompVis/stable-diffusion-v1-4 · Hugging Face. huggingface.co. Процитовано 2 листопада 2022.
  15. Wiggers, Kyle (12 серпня 2022). A startup wants to democratize the tech behind DALL-E 2, consequences be damned. TechCrunch (амер.). Процитовано 2 листопада 2022.
  16. Seth Forsgren; Hayk Martiros. Riffusion - Stable diffusion for real-time music generation. Riffusion. Архів оригіналу за 16 грудня 2022.
  17. Mercurio, Anthony (31 жовтня 2022), Waifu Diffusion, процитовано 31 жовтня 2022
  18. Smith, Ryan. NVIDIA Quietly Launches GeForce RTX 3080 12GB: More VRAM, More Power, More Money. www.anandtech.com. Процитовано 31 жовтня 2022.
  19. Dave James (28 жовтня 2022). I thrashed the RTX 4090 for 8 hours straight training Stable Diffusion to paint like my uncle Hermann. PC Gamer. Архів оригіналу за 9 листопада 2022.
  20. NovelAI Improvements on Stable Diffusion. NovelAI. 11 жовтня 2022. Архів оригіналу за 27 жовтня 2022.
  21. Yuki Yamashita (1 вересня 2022). 愛犬の合成画像を生成できるAI 文章で指示するだけでコスプレ 米Googleが開発. ITmedia Inc. (яп.). Архів оригіналу за 31 серпня 2022.
  22. а б в г Stable Diffusion web UI. GitHub. 10 листопада 2022.
  23. а б в г Stable Diffusion with 🧨 Diffusers. huggingface.co. Процитовано 31 жовтня 2022.
  24. invisible-watermark, Shield Mountain, 2 листопада 2022, процитовано 2 листопада 2022
  25. stable-diffusion-tools/emphasis at master · JohannesGaessler/stable-diffusion-tools. GitHub (англ.). Процитовано 2 листопада 2022.
  26. Заповніть пропущені параметри: назву і/або авторів. arXiv:[1].
  27. Bühlmann, Matthias (28 вересня 2022). Stable Diffusion Based Image Compression. Medium (англ.). Процитовано 2 листопада 2022.
  28. а б Stable Diffusion 2.0 Release. stability.ai. Архів оригіналу за 10 грудня 2022.
  29. Zhang, Lvmin (10 лютого 2023). Adding Conditional Control to Text-to-Image Diffusion Models. Процитовано 10 лютого 2023.
  30. а б Cai, Kenrick. Startup Behind AI Image Generator Stable Diffusion Is In Talks To Raise At A Valuation Up To $1 Billion. Forbes (англ.). Процитовано 31 жовтня 2022.
  31. а б 高性能画像生成AI「Stable Diffusion」無料リリース。「kawaii」までも理解し創造する画像生成AI. Automaton Media (яп.). 24 серпня 2022.
  32. а б Ryo Shimizu (26 серпня 2022). Midjourneyを超えた? 無料の作画AI「 #StableDiffusion 」が「AIを民主化した」と断言できる理由. Business Insider Japan (яп.).
  33. James Vincent «AI art tools Stable Diffusion and Midjourney targeted with copyright lawsuit» The Verge, 16 January, 2023.
  34. Stable Diffusion Public Release. Stability.Ai. Архів оригіналу за 30 серпня 2022. Процитовано 31 серпня 2022.
  35. From RAIL to Open RAIL: Topologies of RAIL Licenses. Responsible AI Licenses (RAIL) (амер.). Процитовано 20 лютого 2023.
  36. Ready or not, mass video deepfakes are coming. The Washington Post. 30 серпня 2022. Архів оригіналу за 31 серпня 2022. Процитовано 31 серпня 2022.
  37. License - a Hugging Face Space by CompVis. huggingface.co. Архів оригіналу за 4 вересня 2022. Процитовано 5 вересня 2022.
  38. Katsuo Ishida (26 серпня 2022). 言葉で指示した画像を凄いAIが描き出す「Stable Diffusion」 ~画像は商用利用も可能. Impress Corporation (яп.).

Посилання

  • Демо Stable Diffusion
  • Інтерактивне пояснення Stable Diffusion
Сабреддіт (англ.)
Про аудіо, відео(ігри), фото та мистецтво
Know Your Meme
Нормативний контроль
GKG: /g/11tcd8vgn9