Книга: Последнее изобретение человечества
Назад: ГЛАВА 4 По сложному пути
Дальше: ГЛАВА 6 Четыре фундаментальные потребности

ГЛАВА 5
Программы, которые создают программы

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