Поэзия искусственного мира - создание

Амале
Интервью с директором исследовательской группы информационного сайта Seznam.cz  Йиржи Матерной о поэтическом сборнике «Поэзия искусственного мира», представляющем стихотворения, генерированные компьютером

(перевод с чешского языка статьи в интернет-журнале cnews.cz)


Под поэтическим сборником «Поэзия искусственного мира» стоит подпись директора исследовательской группы, созданной на базе сайта Seznam.cz, программиста Йиржи Матерны (Jiri Materna). В действительности же он не написал ни строчки. Вместо этого он создал «поэта», который способен сочинить несколько десятков стихотворений в секунду – с помощью искусственной нейронной сети (ИНС) их генерирует компьютер.


Как это работает? Как Вы научили компьютер «писать» стихи?


Генератор стихотворений основан на искусственной нейронной сети, являющейся, в сущности, математической моделью человеческого мозга, способной обучаться с помощью т.н. тренировочных примеров.  ИНС я представил около 80 тысяч стихотворений, на основании которых сеть постепенно научилась составлять из букв слова, из слов строки, из строк строфы, а из них – стихи. Процесс руководствуется принципом случайности, тем не менее самую высокую вероятность образуют слова, способные дать стихотворению продолжение, имеющее смысл. Смысл этот представлен базовыми (тренировочными) примерами. Сеть старается подражать тому, что она видела в тренировочных данных, но не копирует их.


Почему необходимо такое большое количество базовых (тренировочных) произведений?


Дело в том, что при небольшом количестве алгоритм теряет способность обобщения и копирует части стихов, или не может обучиться в достаточной степени. Идеальный вариант для тренинга – несколько десятков тысяч стихотворений одного хорошего автора.


Что влияет на качество результатов (прозведений) с точки зрения ИНС?


Её архитектура. Если она слишком проста, то сеть не может качественно и полномерно обучаться и в результате не сможет генерировать слова, несущие какой-либо смысл. Если, наоборот, будет слишком сложной, состоящей из очень большого количества нейронов, и, одновременно,  у нас не будет соответственного количества тренировочных данных, может произойти «переедание» сети и она станет данные лишь копировать.


Сколько времени длится генерирование?


Если не принимать во внимание этап тренировки, который может занять и несколько дней (на этом этапе компьютер занимается весьма сложными расчетами), само генерирование стихов требует очень мало времени – алгоритм создаёт около 30 произведений в секунду. Однако не каждое стихотворение имеет удовлетворительное качество, а длинные стихи зачастую бессмысленны. Это объясняется тем, что алгоритм за время долгого генерирования забывает, о чём он писал в начале, теряет нить и отходит от темы. Мой последний алгоритм эту проблему уже решает. Сначала генерируется название стиха. Из него выделяется главная тема в виде вектора чисел. Программа сохраняет вектор и использует его в течение всего процесса генерирования. Сегодня мы можем сказать, что примерно каждое тридцатое произведение можно представить читателю, в нём есть смысл.


Каковы требования к хардверу?


Требования к хардверу для тренировки рекуррентной нейронной сети, которую использует мой генератор стихотворений, довольно высоки. Важно использовать мощную графическую карту, которая поможет процессору с расчетами и сократит весь процесс с дней до часов. Важен также объём памяти – сети, которую я использовал, требовалось примерно 6 ГБ.


С какими проблемами вы столкнулись с точки зрения специфики чешского языка?


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


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


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


По каким критериям выбирались произведения в сборник?


Первый – в стихах должен быть смысл, поэтому, как уже было сказано, пришлось исключить некоторые длинные стихи, поскольку по ходу произведения смысл терялся. Второй критерий – новизна, интересный подход к теме. В этом смысле пришлось отказаться от некоторых стихов, которые несли вполне полноценную смысловую нагрузку, но страдали банальностью. Также я тщательно соблюдал правило, согласно которому ни одного знака в стихотворении нельзя было изменять, поэтому иногда случалось, что из-за незначительной ошибки в названии пришлось отказаться от интересного стихотворения.


Когда мы сможем прочесть роман,  написанный компьютером?


Интересные примеры объёмных текстов на английском языке, генерированных алгоритмом, схожим с моим, публикует в своём блоге  Андрей Карпаси (Andrej Karpathy) из Стенфорда. Он пробовал генерировать Шекспира, математические документы или коды ядра операционной системы Linux. На первый взгляд тексты интересны, но если вчитаться, то со временем становится заметно, что смысл из текста ускользает.

Однако это не значит, что объёмные художественные тексты, ничем не отличающиеся от созданных человеком, автоматически генерировать вообще невозможно. Примером может послужить японский роман Konpyuta ga shosetsu wo kaku hi («День, когда компьютер напишет роман»), который чуть не выиграл литературный конкурс. Но для генерирования крупных художественных текстов необходим другой алгоритм, который, вероятно, не смог бы создавать стихотворения.

Это хорошо иллюстрирует недостаток современных систем искусственного интеллекта – мы способны создать систему, умеющую хорошо решать одну конкретную задачу, однако пока никто не придумал универсальной системы, которая будет в состоянии справиться с любой задачей. Если однажды это удастся, то такая система будет способна улучшать саму себя, в результате чего мы сможем наблюдать геометрический рост её способностей. Таким образом, теоретически может наступить время, когда компьютер будет решать все задачи лучше, чем их решил бы человек. Но того, что машины захватят власть над миром, я не боюсь.