Форма реальности. Скрытая геометрия стратегии, информации, общества, биологии и всего остального — страница 19 из 82

[167] первым понял, что цепи Маркова можно использовать не только для анализа, но и для создания текста. Предположим, вы хотите создать фрагмент текста с теми же статистическими характеристиками, что и текст на английском языке, и он начинается с ON. Тогда вы можете использовать для выбора следующей буквы генератор случайных чисел, который выдаст букву S с вероятностью 14,7 %, букву T с вероятностью 11,3 % и так далее. Как только выберете следующую букву (например, T), у вас есть следующее буквосочетание (NT), и вы можете аналогично делать следующий шаг и так далее, пока не получите текст желаемой длины. Статья Шеннона «Математическая теория связи» (положившая начало всей теории информации) появилась в 1948 году, а потому ученый не имел доступа к 3,5 триллиона букв английских текстов на нынешних магнитных носителях. Поэтому он применял цепи Маркова иначе. Если у него было буквосочетание ON, он брал с полки какую-нибудь книгу и просматривал ее, пока не натыкался на стоящие рядом буквы O и N. Если после них шла буква D, то следующим буквосочетанием он брал биграмму ND. Затем искал в очередной книге сочетание ND и так далее. (Если после ON следует пробел, вы тоже можете это учитывать, тогда у вас будет получаться текст, разделенный на отдельные слова.) Вы записываете выстроенную таким образом последовательность букв и получаете знаменитую фразу Шеннона:

IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTURES OF THE REPTAGIN IS REGOACTIONA OF CRE.

Простой марковский процесс создал текст, который не является английским, но выглядит как английский[168]. Такова жуткая сила этой цепи.

Конечно, цепь Маркова будет зависеть от набора текстов, выбранных для определения вероятностей, – «обучающих данных», как мы говорим в сфере машинного обучения. Норвиг задействовал огромный набор текстов, собранных Google с сайтов и ваших электронных писем; Шеннон использовал книги со своей полки, а Марков – Пушкина. Вот текст, который[169] я сгенерировал с помощью марковской цепи, обученной на списке имен, которые давали младенцам, родившимся в США в 1971 году:

Teandola, Amberylon, Madrihadria, Kaseniane, Quille, Abenellett…

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

Kendi, Jeane, Abby, Fleureemaira, Jean, Starlo, Caming, Bettilia…

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

Adam, Dalila, Melicia, Kelsey, Bevan, Chrisann, Contrina, Susan…

Используя цепь с триграммами и имена детей, родившихся в 2017 году, мы получим такой список:

Anaki, Emalee, Chan, Jalee, Elif, Branshi, Naaviel, Corby, Luxton, Naftalene, Rayerson, Alahna…

Он определенно выглядит более современно, причем примерно половина в нем – реальные имена, с которыми ходят сейчас дети. Для младенцев 1917 года рождения:

Vensie, Adelle, Allwood, Walter, Wandeliottlie, Kathryn, Fran, Earnet, Carlus, Hazellia, Oberta…

Сколь бы ни была проста цепь Маркова, она как-то улавливает стиль использования имен в разные времена. И этот способ придумать имя выглядит творческим. Некоторые из этих имен весьма неплохи! Вы вполне можете представить, что ребенка зовут Jalee или в стиле ретро – Vensie, но вряд ли назовете его Naftalene[170].

Способность цепи Маркова генерировать нечто вроде языка заставляет задуматься: может быть, язык – это просто цепь Маркова? Не создаем ли мы, когда говорим, просто новые слова на основе нескольких последних произнесенных нами слов или на основе какого-то вероятностного распределения, которое мы знаем из всех когда-либо услышанных чужих фраз?

Дело не только в этом. В конце концов, мы подбираем слова, каким-то образом относящиеся к окружающему миру, а не просто повторяем уже сказанное.

И все же современные цепи Маркова могут генерировать нечто удивительно похожее на человеческий язык. Алгоритм GPT-3 компании OpenAI – духовный потомок текстовой машины Шеннона, только намного мощнее. На входе не три буквы, а фрагмент текста длиной в сотни слов, но принцип тот же: если есть недавно созданный текст, то какова вероятность, что следующее слово будет «эта», «геометрия» или «гололедица»?

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

Погодите, а с чего вы взяли, что это легко? Вообще-то нет. Просто предыдущий абзац – это попытка алгоритма GPT-3 продолжить текст из трех абзацев перед ним. Я выбрал самый осмысленный результат из десятка попыток. Но все результаты каким-то образом звучат так, словно они взяты из книги, которую вы читаете, и это, скажу я вам, несколько тревожит ее автора, даже когда предложения не имеют смысла вообще, как в этом фрагменте[171]:

Если вы знакомы с понятием теоремы Байеса, то это должно быть для вас легко. Если есть вероятность 50 %, что следующим словом будет «эта», и 50-процентный шанс, что им будет «геометрия», то вероятность того, что следующим словом будет либо «эта геометрия», либо «гололедица», составляет (50/50)2 = 0.

Между этой задачей и текстовой машиной Шеннона действительно большая разница. Представьте, что у Шеннона огромная библиотека и он пытается с помощью этого метода составить английские предложения, начиная с тех пятисот слов, которые вы только что прочитали. Он просматривает книги до тех пор, пока не найдет ту, где эти слова расположены в точно таком же порядке, чтобы он мог записать следующее слово. Конечно же, он этих слов не находит! Никто (надеюсь!) никогда не написал эти пятьсот слов так, как только что сделал я. Поэтому метод Шеннона потерпит неудачу на первом же шаге. Это равнозначно попытке найти следующую букву после буквосочетания XZ. На его полке просто может не оказаться книги с такой биграммой. Тогда он пожимает плечами и сдается? Давайте припишем Клоду больше целеустремленности! Например, можно сказать, что мы раньше никогда не встречали XZ, но, возможно, видели биграммы, в каком-то смысле похожие на XZ? Тогда можно взять буквы, которые следовали за этими биграммами. Как только мы начинаем размышлять подобным образом, мы выносим суждения о том, какие последовательности букв «близки» к другим последовательностям, а это означает, что мы думаем о геометрии последовательностей букв. Непонятно, какую «близость» нам следует подразумевать, и проблема усложняется еще больше, когда мы говорим о фрагменте текста из пятисот слов. Что значит один фрагмент близок к другому? Это геометрия языка? Или стиля? И как компьютер должен это понимать? Мы еще вернемся к этому вопросу. Но сначала познакомимся с величайшим в мире игроком в шашки.

Глава 5. «Его стиль – непобедимость»

Величайший чемпион в истории человечества в своей области – лучше, чем Серена Уильямс в теннисе, Бейб Рут в хоумранах[172], Агата Кристи в написании бестселлеров и Бейонсе в проведении зрелищных концертов, – был кротким профессором математики и изредка проповедником, который жил со своей престарелой матерью с Таллахасси (штат Флорида). Его звали Марион Тинсли, и он играл в английские шашки[173], причем так, как никто не играл до него и не будет играть после.

Тинсли вырос в Колумбусе, где научился играть в шашки у квартирантки, жившей в их доме, – некоей миссис Кершоу, которая радовалась своему превосходству над мальчиком. «О, как она гоготала[174], перепрыгивая через мои шашки», – вспоминал Тинсли. Подростку повезло, что неподалеку, в Толедо, жил тогдашний чемпион мира Эйса Лонг. Начиная с 1944 года[175] Тинсли изучал шашки с Лонгом по выходным, а через два года, в девятнадцать, стал вторым на чемпионате США (хотя так никогда и не обыграл миссис Кершоу, переехавшую много лет назад). Он выиграл чемпионат США в 1954 году, уже будучи аспирантом, изучавшим математику в Университете штата Огайо. В следующем году он стал чемпионом мира – титул, который он будет время от времени подтверждать в течение следующих сорока лет, поскольку периодически брал перерывы в игре. В 1958 году он защитил свой титул в матче против Дерека Олдбери из Великобритании: 9 побед, 24 ничьи, 1 поражение. Еще один матч за шашечную корону он выиграл в 1985 году, обыграв своего наставника Эйсу Лонга: 6 побед, 28 ничьих, 1 поражение, а в 1975-м проиграл[176] одну игру Эверетту Фуллеру в победном для себя турнире Florida Open.

С 1951 по 1990 год Тинсли сыграл больше тысячи турнирных партий против величайших игроков в английские шашки и проиграл всего три[177].

У него не было запугивающих манер, он не издевался, не насмехался и не куражился над оппонентами. Он просто выигрывал, выигрывал и выигрывал. Берк Гранжан, секретарь Американской федерации шашек, сказал: «Его стиль – непобедимость»[178]