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