Опубликовано в журнале Урал, номер 2, 2014
1
В статье Алана Тьюринга1, которую я разбирал в предыдущей колонке2, есть отдельная главка: «VI. Противоположные точки зрения по основному вопросу», где Тьюринг собрал более-менее стандартные возражения против того, что «машины могут мыслить». Это такие «письма ученому соседу». Хотя авторы этих писем весьма уважаемые и серьезные ученые, но они, с точки зрения Тьюринга, «не в теме». Иногда эти «письма» и по стилю похожи на письмо чеховского героя: «этого не может быть, потому что не может быть никогда». Но в некоторых «противоположные точки зрения» касаются глубоких проблем и требуют серьезного ответа.
Одно из возражений принадлежит дочери Байрона — графине Августе Аде Лавлейс (1815–1852), первому в истории программисту, автору программ для аналитической машины Чарльза Бэббиджа (1791–1871). Графиня, в частности, написала программу для вычисления чисел Бернулли. Эта программа содержала оператор цикла и использовала переменные («рабочую ячейку») — едва ли не главные признаки любого настоящего языка программирования.
Программы леди Лавлейс так и не заработали, поскольку машина Бэббиджа не была достроена. Но всякому программисту приятно думать, что при рождении того вида деятельности, которому он посвятил жизнь, стоит не какой-нибудь бородатый хмурый зануда, а очаровательная светская леди.
Графиня высказывалась, так сказать, проспективно, далеко на будущее. Конечно, она не представляла, какими станут машины даже во времена Тьюринга, а тем более сегодня. Но ее точку зрения Тьюринг счел достойной внимания, и я последую его примеру.
Тьюринг приводит слова леди Лавлейс: «Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать» (курсив леди Лавлейс). Тьюринг комментирует ее слова: «Один из вариантов аргумента госпожи Лавлейс — это утверждение, гласящее, что машина «никогда не может создать ничего подлинно нового»». А потом уточняет: «Более удачный вариант этого возражения состоит в утверждении, что «машина никогда не может ничем поразить человека». Это утверждение представляет собой прямой вызов, который, однако, мы можем принять, не уклоняясь. Лично меня машины удивляют очень часто».
Чтобы ответить на возражение леди Лавлейс, я попробую дать свою версию понимания того, что же все-таки такое «действительно новое». Понятно, что, если мы подадим 2 и 2 на вход алгоритму сложения натуральных чисел и получим на выходе 4, это, вероятно, не будет чем-то действительно новым. Но всегда надо помнить слова Тьюринга: «Мнение о том, что машины не могут чем-либо удивить человека, основывается, как я полагаю, на одном заблуждении, которому в особенности подвержены математики и философы. Я имею в виду предположение о том, что коль скоро какой-то факт стал достоянием разума, тотчас же достоянием разума становятся все следствия из этого факта. Во многих случаях это предположение может быть весьма полезно, но слишком часто забывают, что оно ложно. Естественным следствием из него является взгляд, что якобы нет ничего особенного в умении выводить следствия из имеющихся данных, руководствуясь общими принципами».
Действительно, если бы было достаточно установить некий факт, а все следствия из него получались бы автоматически, то Евклид написал бы только первую книгу своих «Начал», где изложены аксиомы и постулаты геометрии, и этим бы ограничился — поскольку все следствия заведомо известны. Евклид так не поступил, а счел необходимым довольно большое количество следствий (теорем) доказать явно. И на протяжении двух с лишним тысячелетий геометры доказывали все новые и новые теоремы. По-видимому, они полагали, что создают нечто «действительно новое».
2
Тьюринг в более ранней статье «Intelligent Machinery» («Интеллектуальные машины», 1948) сформулировал свое отношение к природе познания: «Существует удивительно близкая параллель между задачами физика и криптографа. Система, по которой зашифровано сообщение, соответствует законам Вселенной, перехваченные сообщения — имеющимся наблюдениям, ключи дня или сообщения — фундаментальным константам, которые надо определить. Сходство велико, но с предметом криптографии очень легко оперировать при помощи дискретных механизмов, физика же не так проста».
На самом деле криптографу немногим легче, чем физику. То, что сообщение, с которым имеет дело криптограф, дискретное — то есть состоит из конечного набора символов, — проблему не слишком упрощает. Ведь и физик, в конечном счете, имеет дело с дискретным набором экспериментов и наблюдений, которые записаны в виде дискретных же результатов измерения. Единственное преимущество физика заключается, может быть, в том, что физика старше, чем криптография, и «сообщения» (наблюдения) достаточно регулярны и, как правило, воспроизводимы.
То есть, если компьютер сможет достаточно самостоятельно (доля его «самостоятельности» — это предмет отдельного разговора, как и доля самостоятельности физика, который ставит эксперимент и делает выводы на основе огромного накопленного опыта) проанализировать хаотичную на первый взгляд последовательность нулей и единиц и выявить в ней некоторый нетривиальный смысл, он проделает вполне творческую работу, то есть найдет нечто «действительно новое», например, неизвестный закон природы.
3
В 60-е годы великий математик Андрей Колмогоров предложил меру сложности информационного сообщения. Пусть нам дано дискретное сообщение — последовательность нулей и единиц, мерой ее сложности мы будем считать длину программы, которая способна такое сообщение порождать. Например, если сообщение состоит из одних нулей, его сложность мала, поскольку для порождения этой последовательности достаточно очень простой программы (она просто записывает подряд нужное количество нулей), будем считать ее длину равной 1 — просто по числу разных символов, которые она порождает. Информация, которую содержит такая последовательность, также равна 1. Это один предельный случай. Пусть теперь у нас есть случайная последовательность из нулей и единиц, где появление нового бита в сообщении никак не связано с предыдущими, тогда нам понадобится программа, которая будет равна длине последовательности. Информация, которую содержит такая последовательность, равна числу символов в сообщении. Такая последовательность — это шум или хаос.
Оба этих предельных случая вырождены: все, что передает такая последовательность, это сам факт существования сообщения: оно просто есть. Это минимальная информация, которую сообщение может передать. Но нас-то, вообще говоря, интересует не сама последовательность, а нечто другое, то, что зашифровано этими нулями и единицами, то есть структура и типы связей в последовательности. У предельно информативной последовательности никакого другого смысла, кроме ее самой, — нет. У последовательности из одних нулей — смысл элементарен.
Когда мы рассматриваем некоторую последовательность символов, мы заранее не знаем, есть ли у отдельных символов или групп символов какие-то связи, содержит ли последовательность какие-то скрытые структуры. Если у нас есть ключ к шифру последовательности, мы можем установить, например, что кажущийся хаос на самом деле набор букв русского алфавита — а это уже структура. Колмогоровская сложность в этом случае станет меньше, чем у чистого шума. Наша программа будет оперировать уже кодами букв и вместо того, чтобы просто порождать нули и единицы, будет буквы шифровать. Но как раз внутренняя структура нам и интересна. Назовем такую структуру знанием. То есть нас интересуют не сами символы, а их связи и отношения. Всегда существует минимальная колмогоровская программа, которая порождает данную последовательность, — эта программа должна учесть все связи и отношения, имеющиеся в последовательности. Эта минимальная программа и определяет меру сложности. Если компьютер сможет найти такую программу, он выяснит все возможные связи и отношения, имеющие место в последовательности.
Колмогоров приводил такой пример. Стихотворный текст включает в себя многочисленные регулярные повторения, и потому каждый символ предсказуем с высокой вероятностью (мы часто можем попросту угадать, какой символ будет следующим, и вероятность такого угадывания, как правило, гораздо выше, чем в произвольном высказывании на русском языке). Колмогоровская сложность такого текста низка, и объем информации в таком тексте сравнительно мал (заведомо меньше, чем в прозе). Но кроме чистой информации сообщения такая минимальная колмогоровская программа шифрует (вкладывает) в сообщение еще и нетривиальную структуру (повторение стоп, рифмы, аллитерации и т.д.), то есть содержит нетривиальное знание.
Вообще говоря, нас интересует не само сообщение, а те структуры, которые в нем содержатся, то есть знание. Если мы его отыщем, мы сможем сообщение «понять» (что бы мы ни понимали под «пониманием»). Компьютеры способны обрабатывать огромные массивы данных и выделять в них такие структуры, которые человек выделить не может (примеры таких программ мы более подробно разберем в дальнейшем). Уже только потому, что компьютеры способны обрабатывать несравнимо большие, чем человек объемы информации, они уже способны создавать нечто «действительно новое».
4
Теперь отвлечемся от компьютеров и обратимся прямо к человеку, к тому, как в мозге происходят процессы, которые принято называть творческими. Конечно, здесь пока мало что известно, но даже то, что удалось установить, представляется крайне любопытным. В книге Джоны Лерера3 приводятся описания нескольких серий экспериментов, в которых нейрофизиологи и психологи пытались выяснить механизм внезапной догадки, озарения. Ведь именно такой процесс наиболее близок в нашем представлении к творчеству.
Марк Биман и Джон Куньос поставили следующий опыт. Испытуемым предлагалась задача на догадливость. Ученых интересовал именно сам процесс догадки, и потому задачи были специально подобраны так, чтобы, во-первых, их трудно было решить прямым перебором и, во-вторых, чтобы решение не было слишком сложным и догадаться все-таки удалось. Например, задачи такого типа. Дается три существительных: «цветок», «гость» и «век». Придумайте прилагательное, которое подходит ко всем трем. Правильный ответ: «каменный». Действительно, словосочетания «Каменный цветок», «Каменный гость» и «каменный век» вполне нормальны в русском языке. На задачу отводилось 15 секунд, потом предлагалась следующая. При этом регистрировались ЭЭГ (электроэнцефалограммы) и мозг испытуемых сканировался с помощью MPT (магниторезонансной томографии). ЭЭГ позволяет сразу же зарегистрировать активность мозга, а МРТ — локализовать область мозга, где возникла активность.
При этом испытуемого просили нажать на клавишу, если он пришел к решению не прямым перебором, а вдруг догадался, и решение как бы вспыхнуло у него в мозгу. Как ни странно, человек, оказывается, легко и точно различает эти два разных пути к решению.
Человек, решающий задачу, сосредоточен, и в этот момент наиболее активно его левое полушарие, ответственное за логико-символический анализ. Иногда человек решает задачу безо всякого озарения. Иногда он не решает задачу — активность мозга спадает, и внимание рассеивается. Но иногда происходит удивительная вещь. После того как человек потратил серьезные усилия на решение, его внимание рассеивается, и внезапно происходит всплеск гамма-ритма, который регистрирует ЭЭГ. Причем всплеск происходит примерно за 30 миллисекунд, прежде чем человек нажимает на клавишу — сигнализирует о догадке. Лерер пишет: «Предполагается, что гамма-ритм происходит от нейронных связей: клетки, распределенные по всей коре, объединяются в новую сеть, которая затем может влиять на сознание». По показаниям МРТ, в этом момент резко повышается активность в передней верхней височной извилине. Лерер пишет: «Эта маленькая складка ткани, расположенная на поверхности правого полушария чуть выше уха, активизировалась за секунды до озарения. (При этом она была пассивна, когда люди пытались решить задачу путем анализа.) Возбуждение контура коры было внезапным и интенсивным, всплеск электроэнергии провоцировал прилив крови».
То есть мозг, отчаявшись решить задачу прямым перебором, включает новые ресурсы — фактически задействует правополушарное образное мышление, а затем активизируется новая нейронная подсеть. Не имея возможности решение вычислить, мозг делает попытку решение увидеть, схватить сразу целиком как образ. И иногда это удается.
Как показали уже другие
исследования, такое переключение часто происходит после того, как мозг расслабляется и концентрация внимания слабеет. Многие
трудные проблемы решаются, например, в тот момент, когда уставший человек
принимает теплый душ.
5
Пример такого озарения подробно описал великий французский математик Анри Пуанкаре (1854–1912). Он упорно работал над трудной задачей, которая ему никак не давалась.
Пуанкаре так описывает моменты озарения4: «В этот момент я покинул Кан, где я тогда жил, чтобы принять участие в геологической экскурсии, организованной Горной школой. Перипетии этого путешествия заставили меня забыть о моей работе. Прибыв в Кутанс, мы сели в омнибус для какой-то прогулки; в момент, когда я встал на подножку, мне пришла в голову идея, без всяких, казалось бы, предшествовавших раздумий с моей стороны, идея о том, что преобразования, которые я использовал, чтобы определить автоморфные функции, были тождественны преобразованиям неевклидовой геометрии».
Но это был только первый шаг к решению. Работа сдвинулась и опять застопорилась. «Разочарованный своими неудачами, я поехал провести несколько дней на берегу моря и думал совсем о другой вещи. Однажды, когда я прогуливался по берегу, мне так же внезапно, быстро и с той же мгновенной уверенностью пришла на ум мысль, что арифметические преобразования квадратичных форм тождественны преобразованиям неевклидовой геометрии». В этот момент две далеких задачи сомкнулись — их связала геометрическая интуиция.
И наконец: «Затем я переехал в Мон-Валерьян, где я должен был продолжать военную службу. Таким образом, занятия у меня были весьма разнообразны. Однажды, во время прогулки по бульвару, мне вдруг пришло в голову решение этого трудного вопроса, который меня останавливал. Я не стал пытаться вникать в него немедленно и лишь после окончания службы вновь взялся за проблему. У меня были все элементы, и мне оставалось лишь собрать их и привести в порядок».
Все этапы этого выдающегося открытия — полной теории автоморфных функций, одного из красивейших результатов во всей истории математики, — завершались в те моменты, когда мозг математика был расслаблен, но это расслабление следовало за периодами чрезвычайно интенсивной сознательной работы. И что не менее важно — главные шаги к решению сопровождались геометрическими интуициями, то есть мозг обращался к неевклидовой геометрии, как к видимой структуре — включалось правое полушарие, и крепости падали одна за другой.
6
Но разве машины способны воображать? В некотором смысле они в основном этим и занимаются.
Сегодня в связи с возникновением огромных потоков информации человек уже не может с ней справиться. Причем текстовая информация — самая простая, и ее очень мало — это только несколько процентов от всего объема информации, которая циркулирует по глобальным сетям и сохраняется на носителях. Более 90% всей информации — это видео и аудио. Аудиоинформация самая сложная для обработки, и здесь еще предстоит очень много сделать. С видео дела обстоят несколько лучше.
Во всем этом информационном океане человек просто тонет. И сегодня едва ли не самой востребованной профессией становится информационный аналитик — человек, способный хоть как-то в этом океане ориентироваться. И здесь ему очень нужна помощь машины, которая умеет выделять структуры из хаоса, отыскивать минимальную колмогоровскую программу.
Отдельная область computer science — это data mining, что можно перевести как «раскопки в данных». Data mining занимается поиском структур в хаосе данных — компьютер проводит разбиение данных на классы, визуализацию, построение функциональных зависимостей данных, проверку корректности данных — то есть ищет противоречия в показаниях людей и приборов. Отдельная область — это поиск аномалий, то есть резких отклонений от нормального (Гауссового) поведения.
Возьмем такой пример. В аэропорту есть несколько сотен камер наблюдения. Люди в эти камеры смотрят и следят за происходящим, но следят они плохо. Не потому, что они плохие работники, а потому что они люди — и их ресурс сосредоточенного внимания весьма ограничен.
И в эти же камеры смотрит компьютер и анализирует поведение людей в аэропорту. Человек, который пришел в аэропорт, ведет себя довольно предсказуемо. Его маршруты стандартны. Например, пройдя регистрацию и сдав багаж, он с высокой вероятностью отправится на посадку. Компьютер знает все стандартные маршруты, и пока человек от них не отклоняется, ничего тревожного машина не замечает. Но стоит человеку отклониться от нормального маршрута, компьютер выделяет его из потока и поднимает флажок тревоги. Если человек после регистрации пошел купить воды или направился в туалет, за ним уже следит машина, но пока его маршрут еще не вызывает особых опасений, а вот если, сдав багаж, человек направится к выходу из аэропорта, компьютер сразу же даст сигнал охране — срочно требуется проверка. Конечно, служба охраны тоже следит за пассажирами. Конечно, опытные сотрудники тоже знают, что за таким нестандартным поведением нужно следить, но в аэропорту тысячи людей, и движется эта масса хаотически. А риск слишком велик. Компьютер нестандартное отклонение не пропустит и сделает это в реальном времени. И это важнейшее преимущество машин. Обнаружить аномальное поведение пассажира постфактум, просматривая видеозаписи, наверное, смогут и люди. Но, может быть, уже слишком поздно.
Другим примером «мыслящих» программ являются антивирусные системы. Самый простой и весьма эффективный способ борьбы с вирусами состоит в следующем: поскольку вирус есть некоторая последовательность нулей и единичек, которая активируется в специальной среде (операционной системе), эту последовательность (или ее неизменяемую часть) всегда можно детектировать — найти ее в памяти системы. Такая постоянная последовательность называется сигнатурой вируса. Антивирусные системы имеют постоянно пополняемые базы таких сигнатур. Но если такой постоянной сигнатуры не существует, бороться с вирусом гораздо труднее — его трудно однозначно распознать в памяти. Этим пользуются так называемые полиморфные вирусы — они способны полностью измениться, буквально до последнего бита. Каждый экземпляр такого вируса выглядит совершенно по-другому, хотя и делает свое черное дело примерно одинаково.
Для поиска таких вирусов применяются так называемые эвристические методы. Все они основаны не на поиске сигнатуры, а на анализе поведения программы. Антивирус следит за программой в памяти машины примерно так же, как программы наблюдения следят за поведением человека в аэропорту. Например, если неизвестная программа вдруг запросила доступ к загрузочному сектору, это наверняка вирус, поскольку все программы, имеющие право работать с загрузочным сектором, известны заранее. Но это простой случай, бывают гораздо более изощренные ситуации, и такого рода вирусы нередко пробивают защиту и на какое-то время получают возможность контролировать работу машины.
Одним из методов, который применяют антивирусные системы, называется «песочница». Антивирус эмулирует операционную систему, запускает подозрительную программу в замкнутой, контролируемой среде и смотрит, что программа будет делать. Если поведение программы нормальное, антивирус разрешает ей работать. Если программа делает что-то вредоносное — она сразу блокируется. Существуют и другие методы борьбы. Самое важное здесь для нашей сегодняшней темы — антивирус в реальном времени должен принять решение о вредоносности программы. Он не знает заранее, с чем он имеет дело. Если он ошибется и заблокирует нормальную программу — будет плохо, он нарушит штатную работу пользователя. Если он ошибется и пропустит вредоносную программу, будет еще хуже. То есть и здесь антивирусная программа должна выделить в хаосе памяти определенную структуру и самостоятельно принять решение. Это уже близко к настоящему творчеству.
Эволюция компьютерных вирусов — это очень интересная тема, поскольку здесь мы имеем возможность проследить, как меняются методы «выживания» в жесткой конкурентной среде. Мы наблюдаем борьбу не на жизнь, а на смерть между вирусами и антивирусными системами. И конца этой борьбе не видно. И методы, применяемые обеими сторонами конфликта, становятся все более тонкими и сложными. И на сегодня как нет неуловимых вирусов, так нет и непробиваемых систем защиты.
7
Лауреат Филдсовской премии математик Владимир Воеводский так сформулировал главную задачу, которая сегодня стоит перед математикой: «Чистая математика работает с моделями высокого уровня абстрактности и малой сложности (математики эту малую сложность любят называть «элегантностью»). Прикладная математика работает с моделями более конкретными, но высокого уровня сложности (много переменных, уравнений и т.д.). Интересные применения идей современной чистой математики, скорее всего, лежат в области высокой абстрактности и высокой сложности. Эта область сейчас практически недоступна, во многом из-за ограниченной способности человеческого мозга работать с такими моделями. Когда мы научимся использовать компьютеры для работы с абстрактными математическими объектами, эта проблема постепенно отойдет на второй план, и появятся интересные приложения идей сегодняшней абстрактной математики»5.
Владимир Воеводский активно исследует такие языки программирования и такие основания математики, которые позволят работать со сложными моделями высокого уровня абстракции. Фактически задача сводится к тому, чтобы научить компьютер проводить доказательство и искать решения очень сложных математических проблем. Воеводский полагает, что этого вполне можно достигнуть в очень скором времени.
Если вы когда-либо занимались решением математических задач (например, в школе), вы помните, как это бывает непросто. Часто нужно и сосредоточенное внимание, и выдумка, и даже озарение. Но это в школьных задачах. Воеводский говорит о настоящих глубоких проблемах, которые не по силам математикам самого высокого класса.
Если удастся хотя бы приблизиться к решению поставленной Воеводским задачи, то на самом-то деле мы приблизимся к настоящему творчеству машин. Тогда, действительно, достаточно будет написать первую книгу Евклида и попросить компьютер установить все возможные следствия из аксиом и постулатов или хотя бы убедиться, что сформулированная теорема верна.
8
Джона Лерер приводит исследование невролога Маркуса Рейкла из Вашингтонского университета. Испытуемые находились внутри томографа, и в перерывах между экспериментами их просили ни о чем не думать, по возможности расслабиться, но не засыпать. Когда ученые решили в промежутке между экспериментами снять картину спокойного мозга, они были удивлены: мозг работал необычайно интенсивно. Испытуемые — мечтали. «Ранее люди полагали, что мечтательность — следствие лени, однако исследования Рейкла продемонстрировали: когда человек мечтает, его разум страшно занят. Это выглядит так, словно между передней и задней частями мозга ведется сложный электрический диалог, в который одновременно вовлечены префронтальные складки (расположенные сразу за глазами), кора задней части поясной извилины, медиальная височная извилина и предклинье. Эти кортикальные зоны обычно не взаимодействуют друг с другом, они являются частями разных нейронных путей и обладают разными функциями. И пока мы не начнем мечтать, они не станут взаимодействовать. Вся эта умственная деятельность ведется с конкретной целью. Вместо того чтобы реагировать на внешний мир, мозг начинает исследовать собственную базу данных».
Именно в этом состоянии человек наталкивается на самые свои глубокие и блестящие идеи (как Паункаре, поставивший ногу на подножку автобуса).
Машины станут способны по-настоящему творить, когда они научатся мечтать. И если это все-таки произойдет…
И уже электронная лира
От своих программистов тайком
Сочиняет стихи Кантемира,
Чтобы собственным кончить стихом.
Арсений Тарковский
И мне кажется, это не фантастика.
Владимир ГУБАЙЛОВСКИЙ
___________________________
1 Turing, A.M. Computing machinery and intelligence. — «Mind» 1950, 59, pp. 433–460. Цит. по http://loebner.net/Prizef/TuringArticle.html. Русский перевод: Тьюринг А. Может ли машина мыслить? С приложением статьи Дж. фон Неймана «Общая и логическая теория автоматов». Перевод и примечания Ю.В. Данилова. М., ГИФМЛ, 1960. Цит. по http://www.gumer.info/bibliotek_Buks/Science/tyuring/mog_mash.php#22. Все цитаты из Тьюринга в этой колонке, кроме особо оговоренной, взяты из этой статьи.
2
3 Джона Лерер. Вообрази. Как работает креативность. Перевод с англ. Е. Щербаковой. М.: АСТ: CORPUS, 2013.
4 Анри Пуанкаре. Математическое творчество. — В кн.: Жак Адамар. Исследование психологии процесса. Изобретения в области математики. Перевод с французского М.А. Шаталовой и О.П. Шаталова под редакцией И.Б. Погребысского. М., «Советское Радио», 1970.
5 Интервью Владимира Воеводского. Цит. по http://baaltii1.livejournal.com/200269.html.