Кошмары Кремниевой долины: как навести жути с помощью ИИ
Знакомимся с нейросетями, которые создают зомби, вурдалаков и прочую нечисть. Уведите от экрана маленьких детей, беременных женщин и сердечников.
Иллюстрация: Катя Павловская для Skillbox Media
Искусственный интеллект умеет говорить, лечить, готовить и рисовать котиков — но так, кажется, любой может. А вот чтобы напугать всех до чёртиков, нужно по-настоящему приложить мозги. Это мы ещё в детстве усвоили — кто был в летнем лагере, тот поймёт :)
К счастью (или нет?) учёные и здесь преуспели, создав удивительные нейрогенераторы ужасов. Приглашаем вас в увлекательное путешествие по самым тёмным и пугающим уголкам Data Science. Будьте осторожны: местами будет криповато. Берегите свою психику.
В чёрном-чёрном доме есть чёрная-чёрная комната…
«Тень позади меня. Я почувствовал, как рука схватила меня за лодыжку и потащила под слой пыли…» — так мог бы начинаться новый рассказ Стивена Кинга. Но нет. Этот текст придумала нейросеть.
Учёные из медиалаборатории Массачусетского технологического института (MIT Media Lab), специализирующиеся на изучении ИИ, весьма своеобразно решили отметить Хэллоуин в 2017 году. К этому празднику они приурочили запуск нейросети Shelley, которая генерирует страшные истории. Свою разработку они назвали в честь Мэри Шелли — автора культового готического ужастика «Франкенштейн».
Для реализации проекта программисты собрали датасет из 140 000 леденящих кровь историй, опубликованных на Reddit. В частности, в одной из веток обсуждения под названием NoSleep пользователи выкладывают страшилки собственного сочинения в духе тех, что мы своим товарищам по третьему младшему отряду рассказывали короткими июньскими ночами.
К этим историям добавили несколько десятков культовых романов ужасов и «скормили» их Shelley. При помощи алгоритмов глубокого машинного обучения нейросеть научилась анализировать структуру хорроров и воспроизводить её при составлении новых текстов.
Однако самостоятельно написать роман или даже небольшую повесть от начала до конца Shelley пока неспособна. Поэтому её «поселили» в твиттер-аккаунте @shelley_ai и предложили всем желающим помочь ИИ в сочинении новых ужастиков.
Совместное творчество людей и нейросети происходило следующим образом. Вначале ИИ Shelley генерировал короткий фрагмент текста (не более 140 символов) и помечал его хештегом #yourturn («твоя очередь»). Затем пользователи делали ретвиты этого фрагмента и предлагали возможные продолжения. Нейросеть выбирала лучший, по её мнению, вариант и, отталкиваясь от него, генерировала следующий фрагмент. Получилось такое буриме имени Фредди Крюгера.
Всего Shelley проработала около месяца, каждый час публикуя новые текстовые фрагменты. Как отметила Пинар Янардаг из MIT Media Lab, решающим фактором производительности ИИ стало использование мощных видеокарт как для обучения сети, так и для её работы:
Shelley должна оперативно реагировать на предложения пользователей Twitter. Поэтому скорость — это очень важный параметр. Её нам обеспечивают видеокарты NVIDIA Titan X.
Действуя по очереди, люди и ИИ создали более 450 душераздирающих сюжетов, которые требовали лишь небольшой литературной обработки. Эксперты высоко оценили итоговые результаты, многие из которых не уступали по качеству хоррорам современных авторов.
История, собранная из текстов, сгенерированных нейросетью Shelley:
«Моя спальня ночью, я был напуган этим страхом, и я не знал, что делать. Понял, что за мной наблюдают, и я мог разобрать что-то вдалеке. Почувствовал ужасный холодок по спине.
Я почувствовал, как что-то тянется ко мне. Вокруг не было ни души, и она была не очень похожа на человека. Волосы были собраны в пучок и покрыты окровавленным полотенцем. Её лицо было искажено хмурым взглядом.
Она вытащила картинку. На ней были небольшие каракули. Я вырвал её. Это была фотография меня и женщины. Я не узнал её.
Испугался, я не мог двигаться или говорить, и я собирался кричать о помощи. Я был напуган, но не мог пошевелиться. Одеяло было пропитано кровью, и она начала медленно ползти по моим ногам. Я чувствовал её дыхание на своей щеке, и меня трясло.
Я ущипнул себя, а потом почувствовал это. Почувствовал, как что-то коснулось моих плеч. Тьма заполнила мои глаза. Я проснулся в своей постели. Лёжа там, я пытался вспомнить сон, который видел перед тем, как потерял сознание».
Источник: @shelley_ai
По-видимому, при реализации проекта применялись не только аппаратные, но и программные средства от компании NVIDIA, в частности библиотека глубоких нейронных сетей NVIDIA CUDA (cuDNN).
«Shelley — это комбинация многослойной рекуррентной нейронной сети и алгоритма онлайн-обучения, который со временем учится на отзывах пользователей… Чем больше Shelley сотрудничает с людьми, тем более качественные и страшные истории она обучается сочинять».
Пинар Янардаг,
ведущий исследователь MIT Media Lab (цитата: MIT Media Lab)
Специалисты MIT Media Lab уверены, что Shelley ляжет в основу будущих моделей ИИ, которые будут создавать контент, вызывающий заданные эмоции (в данном случае страх). Это может быть полезно не только в литературе и журналистике, но и в маркетинге и рекламе.
ИИ был мал, и Санта вышел странным
Вдохновившись работой коллег по Data Science, журналисты издания MIT Technology Review Уилл Найт и Карен Хао тоже решили поэкспериментировать с нейронными сетями. В преддверии 2019 года они попытались научить ИИ генерировать сюжеты рождественских фильмов.
Для этого они собрали из «Википедии» синопсисы 360 новогодних блокбастеров и загрузили их в рекуррентную нейросеть textgenrnn, которая анализирует и генерирует текстовую информацию.
После обучения ИИ сгенерировал несколько десятков историй, большинство из которых, к сожалению, напоминали бессвязный набор предложений. Немногие тексты, в которых можно было обнаружить крупицы здравого смысла, подходили скорее для фильмов ужасов, чем для лёгких новогодних комедий. В них упоминались террористы, убийства и драки.
Учёные, к которым обратились Найт и Хао, объяснили причины. Во-первых, датасет из 360 записей слишком мал для обучения — сравните со 140 000 примеров, скормленных Shelley. Во-вторых, нейросети, подобные textgenrnn, в принципе неспособны оценивать логичность сюжета в длинных текстах, которые они генерируют. Создатели Shelley отчасти решили эту проблему, разбив рассказы на фрагменты и пригласив в соавторы пользователей Twitter.
«Нейросеть выбирает каждое последующее слово, основываясь на том, насколько велика вероятность его появления после предыдущего. Это похоже на попытку написать письмо, пользуясь Т9. В результате теряется логика и грамматическое согласование».
Карен Хао,
журналист MIT Technology Review (цитата: MIT Technology Review)
Однако Найт и Хао не опустили руки и решили применить ИИ для более простой задачи — сгенерировать только названия новых фильмов. И здесь их ждал успех. Сеть textgenrnn выдала несколько десятков названий, подходящих для новогодних боевиков и хорроров.
Среди них журналисты выделили следующие: «Оно: Санта», «Рождественская миля» и «Бойцовское Рождество». Авторы исследования даже попросили дизайнеров (людей, не ИИ) создать постеры для этих лент.
Машина ужасов
Илон Маск, рассуждая об опасности технологий, однажды сказал, что, «развивая ИИ, человечество рискует вырастить монстра». Сотрудники MIT Media Lab восприняли его слова буквально и решили создать нейрогенератор ужасов.
Учёные под руководством профессора Ияда Рахвана в рамках проекта «Машина кошмаров» (Nightmare Machine) научили ИИ превращать фотографии городов в пугающие постапокалиптические пейзажи. Разработчики утверждают, что их творение было «первым в мире ИИ, целенаправленно созданным для того, чтобы вызывать у людей чувство страха».
Американские исследователи пропустили через алгоритм Nightmare Machine изображения популярных туристических мест. Среди них были Эйфелева башня, статуя Свободы, Тадж-Махал, Колизей, храм Василия Блаженного в Москве и многие другие. При этом у «Машины кошмаров» было восемь кошмарных паттернов, каждому из которых дали говорящие названия: «Дом с привидениями», «Ночь страха», «Бойня», «Токсичный город», «Город-призрак», «Преисподняя», «Чудовище с щупальцами» и «Вторжение инопланетян».
В основе Nightmare Machine лежит технология нейронного переноса стиля изображения (Neural style transfer, NST). Первый успешно работающий алгоритм NST был описан в научной статье 2015 года. Её авторы — учёные из Тюбингенского университета (Германия) — продемонстрировали способность искусственных нейронных сетей превращать обычные фотографии в полотна Ван Гога, Эдварда Мунка или Пабло Пикассо.
Создатели Nightmare Machine использовали свёрточную нейронную сеть, реализующую алгоритм NST. За счёт многослойной структуры она способна в процессе обучения отделять содержимое (что изображено) от стиля (как изображено).
В отличие от своих европейских коллег, специалисты MIT Media Lab обучали сеть не на творениях великих мастеров, а на стоп-кадрах из фильмов ужасов, научной фантастики и репортажах с мест экологических катастроф.
«Мы используем алгоритмы глубокого обучения, чтобы натренировать сеть распознавать, как выглядят дома с привидениями, заброшенные города и отравленные токсичными выбросами ландшафты. Алгоритм извлекает из обучающих изображений элементы стиля (например, пугающе тёмную палитру) и переносит их на обычные фотографии».
Пинар Янардаг,
ведущий исследователь MIT Media Lab (цитата: MIT Media Lab)
Благодаря использованию имеющихся наработок группа Ияда Рахвана, состоящая из четырёх человек, потратила на разработку Nightmare Machine всего две недели.
В дальнейшем команда MIT Media Lab под руководством Рахвана использовала алгоритмы «Машины кошмаров» в своём следующем проекте, получившем название «Глубокое сопереживание» (Deep Empathy).
В рамках этого проекта учёные тренировали ИИ на фотографиях сирийских городов, пострадавших в ходе гражданской войны. В результате нейронная сеть обрела возможность переносить образы военной разрухи на изображения любых городов мира.
Проект призван пробудить у общественности сочувствие к жертвам боевых действий. Специалисты MIT Media Lab пропустили через нейросеть Deep Empathy фотографии Лондона, Парижа, Амстердама, Бостона и даже Москвы. Эти изображения должны помочь жителям благополучных городов почувствовать масштаб разрушений и горя, сопровождающих войну.
Deep Empathy был реализован при участии UNICEF. На странице проекта сочувствующим зрителям предлагают пожертвовать средства для инициатив ООН по поддержке сирийских детей.
Чтобы улучшить работу нейронной сети, на сайте проекта также запустили опрос: из двух фотографий пользователь должен выбрать ту, которая вызывает у него наибольший эмоциональный отклик.
Как накодить призраков и зомби
Студенты уже хорошо знакомой нам медиалаборатории MIT Зив Эпштейн и Мэтт Гро, развивая исследования своих старших коллег, обучили нейросеть создавать… призраков. К счастью, пока только на фотографиях.
Началось всё с достаточно безобидного проекта: Эпштейн и Гро разрабатывали ИИ, способный стирать с фотографий отдельных людей и восстанавливать на их месте задний фон. Такая функция могла бы помочь убрать со старых фото изображения друзей и подруг, с которыми испортились отношения.
Однако программа студентов работала не так хорошо, как они предполагали. В большинстве случаев на месте удалённых людей оставались размытые силуэты. Тогда ребята задумались над тем, что нейросети можно применять и для обратной задачи — не стирать, а, наоборот, добавлять на изображения нечёткие, напоминающие привидений, фигуры.
Так появился проект «ИИ-призраки» (AI Spirits), который Эпштейн и Гро, презентовали публике в 2018 году. Если пропустить через генеративную сеть AI Spirits фотографию пустого пейзажа (морского побережья, тёмного леса или пшеничного поля — неважно), то она добавит к нему человекообразные пятна и тени.
Обучившись на примерно 5000 фотографий, содержащих изображения людей, ИИ усвоил правила композиции снимка, которым обычно следуют фотографы. Поэтому AI Spirits вставляет призрачные фигуры именно там, где наш мозг ожидает их увидеть, — например, на тропинке посреди леса. В результате сгенерированные нейросетью фантомы действительно способны вызвать страх и беспокойство.
«Модель обучалась, сопоставляя снимки, содержащие изображения людей, с аналогичными фото, на которых люди были стёрты при помощи ИИ. Алгоритм добавляет призраков там, где их появление ожидаемо. Он исходит из понимания обычного размера и местоположения фигур людей на изображениях. Нейросеть окрашивает и текстурирует привидений, отталкиваясь от пейзажа, видимого на остальной части изображения».
Мэтт Гро,
исследователь MIT Media Lab (цитата: Digg)
Своим изобретением молодые учёные хотели показать мощь ИИ, которую многие всё ещё не осознают. Эпштейн и Гро утверждают, что нейросети, обучаясь, могут аккумулировать в себе такие особенности человеческой природы, о которых даже сами люди не подозревают.
«Я не думаю, что в искусственном интеллекте таятся злые силы, но он может оказаться весьма пугающим, когда получает соответствующие данные. Если модели машинного обучения будут использовать без надлежащего контроля, то из этого безусловно может выйти много нехороших вещей».
Мэтт Гро,
исследователь MIT Media Lab (цитата: Digg)
Помимо призраков, нейронные сети могут генерировать ещё и… зомби. На это способен алгоритм Nightmare Machine. Да, «Машина кошмаров», созданная в MIT Media Lab, может переносить пугающий стиль не только на изображения городов, но и на фотографии людей, превращая их в ходячих мертвецов (час от часу не легче).
Чтобы обучить ИИ этому нетривиальному навыку, учёные использовали фотографии знаменитостей. Нейросеть тренировалась, перенося на них черты зомби (только не спрашивайте, где исследователи взяли необходимое для обучения ИИ количество снимков нежити. Они об этом не сообщили).
Поиздевавшись над знаменитостями, программисты MIT Media Lab создали вариант генеративно-состязательной сети (GAN), описанный в научной статье. В свою очередь, эта сеть обучилась генерировать абстрактные лица, которые после наложения на них стиля зомби напоминают персонажей фильмов режиссёра Джорджа Ромеро, вылезших из своих тёмных могил, чтобы сделать последнее селфи.
«Алгоритм вначале узнал, как выглядит лицо, — мы добились этого путём подачи на его входы 100 000 лиц знаменитостей. После этого алгоритм смог генерировать новые изображения самостоятельно. Когда Nightmare Machine создаёт уникальные лица, он „зомбирует“ их с помощью алгоритма, который понимает, как должен выглядеть настоящий зомби».
Пинар Янардаг,
ведущий исследователь MIT Media Lab (цитата: MIT Media Lab)
Таким образом, в проекте используются две нейронные сети. Первая — генерирует человеческие лица (не зомби), а вторая — уже превращает их в монстров.
Исследователи также запустили на сайте Nightmare Machine голосование (Осторожно! Эти картинки могут шокировать), с помощью которого любой желающий может внести свой вклад в обучение «Машины кошмаров». Выбрав из 10 предложенных изображений самые жуткие, посетитель получает в виде «награды» подборку из 36 картинок, которые, по мнению нейросети, производят наибольшее впечатление именно на него.
Результаты голосования учитываются при работе нейронной сети и способствуют генерации всё более и более страшных изображений. Каждый голос немного меняет ИИ в одном из направлений: больше зубов, более бледная кожа, более тёмный фон и так далее. В голосовании уже приняло участие более двух миллионов человек.
Есть ли у всего этого какой-то практический смысл? Создатели AI Spirits и Nightmare Machine утверждают, что есть. Они отмечают, что их проекты были созданы не только и не столько ради того, чтобы просто напугать людей.
Задача исследований состояла в том, чтобы лучше понять, почему люди боятся тех или иных изображений. Это может быть полезно, например, для уменьшения эффекта зловещей долины, с которым уже много лет борются создатели роботов и искусственного интеллекта.
«Учёные уже давно обсуждают феномен зловещей долины, который описывает чувство страха и отвращения к роботам, которые выглядят почти (но не совсем) как настоящие люди. Мы задались вопросом, может ли ИИ нарочно вызывать неприятные эмоции, похожие на те, что зрители испытывают при просмотре фильмов ужасов. И получили на него чёткий ответ».
Пинар Янардаг,
ведущий исследователь MIT Media Lab (цитата: MIT Media Lab)
P. S. Пожалуйста, не вините нас, если сегодня вы не сможете уснуть. Мы вас предупреждали :)