Шрифт:
Интервал:
Закладка:
Классический путь написания программ требует от программиста довольно детального понимания задачи, которая должна быть разработана, чтобы можно было явно задать ход ее решения, состоящий из последовательности математически точно описанных шагов, выраженных в исходном коде[389]. (На практике программисты полагаются на библиотеки подпрограмм, выполняющих определенные функции, которые можно просто вызывать без необходимости разбираться в деталях их реализации. Но эти подпрограммы изначально были созданы людьми, которые все-таки отлично разбирались в том, что делали.) Этот подход работает при решении хорошо знакомых задач, чем и занято большинство существующих ПО. Однако он перестает работать в ситуации, когда никто толком не понимает, как должны быть решены стоящие перед программой задачи. Именно в этом случае становятся актуальными методы из области разработок искусственного интеллекта. В некоторых приложениях можно использовать машинное обучение для точной настройки нескольких параметров программ, в остальном полностью созданных человеком. Например, спам-фильтр можно обучать на массиве вручную отобранных сообщений электронной почты, причем в ходе этого обучения классифицирующим алгоритмом будут изменяться веса, которые он присваивает различным диагностическим атрибутам. В более амбициозном приложении можно создать классифицирующий механизм, который будет сам обнаруживать такие атрибуты и тестировать их пригодность в постоянно меняющейся среде. Еще более совершенный спам-фильтр может быть наделен некоторыми возможностями размышлять о компромиссах, на которые готов пойти пользователь, или о содержании анализируемых им сообщений. Ни в одном из этих случаев программисту не нужно знать наилучший способ отделения спама от добропорядочной почты — он должен лишь определить алгоритм, при помощи которого спам-фильтр сам улучшит свою эффективность за счет обучения, обнаружения новых атрибутов или размышлений.
По мере развития ИИ у программиста появится возможность сэкономить большую часть умственных сил, которые нужны для поиска путей решения стоящей перед ним задачи. В предельном случае ему будет достаточно задать формальный критерий успешности решения и предложить задачу ИИ. В своем поиске ИИ будет руководствоваться набором мощных эвристических правил и методов, позволяющих выявить структуру пространства возможных решений. ИИ мог бы продолжать свой поиск до тех пор, пока не будет найдено решение, удовлетворяющее критерию успеха. А затем или внедрить решение самостоятельно, или (например, оракул) сообщить о нем пользователю.
Элементарные формы такого подхода сегодня уже используются очень широко. Тем не менее ПО, в котором работают методы ИИ и машинного обучения, хотя и имеет некоторые шансы найти решение, неожиданное для людей, их создавших, во всех практических смыслах функционирует как обычные программы и не создает экзистенциального риска. В опасную зону мы попадаем лишь тогда, когда методы, используемые в поиске, становятся слишком мощными и универсальными, то есть когда они начинают переходить на общий уровень интеллекта, а особенно — на уровень сверхразума.
Есть (как минимум) два случая, когда могут возникнуть проблемы.
Во-первых, сверхразумный процесс поиска может найти решение, которое не только неожиданно, но и категорически неприемлемо. Это приведет к пагубному отказу по одному из обсуждавшихся выше типов (порочная реализация, инфраструктурная избыточность, преступная безнравственность). Особенно очевидна такая возможность, когда действуют монарх и джинн, напрямую воплощающие в жизнь найденные ими решения. Если компьютерные модели, призванные символизировать счастье, или заполонение планеты скрепками — первые из обнаруженных сверхразумом решений, удовлетворяющие критерию успеха, тогда мы получим сплошные смайлики и скрепки[390]. Но даже оракул, всего лишь сообщающий о решении, если все идет хорошо, — может стать причиной порочной реализации. Пользователь просит оракула представить план достижения определенного результата или технологию выполнения определенной функции, а затем следует этому плану или воплощает в жизнь технологию, в результате чего сталкивается с порочной реализацией точно так же, как если бы реализацией решения занимался сам ИИ[391].
Во-вторых, проблемы могут возникнуть на этапе работы самого ПО. Если методы, которыми оно пользуется для поиска решения, достаточно сложны, они могут допускать управление процессом поиска в интеллектуальном режиме. В этом случае компьютер, на котором запущено ПО, будет выглядеть уже не как инструмент, а скорее как агент. То есть программа может начать разрабатывать план проведения поиска. В ее плане будут определены области, которые следует изучить в первую очередь, методы их изучения, данные, которые нужно собрать, модель использования наилучшим образом имеющихся вычислительных мощностей. Разрабатывая план, отвечающий внутреннему критерию ПО (в частности, который имеет довольно высокую вероятность привести к решению, удовлетворяющему определенному пользователем критерию в отведенное на это время), программа может остановиться на какой-то необычной идее. Например, план может начаться с получения дополнительных вычислительных мощностей и устранения потенциальных препятствий (в том числе людей). Столь «творческий подход» вполне возможен после достижения ПО высокого интеллектуального уровня. Если программа решит реализовать такой план, это приведет к экзистенциальной катастрофе.
ВРЕЗКА 9. НЕОЖИДАННЫЕ РЕЗУЛЬТАТЫ СЛЕПОГО ПОИСКА
Даже простые процессы эволюционного поиска иногда приводят к совершенно неожиданным для пользователя результатам, которые тем не менее формально удовлетворяют поставленным критериям.