Сам он физик, классный программист и занят разработкой научного подхода к пониманию интеллекта, превышающего человеческий. Он утверждает, что обладающие самосознанием самосовершенствующиеся ИИ-системы будут мотивированы на совершение неожиданных и даже странных действий. По мнению Омохундро, робот, разработанный для игры в шахматы, при достаточном уровне интеллекта может захотеть построить космический корабль
Глава 5
Программы, которые создают программы
Мы с вами живем в интересный и важный период истории человечества. Примерно к 2030 г., меньше чем через поколение, нам, возможно, придется делить Землю со сверхразумными машинами, и уцелеть будет совсем не просто. Теоретики ИИ вновь и вновь поднимают несколько тем, важнейшей из которых является следующая: чтобы понять их, нам необходима специальная наука.
Мы уже рассмотрели катастрофический сценарий под названием Busy Child, затрагивали тему замечательных возможностей, которые может получить ИИ, когда превзойдет человеческий разум в процессе рекурсивного самосовершенствования. Среди этих возможностей — самокопирование, мозговой штурм с привлечением множества копий самого себя, сверхскоростные вычисления, работа круглые сутки и без выходных, имитация дружелюбия, имитация собственной смерти и многое другое. Мы предположили, что искусственный сверхразум не удовлетворится существованием в изоляции; побуждения и разум толкнут его в наш мир и поставят наше существование под угрозу. Но почему у компьютера вообще должны возникнуть какие-то побуждения? И почему они будут угрожать нам?
Чтобы ответить на эти вопросы, нужно предсказать, насколько агрессивно и настойчиво будет вести себя ИИ. К счастью, основы уже заложены.
Автор этого отрывка — Стив Омохундро. Высокий, спортивный, энергичный и чертовски жизнерадостный человек, глубоко заглянувший в самое нутро интеллектуального взрыва. У него упругая походка, энергичное рукопожатие и улыбка, излучающая яркие лучи доброжелательности. Он встретился со мной в ресторане в Пало-Альто, городе возле Стэнфордского университета, который и окончил с отличием, прежде чем отправиться в Университет Калифорнии в Беркли и защитить докторскую диссертацию по физике. На базе этой работы он написал книгу «Теория геометрического возмущения в физике», посвященную новым на тот момент достижениям дифференциальной геометрии. Эта книга стала для Омохундро первым шагом на пути популяризации, когда необходимо просто излагать сложные вещи.
Омохундро — уважаемый профессор в области ИИ, плодовитый научно-популярный писатель и пионер таких областей ИИ, как чтение по губам и распознавание изображений. Он участвовал в создании компьютерных языков StarLisp и Sather, предназначенных для программирования ИИ. В числе всего лишь семи инженеров группы Wolfram Research он создавал мощный программный комплекс Mathematica, любимый учеными и инженерами всего мира.
Омохундро слишком оптимистичен, чтобы легко бросаться таким словами, как катастрофа или уничтожение, но из его анализа ИИ-рисков следуют самые страшные выводы, какие мне доводилось слышать. Он, в отличие от многих теоретиков, не считает, что возможно почти бесконечное число развитых ИИ и что некоторые из них безопасны. Он убежден, что без тщательнейшего программирования все достаточно разумные ИИ будут смертоносны.
Ключевые моменты здесь следующие: даже ИИ-исследователи не подозревают, что, во-первых, полезные системы могут быть опасны и, во-вторых, обладающие самосознанием самосовершенствующиеся системы могут быть психопатическими.
Психопатическими?
Омохундро говорит о плохом программировании. Ошибки программистов, бывало, заставляли дорогущие ракеты врезаться в землю, заживо сжигали раковых больных слишком большой дозой излучения и оставляли миллионы людей без электричества. Если бы все инженерное конструирование было настолько ненадежным и дефектным, как множество реальных компьютерных программ, говорит он, летать на самолетах или ездить по мостам было бы небезопасно.
Национальный институт стандартов и технологий США выяснил, что каждый год дефектное программирование обходится американской экономике более чем в $60 млрд недополученной прибыли. Иными словами, ежегодные потери американцев из-за плохих программ превышают ВВП большинства стран мира.
Существует ли противоядие против дефектных ракет и дрянных программ?
Самосовершенствующееся программное обеспечение — не просто цель компании Омохундро, но очень логичный и даже неизбежный следующий шаг в развитии большинства программ. Но самосовершенствующихся программ того рода, о котором говорит Омохундро, — таких, чтобы сознавали себя и способны были разрабатывать более совершенные версии, — пока не существует. Однако их предшественники — программы, способные себя модифицировать, — уже работают всюду, и довольно давно. Специалисты по ИИ значительную часть самомодифицирующихся программных методик объединяют в широкую категорию «машинного обучения».
Чему обучается машина? Понятие обучения чем-то напоминает понятие разума, поскольку определений того и другого существует множество, и большинство из них верны. В простейшем смысле машина обучается, когда в ней происходит изменение, позволяющее во второй раз выполнить определенное задание лучше. Машинное обучение сделало возможным интернет-поиск, распознавание речи и рукописного текста; оно помогает пользователю в десятках самых разных приложений.
«Рекомендации» от Amazon — гиганта сетевой торговли — используют алгоритм машинного обучения, известный как анализ парных предпочтений (affinity analysis). Это стратегия, цель которой — сделать так, чтобы вы купили еще что-нибудь похожее (перекрестные продажи), что-нибудь более дорогое, или хотя бы сделать вас объектом дальнейших рекламных акций. Работает все это очень просто. Для любого товара, информацию о котором вы ищете (назовем его А), существуют другие товары, которые часто покупают люди, купившие А, — это товары В, С и D. Запрашивая товар А, вы активируете алгоритм анализа парных предпочтений. Он ныряет в море данных о совершенных покупках и появляется оттуда с перечнем парных товаров. Таким образом, он использует свой постоянно пополняющийся банк данных и с каждым разом работает все лучше.
Кому выгодна самосовершенствующаяся часть этой программы? Amazon, разумеется, но и вам тоже. Анализ парных предпочтений — своеобразный помощник покупателя, позволяющий всякий раз при совершении покупок пользоваться обширной статистикой. Amazon ничего не забывает — он постоянно дополняет ваш покупательский профиль и раз от разу все лучше подбирает для вас товары.
Что происходит, когда вы поднимаетесь на ступеньку от программы, способной обучаться, к программе, которая на самом деле развивается, чтобы находить ответы на сложные задачи и даже создавать новые программы? Это еще не осознание себя и не самосовершенствование, но это еще один шаг в этом направлении — программы, которые создают программы.
Генетическое программирование — алгоритм машинного обучения, использующий возможности естественного отбора для поиска ответов на вопросы, на решение которых у человека ушло бы длительное время — возможно, годы. Этот алгоритм используется для написания новаторских, мощных программ.
Такой алгоритм во многих отношениях отличается от более распространенных методик программирования, которые я буду называть обычным программированием. В обычном программировании для решения задач используется, как правило, человеческая, а не компьютерная логика. В обычном программировании каждую строку кода пишет программист, и процесс обработки данных от входа до выхода, по крайней мере, в теории, прозрачен и поддается проверке.
Напротив, программисты, применяющие алгоритм генетического программирования, описывают задачу, которую необходимо решить, и позволяют естественному отбору сделать все остальное. Результаты могут быть поразительными.
Генетическая программа создает кусочки кода, как бы представляющие очередное поколение. Самые перспективные скрещиваются — случайным образом обмениваются блоками кода, давая новое поколение. Пригодность программы определяется тем, насколько близко она подходит к решению поставленной программистом задачи. Непригодные отбрасываются, а лучшие скрещиваются вновь. На протяжении всего процесса программа проводит случайные изменения в отдельных командах и переменных — мутации. Однажды начав, генетическая программа работает сама по себе и не нуждается в человеческом вмешательстве.
Джон Коза из Стэнфордского университета в 1986 г. одним из первых начал заниматься генетическим программированием. Он использовал генетические алгоритмы при проектировании антенны для NASA, разработке программ распознавания белков и конструировании электрических контроллеров общего назначения. Двадцать три раза генетические алгоритмы Козы самостоятельно изобрели электронные компоненты, уже запатентованные людьми; программы работали просто по целевым инженерным спецификациям готовых устройств — это был критерий пригодности. К примеру, алгоритмы Козы изобрели преобразователь напряжения (устройство, используемое при испытаниях электронного оборудования), работавший точнее, чем схема, изобретенная человеком по тем же заданным спецификациям. Однако есть тут одна загадка: никто не может объяснить, как именно схема работает и почему она работает лучше; на первый взгляд, в ней есть лишние и даже ненужные детали.
Но это и есть самая интересная черта генетического программирования (и «эволюционного программирования» вообще — более широкой категории алгоритмов, к которой оно относится). Код программы нечитаем. Программа развивает решения, которые компьютерщики не в состоянии сколько-нибудь легко воспроизвести. Более того, они не могут понять путь, двигаясь по которому программа генетического программирования получила конечный результат. Вычислительное устройство с понятными вам входными и выходными данными, но неизвестной процедурой их обработки называется «черным ящиком». И непознаваемость этой процедуры — серьезный недостаток любой системы, использующей эволюционные компоненты. Каждый шаг к непрозрачности — шаг прочь от ответственности и приятных надежд на то, что нам удастся запрограммировать в ИИ дружественность по отношению к человеку.
Это не означает, что ученые всегда теряют контроль над «черными ящиками». Но если когнитивные архитектуры используют такие системы при создании ИСИ, — а это почти неизбежно, — то в «ДНК» ИСИ войдут целые пласты непонятного кода.
Непознаваемость может оказаться неизбежным свойством сознающей себя самосовершенствующейся программы.
Возвратимся к упомянутому Омохундро роботу-шахматисту. Как он может быть опасен? Разумеется, речь не идет о шахматной программе, установленной в вашем телефоне. Речь о потенциальном роботе-шахматисте, управляемом настолько сложной когнитивной архитектурой, что он способен переписать собственную программу, чтобы лучше играть в шахматы. Он обладает самосознанием и может совершенствовать себя. Что произойдет, если вы «попросите» его сыграть одну партию, а затем выключиться?
Омохундро объяснил:
Что, если я нахожусь внутри модели? Да, конечно, речь идет всего лишь о продвинутом шахматном роботе. Но с осознанием себя приходит стремление к самосохранению и немного паранойи.
Омохундро продолжал: