Microsoft навчила нейромережу малювати складні сцени за текстовим описом
Microsoft навчила нейромережу малювати складні сцени за текстовим описом
Microsoft Research представила генеративно-змагальну нейромережу, яка здатна генерувати зображення з кількома об'єктами на основі текстового опису. На відміну від більш ранніх подібних алгоритмів text-to-image, здатних відтворювати зображення лише базових об'єктів, ця нейромережа може справлятися зі складними описами якісніше.
Складність створення подібного алгоритму полягала в тому, що, по-перше, раніше бот був не здатний у високій якості відтворювати всі базові об'єкти за їх описами, і, по-друге, не міг проаналізувати те, як кілька об'єктів можуть ставитися один до друга у межах однієї композиції. Наприклад, щоб створити зображення за описом «Жінка в шоломі сидить на коні», нейромережа мала семантично. "зрозуміти", як кожен з об'єктів відноситься один до одного. Ці проблеми вдалося вирішити, навчивши нейромережу на основі відкритого дата-сета COCO, що містить розмітку та дані сегментації для понад 1,5 млн об'єктів.
В основі алгоритму лежить об'єктно-орієнтована генеративно-змагальна нейромережа ObjGAN (Object-driven Attentive Generative Adversarial Newtorks). Вона аналізує текст, виділяючи з нього слова-об'єкти, які потрібно розташувати на зображенні. На відміну від звичайної генеративно-змагальної мережі, що складається з одного генератора, що створює зображення, і одного дискримінатора, який оцінює якість згенерованих зображень, ObjGAN містить два різні дискримінатори. Один аналізує, наскільки реалістичний кожен із відтворених об'єктів та наскільки він відповідає наявному опису. Другий визначає, наскільки вся композиція реалістична та співвідноситься з текстом.
Попередником алгоритму ObjGAN став AttnGAN, також розроблений дослідниками Microsoft. Він здатний генерувати зображення об'єктів за більш простими текстовими описами. Технологія перетворення тексту зображення може застосовуватися для допомоги дизайнерам і художникам у створенні ескізів.
Алгоритм ObjGAN перебуває у відкритому доступі на GitHub.