Как сейчас выглядит нейрогенеративное искусство и что с ним будет дальше
Когда работаешь с новостями науки, иллюстрации — это сложно. Ладно еще, когда речь о каком-то наглядном поведенческом эксперименте. Но когда у тебя доказательство математической теоремы или демонстрация тонкого эффекта из области квантовой химии, где в качестве иллюстративного материала в лучшем случае графики — приходится думать. Думать долго и отчаянно. Так что когда разработчики нейросетей начали сначала делиться успехами своих детищ в живописи, а после запустили сервисы нейрогенерации изображений мы, конечно, очень обрадовались. Но простая генерация картинок в ответ на набор слов — это еще не очень интересно. Поэтому мы пошли к Илье Яцкевичу и Алексею Устьянцеву, которые занимаются нейрогенеративным искусством, чтобы они попробовали себя в роли иллюстраторов научных новостей — а потом поговорили с ними о том, как меняют их работу рисующие машины.
[N + 1]: Генерация изображений при помощи нейронки, это что? Уже отдельное художественное направление? Или все люди, которые занимаются изобразительным творчеством, просто сейчас осваивают новый инструмент?
[Илья]: Сейчас в твиттере и инстаграме многие стонут: «о боже, нет, они заменяют художников!» [мы говорили с Ильей и Алексеем еще 24 августа — прим. N + 1]. Ну, так-то слава роботам, конечно. И определенные подвижки на рынке труда в связи с этим произойдут. Грубо говоря, если ты не можешь делать что-то подобное — это проблема. Но в любом случае человеческая роль во всем этом остается. Потому что человек делает это с пониманием идеи, контекста. Он корректирует промпты, настраивает их в соответствии со своей задумкой, со своим представлением о предмете — особенно когда мы говорим о весьма абстрактных научных образах. Да и, в конце концов, он потом ретуширует это и собирает вместе.
[N + 1]: А ты можешь всю цепочку описать? Не только применительно к нашей конкретной истории с заголовками, а вообще.
[Илья]: Я, например, работаю сейчас над клипом Дельфина и мы используем нейросетки для того, чтобы дать какие-то общие референсы, направление, настроение. То, ради чего я раньше ковырял бы пинтерест на протяжении многих часов. Сейчас на это уже не уходит так много времени. Получается где-то конкретнее, где-то интереснее.
[N + 1]: То есть ты начинаешь предпочитать такую технику всем остальным сценариям, она заменяет прошлые привычки?
[Илья]: Ну, я по-прежнему смотрю пинтерест, я по-прежнему люблю рисовать руками, но это все удачно дополняет мою практику.
[Алексей]: Давай я добавлю. Нейросетки очень полезны, в первую очередь, когда тебе нужно очень быстро получить очень большое количество материала. То есть у тебя появилась идея, ты забиваешь два предложения и получаешь кучу всего. За это время ты раньше успел бы только пинтерест открыть и первые две картинки полайкать. А когда тебе нужно что-то человеку показать и объяснить, это очень удобно.
[N + 1]: Ага, плюс это ровный результат — получаешь много и оно все какого-то одного качества.
[Алексей]: Ну, одного стиля... Насчет качества не уверен.
[Илья]: Во-первых — да, конечно, в среднем по больнице качество абсолютно ровное. Но помимо этого есть еще прекрасные случайности, которые происходят достаточно часто. Картинки, которые выбиваются из ряда себе подобных. Как правило, именно такие случайности я и предпочитаю использовать. То есть у тебя помимо массы качественного материала есть еще какие-то классные штуки, которые в процессе возникают.
Смотри, вот мы с Лешей придумали историю про планету после многих техногенных катастроф, где вдобавок ко всему появился какой-то загадочный красный туман, который придал людям необычные возможности — в общем, у нас есть сеттинг. В рамках этого сеттинга у нас появляются персонажи: они всплывают из вопросов о том, как выглядит это, как выглядит то. У меня есть представление о том, как это выглядит, какой-то [общий] силуэт:
И я иду с ним в одну нейросетку, пробую его сгенерировать там, может быть рисую вручную:
Потом иду в другую — и быстро генерирую большое количество деталей, которые позволяют мне описать форму этого силуэта максимально выразительно и насытить его деталями:
И вот на стыке такого человеческого и машинного творчества получаются прикольные вещи:
[N + 1]: Хорошо. Давай к следующему. Вот есть новый инструмент, плюс какие-то навыки, необходимые для того, чтобы им пользоваться. Есть ли уже какая-то базовая матчасть, которую нужно освоить, чтобы всерьез стать таким нейроартистом?
[Илья]: Когда это все начиналось, это было просто быстро развивающееся сообщество. Люди учились друг у друга, анализировали промпты друг друга и получали что-то новое. Сейчас уже есть коллосальное количество материалов, которые описывают эту всю промпт-инженерию как дисциплину своего рода. Есть синтаксис, есть ключи, которые позволяют влиять на стилистику изображения. И так далее. Более того, у меня в одной из коллаб запущена отдельная нейросетка, которая разбирает картинки на промпты.
[N + 1]: То есть ты кормишь ей картинку, а она тебе говорит, каким промптом ее можно получить?
[Илья]: Да. Реверс-инжиниринг уже есть. Словари промптов уже есть. Какие-то интерфейсы на эту тему, кроме текстовых, уже появляются. Все это развивается очень быстро.
[N + 1]: А ты в целом себе представляешь, что у нее под капотом там? Или ты просто как артист с этой штукой взаимодействуешь?
[Илья]: Нет, я с ней взаимодействую чисто как чувак, который кнопочки нажимает. У меня есть примерное представление о том, как это работает. Я понимаю, что в ней там два логических модуля, один занимается этим, второй тем. Я понимаю, как происходит диффузия, как картинка восстанавливается из шумов. Я могу запустить какой-нибудь код в какой-нибудь коллабе. Немножко его подправить — тоже могу. Хотя не очень люблю.
[N + 1]: И тебе это, в общем, не надо? То есть ты не оказываешься в ситуации, когда ты такой — блин, ну тут с кодом надо работать, я мимо? Просто вот работающий черный ящик и все хорошо, я умею с ним взаимодействовать на уровне промптов, я осваиваю и развиваю искусство взаимодействия с этими машинами.
[Илья]: В принципе, да. Но есть отдельные инструменты, которые все еще требуют работы с кодом. Сейчас я участвую в альфа-тестах еще одного такого сервиса. Они делают классное рабочее пространство с многоуровневой структурой. Ты перетаскиваешь в свое рабочее пространство разные нейросетки, подключаешь их друг к другу, как в DaVinci или Blender. И скармливаешь результат одной генерации в другую. Это дает кучу неожиданных и интересных результатов.
[N + 1]: А, они атакуют продукт друг друга?
[Илья]: Ну можно и так сказать. Я могу взять своего персонажа, при помощи одной нейросетки убрать у него фон, при помощи второй преобразовать его в 3D и потом при помощи третьей его как-то стилизовать.
[N + 1]: Окей. Давай теперь вдоль галереи с нашими заголовками пойдем. Что там происходило и как? Вот у тебя был список, что ты пошел с ним делать?
[Илья]: У меня изначально был прицел. Я целился в абстракции. Я знаю, с чем Midjourney справляется хорошо, с чем плохо. Я знаю, что если бы мы пробовали генерировать котов или мышей — это было бы прикольно, конечно, но с кучей разных артефактов, ассиметричное и в целом кривое.
[N + 1]: То есть сначала ты отсеял то, что точно не годится.
[Илья]: Ну, я отсеял то, чего я лично не хотел. Можно было бы повернуть и так, что вот, смотрите, есть абстрактные картинки — а вот как нейросетки справляются с другими задачами.
[N + 1]: А, чтобы это просто не было серией картинок в духе «смотрите, как Midjourney умеет».
[Илья]: Да. Я отобрал [несколько заметок].
И начал с синтеза аминокислот.
Я [до этого] уже нашел некоторое количество ключей, которые абсолютно точно давали интересные результаты по фактуре изображения. Штуки типа расплавленного стекла, паутины, разложения, плесени и тому подобного.
[N + 1]: Ага. А как вообще промпт выглядел?
[Илья]: Ну, вот пример про ленту Мёбиуса.
Möbius strip made of carbon :: black+liquid+oil, draped silk, decay, translucid luminescence, lumen reflections, :: render, motion design, science illustration, golden ratio —q2 —hd —ar 16:9
Что у нас тут — лента Мёбиуса сделанная из углерода, дальше я добавляю всякие абстрактные вещи: нефть, черная жидкость, драпированый шелк, разложение и так далее. Отдельным блоком идут указания о том, что это должно из себя представлять, на что это похоже. Я мог там указать «победитель какого-нибудь конкурса на Behance» — и что-то получить. Так тоже работает. Дальше уже ключи про качество, стиль и соотношение сторон.
[N + 1]: У тебя этих промптов было сколько? Или он был один раз и дальше ты своими руками работал?
[Илья]: Нет, конечно. Это промпт, с которого я уже пошел дальше работать. А до этого было еще какое-то количество, пока я что-то смотрел, подгонял.
[N + 1]: То есть ты сначала отобрал четыре темы и с ними пошел вглубь: сначала промпты, а потом дальше, вглубь?
[Илья]: Да.
[N + 1]: А можешь по памяти прикинуть, сколько ты промптов перебрал, пока не решил, что с этим переходим к следующему этапу?
[Илья]: Ну, нет, число я не смогу назвать. Генерация и обработка у меня заняли суммарно часа четыре. Большая часть этого времени ушла именно на подбор промптов и генерацию. Так всегда. 70 процентов времени уходит именно на это, все что дальше, обработка — у меня уже автоматизированно.
[N + 1]: То есть ты сидел реально больше двух с половиной часов, смотрел картинки и размышлял?
[Илья]: Ну не размышлял, а скорее экспериментировал. Ткнули-поправили, ткнули-поправили, пошли дальше.
[Алексей]: Работа с промптами, она такая, ветвистая. Ты закидываешь один промпт, что-то получаешь — понимаешь, ага, не то слово. Заменяешь его. И дальше у тебя, грубо говоря, две вариации, и ты начинаешь их параллельно вести. Потом ты видишь какие-то хорошие штуки в ветке, хорошие в другой — и скрещиваешь их.
[N + 1]: Когда ты говоришь «не то слово», ты что имеешь в виду?
[Алексей]: Ну, например, ты хочешь нарисовать страшную, криповую картинку. И ты забиваешь creepy, occult и всякое такое. И у тебя вылезает какая-то паразитная история — совсем не то, что ты хотел. Ты понимаешь, что дело в слове, потому что есть какой-то запрос [популярный, и он с твоей идеей никак не стыкуется]. Когда мы говорим про стилизацию, такое часто бывает. Я недавно генерил интерьерные картинки, там были разные стили: прованс, арт-нуво, вот эта всякая фигня. И бывает, ты что-то написал, а вылезает всякая шляпа — и ты понимаешь, что тебе надо синоним подобрать.
[Илья]: Да, иногда надо перефразировать или найти популярные ключи.
[Алексей]: Или наоборот, непопулярные ключи. Потому что популярные забиты всякой фигней. Такая, неоднородная работа.
[N + 1] А мусора вообще много?
[Илья]: Ну, например, почему я как раз на абстракции ориентировался? Потому что я понимал, что там мусора будет достаточно мало. В общем и целом я, наверное, почти всегда из каждого итогового набора генераций скорее выберу увеличить один и прокрутить еще раз. В принципе, это очень похоже на работу с живым иллюстратором. Вам сначала нужно найти общий язык.
[N + 1]:То есть бывает так, что по итогам прогонов ты вообще ничем не удовлетворен? Даже потратив час, два. И ты такой — ну, с этим иллюстратором мы общего языка не нашли.
[Илья]: Ну нет, за час или два такого быть не может. За это время я десятки вариантов посмотрю, там что-нибудь сработает.
[N + 1]: Ну, не в смысле сработает, а так и не получишь что-то интересное.
[Илья]: Тебя роль моего намерения интересует?
[N + 1]: Я пытаюсь прикинуть, насколько хорошо она тебя понимает.
[Алексей]: Давай я про ожидания и реальность проговорю. Ты всегда принимаешь условия игры. Она может понять тебя очень своеобразно и выдать какой-то свой результат. Мы вот когда с Ильей делаем своим проекты или про нейросети разговариваем, мы часто обсуждаем, что нейросеть тут не просто инструмент, а еще и соавтор. Она может предложить тебе творческое решение, о котором ты даже не думал. Что-то, что работает. Ты этого не хотел, но это круто, ты можешь дальше это использовать. Тут есть свои нюансы. Как правило, если ты хочешь абстракцию, то у тебя скорее всего получится то, что ты хочешь. А если хочешь предметное — то нейросеть и правда может тебя не понять. И ты либо правда долго ******* [гоняешь] промпт, либо забиваешь на это и работаешь с тем, что тебе предлагают нейросети. Я принимаю это как правила игры.
[Илья]: Ну да. [Хотя] это справедливо для Midjourney. Если говорить о других инструментах, где уже не только text-to-image, там уже [настройка взаимопонимания тоньше и] хитрее.
[N + 1]: О, давайте про арсенал поговорим. Сколько вообще самых базовых инструментов у вас сейчас — и куда это все двигается? Будет ли у нас в какой-то момент бесконечное количество нейронок, которые будут что-то свое рисовать, или условный Adobe всех купит и ты будешь опять в нем работать?
[Илья]: Ну... Сейчас есть StabilityAI, которые делают Stable Diffusion, есть OpenAI и их DALL-E, есть Midjourney. Но это же все опенсорс. Вот в Midjourney был тест с прикручиванием Stable Diffusion. Получаются более фотореалистические изображения.
[N + 1]: У каждой такой нейросети есть какой-то дистинктивный стиль? Ты, посмотрев на картинку, понимаешь, что это в Midjourney сделано?
[Илья]: Ну да, конечно. Мы знаем, что разные нейросети обучены на разных датасетах. Где-то было больше фотоизображений, где-то больше синтетических данных, где-то был весь артстейшн — то есть весь концепт-арт, когда-либо нами сделанный.
[Алексей]: И у каждой нейросети свои характерные ошибки. По которым ты можешь их отличить. По тому, как они ошибаются.
[N + 1]: То есть два источника идентичности: датасет и алгоритм.
[Алексей]: Да, [а на поверхности ты видишь] специфические артефакты.
[N + 1]: Получается как с музыкой, да? В смысле, я помню, как Мик Гордон рассказывал, что когда он писал саундтрек к Doom, он нашел для какого-то звучка советский синт, потому что вот именно этот звучок ему был нужен. И тут тоже самое. Ты в 2050 году будешь искать какой-то стиль, и тебе там нужен будет строго Midjourney нынешний, потому что тебе надо этого ретро.
[Илья]: Да так уже сейчас и происходит. Собственно, я поэтому с Midjourney и работаю, потому что ее можно назвать, условно, наиболее артистичной. Она откровенно плохо работает с фотореалистичными изображениями, но с концепт-артом, абстракциями, графическими вещами — очень хороша.
Теперь о том, куда все это движется. Вот, посмотри. Это тест Stable Diffusion и Midjourney. Мы получаем и фотореалистичные лица и в то же время кучу абстрактных интересных фактур с потрясающей детализацией. Лучшее от двух миров. Он работает п р е к р а с н о.
[N + 1]: То есть вот здесь ты повторяешь фаустовское «Остановись мгновение, ты прекрасно»?
[Илья]: Ну, да. Я смотрю на это и понимаю, что практически любая моя потребность в подобном будет закрыта. Я знаю, как ее закрыть. Это все очень интересно и вдохновляюще. Но...
[N + 1]: О, после «но» обязательно что-то интересное идет!
[Илья]: Но какой смысл на это подсаживаться? Все эти изображения — они очень удачные. Но в них минимум моего контроля, моей задумки. Они все сгенерированны по одному и тому же промпту. Я предпочитаю немножко по-другому к этому подходить, собирать из частей изображение, которое мне нужно.
[N + 1]: А, тебе не зашло оттого, что тебе маловато контроля. Ты бы хотел в процессе участвовать.
[Илья]: Мне итоговый результат очень нравится, он соответствует моей задумке, моим ожиданиям. Но где-то... ты смотришь на картинку по мере, как она генерируется, и думаешь «блин, вот в эту сторону, в эту сторону надо идти». А она идет в другую.
[N + 1]: А ты остановить ее не можешь в этот момент?
[Илья]: Да, не можешь ткнуть ее в другом направлении. Просто ждешь, пока она доиграет свою мелодию.
[N + 1]: А ты хочешь за руку тут ее взять в процессе.
[Илья]: Было бы круто иметь нейроинтерфейс, который позволял бы тебе распознавать образы в процессе диффузии и передавать их нейросетке. Это был бы совместный сновидческий процесс, который не остановить.
Ну а что дальше — понятно. У нас есть Adobe, другие крупные разрабочики. У нас есть редакторы. Есть интерфейсы, которые появляются потихоньку. Есть Dreamstudio — это тот же самый StableDiffusion, но в приятном интерфейсе. Ползунками выставляешь все параметры, которые ты раньше вбивал, ниже строка для промпта. Через пару лет мы к чему-то такому и прийдем. Что у нас будут графические редакторы с такими возможностями.
[Алексей]: По поводу снов такое — Илья как-то рисовал картинки того, что ему снилось. Было очень прикольно. Когда рисуешь ты, у тебя есть границы твоих возможностей. А нейросети эти границы ломают: сейчас та же Midjourney умеет рисовать в стиле 900 художников. А это на 899 больше, чем умеешь рисовать ты. Это очень, очень расширяет твои возможности. И если ты приручаешь эту стихию, то ты можешь получать классные результаты. Если не можешь, ну, сорян: фотографировать тоже не все умеют. Это все еще инструмент.
[N + 1]: Может, стоит использовать слово «техника»?
[Алексей]: Не, это не техника. Есть профессиональные фотоаппараты с кучей настроек и профессиональные фотографы с ними получают крутой результат. А есть мыльницы, нажал и получилось. То же самое будет с нейросетями.
[Илья]: А еще есть профессиональные фотографы, которые предпочитают «Лейки» (Leica — немецкий производитель фототехники). Платят за то, чтобы у тебя не было всех этих настроек. Наоборот. Задача каждого хорошего инструмента — это уйти ***** [к черту] с дороги и не мешать тебе работать, вот и все. В случае с камерой мы к этому пришли. В случае с нейросетками мы пока еще очень-очень далеко. Но мы уже получаем какие-то классные вещи.
Но Леша правильно говорит, что это не зацикленно на границах твоего жизненного опыта. Вот твари, которых я видел во сне. Что они такое? Я понимаю из каких поверхностей состоят их тела, но чтобы так слепить или замоделить и получить что-то схожее мне скорее всего не хватит биологии, знания о плоти. Или чего-то еще такого.
[N + 1]: А насколько эти картинки похожи на то, что ты видел во сне?
[Илья]: Максимально похожи. Это очень близко к тому, что я видел. Есть только одна деталь: в моих снах эти твари были на суше. А здесь в силу того, что скрещены всякие арктические ракообразные и глубоководные рыбы, эти ребята помещены в водную среду. А по поверхностям, по структуре — это очень похоже.
[N + 1]: Бывало ли, когда ты чувствовал, что слов не хватает для промпта? То есть, что возникают преграды в вашей коллаборации не из-за ограниченных возможностей нейронки или отсутствия у тебя видения — а чисто в возможностях языка?
[Илья]: Ну, знаешь, это «в духе мистики правы, но их правду не передать словами». Когда перестают работать конкретные описания, начинают работать более ощущенческие, метафорические. Можешь написать в промпте «sense of...».
[N + 1]: Но разве не бывает такого, что имени этому чувству не подобрать?
[Илья]: Не, у меня не бывало такого. Возможно, пока? Это сам по себе интересный опыт, конечно — упереться в неназываемое.
[Алексей]: По поводу недопонимания с нейросетью: оно, как правило, именно бытовое. Просишь у нее рисунок ребенка, а она тебе дает рисующего ребенка. Приходится перестраивать промпт. Еще бывает, когда ты погружаешься глубоко в детали... Я недавно делал картинки с интерьерами и котами. Я пишу «кот на желтом диване в минималистичном интерьере» — он мне рисует херню. Я пишу просто «кот в минималистичном интерьере» — и выдает более-менее нормальную картинку. То есть ты когда ему даешь много деталей, он иногда путается.
Тебе нужно просто больше итераций, чтобы что-то рабочее найти. Иногда проще отсечь что-то, упростить и не лезть в детали. Но это скорее не систематическая история, а редкие ошибки в определенных запросах. Как Илья говорил, она плохо работает с фотографией, животными и человеческими лицами. Поэтому проще не перегружать этим ее.
Еще если говорить про эксперименты — у меня есть подруга, она архитектор. В ее бюро проектируют дворы для жилых комплексов. Им нужны классные публичные пространства. Она как-то зашла ко мне в гости, мы с ней посидели [над нейронкой] минут сорок — и она очень офигела. Потому что ты ей задаешь абстрактный вопрос в духе «Детская площадка в стиле Сиднейской оперы, камень, металл, песок, дерево» — и она выдает тебе очень много очень разных результатов. И поменяв ровно одно слово, ты получаешь кардинально другой результат. И ты за час-два можешь сделать работу, которую сейчас несколько человек делают два дня. Илья об этом говорил уже, но да — ты получаешь много вариантов за короткое время, тебе не надо тратить время на поиск референсов и концепт-арт от руки.
[N + 1]: Ну, да, для таких конкретных задач тут, наверное, полная революция.
[Илья]: Да. Вот смотри, какие картинки [мне выдает коллаборация Midjourney и StableDiffusion]. Тут и персонажи, и среда:
В случае с отрисовкой персонажей — я теперь вместо 16 часов трачу час. Могу просто ставить таймер. У меня каждый час будет появляться новая классная картинка, которая моему замыслу соответствует. И я ее смогу использовать как прототип для обсуждения с командой. Это действительно нечто новое. Такого у нас раньше не было.
[N + 1]: Так, Леша — теперь ты расскажи, куда это дальше идет?
[Алексей]: Я говорил тут с товарищем, который этим всем занимается. Они делают стартап, который будет такие нейросети сочетать. У тебя все нейросетки опенсорс, ты можешь их комбинировать в своем продукте. И я подозреваю, что через год-два конкуренция будет не между нейросетями, а этими инструментами.
Потому что все будут делать разное. Почти все нейросети рисуют картинки по текстовому запросу. А в Disco Diffusion есть фича: вводишь промпт и он последовательно рисует картинки, дорисовывает их все глубже и глубже — а это уже видео, причем по факту бесконечное.
А есть штуки, когда ты берешь картинку, выделяешь объект, и нейросеть тебе его либо дорисовывает, либо перерисовывает.
[Илья]: Да, ты выделяешь фрагмент и получаешь в нем другое лицо, например.
[Алексей]: Да, или на фотографии Путина усы Гитлера.
[N + 1]: И ты тут вообще ни при чем, все вопросы к искусственному интеллекту.
[Алексей]: Угу. В общем, скоро вместо того, чтобы работать руками с картинкой, ты будешь просто отдавать ее нейросети и сообщать, чего делать. А то, о чем Илья раньше говорил — про то, что хочется остановить процесс и продолжить с того же момента руками — тут я тоже говорил с разработчиками, с точки зрения техники это возможно, просто инструмента пока нет. Это будет просто черная магия уже.