Як штучний інтелект генерує зображення. Пояснює ML-інженер

Генеративно-змагальні мережі та їх недоліки

Ще кілька років тому сучасні моделі в цих

Завданнями були генеративні змагальні мережі (GAN), які були запропоновані в 2014 році Гудфеллоу та співавторами і були значно вдосконалені за останні дев'ять років.Наприклад, StyleGAN 3 2021 року точно зберігає деталі обличчя навіть при перемиканні та поворотах, тоді як його попередники генеруютьВ даному випадку «галасливі» деталі, такі як волосся, борода або візерунки на одязі.Як професіонали, так і ентузіасти дивувалися тому, наскільки добре GAN можуть генерувати фотографії неіснуючих людей, тварин або квартир.

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

Результати генерації зображень моделлю StyleGAN 3

Бум дифузійних моделей

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

Результати генерації моделі дифузії Ho et al

Бум навколо моделей дифузії підігрівається виходомвеликих генеративних моделей text-to-image. Напевно, багато читачів бачили результати, згенеровані DALL·E 2, MidJourney, Imagen або Stable Diffusion. Деякі художники та ілюстратори переживають, що нейромережі відберуть у них роботу, тоді як інші вважають, що це лише допоможе у креативному процесі. Програмісти та художники освоюють prompt engineering — мистецтво підбору тексту для отримання більш точних результатів генерації — і діляться цікавими запитами та не менш цікавими результатами.

Вторгнення інопланетян Лофі, щоб відпочити та вчитися (нейромережа Midjourney) 

17th century painting of The Beatles (модель Stable Diffusion 2.1)

A dragon fruit wearing karate belt in the snow (модель Imagen)

Як працюють дифузійні моделі?

Моделі дифузії - це ітеративні моделі, якіприймають на вхід випадковий шум. Спочатку розглянемо саму базову модель дифузії DDPM (Denoising Diffusion Probabilistic Model), представлену в роботі Ho et al. Ця модель навчається крок за кроком на вибірці з сотень тисяч зображень, де на кожному кроці до зображення з вибірки застосовується випадковий шум певної відомої сили, а модель вчиться звертати це зашумлення, таким чином підвищуючи якість зображення. Якщо ми ітеративно застосуємо таким чином навчену модель до картинки з випадкового шуму, на кожному кроці звертаючи «слабке» зашумлення, модель зможе згенерувати повністю нове зображення, поступово позбавляючи його від випадкового шуму - за допомогою зворотної дифузії.

Ілюстрація основного процесу дифузії (з підручника CVPR 2022) 

Випадковий шум, з якого створюється зображення, може бути об'єднаний з умовою — вимогою до результату, вираженим текстом або іншим зображенням-прикладом.Для початку розглянемо приклад зі статті SDEdit, де користувач вказуєЦей трисун ще більше шумить до такої міри, що його неможливо відрізнити, наприклад, відзашумлена фотозйомка, а потім застосовується ітераційний процес зворотної дифузії, який відновлюєВисокоякісне зображення на основі наданої картинки. 

Ілюстрація процесу дифузії, зумовленого малюнком (із статті SDEdit)

Інший спосіб направити генерацію до потрібногорезультату - зумовлення моделі текстом. Для цього використовуються мовні моделі, навчені на парах зображень та підписів до них, які здатні розуміти зміст зображень та текстів одночасно. Прикладом такої моделі є CLIP (Contrastive Language – Image Pre-training), випущена OpenAI. Ця модель здатна переводити зображення та тексти у загальний латентний векторний простір (де вектор – це просто стовпець деяких значень). У цьому просторі стає, наприклад, можливим знаходити найближчі зображення до деякого текстового запиту, оскільки це алгебраїчна операція над векторами.

Модель латентної дифузії (Latent Diffusion),представлена ​​в 2021 році, обумовлює модель векторного простору текстів, щоб генерувати зображення з спрямованого шуму. Ця модель використовує властивості загального простору латентного текстів і зображень. За таким принципом працюють Stable Diffusion, Imagen та інші великі нейромережі text-to-image.

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

Проблеми дифузійних моделей

Звичайно, моделі дифузії не єуніверсальним рішенням завдання генерації зображень. Вони все ще схильні до тих же проблем, що й GAN - на перший погляд реальні зображення мають значні недоліки - згенеровані люди можуть мати більше п'яти пальців або 32 зубів. Також ці моделі досить погано вміють генерувати текст на зображеннях і навіть винаходять свою власну мову.

Художники звинувачують Midjourney і Stability AI (компанія, яка розробляє Stable Diffusion) в порушенні авторських прав при підготовці даних для навчання — вони стверджують, що компанії завантажували зображення з інтернету без згоди художників і належної компенсації.Також багато говорять про те, як загострюються генеративні мережі, включаючи Stable DiffusionНегативні стереотипи щодо раси, статі та інших соціальних питань, оскільки вони навчені на свідомо упереджених даних, отриманих з Інтернету. 

Історія Адама і Єви, Ноя і Зевса в стилі DC Comics (модель DALL· Е 2) 

Як спробувати безкоштовно

На відміну від багатьох попередніх розробок комп'ютерного зору, які часто були доступні тільки програмістам, нові технології в області дифузійних мереж можуть найчастішеЗагальна тенденція до програмного забезпечення з відкритим вихідним кодом і публікації демо-версій нейронних мереж дозволяєстартапи на кшталт Hugging Face для агрегування багатьох версій моделей, наприклад, Stable Diffusion 2.1.Вони також розробляють бібліотеку дифузорів, яка покликана спростити використання моделей у коді. 

Сервіс Google Colab дозволяє запускати код на GPU і TPU, так багато ентузіастів використовуютьпублікувати власні версії моделі, наприклад, модель Disco Diffusion Warp, яка здатна змінювати стилістику відео. 

З'являються зручні інтерфейси до моделей.Так, нейромережа MidJourney має безкоштовну пробну версію на кілька десятків генерацій, чого достатньо, щоб спробувати моделі text-to-image. OpenAI також надає пробний доступ до моделі DALL E 2.

Що далі

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

З'являються нові стартапи у сфері створення та редагування зображень, які успішно конкуруютьз такими гігантами, як OpenAI або Google.Виходять нові статті про дифузійні моделімайже щотижня, і сфера їх застосування сьогодні не обмежується переліченими 2D-завданнями комп'ютерного зору — вони використовуються в медичній візуалізації, генерації відео та 3D-текстових завданнях. 

Читати далі:

Таємниця червоних смуг на супутнику Юпітера розкрита

Знайдено «неможливу» планету. Вона кидає виклик сучасній науці

Загадковим шестикутним «сотам» у соляних пустелях знайшли пояснення