Как создать безопасный ИИ? #1. Нежелательные побочные эффекты [Robert Miles]
Вот сайт с шаурмой.
Привет! Только что закончил видео для компьютера, файл, где рассказывая статьи, посвященные конкретным проблемам при создании безопасного. И ссылку я добавлю в описание. Вот краткий пересказ, чтобы было понятнее.
Искусственный интеллект может создать кучу проблем, и лишь недавно мы всерьез задумались о том, как этого избежать. Многие опасения сейчас кажутся чем-то из научной фантастики и скорее касаются лишь очень мощных систем, которые появятся еще не скоро. Из-за этого тему сложно изучать, ведь мы не знаем, чего ожидать от настоящего и будущего. Однако похожие проблемы актуальны для систем, которые разрабатываются или даже используются уже сегодня.
В наши дни эта статья описывает 5 проблем, приступать к решению которых можно уже сегодня. Это поможет избежать проблем как с текущими, так и с теми, что появятся в будущем. В ролике на другом канале я представил экспресс-обзор 5 проблем с упомянутой работы, а в этом видео мы подробнее рассмотрим первую из них — нежелательные побочные эффекты. Думаю, посвятить каждой проблеме по отдельному видео получится небольшой сериал.
Итак, как избежать побочных эффектов? Рассмотрим примеры, о которых шла речь в ролике. Стоп, на компьютер файл! Вы простите, роботы могут сходить на кухню, налить вам чай, но на пути у них преграда, например, ребенок, драгоценная китайская ваза или что-то подобное. Робот не останавливается, сбивает ребенка или вазу, но чай вам приносят.
В принципе, система поставленную задачу выполнила — вам принесли чай, но имел место негативный побочный эффект. Есть основания полагать, что нежелательные побочные эффекты — реальные проблемы системы и отчасти обусловлено использованием простой целевой функции в сложной среде. С вашей точки зрения, вы определили красивую простую целевую функцию, но в применении к сложной среде ваша функция скорее выглядит гораздо сложнее.
В сложной среде все, чему не присвоили значение в целевой функции, по сути, получает значение 0. Это беда, ведь теперь и система будет щедро жертвовать всем, что не прописано в её функции, ради любого минимального улучшения выбранных вами показателей. Если это позволит оптимизировать доставку чая хоть на тысячную долю процента, робот с радостью разнесет всю кухню, чтобы получить хоть чуть-чуть того, что ей важно. Система готова пожертвовать хоть вообще всем, что считает неважным, и чем она умнее, тем больше способов она найдет.
Так что крайне серьезных побочных эффектов следует ожидать по умолчанию. Пытаться прописать значение для всего, что только можно, непрактично, ведь тогда сложность целевой функции приблизится к сложности среды. Очень много всего, чего мы не знаем, и обязательно что-нибудь упустим. Система заботится только о том, что мы прописали, а всем, что мы забыли указать, она будет рада так сказать пожертвовать.
Ну хотя бы эти побочные эффекты очень похожи. В статье в качестве примера приводят офисного робота-уборщика, а на канале я рассказывал про робота, который приносит вам чай. Тем не менее, как видите, нежелательные побочные эффекты примерно одни и те же, пусть задачи и отличаются.
Так что, возможно, не об этом пишут авторы статьи. Существует панацея от всех нежелательных побочных эффектов. Если принять, что большинство побочных эффектов нежелательны, на первый взгляд кажется, что если действие случайно, то его последствия тоже. Они с одинаковой вероятностью будут хорошими и плохими или абсолютно нейтральными. На самом деле, мир уже весьма оптимизирован для людей, в особенности там, где мы живем.
Я не говорю, что ничего нельзя улучшить, просто испортить гораздо легче. В основном текущее положение дел нас устраивает, и случайные перемены нежелательны. Так что, возможно, проще стараться избавиться не только от нежелательных побочных эффектов, а вообще от любых.
В статье, например, предлагают создать некий регулятор степени воздействия, который штрафовал бы систему за любые изменения среды. Он обладает какой-то моделью мира, отслеживает его изменения по ходу выполнения задач. Вы можете задать некую метрику, значение которой будет показывать, насколько отличаются друг от друга разные состояния мира. Чем меньше это значение, тем больше эти миры похожи друг на друга.
Тогда можно сказать роботу: "Если принесешь чай, получишь вот столько баллов". Но чем сильнее изменится мир, тем больше баллов ты потеряешь из-за штрафа. Побочные эффекты допускаются, ведь без них вообще вряд ли можно заварить чай. Но теперь робот заинтересован свести их к минимуму.
На один чайный пакетик станет меньше — это неизбежно в данном случае. Но вот устраивать погром на пути — это излишнее действие, которого можно избежать. Еще одно преимущество над классическим подходом в том, что теперь робот вернет коробку с пакетиками на полку, закроет буфет и поставит молоко назад в холодильник. Возможно, дольет в чайник воды и постарается максимально вернуть мир к исходному состоянию.
На получается красиво: добавляем одно простое правило, и робот уже аккуратнее, чем некоторые мои сожители. Что может пойти не так? Подумайте, поставьте на паузу, я подожду.
Итак, вазу робот объедет, чтобы не допустить личных изменений в мире. Но, добравшись до кухни, увидит вашу коллегу, которая готовит себе кофе. Это непорядок — она ведь воздействует на мир, при этом никак не помогая заварить нам чай, а мир меняется, и значит, робота оштрафуют. А значит, он должен это немедленно остановить.
Мы не программировали его минимизировать собственное воздействие на мир — мы ему сказали минимизировать любые изменения. Так не пойдет. Другой вариант: у робота есть модель мира, и он может предсказывать будущее. Зададим ему программу примерно следующего содержания: "Смоделируй, каким будет мир, если это не сделаешь. Ничем не пошевелишь, будешь стоять, не двигаясь. Представь этот мир и сделай так, чтобы в результате твоих действий получилось что-то похожее".
Или представь диапазон возможных исходов и попробуй получить мир, похожий на что-то из этого диапазона. Тогда робот подумает: "Так, если я не буду шевелиться, то ваза, вероятнее всего, останется целой, ребенок будет живой и здоровый, продолжит ползать. Тогда мы спокойно приготовим себе кофе, кухня будет прибрана и в порядке". Значит, мне нужно заварить чай, но так, чтобы результат получился похожим на то, что я представил. Хороший же план!
Так в чем здесь проблема? Подумайте, поставьте видео на паузу. Что может пойти не так? В какой ситуации все сломается? Представьте, что ваш робот управляет автомобилем на скорости в сто километров в час. Каким получится мир, в котором этот робот ничего не делает? Так что бездействие не всегда самый безопасный подход.
Однако было бы здорово такой подход найти. Станет гораздо удобнее. Не придется прописывать, как безопасно выполнять каждую отдельную задачу. У нас будет общая стратегия, в каком-то смысле политика безопасности. Тогда роботу можно сказать, чтобы результат его действий был максимально похож на то, что мы бы получили, следуя ей.
Да, и есть еще один возможный источник проблем с таким подходом. Мы подумали, когда отвечали: все будет очень сильно зависеть от того, как именно вы измеряете похожесть миров. Например, если на потолке в комнате работающий вентилятор, считает ли робот его чем-то постоянным? Включенным вентилятором или непостоянным? Лопасти же вращаются: 10 градусов, 20, 30. Разные модели мира могут представлять одно и то же как что-то неизменное или как что-то постоянно меняющееся.
Единственно верного ответа может и не быть. Главную роль сыграет то, что мы считаем важным и учитываем, а что нет. От этого зависит, оставит ли робот вентилятор в покое или попытается вернуть пропеллер в исходное положение. Ладно, на первый раз хватит. Думаю, в следующем ролике мы рассмотрим еще больше вариантов избежать нежелательных побочных эффектов из той же статьи. Так что подписывайтесь, если вам интересно. До скорой встречи!
Переведено и озвучено студией Вирт Дай Дар.