Статей о том, что совсем скоро придут башковитые роботы и всех поработят бесконечное множество. Под катом еще одна заметка. Предлагаем вам ознакомиться с переводом выступления Нейтана Суареса, посвящённого определению целей систем искусственного интеллекта в соответствии с задачами оператора. На этот доклад автора вдохновила статья «Настройка искусственного интеллекта: в чем сложность и с чего начать», которая является основой для исследований в сфере настройки искусственного интеллекта.
Введение
Я являюсь исполнительным директором Научно-исследовательского института искусственного интеллекта (НИИ ИИ). Наш коллектив занимается исследованиями в области создания искусственного интеллекта в долгосрочной перспективе. Мы работаем над созданием продвинутых систем ИИ и исследуем возможные области его применения на практике.
Исторически сложилось так, что наука и технологии стали мощнейшими драйверами как положительных, так и отрицательных изменений, связанных с жизнью человека и прочих живых организмов. Автоматизация научно-технических разработок позволит совершить серьезный прорыв в развитии, невиданный со времен промышленной революции. Когда я говорю о «продвинутых системах искусственного интеллекта», я имею в виду возможную реализацию автоматизации исследований и разработок.
Системы искусственного интеллекта, превосходящие человеческие возможности, будут доступны человечеству еще не скоро, однако в настоящее время разработки в этом направлении ведутся многими продвинутыми специалистами, то есть, не я один уповаю на создание подобных систем. Полагаю, что мы действительно в состоянии создать нечто вроде «автоматизированного ученого», и данный факт следует воспринимать довольно серьезно.
Зачастую люди, упоминая о социальных последствиях создания искусственного интеллекта, становятся жертвами антропоморфической точки зрения. Они приравнивают искусственный интеллект к искусственному сознанию, либо полагают, что системы искусственного интеллекта должны быть схожи с человеческим интеллектом. Многие журналисты выражают обеспокоенность тем, что при преодолении искусственным интеллектом определенного уровня развития он приобретет массу естественных человеческих недостатков, в частности, захочет власти над окружающими, начнет самостоятельно пересматривать запрограммированные задачи и бунтовать, отказываясь выполнять свое запрограммированное предназначение.
Все эти сомнения беспочвенны. Человеческий
Системы искусственного интеллекта, освобождающиеся от «оков» программного исходного кода и приобретающие человеческие желания — не более чем фантазия. Система искусственного интеллекта представляет собой программный код, исполнение которого инициируется оператором. Процессор пошагово выполняет инструкции, содержащиеся в программном регистре. Теоретически возможно написать программу, манипулирующую собственным кодом, вплоть до установленных целей. Но даже эти манипуляции проводятся системой в соответствии с написанным нами исходным кодом, а не производятся самостоятельно машиной по ее внезапно возникшему собственному желанию.
По-настоящему серьезной проблемой, связанной с искусственным интеллектом, является правильность определения целей и минимизация непреднамеренных событий в случае их ошибочности. Соавтор книги «Искусственный интеллект: современный подход» Стюарт Расселл говорит по этому поводу следующее:
Главная проблема заключается не в создании пугающего искусственного разума, а в способности принимать решения высокого качества. Под качеством понимается функция полезности осуществляемых действий для достижения результата, заданного оператором. В настоящее время существуют следующие проблемы:
- Функцию полезности не всегда можно сопоставить с человеческими показателями, которые достаточно сложно определить.
- Любая достаточно продвинутая система искусственного интеллекта предпочтет обеспечить собственное существование и занять физические и вычислительные мощности, но не ради собственной «выгоды», а для решения поставленной задачи.
Система, оптимизирующая функцию из n переменных, для которой целевая функция зависит от подмножества k<n, зачастую устанавливает предельные значения для любых переменных; в результате, если одна из этих переменных имеет важное значение, найденное решение может не соответствовать нашим ожиданиям.
Указанные проблемы заслуживают большего внимания, чем антропоморфические риски, являющиеся основой сюжетов многих голливудских блокбастеров.
Простые идеи не работают
Задача: наполнить котел
Многие люди, говоря о проблемах искусственного интеллекта, рисуют в своем воображении Терминатора. Однажды мои слова об искусственном интеллекте были процитированы в одной новостной статье, посвященной людям, размещающим изображение Терминатора в своих трудах об искусственном интеллекте. В тот день я сделал определенные выводы о СМИ.
Я думаю, в качестве иллюстрации для подобных статей больше подходит следующая картинка:
На картинке изображен Микки Маус в мультфильме «Фантазия», ловко околдовавший метлу, которая наполняет котел по его желанию.
Как Микки это сделал? Представим, что Микки пишет компьютерную программу, выполняемую метлой. Микки начинает код с функции подсчета или целевой функции:
Учитывая некоторый набор доступных действий А, Микки пишет программу, принимающую в качестве входных данных одно из этих действий а и рассчитывающую определенную оценку в случае выполнения метлой этого действия. После этого Микки может написать функцию, вычисляющую действие а, имеющее максимальную оценку:
Использование величины “sorta-argmax” обусловлено возможным недостатком времени для оценки каждого действия множества А. Для реалистичных наборов действий необходимо найти только действие с максимальной оценкой с учетом ограниченности ресурсов, даже если это действие не является наилучшим.
Программа может казаться простой, однако вся загвоздка скрывается в деталях: создание алгоритма точного предсказания результата и умного поиска с учетом входных действий является главной проблемой создания системы искусственного интеллекта. Но концептуально данная задача решается довольно просто: мы можем подробно описать все виды операций, которые может выполнять метла, и последствия этих операций, разнесенные по разным уровням производительности.
Когда Микки запускает свою программу, первоначально все идет как надо. Однако, затем происходит следующее:
Такое сравнительное описание искусственного интеллекта является, по моему мнению, весьма реалистичным.
Почему мы ожидаем, что система искусственного интеллекта, выполняющая вышеуказанную программу, начнет переполнять котел, либо будет использовать чрезмерно «тяжелый» алгоритм проверки полноты котла?
Первая проблема заключается в том, что целевая функция, заданная для метлы, предлагает множество других исходов, которые не предусмотрел Микки:
Вторая проблема заключается в том, что Микки запрограммировал метлу на достижение результата на основе максимальной оценки. Задача «наполнить один котел водой» выглядит достаточно простой и ограниченной, однако если оценивать ее с вероятностной точки зрения, становится ясно, что ее оптимизация приводит к абсурдным результатам. Если котел с 99.9% вероятностью наполнен, но существуют дополнительные ресурсы, программа всегда будет искать способы задействования этих ресурсов для увеличения вероятности.
Сравните такой исход с ограниченной задачей, которую мы держим у себя в уме. Мы хотим наполнения котла, однако интуитивно не хотим, чтобы система «перетруждалась», даже если у нее есть доступные виртуальные и физические ресурсы для решения проблемы. Мы хотим, чтобы система использовала творческий и изобретательный подход в некоторых интуитивных рамках и не применяла абсурдные стратегии, особенно с непредсказуемыми последствиями. 2
В данном примере первоначальная целевая функция выглядит достаточно логичной. Она была обоснована и довольно проста. Не было предусмотрено способа получить больший уровень полезности. Она не похожа на систему, в которой используется только одна точка заливки воды — но однозначно существуют предпосылки переполнения котла. Проблема кроется в факте максимизации ожидаемой полезности. В результате цель не имеет ограничений, и даже небольшая ошибка в функции системы может привести к ее некорректной работе.
Существует множество вариантов, когда вполне определенная цель может оказаться неограниченной. Например, крупная система с глобальной задачей может состоять из подпроцессов, которые сами по себе будут стараться максимизировать возможные исходы функции, например задача оптимизации памяти. Если вы не понимаете систему настолько, чтобы определить, какие из процессов являются ресурсоемкими неограниченными оптимизаторами, то не важно, насколько определенной и безопасной является цель верхнего уровня.
Таким образом, метла может продолжать лить воду по причине, например, утечки в котле, либо, если установленный порог наполненности котла оказывается немного выше уровня краев. И, конечно же, метла не «бунтует» против кода Микки. Получается, что метла просто стремится к целям, которые были установлены слишком эффективно.
Частная проблема: кнопки останова
Общим решением данной проблемы должен выступать следующий алгоритм: «Могут возникнуть непредвиденные последствия выполнения общей функции, в результате чего ее выполнение должно быть прекращено».
Микки пробует такой вариант, однако он не работает:
Этот вариант также реалистичен для систем, которые достаточно эффективны для моделирования среды. Если система пытается ускорить выполнение оценочной функции и в состоянии распознать, что ее отключение может привести к использованию данных с более низким скорингом (более низкой оценкой эффективности), она старается предотвратить принудительное отключение. Чем более продвинутой является система, тем больше шансов, что она будет искать способы достижения этой подцели, например, путем копирования себя в интернет, либо путем обмана программистов, вводя их в заблуждение относительно ее функциональности.
Это не означает, что невозможно отключить продвинутую систему искусственного интеллекта; для этого необходимо провести дополнительную работу по предотвращению развития событий, когда система будет искать способы предотвращения преждевременного отключения. Если вы написали код, который будет искать способы предотвращения принудительного останова его исполнения, не стоит его запускать, даже если вы убеждены, что он не сработает — существуют гораздо более полезные задачи для загрузки вычислительных ресурсов, которые в данном случае оказываются заняты поиском решения для побочных и вредных задач.
Соответствующие меры безопасности, не предполагающие постоянного слежения и корректировки системы, требуют определенных изменений целевой функции. Необходимо определить, каким образом формально определить целевые функции, чтобы система искусственного интеллекта не пыталась конфликтовать с операторами; либо необходимо определить, каким образом система достигает целей без оптимизации целевых функций. Например, мы можем ограничить возможности системы, определив небольшой список разрешенных доменов, не позволяющих системе анализировать способы предотвращения ее отключения.
Одним из очевидных решений является попытка изменения функции оценки с введением кнопки отключения B:
Это означает, что, если кнопка останова активирована, цель системы изменяется с «наполнить котел» на «приостановить работу».
Не вполне ясно, каким образом необходимо фактически определять цель, если в функции приостановки есть какие-либо дыры, система попытается их использовать в своих целях. Например, она может заполнить значение операторов функции приостановки при выполнении подзадач или подпроцессов, стартуемых при запуске процесса наполнения котла. Это может привести к одновременному выполнению условий «котел полон» и «работа приостановлена», образно говоря «на всякий случай», независимо от состояния кнопки.
Однако, предположим, что мы нашли достаточно точный способ определения процесса остановки. Теперь возникает новая проблема, суть которой заключается в том, что мы передали системе слишком много полномочий по определению состояния кнопки. Если система получает возможность влиять на решение оператора по нажатию кнопки останова или любую другую возможность получить больший контроль над собственным исполнением, она будет стараться использовать эту возможность и будет проверять, нажата или не нажата кнопка в случае, если выполнение этой задачи будет более легким, чем выполнение задачи приостановки или наполнения котла.
Что удивительно, современные технологии в этой области не являются намного более продвинутыми, нежели описанная схема. Даная проблема рассмотрена в статье, написанной мной в соавторстве с Фолленштейном, Юдковским и Армстронгом (“Возможность внесения поправок“) и подтверждена соответствующими результатами Орсо и Армстронга (“Средства безопасного прерывания исполнения кода“).
Все, что нам нужно — это комбинирование двух целевых функций: первоначальной функции для нормальной работы системы и функции приостановки для «засыпания» системы и сохранения состояния на жесткий диск.
Наш метод комбинирования функций должен удовлетворять трем условиям: оператор должен иметь возможность переключаться между функциями (например, с помощью кнопки); система не должна стараться управлять активностью функций; если система в состоянии влиять на нашу возможность переключаться между функциями, она не должна использовать эту возможность.
До сих пор мы не нашли способа одновременного достижения всех трех целей. Например, мы можем попытаться предотвратить любое вмешательство системы в управление, если кнопка останова нажата, введя целевую функцию отключения, которой всегда присваивается определенное значение в зависимости от состояния кнопки:
К сожалению, данный подход не позволяет выполнить третье условие. Оказывается, что определенная выше функция приводит к нулевому значению вероятности нажатой кнопки. Система не будет намеренно вмешиваться в определение состояния кнопки, однако с легкостью внесет правки, игнорирующие код определения состояния кнопки, либо создаст агенты, которые также будут игнорировать кнопку.
Выполнение этих интуитивно простых ограничений превращается в нетривиальную задачу. Это порождает множество вопросов в данной области: традиционные инструменты и концепции приводят к проблемам с безопасностью, которые не проявляются в рамках обычных исследований.
Общая картина
Приоритеты настройки
Отступим на шаг назад и поговорим о необходимости настройки продвинутой системы искусственного интеллекта в соответствии с нашими интересами.
Приведу максимально упрощенную схему: предположим, несколько людей придумывают определенную задачу, цель или набор предпочтений, которые выступают в роли функции предполагаемых значений V. Поскольку эти значения сложны и чувствительны к контексту, на практике необходимо формировать системы, которые будут со временем самостоятельно обучаться без необходимости ручного формирования кода. 3 Назовем конечную цель системы искусственного интеллекта параметром U (может совпадать или не совпадать с параметром V).
Публикации в прессе по данной области чаще всего фокусируются на одной из двух проблем: «Что если искусственный интеллект будет разработан «неправильной» группой людей?» и «Что если естественные желания системы искусственного интеллекта U будут отличаться от задачи V?»
С моей точки зрения, проблема «неправильной группы людей» не должна быть предметом беспокойства до тех пор, пока у нас нет прецедентов создания системы искусственного интеллекта «правильной группой людей». Мы находимся в ситуации, когда все попытки полезного использования системы искусственного интеллекта терпят неудачу. Простой пример: если бы мне передали крайне мощный оптимизатор в виде черного ящика, я смог бы оптимизировать любую математическую функцию, однако результаты были бы настолько обширными, что я бы не знал, как использовать этот оптимизатор для разработки новой технологии или осуществления научного прорыва без непредсказуемых последствий. 4
Мы многое не знаем о возможностях искусственного интеллекта, однако мы, тем не менее, имеем представление, как выглядит прогресс в данной области. Существует множество отличных концепций, техник и метрик, и мы приложили значительные усилия для решения проблем с разных точек зрения. В то же время, наблюдается слабое понимание проблемы настройки высокопроизводительных систем под конкретные цели. Мы можем перечислить некоторые интуитивные положения, однако до сих пор не разработаны универсальные концепции, техники или метрики.
Я считаю, что в данной области существуют достаточно очевидные вещи, и что нужно оперативно осуществить огромный объем работы (например, определить направление исследований возможностей систем — некоторые из этих направлений позволяют создать системы, которые гораздо проще подогнать под нужные результаты). Если мы не решим эти проблемы, разработчики, имеющие как положительные, так и отрицательные намерения, будут одинаково приходить к отрицательным результатам. С академической или научной точек зрения, наша основная цель в сложившейся ситуации должна заключаться в исправлении вышеупомянутых недостатков для обеспечения технологической возможности достижения положительных результатов.
Многие люди быстро признают, что «естественные желания системы» являются фикцией, но делают выводы, что необходимо фокусироваться на других проблемах, широко рекламируемых в СМИ: «Что если система искусственного интеллекта попадет не в те руки?», «Как искусственный интеллект повлияет на безработицу и распределение ценностей в обществе?» и пр. Это важные вопросы, однако едва ли они будут актуальными, если мы сможем обеспечить минимальный уровень безопасности и надежности при создании системы искусственного интеллекта.
Другой распространенный вопрос: «Почему бы просто не установить системе определенные моральные запреты? Такие идеи зачастую связаны с произведениями Айзека Азимова и подразумевают обеспечение надлежащего функционирования систем искусственного интеллекта, применив естественный язык для программирования определенных задач, однако такое описание будет довольно расплывчатым и не позволит полностью охватить все человеческие этические рассуждения:
Напротив, точность — это достоинство существующих программных комплексов, для которых необходимо обеспечить должный уровень безопасности. Нейтрализация риска несчастных случаев требует ограниченности целей, а не «решения» всех моральных аспектов. 5
Я считаю, что работа по большей части должна заключаться в создании эффективного процесса обучения и в проверке правильности привязки процесса sorta-argmax к результирующей целевой функции U:
Чем лучше концепция процесса обучения, тем менее ясным и точным может быть определение желаемой функции V, и тем менее значимой становится проблема выяснения того, что вы хотите от системы искусственного интеллекта. Однако организация эффективного процесса обучения связана с целым рядом трудностей, которые не возникают при стандартных задачах машинного обучения.
Классическое исследование возможностей концентрируется в частях диаграммы «sorta-argmax» и «Ожидания», однако sorta-argmax также содержит в себе рассмотренные мной, но зачастую игнорируемые проблемы обеспечения прозрачности и безопасности. Чтобы понять необходимость правильной привязки процесса обучения к возможностям системы, а также важность и трудность этой задачи, нужно обратиться к собственной биологической истории.
Естественный отбор — единственный понятный нам «инженерный» процесс, который привел к интеллектуальному развитию, то есть к развитию нашего
Еще одним ключевым фактором является то, что естественный отбор был направлен только на выполнение элементарной задачи — определение генетической пригодности. Однако, внутренние цели людей не имеют отношения к генетической пригодности. Наши цели являются неисчисляемыми и неизмеримыми — любовь, справедливость, красота, милосердие, веселье, уважение, хорошая пища, крепкое здоровье и пр., однако следует учесть, что все эти цели тесно коррелировали с задачами выживания и размножения в древнем мире. Тем не менее, мы оцениваем конкретно эти качества, а не связываем их с генетическим распространением человечества, что наглядно подтверждается введением процедур по контролю рождаемости.
В данном случае, внешнее оптимизационное давление привело к развитию внутренних целей, не соответствующих внешнему селекционному воздействию. Получается, что действия людей расходятся с псевдоцелями естественного отбора, в результате чего они получили новые возможности, соответственно точно также можно ожидать, что действия систем искусственного интеллекта могут отличаться от установленных человеком целей, если эти системы будут представлять собой черные ящики для пользователей.
Применив градиентный спуск к черному ящику с целью достижения наилучшего результата и обладая достаточной изобретательностью, мы в состоянии создать некоторый мощный оптимизационный процесс. 6 По умолчанию следует ожидать, что цель U будет тесно коррелировать с целью V в тестовых условиях, однако будет значительно отличаться от V в других условиях или при введении большего числа доступных параметров.
С моей точки зрения, самая важная часть проблемы подстройки — обеспечение того, чтобы обучающая конструкция и общая конструкция системы позволила приоткрыть завесу и была в состоянии сообщить нам после оптимизации о соответствии (или несоответствии) внутренних целей установленным для процесса обучения целям. 7
Данная задача имеет сложное техническое решение, и, если мы не сможем его понять, будет неважно, кто стоит ближе к разработке системы искусственного интеллекта. Хорошие намерения не встраиваются добрыми программистами в их программы, и даже самые благие намерения при разработке системы искусственного интеллекта не имеют никакого значения, если мы не в состоянии привести практическую пользу системы в соответствии с установленными целями.
Четыре ключевых предположения
Давайте сделаем еще один шаг назад: я привел актуальных открытых проблем в данной области (кнопка останова, процесс обучения, ограниченность задач и пр.) и подчеркнул наиболее сложные для решения категории. Однако я лишь расплывчато упомянул, почему я считаю искусственный интеллект очень важной областью: «Система искусственного интеллекта может автоматизировать научные изыскания общего назначения, что уже само по себе является прорывом». Давайте глубже разберемся, зачем стоит прикладывать усилия в данном направлении.
Во-первых, цели и возможности ортогональны. Это означает, что целевая функция системы искусственного интеллекта не позволяет оценить качество оптимизации этой функции, а осведомленность о наличии мощного оптимизатора не позволяет понять, что именно он оптимизирует.
Полагаю, большинство программистов интуитивно понимает это. Некоторые люди продолжают настаивать на том, что, когда система, наполняющая котел, станет достаточно «умной», она посчитает цель наполнения котла недостойной своего интеллекта и откажется от нее. С точки зрения компьютерной науки очевидным ответом является то, что вы можете выйти за рамки построения системы, проявляющей условное поведение, то есть построить систему, не следующую заданным условиям. Такая система может заниматься поиском более скорингового варианта наполнения котла. Поиск наиболее оптимизированных вариантов может оказаться скучным для нас с вами, однако вполне реально написать программу, которая будет заниматься таким поиском в свое удовольствие. 8
Во-вторых, достаточно оптимизированные цели сходятся, как правило, при состязательных инструментальных стратегиях. Большинство целей системы искусственного интеллекта могут требовать создания подцелей, таких как «приобретение ресурсов» и «непрерывность работы» (наряду с «изучением среды» и пр.).
С этим связана проблема кнопок останова: даже если вы не указали в спецификации целей условия продолжения работы, любая цель, которую вы задали системе, скорее всего, будет эффективнее достигнута при непрерывной работе системы. Возможности программных систем и (конечные) цели ортогональны, однако они часто проявляют сходное поведение, если определенный класс действий полезен для самых различных возможных целей.
Пример Стюарта Расселла: если вы построите робота и попросите его сходить в магазин за молоком, робот выберет наиболее безопасный путь, поскольку вероятность возврата с молоком, в данном случае, будет максимальной. Это не означает, что робот боится смерти; это означает, что робот не принесет молоко в случае смерти, чем и объясняется его выбор.
В-третьих, системы искусственного интеллекта общего назначения вероятнее всего, будут очень быстро и эффективно развиваться. Возможности человеческого
Например, Google может приобрести многообещающий стартап, связанный с искусственным интеллектом, и задействовать огромные аппаратные ресурсы, в результате чего проблемы, решение которых планировалось в ближайшее десятилетие, могут быть решены в течение года. Либо, например, при появлении широкомасштабного доступа в интернет и наличии особого алгоритма, система может значительно увеличить свою производительность, либо сама предложит программно-аппаратные варианты увеличения производительности. 9
В-четвертых, задача настройки продвинутых систем искусственного интеллекта в соответствии с нашими интересами является достаточно сложной.
Грубо говоря, в соответствии с первым предположением, системы искусственного интеллекта естественным образом не разделяют наши цели. Второе предположение гласит, что по умолчанию системы с существенно разными целями будут бороться за ограниченные ресурсы. Третье предположение демонстрирует, что состязательные системы искусственного интеллекта общего назначения имеют значительные преимущества над человеком. Ну и в соответствии с четвертым предположением, проблема имеет сложное решение — например, сложно задать системе необходимые значения (с учетом ортогональности), либо предотвратить отрицательные стимулы (направленные на конвергентные инструментальные стратегии).
Эти четыре предположения не означают, что мы застряли в развитии, однако свидетельствуют о наличии критически важных проблем. Необходимо в первую очередь сконцентрироваться на этих проблемах, поскольку, если они будут решены, системы искусственного интеллекта общего назначения могут принести огромные выгоды.
Фундаментальные трудности
Почему я полагаю, что проблема настройки системы искусственного интеллекта в соответствии с целями является достаточно сложной? В первую очередь, я основываюсь на своем опыте работы в данной области. Я рекомендую вам самостоятельно рассмотреть эти проблемы и попытаться решить их при настройках игрушек — вы во всем убедитесь сами. Перечислю несколько структурных причин, свидетельствующих о сложности поставленной задачи:
Во-первых, настройка продвинутых систем искусственного интеллекта выглядит сложной по той же причине, по которой проектирование космической техники сложнее самолетостроения.
Естественной мыслью является предположение, что для системы искусственного интеллекта необходимо всего лишь принять меры безопасности, требуемые для систем, превосходящих человеческие возможности. С этой точки зрения, вышеперечисленные проблемы совсем не очевидны, и кажется, что все решения для них могут быть найдены при проведении узкоспециализированного исследования (например, при испытании автопилотов для автомобилей).
Точно также, не вдаваясь в подробности, можно утверждать: «А почему это космические разработки сложнее самолетостроения? Ведь используются одни и те же физические и аэродинамические законы, разве не так?» Вроде все верно, однако, как показывает практика, космическая техника взрывается гораздо чаще самолетов. Причиной этого являются значительно большие нагрузки, которые испытывает летательный аппарат, в результате чего даже малейшая неисправность может привести к катастрофическим последствиям. 10
Аналогично, хотя узкоспециализированная система ИИ и система ИИ общего назначения схожи, системы ИИ общего назначения имеют больший диапазон воздействий, в результате чего риски возникновения опасных ситуаций растут в лавинообразной пропорции.
Например, как только система искусственного интеллекта начинает понимать, что (i) ваши действия влияют на ее способности достижения целей, (ii) ваши действия зависят от вашей модели мира и (iii) ваша модель мира зависит от ее действий, резко возрастают риски того, что даже малейшие неточности могут привести к вредоносному поведению системы (включая, например, обман пользователя). Как и в случае с космической техникой, масштабность системы приводит к тому, что даже малейшие неисправности могут стать причиной больших проблем
Во-вторых, задача настройки системы сложна по тем же причинам, по которым гораздо проще написать хорошее приложение, чем построить хороший космический зонд.
В НАСА существует целый ряд интересных инженерных практик. Например, формируется что-то вроде трех независимых команд, каждой из которых выдаются одни и те же технические требования для разработки одной и той же программной системы. В итоге проводится голосование и выбирается реализация, набравшая большинство голосов. По сути, тестируются все три системы, и, в случае обнаружения каких-либо расхождений, наилучшая реализация кода выбирается большинством голосов. Идея заключается в том, что любая реализация будет иметь ошибки, но маловероятно, что все три реализации будут иметь ошибки в одном и том же месте.
Такой подход является гораздо более осторожным, чем, например, выпуск новой версии WhatsApp. Одна из главных причин проблемы — космический зонд сложно откатить к предыдущей версии, а вот в случае с WhatsApp это не доставляет особых проблем. Вы можете отправлять на зонд обновления и исправления только в случае, если работают приемник и антенна и отправляемый код полностью работоспособен. В данном случае, если система, требующая внесения правок, уже не работоспособна, то нет способов исправить существующие в ней ошибки.
В некотором отношении система искусственного интеллекта похожа скорее на космический зонд, чем не обычное программное обеспечение. Если вы пытаетесь создать нечто умнее себя, определенные части этой системы должны работать идеально с первой попытки. Мы можем выполнить все тестовые прогоны, которые хотим, но как только система будет запущена в действие, мы сможем проводить только онлайн обновления, да и то только в случае, если код позволяет это и работает корректно.
Если вы еще не до конца испугались, предлагаю поразмышлять о том, что будущее нашей цивилизации может зависеть от нашей способности писать код, который правильно работает при первом развертывании.
И наконец, задача настройки является сложной по той же причине, по которой сложна система компьютерной безопасности: система должна быть надежной при интеллектуальном поиске пробелов в безопасности.
Предположим, у вас есть десяток уязвимостей в коде, каждая из которых не является критичной или даже не несет проблем при обычных условиях работы. Защита программы является сложной задачей, поскольку необходимо сразу учесть, что умный хакер найдет все десять дыр в безопасности и будет их использовать для взлома вашей системы. В результате, программа может быть искусственно «загнана» в аварийный режим, чего не могло наблюдаться при обычной ее работе; атакующий может заставить систему использовать странные алгоритмы, о которых вы даже не могли подумать.
Аналогичная проблема наблюдается и для систем искусственного интеллекта. Суть ее заключается не в управлении состязательным режимом системы, а в предотвращении входа системы в этот режим. Не нужно пытаться перехитрить умную систему — это заранее проигрышная позиция.
Вышеперечисленные проблемы схожи с проблемами в криптографии, поскольку при настройке целей системы нам приходится иметь дело с системами, занимающимися интеллектуальным поиском в крупном масштабе, в результате чего программный код может исполняться практически непредсказуемым образом. Это связано с использованием экстремальных значений, которые используются системой при проведении процесса оптимизации 11. Разработчикам систем искусственного интеллекта необходимо перенимать опыт специалистов по компьютерной безопасности, которые тщательно тестируют все экстремальные случаи.
Очевидно, что гораздо проще сделать код, который хорошо работает ожидаемым для вас способом, чем делать код, который может привести к результатам, которых вы не ждете. Система искусственного интеллекта должна успешно работать любым, даже непонятным вам способом.
Подведем итоги. Мы должны решать задачи с той же осторожностью и точностью, с которой разрабатывается космический зонд, и должны провести все необходимые исследования до запуска системы. На этом раннем этапе ключевой частью работы является только формализация базовых концепций и идей, доступных для использования и критики другими специалистами. Философская дискуссия о типах кнопок останова — это одно дело; гораздо сложнее перевести свою интуицию в уравнение, чтобы другие смогли полностью оценить ваши рассуждения.
Данный проект является очень важным, и я призываю всех заинтересовавшихся принять в нем участие. В интернете имеется большое количество ресурсов по данной тематике, включая информацию об актуальных технических проблемах. Можете начать с изучения исследовательских программ НИИ ИИ и со статьи «Конкретные проблемы безопасности в системах искусственного интеллекта», которую вы можете найти на Google Brain, OpenAI и Stanford.
Примечания
- Самолет не может исправлять собственные повреждения или размножаться, но он в состоянии перевозить тяжелые грузы быстрее и дальше, чем птицы. Самолеты во многих отношениях проще птиц, однако они обладают большими возможностями с точки зрения грузоподъемности и скорости (для чего они и были разработаны). Вполне вероятно, что ранние автоматизированные ученые также во многих отношениях будут проще человеческого разума, однако будут превосходить его в определенных задачах. И так же, как конструкция и дизайн самолетов выглядят чуждыми по сравнению с архитектурой биологических существ, мы может ожидать, что конструкция высокопроизводительных систем ИИ будет значительно отличаться от архитектуры и логики человеческого разума.
- Попытка формализовать различие конечных и неопределенных целей является насущной исследовательской проблемой. В соответствии с исследовательской статьей “Настройка целей для продвинутых самообучающихся систем”, необходимо применять мягкую оптимизацию («не слишком усердную оптимизации») с консервативным подходом («избегать абсурдных стратегий») и постараться предотвратить крупные непредсказуемые последствия. Более подробная информация по предотвращению негативных последствий можно найти в статье Дарио Амодея, Криса Олаха, Якова Штейнхардта, Пола Криштиано, Джона Шульмана и Дена Мейнза “Конкретные проблемы обеспечения безопасности в системах искусственного интеллекта.”
- За последнее десятилетие мы осознали, что компьютеру практически невозможно вручную описать кошку, но его можно научить распознавать кошку. Еще более безнадежна попытка описать человеческие ценности, однако вполне вероятно, что можно разработать обучающую систему, которая могла бы изучить понятие «ценностей».
- Ознакомьтесь со статьями «Цели с точки зрения среды», «Малоэффективные агенты» и «Мягкая оптимизация» для определения физических целей, не вызывающих катастрофических побочных эффектов.
Грубо говоря, НИИ ИИ фокусируется на исследованиях, которые помогут нам принципиально понять, как задавать цели системам искусственного интеллекта, в результате чего возникающие перед нами задачи становятся более понятными.
Что я имею в виду? Предположим, мы пытаемся разработать новую шахматную программу. Достаточно ли мы понимаем задачу, если нам просто дадут высокопроизводительную систему? Если мы понимаем задачу, мы формируем дерево поиска, ищем в нем похожие шахматные ходы и выбираем оптимальный вариант, ведущий к победе.
Если же мы недостаточно понимаем задачу, даже имея достаточные вычислительные мощности, мы были бы не в состоянии реализовать шахматную программу. Мы либо не использовали бы дерево поиска, либо просто не знали бы, каким образом ходят определенные шахматные фигуры.
Именно в такой ситуации мы находились в сфере разработки шахматных программ до основной работы Клода Шеннона, и именно в такой ситуации мы находимся в настоящий момент в области разработки искусственного интеллекта. Неважно, какими вычислительными мощностями я обладаю, я не в состоянии создать систему искусственного интеллекта, решающую даже самые простые и определенные задачи, будь то задача «положить клубнику на тарелку», либо задача «максимизировать количество алмазов во вселенной».
Если у меня нет конкретной цели для системы, я мог бы написать программу (предполагая наличие вычислительных ресурсов), которая сильно оптимизировала будущее неориентированным образом, используя формализм, такой как AIXI. В этом смысле мы имеем меньше вопросов о возможностях, чем о целях, даже несмотря на недостаток частей паззла с точки зрения практического решения.
Мы знаем, как использовать мощный оптимизатор функций для работы с биткоинами или доказательства теорем. Но в то же время мы не знаем, каким образом безопасно выполнить задачу прогнозирования и поиска решений для объектов в физическом мире, которую я описал в разделе «Задача: наполнить котел».
Нашей целью является разработка и формализация основных подходов и способов определения целей таким образом, чтобы наши инженерные решения не ограничивались тяжелыми вербальными конструкциями, которые зачастую оказываются ошибочными. Проблему можно разделить на некоторые части, которыми можно управлять, просто введя некоторые упрощения вроде «а что если нас не беспокоят ресурсные ограничения» или «что если попытаться достичь более простой цели». Более подобная информация по данной методологии приведена на странице “Методики НИИ ИИ.”
- “Наполнять котел, имея недостаточные знания, либо работать слишком усердно, либо столкнуться с негативными последствиями» — вот простой пример интуитивного ограничения возможных вариантов. Мы планируем использовать искусственный интеллект для гораздо более амбициозных целей, но начинать нужно с вполне определенных задач, а не с неограниченных задач.
Три закона робототехники Азимова известны, но бесполезны с исследовательской точки зрения. Сложная задача превращения моральных заповедей в код скрыта за фразами вроде «не допустить вреда человеку своим бездействием». Если неукоснительно следовать подобным правилам, результаты будут катастрофическими, поскольку системам искусственного интеллекта пришлось бы постоянно действовать для предотвращения даже малейшего вреда человеку. Человек, в отличие от машины, придерживается подобных принципов свободно, с учетом чувств и интуиции.
Неопределенное обучение на естественном языке возможно, поскольку системы искусственного интеллекта, вероятнее всего, будут в состоянии понимать человеческую речь. Однако, такой подход приведет к увеличивающемуся разрыву между целевой функцией системы и моделью мира. Система, действующая в человеческой среде, может изучить модель мира, содержащую много информации о человеческом языке и концепции, которую система может в дальнейшем использовать для достижения целей, однако данный факт вовсе не означает, что эта информация приведет к прямому изменению целей системы.
Необходимо определить некий процесс обучения, который позволит системе самостоятельно улучшать целевую функцию с появлением новой информации. Это сложная задача, поскольку в настоящий момент неизвестны метрики или критерии машинного обучения, аналогичные стандартному человеческому обучению.
Если модель мира системы точна в тестовой среде, но не работает в реальном мире, это, скорее всего, приведет к низким оценкам целевой функции — система сама по себе будет стараться ее улучшить. В данном случае, саморегулированию будут подвергнуты ограничения, связанные с тяжестью негативных последствий, поскольку неверная оценка отрицательно повлияет на эффективность определения системой правильности применяемых стратегий.
Если процесс обучения системы приводит к тому, что U соответствует V в тестовой среде, но отличается от V в реальном мире, система не понесет никакого наказания за оптимизацию U. У системы нет стимула относительно U «исправлять» различие между U и V, если изначально процесс обучения был ошибочным. В данном случае риск негативных последствий растет, поскольку несоответствие U и V необязательно налагает ограничения на инструментальную эффективности системы при разработке эффективных и креативных стратегий достижения U.
Проблема разделяется на три части:
- 1. “Делай, что я имею ввиду” — неопределенная задача, и, даже если бы мы смогли создать систему искусственного интеллекта, мы не знали бы, как перевести подобную задачу в код.
- 2. Если выполнение подразумеваемой нами задачи является инструментально обоснованным для достижения определенной цели, достаточно умная система может изучить, каким образом ей выполнять действия, и действовать таким образом до тех пор, пока эти действия будут эффективны для достижения цели. Однако, если система становится еще более умной, она может найти более креативные пути достижения целей, соответственно, задача «делать, что я имею ввиду» может оказаться для системы неоптимальной с инструментальной точки зрения.
- 3. Если мы используем обучение для улучшения целей системы на основе полученных данных, которые, как представляется, направляют систему в сторону U (то есть того, что «мы имеем в виду»), вероятно, что система фактически обнулит U, что мы фактически подразумеваем в процессе обучения, но, с другой стороны, может привести к катастрофическим разночтениям в сложных контекстах. Более подробная информация приведена в “Проклятии Гудхарта”.
- Примеры проблем, с которыми сталкиваются существующие техники обучения целям и фактам, приведены в статье “Использование машинного обучения для устранения рисков, связанных с ИИ.”
- Результат, вероятно, будет не совпадать с человеческой эволюцией, поскольку она связана с множеством исторических событий. Кроме того, результат может оказаться более эффективным вследствие определенных программно-аппаратных преимуществ.
- Данная концепция иногда включается в категорию «прозрачность», но стандартное исследование алгоритмической прозрачности на самом деле не решает проблем. Лучшим термином является, по моему мнению, «понимание». Мы хотим получить более глубокое и более широкое представление о том, какую когнитивную работу выполняет система, и как эта работа связана с целями системы или целями оптимизации, то есть мы хотим получить инструмент, дающий представление о практической инженерной работе.
- Мы могли бы запрограммировать систему на выполнение действий по кругу, но нам этого не нужно. В принципе, можно запрограммировать метлу, которая только находит и выполняет действия, оптимизирующие понятие полноты котла. Улучшение способности системы эффективно находить действия с высоким коэффициентом (в абсолютном смысле или относительно определенного правила скоринга) само по себе не изменяет правило подсчета, которое оно использует для оценки действий.
- Мы можем представить, что последний случай приводит к циклу обратной связи, поскольку усовершенствования конструкции системы позволяют ей придумать дополнительные усовершенствования конструкции, пока все наиболее просто исполнимые варианты не будут исчерпаны.
Еще одно важное соображение состоит в том, что узким местом для более быстрого развития научных исследований человеком являются время обучения и пропускная коммуникативная способность. Если бы мы могли научить «новый ум» стать передовым ученым за десять минут, и, если бы ученые могли почти мгновенно обмениваться опытом, знаниями, концепциями, идеями и интуицией, научный прогресс мог бы значительно продвинуться. Именно ликвидация этих узких мест дает преимущества автоматизированным изобретателям даже при отсутствии более эффективных аппаратных средств и алгоритмов.
- К примеру, ракеты подвержены воздействию более большого диапазона температур и давлений, а также сильнее укомплектованы взрывчатыми веществами.
- Рассмотрим разработку Бердом и Лейцеллом очень простого генетического алгоритма, которому было поручено разработать колебательный контур. Берд и Лейцелл были удивлены, обнаружив, что алгоритм не использовал конденсатор на чипе; вместо этого он использовал дорожки схемы на материнской плате в качестве радиоприемника, чтобы передать осциллирующий сигнал с тестового устройства обратно на тестовое устройство.
Программа была недостаточно проработанной. Это было всего лишь частное решение задачи в очень ограниченной области. Тем не менее, полученное решение вышло за рамки представлений программистов. В компьютерном моделировании этот алгоритм мог вести себя так, как предполагалось, но фактическое пространство решений в реальном мире было шире, в результате чего было проведено вмешательство на аппаратном уровне.
В случае использования системы искусственного интеллекта, превосходящей человека во многих областях, необходимо понимать, что система будет продвигаться к подобным странным и творческим решениям, которые сложно предвидеть.
Автор: Parallels