В Нидерландах вышло написанное роботом продолжение сборника рассказов "Я, Робот" Айзека Азимова. Что такое литературный робот? Сможет ли в будущем любой человек писать, как классик, в соавторстве с роботом?
"Ты что, был пьян или принял наркотики, когда это писал?" – с таким вопросом обратилась редактор издательства к известному в Нидерландах писателю Роналду Гипхарту, взглянув на текст, который он подготовил в соавторстве с роботом по имени AsiBot. Роналд Гипхарт согласился на эксперимент – вместе с нейронной сетью, натренированной в литературном стиле Айзека Азимова, дописать классику. В итоге к новому изданию девяти рассказов Азимова "Я, Робот" в переводе на нидерландский язык добавлен десятый, под названием "Робот машины – человек" (De robot van de Machine is de mens). Название придумал робот AsiBot, он же ответственен за примерно 50 процентов текста – Гипхарт структурировал рассказ и написал остальные 50 процентов. В Голландии новое, дополненное издание "Я, Робот" раздавали бесплатно во всех библиотеках страны, еще никогда в мире сгенерированный искусственным интеллектом текст не получал такого внимания широкой публики.
AsiBot был разработан учеными амстердамского института Meertens Instituut и Университета Антверпена. Рассказывает один из создателей робота, сотрудник исследовательского центра компьютерной лингвистики Университета Антверпена Бен Буртеншоу:
Ваш браузер не поддерживает HTML5
Раз робот может написать одно предложение, то можно его попросить написать и тысячу
– Фолгерт Карсдорп из института Meertens в Амстердаме пригласил нас в Антверпене подключиться к созданию робота AsiBot, потому что наша исследовательская работа в большей степени сосредоточена на генерации текстов. Изначально мы планировали просто сгенерировать какой-то рассказ, который будет напечатан вместе с переизданием голландского перевода сборника рассказов Азимова. Мы тогда думали, что так будет проще – хоп и готово! Сгенерировать целый текст было бы действительно проще, но и намного скучнее. Казалось бы, раз робот может написать одно предложение, то можно его попросить написать и тысячу, почему нет?
– В произвольной последовательности?
– Технологии развиваются, и текст получился бы не совсем бессвязным, слабо связанным. Не так давно был снят фильм Sunspring, сценарий которого полностью сгенерирован нейронной сетью. Фильм смотрится как набор фрагментов, использованная технология не отличается высокой сложностью, но сам факт, что такой фильм создан, что работа доведена до конца, что нашлись актеры, которые произносили эти сгенерированные роботом строки – ценный эксперимент.
Короткометражный фильм, о котором говорит мой собеседник, – совместная работа режиссера Оскара Шарпа и исследователя нейронных сетей из Университета Нью-Йорка Росса Гудвина. Гудвин создал робота-сценариста по имени Джетсон (впрочем, сам робот настаивал, что его зовут Бенджамин), натренировав его на десятках научно-популярных сценариев 80-х и 90-х годов, которые находятся в открытом доступе в интернете. Бенджамин – нейронная сеть, аналогичная сети AsiBot, однако AsiBot натренирована на гораздо более серьезном массиве данных – около 10 000 книг на нидерландском языке.
Мы полностью поменяли свои представления о том, как пользоваться искусственным интеллектом
– Мой коллега здесь, в Антверпенском университете, Энрике Манхавакас, также один из главных создателей AsiBot, особенно заинтересован в статистической стилистике, переносе стиля с одного текста на другой. Например, если текст написан автором-мужчиной, как превратить его в текст, написанный автором-женщиной? Меня больше всего интересует генерация текста, компьютерное творчество и виды творческого сотрудничества с искусственным интеллектом – co-creativity, в частности, совместное с вычислительным агентом сочинение рассказа, сюжета. Я уже работал над подобными проектами с детьми, и мне очень хотелось, чтобы и новый проект AsiBot был основан именно на процессе равноправного сотрудничества человека и вычислительного агента. Разработка моделей для проекта была таким образом напрямую связана с нашими предыдущими разработками и исследованиями. В итоге, проект опирается на стиль нескольких известных голландских писателей и стиль жанра (в этом случае – научной фантастики). Работая над текстом, можно даже менять стили конкретных писателей. По мере того, как пользователь редактирует предложения вычислительного агента, их маркировка – изначально они выделены яркими цветами – бледнеет, то есть от сгенерированного стиля известного писателя стремится обратно к стилю пользователя. Все, что пользователь пишет от себя, без помощи агента, появляется на белом фоне. Если он прибегает к помощи агента в стиле, например, Азимова, эти строки появляются на зеленом фоне, но если пользователь начнет активно изменять их на свой лад, то зеленый фон бледнеет, постепенно превращаясь в (почти) белый. В качестве "пользователя" для написания продолжения сборника рассказов Азимова мы хотели найти голландского писателя, который был бы достаточно хорошо знаком местным читателям, который бы и ранее задавался вопросами, подобными тем, что ставит Азимов в своих произведениях. Таким автором стал в нашем случае Роналд Гипхарт. Мы интенсивно поработали с ним в течение нескольких месяцев, и это был удивительный процесс: в результате мы (разработчики) полностью поменяли свои представления о том, как пользоваться искусственным интеллектом. Изначально мы думали, что если человеку дать возможность воспользоваться в написании текста искусственным интеллектом, то любой человек (я, например) с радостью облечет весь свой текст в то, что предложит искусственный интеллект, построит свой текст вокруг предложений робота. Но, как выяснилось, у профессионального писателя всегда есть годами выработанная собственная стратегия работы с текстом, и Роналд оказался не готов уступить роботу большинство своих функций.
– Иными словами, вы бы хотели использовать искусственный интеллект как ученый, посмотреть, на что он способен, а Роналд Гипхарт остался писателем?
Обычный человек будет играть с роботом, менять его слова
– Вначале он послушно приступил к работе, следуя нашим советам, то есть он получал предложения робота и редактировал их на свой вкус, но примерно начиная со второй трети текста, он вдруг начал использовать предложения робота как разные, чужие голоса в рассказе. То есть оставил их неотредактированными – это был серьезный сдвиг в понимании самого принципа совместной работы. В его рассказе появились цитаты роботов, он заключил многие из них в кавычки. Это хорошо видно по цветовой маркировке: в первой трети мы видим коллаж из фраз разных стилистических моделей и лично Гипхарта, то есть в прямом смысле совместное творчество с вычислительным агентом, а дальше Гипхарт цитирует вычислительного агента, выделяет для него роль в рассказе. Для нас как исследователей гораздо интереснее первая часть. Вот почему мне лично особенно любопытно будет понаблюдать, как будет использовать нашего робота широкая публика. Возможно, я ошибаюсь, но предполагаю, что большинство людей воспользуются помощью робота в качестве игры, эксперимента, и не будут опираться на установившуюся с годами суровую рутину профессионального автора. Я думаю, что обычный человек будет играть с роботом, менять его слова. Очень интересно будет потом проанализировать результаты.
Сам Роналд Гипхарт в многочисленных выступлениях и интервью выразил удовлетворенность результатом, хотя и признался, что изначально относился к проекту с большой долей скепсиса. Он сравнил робота с оркестром, в котором каждый музыкант играет на свой лад, а писателя – с композитором и дирижером в одном лице, которому еще предстоит собрать всю эту какофонию в музыку. В начале работы над десятым рассказом Гипхарт использовал коллаж из стилей разных писателей (интерфейс литературного робота предлагает, например, такие экзотические коктейли, как смесь Герарда Реве и Азимова), но затем перешел на стиль непосредственно сборника "Я, Робот".
– Сначала мы создали базовую стилевую модель и назвали ее Dante.
– У нее нет ничего общего с Данте Алигьери? Я просто думала, что, может быть, эта модель натренирована на нидерландских переводах "Божественной комедии"?
– Нет, это просто мое любимое имя. Эта модель как раз и натренирована на десяти тысячах произведений нидерландской литературы.
– Как производилась тренировка сети? Мне известно, что это была рекуррентная нейронная сеть, LSTM (сеть долгой краткосрочной памяти).
– Это символьно-ориентированная нейронная сеть, обученная моделировать следующий символ (а не слово, например), вот почему она обучается стилю и даже способна генерировать новые слова, которые не встречались ей в прочитанной литературе. Например, такие сети, обученные на материале одного писателя, способны впоследствии генерировать имена персонажей в стиле этого писателя. Но у нас нет огромной базы данных для каждого писателя, поэтому мы сначала тренировали сеть на массе разных голландских текстов, а потом проводили повторную тренировку конкретно на текстах определенных писателей, чтобы обучить ее их стилям.
– Сколько времени ушло на обучение сети?
– Первоначальное обучение заняло около двух недель.
– Это очень долго, не так ли?
– Это зависит от сервера. Мы могли бы ускорить процесс, но у нас не было никакой спешки. Повторная тренировка, то есть обучение стилю конкретных писателей, заняла не больше одного дня, возможно, даже полдня.
– А какими библиотеками глубокого обучения вы пользовались?
– Мы использовали PyTorch, прежде всего потому, что Энрике вот уже почти год разрабатывает методику применения именно этой библиотеки для языковых моделей. PyTorch сравнима с другими библиотеками, как Caffe, Theano и TensorFlow, но быстро становится наиболее популярной. Ее разработали в компании Facebook. Изначально она была библиотекой для работы с изображениями и известна как Torch для компьютерного языка Lua.
– Забавно, язык Lua – это язык приложения для iPad под названием Codea, в котором сравнительно легко можно писать маленькие программы для визуализации физических явлений, делать свои игры, анимации и даже экспортировать их в AppStore.
– Да, Lua очень подходит для создания визуализаций, потому что она хорошо работает с видеокартой на планшете, но довольно мало исследователей используют этот язык в работе. Так что теперь Torch переписан для языка Python и стал PyTorch, потому что большинство исследователей сегодня пользуются Python.
– Ну разумеется, особенно для машинного обучения.
В мире генерации текста более популярны сети, работающие на уровне слов, а не символов, но мы выбрали именно символьно-ориентированную сеть, чтобы наделить рядового пользователя настоящим писательским стилем
– Да, в результате мы построили нашего робота на основе уже проделанных Энрике исследований с PyTorch. Нашей целью было генерировать следующий символ исходя из предыдущих 200 символов (пользователь может изменить эти параметры и сократить исходное количество символов до 100 или даже 50). Сравните это с рекуррентной сетью, которая работает не с символами, а со словами и исходит в генерировании следующего слова из предыдущих 50–100 слов. Такие сети менее восприимчивы к стилю и не могут создавать новых слов, как наша, но зато они могут производить более длинные отрезки текста и реже дают результаты, слишком близкие к литературным тропам в обучающих текстах, то есть меньше повторяются. Сегодня в мире генерации текста более популярны сети, работающие на уровне слов, а не символов, но мы выбрали именно символьно-ориентированную сеть, чтобы наделить рядового пользователя настоящим писательским стилем. Что касается повторов, то их пользователь может отредактировать сам. Так что в нашем контексте символы как исходные данные имеют преимущество.
В течение ноября AsiBot был доступен широкой публике в интернете, любой человек мог попробовать написать вместе с ним рассказ и даже принять участие в литературном конкурсе. Мои первые попытки писать вместе с AsiBot меня разочаровали, мне показалось, что робот не реагирует на то, что пишу я, а выдает мне какие-то готовые фразы. Но после интервью с Беном Буртеншоу, который объяснил мне, как правильно общаться с роботом, я повторила эксперимент и осталась под глубоким впечатлением. Мой разговор с AsiBot быстро превратился в подобие исповеди. В начале декабря, прочитав рассказ выигравший в литературном конкурсе, я заметила, что и в нем пользователь обращается к роботу как к терапевту. Та же тенденция прослеживается и у Роналда Гипхарта. В конце рассказа роботы помещают его литературного героя, писателя – и все человечество вместе с ним – в Безопасное Место, где – согласно классическому первому закону роботехники Азимова – людям больше ничто не будет угрожать, в том числе собственная воля.
Необходимо пояснять роботу, какой кусочек текста тот должен принимать за исходный
– При совместной работе над текстом, со стороны пользователя необходимо пояснять роботу, какой кусочек текста тот должен принимать за исходный. Если вы этого не сделаете, то робот будет каждый раз считать исходным текстом последние, например, 60 символов того, что вы написали. То есть он будет реагировать только на последнее предложение, но так рассказы не пишут, как известно. Это будет больше похоже на детскую игру, в которой от одного игрока к другому передается свернутый в рулон листок бумаги, каждый последующий игрок дописывает на этом листке свое предложение, исходя исключительно из предыдущего, и лишь в конце игры можно увидеть весь текст.
– Да, именно поэтому я и подумала сначала, что это не нейронная сеть, а чат-бот какой-то.
– Конечно, потому что это ваша задача как пользователя – показать роботу структуру текста. Вы можете, например, просто начать предложение и попросить робота закончить его. Но вы можете выделить предложение, например, в первом параграфе, то есть показать роботу, что вам нужно что-то добавить в третьем параграфе, который вы пишете сейчас, и это связано с чем-то в первом параграфе. При этом важно выделять небольшие участки текста. Иными словами, структура текста – работа пользователя, а строки подсказывает робот.
– А как работает "шкала креативности"?
– Это то, что мы называем температурой модели, она показывает вероятность неожиданного результата. Чем выше по шкале креативности, тем более неожиданный для данной стилевой модели текст будет генерировать робот. Если креативность поставить на ноль, то получишь повторы, базовую модель данного стиля. Это может быть очень полезным инструментом, особенно если использовать каждую стилевую модель, как отдельный голос, отдельного персонажа, как это сделал в своем рассказе Роналд Гипхарт. То есть вы получите ожидаемые, логичные результаты. Но можно и наоборот, поставить креативность на максимум, и тогда вы получите неожиданные, непредвиденные результаты, и в этом тоже может быть своя прелесть.
– А почему у робота получаются не всегда грамматически правильные предложения? У меня он выдает то кусок предложения с точкой, то начало предложения.
– Предложения получаются грамматически правильными, просто они чаще всего незаконченные. В этом смысле нидерландский язык очень удобен, потому что в нидерландском глагол нередко оказывается в самом конце предложения, а следовательно в нашем случае его просто нет, если предложение обрублено в конце. Есть модальный глагол или вспомогательный, а второй части сказуемого нет. Вот пользователю и приходится его придумывать самому, это интересно. С французским языком, например, было бы менее интересно, потому что отсутствовали бы только какие-нибудь дополнения, а не сказуемое.
– То есть вы специально настроили робота так, чтобы он не заканчивал предложения?
Писатель будет заканчивать предложения робота, а робот – предложения писателя
– Мы могли бы заставить его всегда доводить предложение до точки, но мы полагаем, что это не совсем подходит для совместной работы. Если бы мы заранее знали, как будет использовать нашего робота Роналд Гипхарт, что он будет брать у него цитаты, мы бы построили робота по-другому, чтобы он заканчивал предложения. Но мы предполагали, что писатель будет все время писать вместе с роботом, в одном потоке, так сказать, что писатель будет заканчивать предложения робота, а робот – предложения писателя.
– AsiBot может написать целый параграф сам?
– Он может написать параграф, просто мы ограничили его по количеству символов.
– Но этот параграф не будет связный?
– Если бы он писал полными предложениями, то параграф был бы более связным. Когда вы говорите, что он выдает кусок предложения с точкой, а потом начинает новое и не заканчивает, это все зависит от исходного предложения, которые написали вы. Робот исходит из наиболее вероятных символов, если же вы написали законченное предложение в, скажем, 100 знаков, то наиболее вероятным далее будет точка, не правда ли? Вот почему он дает вам точки. Если же вы поставите точку в своем предложении сами и напишете первое слово следующего предложения – какой-нибудь предлог, например – то робот с наибольшей долей вероятности сгенерирует вам новое предложение. Если вы хотите работать с роботом на более нюансированном, глубоком уровне, следует все время учитывать вероятность в языке, которому он обучился по десяти тысячам книг.
– Это первый эксперимент в мировой практике, когда именитый писатель публикуется в соавторстве с роботом?
– Примеры совместного творчества с вычислительными агентами уже были, но, возможно, мы первыми объединили все технологии вокруг одного автора и издали результат в форме книги. Природа технологий, которыми мы пользуемся, такова, что они находятся в публичном доступе, и любые более-менее компетентные программисты могут ознакомиться с этими фреймворками и создать свои языковые модели, играть и экспериментировать. При университетах и исследовательских центрах создается масса проектов в этом направлении. Методология совместной работы пользователя и искусственного интеллекта, сама идея совместного творчества, сотворчества с роботом, происходит из области моделирования творчества, которая зародилась лет 20 назад.
– Как будет развиваться соавторство человека с искусственным интеллектом в ближайшие 10 лет?
Мы не хотим, чтобы искусственный интеллект выдавал нам готовые романы
– Если вы посмотрите на то, как оценивает системы искусственного интеллекта широкая публика, то увидите в основном подозрительное отношение к роботам. Недавно вышло исследование на эту тему Анны Джорданоус из Университета Кента. Она продемонстрировала широкой публике музыкальную театральную постановку, которая получилась в результате совместной работы системы искусственного интеллекта и человека. Публика восприняла систему с подозрением. Превалировало такое мнение: как можно называть эту систему искусственным интеллектом, если огромную часть работы сделал человек? То есть общественное мнение склонно считать, что робот не создает ничего сам, а только копирует. Можно, конечно, построить такого робота, который все сделает сам, не опираясь на человеческий вклад, но результат будет очень скучным. Мы не хотим, чтобы искусственный интеллект выдавал нам готовые романы. Технологически это в пределах возможного, но никто так не работает. Люди тоже не запираются в комнате на два года, чтобы потом выйти и показать всем готовую книгу. Уже несколько сотен лет так никто не пишет. Современная форма творчества основана на сотрудничестве многих людей. Я полагаю, что и искусственный интеллект будет встраиваться в эту парадигму и получит роль соавтора в творческом процессе. Как нам видно из исследований, именно в таком виде его с уважением примет и широкая публика. Такое развитие событий имеет смысл, потому что искусственный интеллект хорошо работает как соавтор и по-настоящему помогает художникам в творческом процессе уже сегодня. Логично ожидать, что все больше "обычных" людей будет сотрудничать с искусственным интеллектом в ближайшем будущем.
– То есть уже в ближайшие несколько лет все мы начнем повседневно пользоваться генераторами текста, как пользуемся проверкой орфографии spell-check в текстовом редакторе сегодня?
– Я думаю, что у искусственного интеллекта будет более престижная роль, чем у spell-check.
– Я имею в виду пользоваться так же рутинно, не задумываясь, в повседневной работе. Потому что я могу себе представить, что некоторым сама мысль о соавторстве с роботом покажется оскорблением в адрес собственных писательских и прочих талантов, угрозой собственной творческой свободе.
– Это будет глубоким заблуждением.
– На ваш взгляд, искусственный интеллект только обогатит наш творческий потенциал?
– Да. Вот представьте себе, что в музее вы подойдете к художнику, который учится у мастеров, и высокомерным тоном скажете ему: "А вы чем тут занимаетесь? Всё копируете?" Художник обидится. Для художника и писателя естественно впитывать насколько можно больше опыта других художников и писателей, испытывать на себе их влияние и использовать максимально совершенные технологии, чтобы это влияние выразить. Пусть этими технологиями будут вероятностные модели, которые могут представлять язык в сложных формах, в простых формах. Конечно, художники и писатели воспользуются ими, я уверен. Проблема с эго творца может возникнуть у некоторых, но я не думаю, что она останется в долгосрочной перспективе.
– Мне кажется, что в целом само понятие "я как художник", "я как писатель", "я как личность" сегодня размывается в сетевой реальности. Мы стали частью сети. Есть один замечательный философ, Ювал Ноа Харари, который утверждает, что наш разум постепенно превращается в коллективный, что мы начинаем меньше походить на обезьян, живущих отдельными независимыми друг от друга группками, и все больше на муравьев или пчел, которые не выживают поодиночке, имеют специализацию и соединены невидимыми связями. Наверное, мы вообще больше не можем думать о себе как об отдельно взятых художниках, настолько мы опираемся на соавторство и цитаты.
– В 20-м веке мы часто слышали что-то типа: "Ты можешь сделать это! Ты – победитель!" И наверное, мы подустали. Сегодня творческие вершины мы наблюдаем в менее грандиозных местах.
– А где сейчас самые основные центры разработки нейронных сетей, которые работают с языковыми моделями? Или они уже везде?
– Прелесть разработок в области искусственного интеллекта в том, что инфраструктура большого университета для их проведения больше не требуется. Нужна, конечно, определенная вычислительная мощность, но это все можно достать в облаках в сети. Разумеется, программы в Оксфорде и Стэнфорде, а также в крупных американских компаниях, как Facebook и Google, до сих пор лидируют, но одновременно по всему миру идет интереснейшая работа в области менее распространенных языков. Так, например, любопытные программы появились на баскском языке, в области баскской поэзии. Если мы смотрим на язык как продукт потребления для максимальной аудитории, то все используют английский, но если смотреть на язык как на поле открытий, творческую мастерскую, то баскский ничуть не менее интересен.