В главе 3 я описал некоторые причины такого медленного прогресса. В 1970-е и начале 1980-х исследованиям в области искусственного интеллекта мешала концентрация на системах, основанных на правилах. Но такие системы оказались неверным путем. Они были очень хрупкими. Любое небольшое изменение в их рабочих допущениях требовало переписывания программы. Они не могли справиться с неопределенностью или противоречивыми данными. Наконец, они не были прозрачными с научной точки зрения; нельзя было математически доказать, что они будут вести себя определенным образом, и нельзя было определить, что ремонтировать, когда они этого не делали. Не все исследователи ИИ возражали против отсутствия прозрачности. В то время в этом направлении появилось разделение на «аккуратистов» (тех, кто хотел видеть прозрачные системы с гарантированным поведением) и «нерях» (тех, кто просто хотел, чтобы системы работали). Я всегда был «аккуратистом».
Мне посчастливилось прийти в эту сферу в тот момент, когда все было готово к новому подходу. Байесовские сети были вероятностными; они могли справиться с миром, полным противоречивых и неопределенных данных. В отличие от систем, основанных на правилах, они были модульными и легко внедрялись на платформе распределенных вычислений, что обеспечивало быструю работу. Наконец, для меня (и других «аккуратистов») было важно, что байесовские сети работали с вероятностями математически надежным способом, т. е. мы знали: если что-то шло не так, ошибка была в программе, а не в наших рассуждениях.
Но даже со всеми этими преимуществами байесовские сети все еще не понимали причинно-следственных связей. Они устроены так, что информация там течет в обоих направлениях, причинном и диагностическом: дым увеличивает вероятность возгорания, а пожар — вероятность возникновения дыма. Фактически байесовская сеть не способна отличить «причинное направление». Погнавшись за этой аномалией — чудесной аномалией, как выяснилось потом, — я отвлекся от машинного обучения и перешел к изучению причинности. Я не мог смириться с мыслью, что будущие роботы не смогут общаться с нами на нашем родном причинно-следственном языке. Оказавшись в стране причинности, я, естественно, увлекся обширным спектром других наук, в которых каузальная асимметрия имеет первостепенное значение.
И вот в последние 25 лет я держался вдали от родной страны автоматизированного мышления и машинного обучения. Тем не менее издалека мне хорошо видны современные тенденции и модные направления.
В последние годы наиболее заметный прогресс в области ИИ связан с так называемым глубоким обучением, в котором используются такие методы, как сверточные нейронные сети. Эти сети не следуют правилам вероятности; они не решают проблему неопределенности ни строго, ни прозрачно. И еще в меньшей степени они подразумевают сколько-нибудь явное представление среды, в которой действуют. Вместо этого архитектура сети способна развиваться сама по себе. Закончив обучение новой сети, программист понятия не имеет, какие вычисления она выполняет и почему они работают. Если сеть выходит из строя, непонятно, как это исправить.
Возможно, прототипическим примером здесь будет AlphaGo, программа на основе сверточной нейронной сети, которая играет в древнюю азиатскую игру го. Ее разработала DeepMind, дочерняя компания Google. Го всегда считалась самой трудной для ИИ среди всех человеческих игр с полной информацией. Хотя компьютеры обыграли людей в шахматы еще в 1997 году, даже в 2015 году они еще не могли тягаться с профессиональными игроками самого низкого уровня. Сообщество игроков в го считало, что до настоящего сражения людей с компьютерами должны пройти десятилетия.
Это изменилось почти в мгновение ока с появлением AlphaGo. Большинство игроков в го впервые услышали о программе в конце 2015 года, когда она победила человека-профессионала со счетом 5:0. В марте 2016 года AlphaGo выиграла у Ли Седола, долгие годы считавшегося сильнейшим игроком среди людей, со счетом 4:1. Через несколько месяцев программа провела 60 онлайн-игр с лучшими игроками, не проиграв ни одной, а в 2017 году официально завершила карьеру после победы над действующим чемпионом мира Ке Цзе. Партия, проигранная Седолу, так и останется единственной, в которой она уступила человеку.
Все это очень впечатляет, и результаты не оставляют сомнений: глубокое обучение работает для определенных задач. Но это полная противоположность прозрачности. Даже программисты AlphaGo не могут сказать вам, почему эта программа играет так хорошо. По опыту они знали, что глубокие сети успешно решают задачи компьютерного зрения и распознавания речи. В то же время наше понимание глубокого обучения полностью эмпирическое и не дает никаких гарантий. В начале команда AlphaGo не могла предвидеть, что программа победит лучшего из игроков-людей через год, два или пять лет. Они просто экспериментировали, и все получилось.