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