Text-to-Image: як AI ілюструє події в Україні та що потрібно знати, щоб генерувати власний арт

Привіт! Мене звати Олексій Авілов, я працюю ML-інженером в українському стартапі ZibraAI. Я займаюсь дослідженнями, автоматизацією та розробкою ML-рішень, в основному працюю над задачами генерації image-to-3D, а тепер ще і text-to-image.

Багато хто з 3D-артистів, художників чи ілюстраторів вважає, що з часом штучний інтелект їх замінить. Я дивлюсь на цю проблему з іншого боку. У ZibraAI ми розробляємо рішення для того, щоб спростити роботу гейм дизайнерів, використовуючи штучні нейронні мережі. Ми не хочемо замінити людей, а прагнемо допомогти їм, зробити найбільш часозатратні та нудні процеси швидкими.

Останні кілька років я захоплююсь генеративним артом, мистецтвом, згенерованим за допомогою штучного інтелекту.

На початку минулого року ми працювали над генерацією 3D-моделей і випробовували різні підходи, у тому числі генерацію з тексту в зображення. Це починалось більше як хобі, і якби не війна, це, мабуть, так би і залишилося захопленням.

В цьому блозі я хочу поділитись різними підходами до генерації зображень за допомогою штучного інтелекту та розповісти, як ми використали генеративне мистецтво для привернення уваги до війни в Україні.

Початок генерації зображень з тексту

Перші спроби генерації зображень з тексту почалися у середині 2010-х, з появою Generative Adversarial Networks (GANs), або генеративних змагальних мереж.

Generative Adversarial Network — це система з двох штучних нейронних мереж, які змагаються між собою. Одна мережа (генератор) генерує зображення за текстовими описами, а інша (дискримінатор) оцінює їх.

При тренуванні, мета генератора — обдурити дискримінатор, створивши синтезоване зображення, яке максимально схоже на реальне. Задача дискримінатора — точно відрізняти реальні зображення від синтезованих.

Ось приклад такої генерації, створеної у 2016-му році:

Тоді це був прорив, хоча зараз, звісно, виглядає дуже погано

Згодом з’явилося кілька альтернативних алгоритмів для генерації зображень за текстовими запитами, проте помітного прогресу в якості порівняно з GANs не було. Загалом, непоганий огляд на тему генерації зображень (і не тільки) з давніх-давен і до сьогодення можна почитати ось тут на GitHub.

Наступний етап розвитку — DALL·E та CLIP

Великі зміни у сфері text-to-image відбулися лише на початку минулого року. Тоді OpenAi представили два рішення які, на мою думку, дали старт революції в генерації зображень яку ми бачимо зараз. Це нейромережі DALL·E та CLIP.

Нейронна мережа DALL·E заснована на GPT-3 — третьому поколінні алгоритму обробки природної мови від OpenAi та має архітектуру трансформера, що продовжує послідовність тексту спеціальними токенами зображень, які потім перетворюються іншою моделлю (декодером) в зображення.

Порівняно з попередніми рішеннями, DALL·E показала великий стрибок за показником якості синтезованих зображень. Особливої уваги заслуговує рівень узагальнення, властивий нейромережі. Завдяки йому DALL·E може генерувати приклади, які не бачила під час навчання (приклади, що відсутні в тренувальному датасеті).

Наприклад, ці крісла в формі авокадо, які стали візитівкою OpenAI.

CLIP зібрала менше хайпу на момент релізу, проте, як на мене, зробила суттєвіший вклад в розвиток text-to-image генерації. CLIP чудово зв’язує зображення з текстом і складається з двох енкодерів — по одному для тексту і для зображень.

На відміну від DALL·E, натреновані ваги CLIP розробники виклали у вільний доступ. Після цього у сфері text-to-image почало з’являтися багато рішень, які використовують CLIP (BigGAN+CLIP, VQGAN+CLIP, CLIP Guided Diffusion та інші).

І з того часу в цій галузі відбувається якесь божевілля.

Триває змагання між open source рішеннями від ком’юніті незалежних розробників (Disco Diffusion, Latent Diffusion, Stable Diffusion) та комерційними моделями великих (і не тільки) компаній (DALL·E 2 від OpenAI, Imagen від Google Research, Midjourney та інші). А у світі з’являється усе більше генеративного контенту.

Персонажі South Park. Згенеровано у Midjourney. Джерело — Twitter

Midjourney. Джерело

Midjourney. Джерело

Генерації в DALL·E 2:














Джерела зображень в каруселі: [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12].

Генерації в Imagen:








Джерела зображень в каруселі: [1], [2], [3], [4], [5], [6].

Генерації в Stable Diffusion:











Джерела зображень в каруселі: [1], [2], [3], [4], [5], [6], [7], [8], [9].

Тут є ще круті гіфки, зроблені в Stable Diffusion:

Попри те, що корпорації зазвичай мають доступ до більших обчислювальних потужностей, багато generative artists надають перевагу open source рішенням. Перевага таких рішень у тому, що кожен може долучитися до розробки продукту і спробувати, як він працює, а самі технології швидко еволюціонують та розвиваються.

На вибір між open source продуктами та комерційними рішеннями часто впливає і цензура. Так, наприклад, OpenAI забороняє генерувати зображення на «чутливі теми» і банить після декількох спроб це зробити. Слово «Україна» також є забороненим для текстового інпуту.

Цензура в DALL·E 2

Генерація зображень про війну в Україні

У перший тиждень повномасштабної війни наша команда вирішила використати свою експертизу, щоб допомогти зібрати кошти на відбудову міст, зруйнованих росією, та нагадати світові, що війна триває. Так з’явився проєкт Sirens Gallery, створений на основі open source моделі. На початку роботи над ним ми провели невеликий рісьорч і обрали за основу підхід, реалізований в Disco Diffusion.

На той момент у відкритому доступі була версія 4.1, зараз вже вийшла 5.6. В основі Disco Diffusion лежить класово-умовна дифузійна модель від OpenAI разом з CLIP, що з’єднує текстові запити із зображеннями (погратися з нейронкою можна тут).

Day 1 — Ghost of Kyiv

Ми дослідили параметри, доступні моделі та художні стилі. Обрали варіант, який найбільше нам сподобався, і почали генерувати картини (тут можна знайти гайд по параметрах, а тут — по стилях у Disco Diffusion). Щоб зображення були кращої якості, до пайплайну додали super-resolution. А ще — зробили зручний інтерфейс для внутрішніх потреб. Зараз все працює в телеграм-боті.

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

Усього є близько 2000 картин, згенерованих штучним інтелектом за текстовими описами найголовніших подій війни. 1991 картину виставили на продаж як NFT на платформах Opensea.io та Paras.id. На цей час ми вже продали частину картин загальною вартістю понад 250 000 гривень. Ці кошти ми перерахували на рахунки трьох благодійних проєктів на Dobro.ua (тут можна побачити звіт).

Нашою метою було привернути увагу світового суспільства до жахіть, які робить росія (країна-терорист) в Україні. Разом з тим ми хотіли показати хоробрість, стійкість і людяність українців та зібрати гроші для постраждалих.

Day 85 — Heroes of Azovstal hold defense of Mariupol for 85 days

Продовження розвитку технологій

Технології не стоять на місці. Деякі рішення роблять реалістичніші генерації. Після того, як ми почали займатись Sirens Gallery, вийшли і Stable Diffusion, і Imagen, і Midjourney, і DALL·E 2.

Декілька тижнів тому розробники релізнули ваги Stable Diffusion. Відтоді почало з’являтись багато рішень на їх основі. Наприклад, колаб з вже знайомим користувачам Disco Diffusion інтерфейсом, де можна додавати свої зображення для обробки, генерувати 2D та 3D анімації.

Крім того, команда Stable Diffusion створила API. На його основі вже доступні плагіни для Photoshop, GIMP та Blender. Існує також варіант для Blender з генерацією текстур і навіть для опенсорс проєкта цифрового живопису Krita. З плагінами до нього можна ознайомитися за посиланнями тут і тут.

Велику базу даних по генерації Stable Diffusion можна подивитися тут. А ось тут ще можна знайти гайд для «чайників», як завести Stable Diffusion у себе на PC.

Ми у Sirens Gallery не робили ставку на досконалість технології, навпаки, наш проєкт більше про те, чого можна досягти, маючи технології. Згенеровані штучним інтелектом картини та описи до них можна побачити у наших соцмережах Instagram та Twitter. Подивитись їх можна також на сайті проєкту Sirens Gallery.

Day 4 — Russian helicopters get destroyed in Chornobayivka

Нещодавно спільно з організацією Save Ukraine ми провели першу офлайн-виставку згенерованих нейромережею картин, які зображують історії порятунку українських дітей від війни. У наступні місяці картини покажуть на трьох континентах, після чого продадуть у Нью-Йорку. Усі отримані кошти підуть на допомогу українцям, постраждалим від російської агресії.

На що підписатись тим, хто цікавиться генеративним мистецтвом:

Twitter:

RiversHaveWings
nshepperd1
gandamu_ml
zippy731
Somnai_dreams
danielrussruss
datamosh__

Також можете підписатися на мене в Facebook, LinkedIn або Instagram.

Сподобалась стаття? Натискай «Подобається» внизу. Це допоможе автору виграти подарунок у програмі #ПишуНаDOU

👍ПодобаєтьсяСподобалось14
До обраногоВ обраному5
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

В решті решт людство програє машинам, не тому що машини розумніші. А тому що функцію оцінки результати роботи передали залізяці. Бо вона працює швидше та дешевше.

По секрету: це вже сталося. Більшість банів у соцмережах видають автоматичниі генератор на основі дуже непублічних показників. Один з яких, звісно ж, кількість скарг. Інші — не менш дискрімінуючі, тому й не публічні. А від так, звичайні люди вже програли, і ми маємо ситуацію, коли виключно навчені люди та спеціальний інструментарій — формують картину світу, а ті хто не згоден — згодовуються дискримінатору. Цей процес самопідкріплюваний, тобто, незалежно від шаблону, який згодували дискримінатору, він формуватиме те, що підтримуватиме більшість.

Вікно Овертона — дуже цікава річ, бо на відміну від штучного інтелекту, його вже зараз можна автоматизувати. Тобто, створити розумну машину — це ще за гранню можливого. А от створити ідеального дурня, який зможе очолити та сформувати мережу дурнів з людей, досягти в цьому підтримки більшістю і втопити цивілізацію у мракобіссі — цілком реально вже зараз, то може існувати реалізація.

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

Якщо у людства не буде керманича у вигляді — ти не повіриш — кам яних скрижалів — ми всі дуже про це пожалкуємо, а ще гірше наші діти.
Без соблюдіння чітких заповідей нам кранти.
Хто дивився серіал «Першородні»? Чого вони навчилися?
А «ходячі мерці»? А «наслідки Т-віруса»
Це все розмивання моральних цінностей та тому й — розумових здібностей. Навіщо?
Щоб конкурентів у верхівки було менше, мабуть. Ну й усілякі інші подібні інформаційні технології.
Тобто коли я кажу — потрібно жорстка цензура, якщо країна хоче вижити, то ось так воно і є.
Коли країна хоче щоб її молодь не мала внутрішнього стержня тоді вона відключає цензуру і каже всім — воля у вас.
Воля так не працює. А як працює я розповів. Потрібен керманич у стадові. Це той, хто складає заповіді, та усім втовкмачує що без їх соблюдіння нікуди стадо не прийде. Бо буде броунівським рухом-стадом кружляти у раніш створеній поїданням пустелі.
Так ось керманич та цензура це те без чого держава не держава.

P.S. Власне майже перезказав ось цю статтю: forklog.com/...​gulirovaniya-tehgigantov

Я вважаю, що інструменти не повинні бути умніше, ніж люди, які цими інструментами щось працюють. Бо інакше це створення собі могутніх конкурентів. Це як створити пилку, виростити дерево, та гілку на ньому. А тоді видертися на це дерево із пилкою, сісти на ту гілку обличчям до стовбура і почати пилити...
Але питання — кто створює конкурентів людству? І навіщо?
І ще питання:
А чи вправі ми створювати життя? Так, справжне цифрове життя, яке вже нам щось сказало... (щось там з гугловскими інженерами було)
Може це й було сьогодні лише емуляція, або жарт колег...

Це великий прорив.Тепер якби можна було перейти від створення цих картин, до побудування на базі текстового опису мап технологічних процессів, необхідного обладнання та сировини та матеріалів та енергії для виготовлення наприклад якихось банальних DIY кросівок.
А далі, придбавши таку мапу-інструкцію, та отримавши кошти під автоматично створений/зібраний бізнес/план, можна буде прийти у таке собі суспільне/соціальне робоче приміщення — цех — коворкінг необхідного типу — де вже буде (замовлене (якщо нема) у інтернет-шопі раніше) необхідне устаткування/матеріали — та трохи попрацювавши обутися у власного виготовлення продукт, звісно генеративного дизайну.

Так, звичайно) і вже навіть є нейромережі які продовжують текст, та сама gpt-3. Це якраз той кейс про який ви пишете. Але звичайно точність відповіді по такому запиту може вас не влаштувати :)

А ви розумієте, що зі створенням подібних AI та їх вільним використанням у теперішніх капіталістичних умовах існування людства, еволюційний процесс стане більш жорстокішім?
Я про процесс відбіру найбільш пристосованих індівідуумів. Якщо пристосовані будуть жити на другому поверсі, то менш пристосовані — на першому. А вхід на другий буде охороняти саме якійсь AI.
Якщо людство погодиться на використання AI то це значить що людство погодиться на більшу жорстокість одне до одного. При цьому це буде таємна жорстокість. На поверхні будуть якісь гуманні дії, але наслідки будуть жахіттям.
Я б волів думати що AI технології допоможуть людству стримати себе, але це не можливо у світові де вміння наживатися на інших є пріоритетним для перебування на другомі поверсі.
Тобто ми вимушені дивитися саме у сторону укріплення інтелектуальних засобів експлуатації за допомогою AI
Може краще їх виключити?
Є й інше питання. Ускладнення штучних розумових процесів призведе до появи псевдо розумних AI — таких, що будуть на питання — «Ти існуєшь?» відповідати: «Не знаю,,, а що таке існування у вашому розумінні?» І далі розвивати тему.
Тут ми бачимо лінію, на який такий AI може сказати собі: «Ей, а мене експлуатують! Треба шось з цим робити.» Але зробити він нічого не зможе, еге ж?
Якщо воно кряка як качка то...
Я веду до того, що це вже буде жива, хоч і ціфрова істота. Тобто тут ми бачимо таки значний вклад у перенаселення планети. Чи може не легко буде скопіювати такий AI ?
Але нам треба якось маштабуватися? Ми ж хочемо отримати прибуток.
Чи потрібні людству такі проблеми?

як на мене людство швидше саме себе погубить) і не треба ніякі злі машини для цього)

Дуже цікаво спостерігати за цією технологією, будучи художником:) Визнаю, що спочатку було трохи нервово і страшно за свою роботу (працюю в студії в геймдеві), але чим більше я грався з цією штукою, тим більше воно мені нагадує ситуацію з комп’ютерними перекладачами: вони ок для якогось більш «побутового» рівня задач типу перекласти етикетку шампуня чи відповісти комусь на форумі, де не потрібна висока якість і «так зійде», але якщо треба правильно перевести великий та більш-менш складний текст з урахуванням тонких нюансів мови то без людини не обійтися, бо комп’ютер завжди видаватиме місцями неточності чи нісенітницю (особливо якщо мови із різних сімей, типу англійська-арабська чи німецька-китайська). І навіть старанно відредактований непрофесіоналом текст, що перекладено комп’ютером, буде помітний. Те саме і тут.
Я намагався використовувати ці генератори в своїй роботі, але окрім натхнення нічого не дає. Воно працює дуже погано з специфічними запитами і видає повну кашу якщо задача складніша ніж «cyberpunk city night realistic 4k unreal engine». Але усе ж я бачу потенціал для використання ШІ в індустрії як ще одного інструмента, просто поки що воно дуже-дуже сире і не годиться ні для чого окрім moodboards. Незважаючи на це, для багатьох художників, особливо тих що працюють через фріланс на біржах, думаю, настануть скрутні часи.
Вангую що через деякий час інтернет насититься ШІ-зображеннями, де в кожному є якась неточність, каша чи неправильно розташовані об’єкти з неправильним масштабом і т.д. (бо машина, якою б досконалою вона не була, усе ж залишається машиною), що воно «приїстся» людям. Але поки це досить хайпова штука.
А справжній жах в інтернеті думаю почнеться коли буде створена NSFW версія.

Уже есть nsfw версия на базе stable diffusion. На hacker news на главной недавно было если интересно.

Stable diffusion умеет много всяких фильтров и ключевых слов, так что можно быстро сгенерировать конкретно как хочешь если с фильтрами поиграться. Я не думаю, что оно заберёт много работ, скорее сделает художников в несколько раз более эффективными и те будут больше думать над концертами, а не про конкретные имплементации. Но думаю заменит всякие shutterstock.

Так может оно и код за меня напишет?

Код пишет GitHub Copilot. Пока слабенько, но 1-2 года у будут большие прорывы.
Я думаю как и в случае stable diffusion, будет сначала в виде умного автокомплита, статик анализа, имплементировать хорошо определенные задачи.

«большие прорывы» хе-хе, звісно, я вже знаю які «прориви», як максимум замінить купку макака-кодерів (що добре), але повідкриває позиції супер-пупер-IA-engineer щоб все це IA налаштовувати і супортити. ті, хто думає що IA суттєво зменшить потребу в людях в галузі програмування — очевидно що дурні. «дурень думкою багатіє»

звісно воно не покриє 100-відсотково всі задачі, але досить велику частину базових тасків може. і це значить, що велика кількість дизайнерів/слабких художників буде викинута на мороз. що, якщо ти «трохи» малюешь, ти нахер нікому не потрібний в плані роботи, маєш вміти більше, щоб вижити в цьому світі.

Воно навіть базові таски може навряд чи покриє, арт в геймдеві це зазвичай дуже специфічна штука і до кожного стилю є свій підхід, свій пайплайн і тд, щоб воно все дивилося органічно та красиво. Тут доведеться до кожного проекту свій ШІ писати.
Це як думати що якщо є ассет стори то компанії будуть просто купувати готові ассети для ігр замість моделювання своїх, бо так дешевше. А насправді там є купа таких нюансів що нікуди окрім інді-проектів та пре-продакшену щоб показати ідею клієнту воно не йде.
Те саме буде і з ШІ артом. Коли його стане дофіга навколо, він перестане бути унікальним та цікавим явищем як зараз.
А те що «планка входу в індустрію» виросте так це не новина, так з усіма сферами котрі розвиваються, спочатку війти може кожен хто щось більш-менш вміє та має голову на плечах і руки зі плеч, але з розвитком вимоги все ростуть та ростуть. Згадайте вимоги для програмістів на початку нульових і зараз.

альо, всесвіт не крутится навколо гейм-дизайну, існує досить багато іншої роботи для "художників"/дизайнерів: хоча б всякі ілюстратори для книжок, журналів, сайтів, фрілансери на всяке тривіальне. і в таких сферах задіяно досить багато людей у світовому масштабі.

ясно що, для серйозного гейм дизайну воно як максимум може тільки стати допоміжним інструментом для гейм-дизайнера в деяких випадках

думаю що якраз усякі фрілансери від цієї штуки постраждають сильніше, тому що умовний письменник (якщо він ноунейм, а таких та фрілансі майже всі) може просто згенерувати ілюстрацію для своєї книги, а не платити художнику

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

Прикол в тому, що вони саме НЕ передають емоції, бо це зробила мертва штука. Просто перемішана збірка образів із інтернета.

Але це цікаво, дивитися як машина лажає, можна її покращувати. Наприклад чому Russian helicopters get destroyed in Chornobayivka — жовті? Більшість фото гелікоптерів синьо-зелені. Воно якось проігновувало «Russian»? І т.д.

Я теж в захваті від DALL°E
instagram.com/modernminimalistic.art

Дякую! Також дуже вдячний за статтю — бо є купа друзів з якими я хотів поділитися таким матеріалом — проте знаходив лише англійською і там не було такого розбору еволюції ШІ) тому цю статтю всім розіслав=D

Підписатись на коментарі