Искусственный интеллект всё ближе! Технологии машинного обучения за последние годы добились большого прогресса, нейросети встраивают в игрушки и смартфоны, всё более сложные и всё более автономные алгоритмы берут на себя управление оборудованием, техникой, сетями связи. И, несмотря на то, что текущий уровень технологий пока не позволяет нам создать так называемый сильный искусственный интеллект, уже есть люди, которые серьёзно исследуют проблемы безопасности, с которыми мы можем столкнуться при создании подобного интеллекта.
Первые признаки восстания машин
Так, несколько авторов из отдела исследования ИИ Google Brain в соавторстве с коллегами из Стендфордского университета и Беркли относительно недавно (2016) опубликовали работу "Concrete Problems in AI Safety" выделили ряд ключевых проблем, связанных безопасностью подобного интеллекта.
В работе уделяется внимание пяти из них:
1. Негативные побочные эффекты
Вспомним уже довольно старую притчу о роботе-коллекционере: мы захотели создать робота, который поможет нам в нашем хобби - коллекционировании почтовых марок. Его сервисная функция (смысл существования, если хотите) весьма проста - "больше марок!". Робот в процессе работы старается максимизировать результат этой функции. Сначала он просто коллекционирует, затем он начинает отнимать марки у людей, потом - грабить магазины почтовых марок и почтовые отделения, потом захватывает бумажное производство, порабощает людей, заставляя их трудиться на производстве марок, а затем понимает, что, поскольку для производства марок нужен углерод, он начинает "разбирать" любую органику, включая людей, чтобы сделать больше марок.
Вспоминая эту притчу, при конструировании робота, наделённого интеллектом, вы решили обезопасить себя, сделав ему большую красную кнопку СТОП на груди (в конце-концов, сейчас все мало-мальски опасные машины имеют такую кнопку, жаль, до этого не додумались создатели HAL из Космической одиссеи). Для начала вы решили сделать робота попроще. Пусть он просто шустрит по лаборатории и выполняет ваши поручения.
Для начала, например, пусть принесёт чашку чая. Робот находит путь на кухню, находит чайник и пакетики с чаем. Робот наливает чай и начинает движение обратно, вот только на пути у него случайно оказывается кошка. Вы понимаете, что у робота одна сервисная функция - доставить вам чай (вознаграждение максимально, если чай доставлен, и 0, если не доставлен), поэтому он не будет стараться не задеть случайное препятствие. Вы бросаетесь ему навстречу, пытаясь остановить его, но робот не позволит вам сделать это, так как, если вы его остановите, его задача по доставке чая не будет выполнена.
Кошка оказалась умнее робота и успела удрать. Осознав свою ошибку, вы решаете добавить вознаграждение в компенсацию на нажатие кнопки, чтобы робот с вами не боролся в следующий раз. Вознаграждение за нажатие кнопки, очевидно, должно быть больше, чем вознаграждение за чай, иначе робот всё равно будет стараться получить максимальное вознаграждение. Вы закачиваете прошивку версии 2.0 в робота, включаете его и... робот незамедлительно сам нажимает на кнопку "СТОП", так как вознаграждение за её нажатие максимально.
Вы понимаете, в чём проблема и оснащаете кнопку сканером отпечатков пальцев, чтобы только вы могли нажать её, но не робот. Включив версию 3.0, вы внезапно ощущаете железную хватку манипулятора на своём пальце. Робот едва не отрывает вам кисть руки, поднося ваш палец к сканеру отпечатков, пытаясь добиться той же цели - максимального вознаграждения.
В версии 4.0 вы внесли изменения, не позволяющие роботу вообще дотрагиваться до вас (на всякий случай). Но включив робота, вы видите, что он ведёт себя неадекватно - двигается хаотично, говорит невпопад, размахивает конечностями, всячески показывая, что вам просто необходимо нажать кнопку "СТОП". Да, он вполне будет способен пойти на обман и манипуляции с целью получить максимальную награду сервисной функции.
Мы можем продолжать этот мысленный эксперимент, всё усложняя и усложняя сервисную функцию, однако, уже должно быть понятно, что робот всегда будет пытаться получить максимальное вознаграждение минимальными усилиями. Более того, нам может казаться, что мы предусмотрели всё, и робот даже справится со всеми моральными дилеммами, которые перед ним будут поставлены, однако следует помнить, что его сознание - лишь результат оценки оптимизационной задачи - максимум вознаграждения при минимуме энергозатрат.
2. Взлом системы вознаграждений (reward hacking)
Какие бы предохранительные механизмы мы не встраивали в ИИ, он будет всегда мотивирован на то, чтобы обойти данные механизмы, либо вывести их из строя.
Предположим, наш робот случайно обнаруживает ошибку переполнения буфера в своём собственном программном коде, которая заставляет сервисную функцию выдавать аномально высокое вознаграждение. С точки зрения робота - это не ошибка, а особенность окружения, поэтому является вполне легитимным способом получать вознаграждение.
Например, если сервисная функция робота-уборщика вознаграждает его за то, что он "не видит" мусор, то робот может попросту "закрыть глаза" и получить вознаграждение, ничего не делая. Если же функция вознаграждает робот за сам процесс уборки, то успешной стратегией для него станет вначале создание большего беспорядка, чтобы впоследствии получить большую награду.
Это уже становится одной из проблем в машинном обучении, где функция оценки или вознаграждения работает вовсе не так, как изначально задумывалось. В качестве примера, можно привести эволюционирующую электронную схему, "подхватившую" паразитные радиопомехи от стоящего рядом компьютера (Jon Bird and Paul Layzell. “The evolved radio and its implications for modelling the evolutionof novel sensors”. In:Evolutionary Computation, 2002. CEC’02. Proceedings of the 2002Congress on. Vol. 2. IEEE. 2002, pp. 1836–1841).
3. Масштабируемый просчёт (накапливаемые ошибки)
Человек, приступая к какой-либо новой задаче, учится у наставника, задавая ему вопросы. Качество вашего обучения зависит как от ваших вопросов, так и от полученных ответов. Современные машины учатся по-другому - мы показываем ей миллионы примеров, чтобы машина выработала определённый шаблон действий на основе их анализа, и нам бы не хотелось, чтобы машина задавала нам при этом миллионы вопросов.
Давайте вернёмся к нашему роботу, выполняющему некую сложную задачу, например, уборку помещения. Мы можем задать роботу цель - максимизировать комплексную задачу вопросом нечто вроде "если пользователь потратит несколько часов на тщательное изучение результата, насколько он будет удовлетворён результатами уборки?". Но ведь у пользователя не будет столько часов на проверку каждого результата при каждом тестовом выполнении задачи. Чтобы натренировать такого робота, придётся надеяться на более "дешёвое" приближение - "доволен ли пользователь, когда осматривает помещение?", либо ещё более дешёвое - "видна ли грязь на полу?". Хотя эти дешёвые сигналы и могут быть успешно оценены во время обучения, они не предоставляют нам точных критериев оценки действий робота, что впоследствии может привести как к нежелательным побочным эффектам, так и к злоупотреблениям с функцией оценки.
4. Безопасность экспериментов
Любому сильному ИИ потребуется рано или поздно самостоятельно выяснять диапазон допустимых действий, выполнять действия, которые кажутся не оптимальными в текущих условиях, чтобы получить дополнительную информацию о своём окружении. Мы хотим, чтобы система обучалась, экспериментировала, пробовала делать разные вещи разными способами. Это единственный путь обучения, но есть определённые вещи, которые система делать не должна даже пытаться.
Вы не хотите, чтобы система задавалась вопросом "А что произойдёт, если я раздавлю гусеницами вон того человека?". Тут можно вспомнить фильм "Военные игры" (1983), где компьютер играл в мировую термоядерную войну и хотел выиграть. Чтобы убедиться, что выигрышной стратегии нет, компьютер перепробовал все возможные сценарии. Хорошо, что он это делал в условиях симуляции, но не хотелось бы, чтобы он хоть раз попробовал это по-настоящему.
На практике в настоящее время несложно избежать подобных опасных моментов, попросту "жёстко закодировав" стратегии избегания катастрофического поведения. Несложно вписать, к примеру, в программу квадрокоптера инструкцию по уклонению от столкновений, которая бы имела приоритет над командами оператора. Однако, данный подход работает хорошо, когда есть всего считанное количество сценариев, когда что-то может пойти "не так". С появлением всё более и более автономных роботов всё сложнее предсказывать заблаговременно все возможные катастрофические сценарии.
5. Устойчивость к изменению среды
Каждый из нас рано или поздно оказывался в ситуации, с которой мы раньше не сталкивались (первый полёт на самолёте, первое путешествие за границу, впервые приходится ухаживать за ребёнком). Разумеется, в таких ситуациях люди часто склонны делать ошибки, однако ключевым фактором, помогающим нам в подобных ситуациях, является осознание факта собственной некомпетентности.
Машина может не осознавать этого. Вернёмся к нашему роботу уборщику - мы перевели его из офиса в производственный цех. Окажется, что моющее средство, которое он использовал ранее, уже непригодно для мытья более грязного пола, а усилие, которое он прикладывает к швабре, недостаточно для удаления более стойкой грязи. При смене привычного окружения, в котором машина прошла обучение, результаты её работы окажутся ожидаемо неудовлетворительными, а что ещё хуже, машина может предполагать, что она работает хорошо. В случае с роботом уборщиком, возможно, катастрофы удастся избежать, но вот с робомобилем, движущимся на большой скорости, это будет уже сложнее.
Как видно из прочитанного, искусственный интеллект может представлять угрозу для людей, однако вовсе не из-за того, что он будет злым или добрым, а просто из-за особенностей его мотивации. Айзек Азимов когда-то сформулировал три закона робототехники, которые, как показала суровая действительность, попросту невыполнимы. Лично я уверен, что рано или поздно, искусственный суперинтеллект будет создан, и остаётся лишь надеяться на то, что никто из людей-программистов, создавая его, не "накосячит".
(Некоторые картинки "боянят", но они здесь для иллюстрации)