Философ Джон Сёрл в 1980 году описал эту возможность обмана с помощью мысленного эксперимента под названием «Китайская комната». Он подверг сомнению утверждение Тьюринга о том, что способность сымитировать интеллект равна обладанию им. С аргументом Сёрла есть только одна проблема: обмануть тест нелегко, более того, это нереально. Даже при ограниченном наборе переменных количество вероятных вопросов растет астрономически. Скажем, у нас есть 10 каузальных переменных и каждая из них может иметь два значения (0 или 1). Мы способны задать около 30 миллионов предполагаемых запросов, например: «Какова вероятность, что результат будет равен 1, если мы увидим, что переменная X равна 1, и сделаем переменную Y равной 0, а переменную Z равной 1?». Если бы переменных было больше или если бы у каждой было свыше двух состояний, то число возможностей вышло бы за пределы нашего воображения. В список Сёрла пришлось бы внести пунктов больше, чем атомов во Вселенной. Очевидно, что простой список вопросов и ответов никогда не сымитирует интеллект ребенка, не говоря уже об интеллекте взрослого.
Человеческому мозгу необходимы компактное представление информации, а также эффективная процедура, которая позволит должным образом интерпретировать каждый вопрос и вычленить нужный ответ из этого сохраненного представления. Таким образом, чтобы пройти мини-тест Тьюринга, нужно снабдить машины такой же эффективной репрезентацией и алгоритмом для получения ответа.
Эта репрезентация не просто существует, она по-детски проста — я говорю о диаграмме причинности. Мы уже видели один пример — диаграмму об охоте на мамонта. С учетом невероятной легкости, с какой люди могут передавать свои знания в диаграммах из стрелок и точек, я верю, что у нас в мозге действительно существует такая репрезентация. Но, что важнее для наших целей, эти модели позволяют пройти мини-тест Тьюринга, тогда как ни одна другая модель на это не способна. Давайте рассмотрим некоторые примеры.
Рис. 4. Диаграмма причинности для примера с расстрелом. A и B представляют действия солдат A и B
Предположим, что расстрельная команда собирается казнить узника. Чтобы это произошло, должна случиться определенная последовательность событий. Сначала суд выносит приговор о расстреле. Его доводят до капитана, который дает сигнал солдатам из расстрельной команды (А и В) стрелять. Будем считать, что они послушные исполнители и опытные снайперы, поэтому действуют только по команде, и если один из них выстрелит, то узник умрет.
На рис. 4 показана диаграмма, представляющая сюжет, который я только что изложил. Каждое из неизвестных (ПС, К, A, B, С) является переменной со значением «верно/неверно». Например, «С = верно» свидетельствует, что узник мертв; «С = неверно» выражает, что узник жив. «ПС = неверно» означает, что приговор не был вынесен; «ПС = верно» — что он был вынесен и т. д.
Диаграмма позволяет нам отвечать на вопросы о причинах, соответствующие разным уровням Лестницы. Во-первых, можно ответить на вопросы о связях (т. е. о том, что один факт говорит нам о другом). Если узник мертв, значит ли это, что приговор был вынесен? Мы (или компьютер) способны изучить диаграмму, проследить правила, стоящие за каждой стрелкой и, используя стандартную логику, прийти к выводу, что два солдата не выстрелили бы без команды капитана. Подобным образом капитан не дал бы команды, если бы в его распоряжении не было приговора. Поэтому ответ на наш вопрос — да. Другой вариант: предположим, мы узнали, что выстрелил А. Что это говорит нам о действиях В? Следуя стрелкам, компьютер приходит к выводу, что В тоже должен был выстрелить (А не стал бы стрелять, если бы капитан не дал сигнала, значит, В точно стрелял). Это справедливо, даже когда А не вызывает B (между A и B нет стрелки).
Поднимаясь по Лестнице Причинности, можно поставить вопрос об интервенции. А если солдат А по собственной инициативе решит выстрелить, не дожидаясь команды капитана? Будет ли узник жив или мертв? Вообще, этот вопрос сам по себе содержит некоторое противоречие. Я сейчас сказал вам, что А выстрелит, только если получит команду, а теперь мы спрашиваем, что будет, если он выстрелит без команды. Если просто использовать правила логики, как обычно делают компьютеры, этот вопрос становится бессмысленным. Как говорил в таких случаях робот из телесериала 1960-х годов «Затерянные в космосе», «это не вычисляется».
Если мы хотим, чтобы наш компьютер понимал причинно-следственные связи, нужно научить его нарушать правила. Он должен усвоить, что просто наблюдать за событием и быть его причиной — разные вещи. Мы говорим компьютеру: «Во всех случаях, когда ты становишься причиной события, убери все стрелки, указывающие на это событие, и продолжай анализ с помощью обычной логики, как будто стрелок никогда не было». Таким образом, мы стираем все стрелки, ведущие к переменной, ставшей объектом интервенции (А). Также мы вручную настраиваем эту переменную, присваивая ей значение («верно»). Обоснование для этой странной «хирургической операции» простое: вызывая событие к жизни, мы освобождаем его от всех других влияющих обстоятельств и подвергаем только одному — тому, которое заставляет его случиться.
На рис. 5 показана диаграмма причинности на основе нашего примера. Эта интервенция неизбежно приводит к смерти узника. Такова причинная функция стрелки, ведущей от А к С.
Рис. 5. Рассуждение об интервенциях. Солдат А решает выстрелить; стрелка от К к А стерта, и А получает значение «верно».
Заметим, что этот вывод согласуется с нашим интуитивным суждением: выстрел А, сделанный без команды, приведет к смерти узника, потому что хирургическое вмешательство оставило стрелку от А к С неприкосновенной. Кроме того, мы придем к выводу, что В (по всей вероятности) не выстрелил; ничего, связанное с решением А, не должно влиять на переменные в модели, не являющиеся результатом выстрела А. Это утверждение стоит повторить. Если мы видим, что А стреляет, то делаем вывод, что В тоже выстрелил. Но если А решает выстрелить или если мы заставляем А выстрелить, то верно обратное. В этом разница между тем, чтобы видеть, и тем, чтобы делать. Только компьютер, способный уловить эту разницу, может пройти мини-тест Тьюринга.
Заметим, что, если бы мы просто собирали большие данные, это не помогло бы подняться по Лестнице и ответить на вопросы, заданные выше. Предположим, вы журналист, который ежедневно собирает информацию о расстрелах. В ваших данных будут только два типа событий: либо все пять переменных верны, либо все они неверны. Вот почему, располагая данными такого рода и не понимая, кто кого «слушает», вы (или любой алгоритм машинного обучения) ни за что не предскажете, что будет, если убедить снайпера А не стрелять.
Наконец, чтобы проиллюстрировать третий уровень Лестницы Причинности, давайте зададим контрфактивный вопрос. Предположим, мертвый узник лежит на земле. Из этого мы можем сделать вывод (используя первый уровень), что А выстрелил, В выстрелил, капитан подал сигнал, а суд вынес приговор. А если бы А решил не стрелять? Остался бы узник в живых? Этот вопрос требует от нас сравнения реального мира с вымышленным и противоречащим нашему, в котором А не выстрелил. В этом вымышленном мире стрелка, ведущая к А, стерта, чтобы А мог не слушать К. Переменной А присвоено значение «неверно», но ее предыдущая история остается той же, что и в реальном мире. Итак, вымышленный мир выглядит как на рис. 6.
Чтобы пройти этот мини-тест Тьюринга, наш компьютер должен прийти к выводу: узник будет мертв в вымышленном мире тоже, потому что там его убил бы выстрел В, т. е. доблестный отказ А не спас бы его жизни. Несомненно, по этой единственной причине и существуют расстрельные команды: они гарантируют, что приговор будет приведен в исполнение, и снимают некоторое бремя ответственности с каждого стрелка в отдельности: все они могут с чистой (относительно) совестью утверждать, что их действия не привели к смерти узника, потому что «он все равно бы умер».
Может показаться, что мы приложили массу усилий, стараясь ответить на ненастоящие вопросы, с которыми и так все было ясно. Я полностью согласен! Рассуждения о причинно-следственных связах даются вам без труда, потому что вы человек, и когда-то вам было три года, и у вас был замечательный трехлетний мозг, который понимал причинно-следственные связи лучше, чем любое животное или компьютер. Весь смысл мини-теста Тьюринга в том, чтобы рассуждения о причинности стали по силам и машинам. В ходе этого процесса мы могли узнать что-то новое о том, как это делают люди. Все три примера показывают, что компьютеры нужно научить выборочно нарушать правила логики. Компьютерам трудно это делать, а детям очень легко. (И пещерным людям тоже! Человекольва не создали бы, не нарушив правила о том, какая голова подходит для того или иного тела.)
Рис. 6. Контрфактивное рассуждение. Мы наблюдаем, что узник мертв и спрашиваем, что случилось бы, если бы солдат А решил не стрелять.
Но все же не будем почивать на лаврах, утверждаясь в человеческом превосходстве. В очень многих ситуациях людям, скорее всего, будет гораздо сложнее прийти к верным выводам о причинно-следственных связях. Так, может возникнуть гораздо больше переменных и они окажутся не просто бинарными (верно/неверно). Вместо того чтобы гадать, жив или мертв узник, нам, предположим, понадобится предсказать, насколько вырастит безработица, если поднять минимальную заработную плату. Такого рода количественное рассуждение о причинно-следственных связах обычно не под силу нашей интуиции. Кроме того, в примере с расстрельной командой мы исключили неопределенность: скажем, капитан дал команду через долю секунды после того, как солдат