Нейросети рисуют картины: как студенты Skillbox обучали ИИ для отеля Radisson в Саранске

Студенты курсов Data Science и Machine Learning рассказали об этапах хакатона, сложностях в обучении нейросетей и будущем искусственного интеллекта.

«Хотим, чтобы нейросети сгенерировали картины по нашему брифу. Сможете их обучить?» — с таким вопросом коллектив Radisson Hotel & Congress Center Saransk обратился к сотрудникам образовательной платформы Skillbox. Для этой задачи команда Skillbox организовала хакатон по разработке картин и следом за ним — конкурс картин. Их итогом стали три команды-победителя и 432 готовых картины, часть которых отель разместит на своих стенах.

Из текста вы узнаете:

  • как у Radisson Saransk появилась идея создавать картины с помощью нейросетей;
  • о подготовке к хакатону и мотивации у студентов;
  • про детали и трудности при обучении нейросетей;
  • какими были итоги хакатона;
  • заменят ли нейросети художников, писателей и музыкантов.

Этап 1. Идея

В 2020 году сеть международных отелей корпорации «Кошелев» приобрела франшизу Radisson для своего пятизвёздочного отеля в Саранске и запустила ребрендинг гостиницы. Когда сотрудники приступили к изменениям в дизайне интерьера, понадобилась частичная смена картин. В лобби оставили произведения с мордовским колоритом, как дань традициям республики, в общих зонах конференц-пространства — чёрно-белые изображения современного Саранска, соответствующие бренд-стандартам, а вот в конференц-залах было решено заменить все картины на что-то более современное.

Как рассказывает менеджер по маркетингу отеля Елена Рубаник, Radisson Saransk решили дать волю творчеству там, где это возможно. Появилась мысль: «А что, если картины для нас напишут нейросети?» Эта идея возникла неспроста: Елена давно увлекается темой ИИ и даже повесила в своём кабинете полотно из Галереи нейросетевого искусства.

Главный офис Radisson одобрил проект из Мордовии. К тому же такого ещё не делал ни один отель! Оставалось найти единомышленников — тех, кто обучит искусственный интеллект созданию изображений.

Для воплощения нашей идеи мы долго искали партнёра с достаточными техническими мощностями. Некоторые нам отказывали, некоторые — опасались сложностей. И тут я подумала о Skillbox, студенткой которого являюсь и сама. Команда платформы согласилась сотрудничать с нами. Опираясь на брендбук нашей сети отелей, я прописала им ТЗ, обозначив необходимую палитру цветов, тематику («Абстракция», «Природа» и «Город») и прикрепив референсы.

Елена Рубаник,

Менеджер по маркетингу отеля Radisson в Саранске

Требования к цветовой палитре картин из ТЗ Radisson Изображение предоставлено менеджером по маркетингу отеля Radisson Еленой Рубаник
Требования к цветовой палитре картин из ТЗ Radisson Изображение предоставлено менеджером по маркетингу отеля Radisson Еленой Рубаник

Стремясь соединить прошлое и будущее, команда Radisson придумала яркую концепцию внутренних интерьеров. Когда гость заходит в лобби, он видит прошлое — этнические картины и узоры Мордовии. Переходит на этаж ниже и оказывается в настоящем — видит чёрно-белые изображения современного Саранска. А когда он попадает в конференц-залы, он в будущем — там его встречают картины от нейросетей.

Этап 2. Подготовка

Постановка задачи

Skillbox проработал идею Radisson и подготовил план: организовать хакатон, пригласить студентов курсов «Data Scientist» и «Machine Learning Engineer», дать им дополнительные знания о нейросетях и провести конкурс уже среди сгенерированных картин.

В качестве эксперта выступил Михаил Никифоров — разработчик систем машинного обучения лаборатории «Наносемантика» — он занимается NLP-системами и хорошо разбирается в GAN-моделях (используются для генерации изображений). Перед проектом Михаил составил примерный портрет студента и определил минимальный набор знаний, которыми должен обладать человек, чтобы успешно пройти хакатон.

Необходимые знания:

1. азы нейронных сетей, метода обратного распространения ошибки;

2. понимание, в чём отличие обучаемого параметра и гиперпараметра;

3. свёртки в нейронных сетях и для каких задач они чаще всего используются;

4. умение писать код на Python, читать документацию.

Будет круто (но не обязательно), если студент знает:

1. что такое случайное распределение, случайный вектор;

2. в чём отличие свёрточных слоёв верхнего и нижнего уровней (на примере какого-нибудь CIFAR).

3. что такое генеративные сети.

И прикольно, если:

1. не боится читать статьи, в том числе и на английском;

2. не боится чужого кода;

3. знает, что такое GPU, когда оно нужно, а когда нет.

Этапы

Хакатон состоял из двух этапов: первый был образовательный, второй — состязательный. На первом этапе Михаил прочёл две лекции (одну по задаче переноса стиля, вторую по состязательно-генеративным системам, тем самым GAN), а также провёл три мастер-класса (вводный по фреймворку PyTorch, по GAN-моделям и общеобразовательный с советами и подсказками).

По итогам каждого модуля студенты выполняли домашние задания: они были максимально прикладными и готовили ребят к финальному испытанию. «Домашки были как ступени: участник медленно поднимался по ним и в конце пути резко осознавал, что знает, как выполнить сложную задачу», — рассказывает Михаил.

Мотивация

Хакатон — это интенсив, требующий стопроцентной вовлечённости, концентрации и энергии. Многие студенты Skillbox и так совмещают обучение с основной работой — что может сподвигнуть их тратить свободное время и участвовать во внеучебной активности?

В первую очередь мотивацией стала высокая конкуренция в нашей сфере. Только в одном чате курса нас 1500 человек! И это лишь в Skillbox, а ведь существуют и другие платформы. В хакатоне я увидел преимущество — то, что поможет выделиться перед работодателем, ведь скоро я окончу курс и буду искать работу.

Даниил Громов, Студент курса «Профессия Data Scientist PRO»

Прочитал письмо и быстро его закрыл, решив, что не справлюсь. Потом осознал: если не попробую сейчас — не попробую никогда. Да и интересно посоревноваться в формате хакатона: поработать в случайной команде, выполнить сложную задачу в сжатый срок.

Никита Карлушин, Студент курса «Профессия Data Scientist PRO»
Даниил Громов и Елена Тикачева
Даниил Громов и Елена Тикачева
Даниил Громов и Елена Тикачева
Даниил Громов и Елена Тикачева

Как нейросеть генерирует картины

Обычно нейронные сети решают очень узкие задачи. Например, определяют, кто перед ними — кот или собака, или подбирают квартиру по заданным критериям. Создание чего-то нового (картин, текста, музыки) — процесс более сложный. Человек не может обозначить нейросети, что плохо, а что хорошо, потому что нейросеть не понимает этих понятий. Именно для таких трудных задач придумали GAN-модели.

Представьте, есть две модели: генератор и дискриминатор, где генератор — фальшивомонетчик, а дискриминатор — банкир. Генератор берёт песок, случайные числа и пытается из этого сделать монету. Затем он несёт её банкиру и банкир решает, настоящая это монета или поддельная.

Постепенно банкир учится отличать настоящие монеты от имитаций, а фальшивомонетчик с каждым разом всё лучше и лучше их подделывает: правильно подбирает номинал, фактуру и цвет. Чем дольше эти две модели общаются между собой, тем совершеннее становится подделка: в конце концов даже мы, люди, не можем её отличить от настоящей.

Так же и с картинами: одна модель делает картины, а другая — сравнивает их с настоящими и даёт первой модели обратную связь. Со временем вторая модель сдаётся и сигнализирует: «Всё! Я больше не понимаю, где настоящая картина, а где подделка». Для нас это знак: нейросеть научилась создавать картины.

Михаил Никифоров, Разработчик систем машинного обучения лаборатории «Наносемантика»

При обучении нейросети большую роль играет количество примеров: на каждом этапе модели-эксперту должно быть показано не менее 1000 картин, сделанных фальшивомонетчиком. Если объём для отработки будет меньше, например 100 картин, модель не доучится и станет допускать ошибки.

Подготовка алгоритмов

Отелю, как заказчику, требовались большие картины (например, 249 на 149 см). Нейронные сети, генерирующие подобные картины, имеют много параметров и требуют огромных мощностей. Не все видеокарты способны на такое. Михаил и его коллеги приготовили для студентов мощное техническое оснащение.

Затем Михаил написал скрипт, собиравший из интернета картинки по определённому запросу. Например, вы вбиваете в поисковик фразу «ночной город» и парсер скачивает вам 200 изображений ночного города. Студенты использовали этот инструмент и, опираясь на стилистические требования, создавали свой собственный датасет, а также вставляли в модель блоки из своего кода, если это требовалось.

Другой эксперт, Денис Зуенко, несколько недель до начала хакатона обучал большую и сложную модель StyleGAN. Преуспевающим студентам предлагали дообучить её самостоятельно и посмотреть, что она способна выдать и на каких примерах.

Василий Пермяков, Владислав Лещинский, Руслан Агеев
Василий Пермяков, Владислав Лещинский, Руслан Агеев

Этап 3. Хакатон

В состязательном этапе хакатона участвовали 14 студентов — и их поделили на команды по два человека. Названия у команд были как забавные, в духе технического прогресса («Нейросельди» или «Я нейросеть, я так вижу»), так и концептуальные (D.Art). «D — это значит digital, data. Генерация картин нейросетями не просто прикладная задача, это формат искусства», — рассказывает участник команды D.Art Никита Карлушин.

Хакатон длился 10 дней, за которые сделали четыре чекпоинта. У студентов была полная свобода действий, но на каждом чекпоинте они сдавали мини-отчёт по проделанной работе. Команды двигались с разной скоростью, поэтому эксперты подстраивались под темп и возможности каждой и давали им индивидуальные рекомендации.

Неожиданные решения

Главная задача для всех команд звучала одинаково: создайте с помощью нейросетей картины, максимально подходящие под ТЗ, — больших размеров и в тематике «Природа» и «Город». Это было непросто. Михаил Никифоров рассказал, что заставить модель сделать картинку города — практически невозможно: «Нового Манхэттена вы не получите никогда». Кажется, студенты восприняли эту фразу как вызов. А победили те, кто подошёл к задаче комплексно и терпеливо.

Участник команды-победителя Даниил Громов поделился секретом успеха: «Наши коллеги из других команд пытались от первой же нейросети получить что-то похожее на изобразительное искусство. Но чтобы натренировать настолько крутую сеть, нужно много вычислительных ресурсов, времени и обучающих материалов. Мы же решили эту часть сократить и получали вначале, в первой модели, лишь набросок, без особого сюжета, но с его элементами — например, присутствовал лес, домики, виднелась речка».

Дальше победители, Даниил и Елена, действовали так: они брали грубые наброски от первой модели (квадратики размером 128 × 128 пикселей), увеличивали их, среди тысяч сгенерированных квадратиков отбирали подходящие и наносили на них нужные мотивы с помощью других нейронных сетей. Принцип работы получился почти как в приложении Prisma. Команда, занявшая второе место, тоже использовала перенос стиля и дополнительную обработку, чтобы цветовая гамма картин подходила к брендбуку от Radisson.

«Олень» — моя любимая абстракция в сине-белом цвете. Напоминает о путешествиях, которые были возможны до коронавируса», — рассказывает Никита. Никита Карлушин, Павел Вавилин
«Олень» — моя любимая абстракция в сине-белом цвете. Напоминает о путешествиях, которые были возможны до коронавируса», — рассказывает Никита. Никита Карлушин, Павел Вавилин

Удалённое взаимодействие

Даже внутри команд наладить общение было непросто. Каждый участник живёт в своём городе и по своему графику. «У напарницы — работа, семья, дети. Она выполняла задачи по вечерам, а я, наоборот, с десяти утра», — рассказывает Даниил Громов.

Как ребята совладали с разницей в графиках? «Мы разбили одну большую задачу на много маленьких, и у нас получилась целое сообщество из нейросетей: одна генерировала картинки, другая увеличивала их, третья — рисовала сама. Каждому досталась своя сеть, и он занимался ей, пока не добивался результатов», — рассказал Даниил.

Никита и Павел (заняли второе место) живут в Екатеринбурге. Это и один часовой пояс, и одинаковый ритм работы, поэтому они просто делили задачи между собой. «Чтобы нейросеть генерировала то, что соответствует художественному вкусу каждого из нас, мы собрали свои тематические датасеты. Я — городские пейзажи, а Павел — природу».

Никита рассказал, что им для обучения модели потребовалось около 5–6 тысяч картинок по каждой тематике. При этом у команды Даниила число было меньше — порядка двух тысяч.

«Туманный город… На современный вид „намазан“ стиль барокко: кажется, очень круто вышло! И посередине — то ли речка, то ли дорога», — поделился Даниил. Даниил Громов, Елена Тикачева
«Туманный город… На современный вид „намазан“ стиль барокко: кажется, очень круто вышло! И посередине — то ли речка, то ли дорога», — поделился Даниил. Даниил Громов, Елена Тикачева

Сложности (как же без них?)

Михаил Никифоров поделился, что за 10 дней студентам пришлось столкнуться со многими трудностями, которые они совсем не ожидали встретить. Например, те, кто дошёл до генерации больших картин, решали почти исследовательскую задачу по super resolution: как растянуть картинку до большого размера без шума, пикселей и кубиков на ней.

С этой задачей справился, например, Даниил Громов, участник команды-победителя. «Одна картина была просто огромной: примерно 2,49 на 2 метра. Мы решили сгенерировать много маленьких квадратиков, нанести на них стиль и только потом соединить. Я кропотливо собирал их в Photoshop, хотя сейчас понимаю, что лучше бы я использовал пайтоновский скрипт. Так было бы быстрее».

Как рассказал нам Даниил, с другими картинами большого размера его команда поступила иначе: сгенерировала их максимально большими вначале, затем увеличила в процессе переноса стиля, и ещё раз при помощи простого онлайн-сервиса (таких в интернете много — например, Bigjpg). По его словам, для работы над картиной иногда задействовали до пяти нейросетей.

И Даниил, и Никита не ожидали, что хакатон пройдёт для них так успешно, а все задумки удастся реализовать с первой или второй попытки. Никите было особенно приятно получить признание в чате однокурсников. «Меня по жизни мотивируют ощутимые результаты. Все одногруппники следили за подведением итогов и переживали за нас. Это круто».

Даниил Громов, Елена Тикачева
Даниил Громов, Елена Тикачева

Этап 4. Результаты

Призы распределяли, опираясь на количество отобранных Radisson картин и на их соответствие брендбуку. Несмотря на то, что кто-то вошёл в список призёров, а кто-то нет, картины всех шести участвовавших в конкурсе команд (полностью или частично) отобрали и будут размещены в отеле.

Победители:

I место — Даниил Громов и Елена Тикачева

II место — Никита Карлушин и Павел Вавилин

III место — Константин Серегичев и Тимур Валеев

Представитель отеля, Елена Рубаник, призналась, что была приятно удивлена, когда увидела результаты. «В самом начале мы обсуждали вероятность того, что ничего не получится, — она была маленькой, но всё же. Увидев, насколько тестовые и окончательные варианты похожи на то, что нам нужно, я поразилась».

Каждому участнику Skillbox подарил один или два курса на выбор (в зависимости от занятого места), футболку и сумку-шоппер. А Radisson — прислал финалистам сертификаты на проживание в отеле Саранска и пообещал провести экскурсию по городу, когда они приедут.

Польза для студентов

Каждый участник по-разному прошёл этот хакатон и определил его ценность для себя. Никита Карлушин поделился, что проект помог ему поверить в себя. «Синдром самозванца — это очень большая проблема. Участие в хакатоне помогло понять, что я способен на большее. Буду пробовать дальше, расти и развиваться».

А для победителя Даниила Громова строчка в резюме об участии в хакатоне стала решающей в старте карьеры. После конкурса он увидел вакансию: очень молодой стартап при заводе, занимающийся роботами и автоматизацией производства, искал себе дата-сайентиста.

«Я подумал: Боже! Роботы, нейросети, промышленная автоматизация — как круто! Консультант из Центра развития карьеры Skillbox помог мне написать письмо и правильно рассказать о своих компетенциях, достижениях и любви к делу. Мне быстро перезвонили. Оказалось, набор уже закрыт, но им так понравилось моё письмо и резюме, что меня взяли. Так что теперь я занимаюсь обучением нейросетей для решения околопромышленных задач :)».

А ещё Даниил поделился личными планами: генерация картин нейросетями настолько увлекла студента, что он даже подумывает создать картину под свои задачи — дома у него начинается ремонт.

Визуализация внутреннего интерьера конференц-зала «Сура» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).
Визуализация внутреннего интерьера конференц-зала «Сура» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).
Визуализация внутреннего интерьера конференц-зала «Мордовия» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).
Визуализация внутреннего интерьера конференц-зала «Мордовия» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).
Визуализация внутреннего интерьера конференц-зала «Мокша» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).
Визуализация внутреннего интерьера конференц-зала «Мокша» отеля Radisson в Саранске до (со старыми картинами) и после конкурса (с картинами от нейросетей).

Этап 5. Взгляд в будущее

Станут ли нейросети художниками, авторами и музыкантами

Работа нейросетей завораживает. Модели так умело и быстро распознают и генерируют речь, классифицируют изображения, предугадывают погоду, что невольно задаёшься вопросом: возможно ли, что в будущем искусственный интеллект будет выполнять не только рутинные, но и творческие задачи: рисовать картины, писать книги и музыку? Наши герои рассказали, что думают на эту тему.

Михаил Никифоров считает: нейросети смогут рисовать, но картины, созданные человеком, всегда будут цениться выше. «Модель сделает из песка монету, но она не уйдёт дальше этой монеты, не придумает ничего нового, кроме того, что уже видела».

По поводу написания книг мнения разделились. Даниил считает, что ИИ сможет создавать книги. Он привёл в пример уже существующую текстовую игру с нейросетью GPT-3 на iOS. Там нейросеть помещает вас в придуманную ситуацию, затем вы прописываете своё действие, и робот развивает сюжет дальше. Да, пока это не интеллект, но робот пишет книги на уровне как минимум начинающего писателя-фантаста, что поражает.

Михаил Никифоров считает иначе: «Я убеждён, что модель никогда не напишет хорошей и логичной книги: она не умеет и вряд ли научится запоминать длительные последовательности текста. Допустим, Лев Толстой с самого начала „Войны и мира“ знал, кто такой Болконский, а кто такие Курагины. Модель машинного обучения не может смотреть далеко вперёд по ходу истории».

Студент Никита Карлушин скорее согласен с Михаилом. Он считает, что книги всегда будут писаться людьми: «Наш язык — живой, он постоянно меняется. Моделям всегда будут нужны новые семплы текстов для восприятия этих изменений. Роботы заменят нас в более обезличенных действиях: например, уже сегодня они пишут спортивные обзоры и текстовые трансляции матчей, а люди этого даже не замечают».

А вот с музыкой сложнее, считает Михаил. «Уже сейчас можно слушать целые концерты классической музыки, написанные нейронной сетью, но только в электронном или джазовом направлении. Для других жанров тоже есть одна прорывная модель — Jukebox (сделана OpenAI) — вроде работает, но пока ощущение, что вы включаете пластинку на патефоне и она всё-таки немного трещит».

Никита Карлушин, Павел Вавилин
Никита Карлушин, Павел Вавилин
88
1 комментарий