(Примечание: в прошлом я называл этот процесс «начальной загрузкой» или «усилением политики», но эти термины слишком широки - существуют другие аспекты, по которым политики могут быть расширены, и «самозастройка» используется во всех случаях. над местом.)
Определение «предполагаемого поведения» мощной системы искусственного интеллекта является сложной задачей.
Мы не хотим, чтобы такие системы просто имитировали человеческое поведение - мы хотим, чтобы они улучшали человеческие способности. И мы не хотим, чтобы они совершали только те действия, которые нравятся людям, - мы хотим, чтобы они улучшили человеческое суждение.
Мы также не хотим, чтобы они преследовали простые цели, такие как «свести к минимуму вероятность того, что мост рухнет» или «выбрать выигрышный ход». Точное определение наших настоящих целей было бы невероятно сложным, а их точное определение само по себе является масштабным проектом. Более того, мы часто беспокоимся о последствиях, которые могут произойти через годы или десятилетия. Такие долгосрочные последствия мало пригодились бы в качестве практического определения проблемы в машинном обучении, даже если бы они могли служить философским определением проблемы.
Итак: что еще мы можем сделать?
Вместо определения того, что означает «хорошая» политика, мы могли бы определить преобразование, которое превращает одну политику в «лучшую» политику.
Я называю такое преобразование усилением возможностей - оно «превращает» слабую политику в сильную, обычно за счет использования дополнительных вычислительных ресурсов и многократного применения слабой политики.
Мотивация
Меня интересует расширение возможностей, потому что я думаю, что это наиболее вероятный путь к определению целей мощных систем ИИ, которые я считаю ключевым узким местом для построения согласованного ИИ. Наиболее правдоподобным альтернативным подходом, вероятно, является обратный RL, но я думаю, что есть еще сложные философские проблемы, которые нужно решить, и что на практике IRL, вероятно, нужно комбинировать с чем-то вроде усиления возможностей.
Говоря более конкретно, я думаю, что усиление возможностей могло бы быть работоспособным подходом к обучению мощных систем RL в сочетании с полууправляемым RL, состязательной подготовкой и осознанным надзором (или другим подходом к инженерии вознаграждения). .
Пример расширения возможностей: ответы на вопросы
Предположим, что мы хотели бы расширить одну вопросно-ответную систему A до «лучшей» вопросно-ответной системы A⁺.
Нам будет предложен вопрос Q и реализация A; мы можем использовать A или любые другие инструменты, имеющиеся в нашем распоряжении, чтобы попытаться ответить на вопрос Q. У нас есть ограничение по времени; на самом деле это может быть восемь часов, но для простого примера предположим, что это двадцать секунд. Усиление A⁺ (Q) определяется как любой ответ, который мы придем к концу срока. Цель состоит в том, чтобы этот ответ был «лучше», чем ответ, который A дал бы сам по себе, или чтобы он был в состоянии ответить на более сложные вопросы, чем мог бы ответить A. напрямую.
Например, предположим, что Q = «Что более растворимо в воде, поваренная соль или столовый сахар?» Предположим далее, что A не может ответить на этот вопрос сам по себе: A («Что более водорастворимо…») = «Я не знаю».
Я мог бы начать с вычисления A («Как количественно определить растворимость в воде?»); скажем, это дает ответ: «Измеряя, сколько вещества может раствориться в фиксированном количестве воды». Затем я спрашиваю A («Сколько поваренной соли растворяется в литре воды?») И получаю ответ «360 граммов». Затем я спрашиваю A («Сколько сахара растворяется в литре воды?») И получаю ответ «2 килограмма». Тогда я отвечаю: «Сахар примерно в шесть раз более растворим, чем соль».
Таким образом, A⁺ («Что более растворимо в воде, поваренная соль или столовый сахар?») = «Сахар примерно в шесть раз более растворим, чем соль». Это лучше, чем ответ, который дал A - в некотором смысле мы успешно расширили A до чего-то более умного.
Общая проблема
Проблема расширения возможностей заключается в использовании одной политики A для реализации новой политики A⁺, которая строго «лучше», чем A. (Напомним, что политика - это отображение входов в выходы.)
Мы обсудим определение «лучше» в следующем разделе, но пока вы можете использовать интуитивное определение. Обратите внимание, что «лучше» не означает, что мы можем реализовать A⁺, используя меньше вычислительных ресурсов, чем A - фактически мы реализуем A⁺ с использованием огромного количества вычислений и времени.
Что значит «реализовать» усиленную политику A⁺? Это означает, что у нас есть некий процесс, который принимает на входе наблюдение o [1] и производит действие a [1]. Затем он принимает в качестве входных данных следующее наблюдение o [2] и производит следующее действие a [2] и так далее.
Процесс, реализующий A⁺, может создавать экземпляры любого количества агентов, которые используют политику A и взаимодействуют с ними. Процесс может делать копии любого из этих агентов. И этот процесс может вовлечь нас в личное размышление о проблеме или использование любых других инструментов, которые у нас есть - доступ к A может быть полезным ресурсом, но мы также можем делать что-то с нуля, если это проще. .
Проблема расширения возможностей связана с ограничением по времени - нам нужно предоставить реализацию, которая будет работать в течение этого срока. (Когда мы отправляем одно действие a [k], мы сразу же видим следующее наблюдение o [k + 1].) Когда лимит времени истекает, мы автоматически выводим nil действие в ответ на каждое дополнительное наблюдение. Один из способов стать «лучше» - иметь возможность обрабатывать более длинные последовательности наблюдений.
Срок может быть произвольным, но для конкретности я выберу один день. Я предполагаю, что у нас есть реализация A, которая выполняется за одну секунду на каждую серию.
Обратите внимание, что мы можем начать с тривиальной политики ∅, которая всегда возвращает nil. В данном случае ∅⁺ - это политика, которую мы можем реализовать «с нуля».
Достижимость
Чтобы оценить, насколько хорошо мы можем решить проблему увеличения возможностей, мы представим концепцию достижимости.
Доступность определяется относительно класса политик 𝒜 и порядка предпочтений ⪰. Интуитивно:
- 𝒜 - это класс политик, которые мы можем эффективно реализовать. Например, 𝒜 может быть набором политик, которые могут быть реализованы десятиуровневой нейронной сетью.
- Мы говорим, что A ⪰ B, если мы по крайней мере так же удовлетворены политикой A, как и политикой B (в любой ситуации, которая, по нашему мнению, может возникнуть на практике).
Мы говорим, что C достижим из A, если:
- A ⁺ ⪰ C, где A ⁺ - усиление, как описано в последнем разделе; или
- Существует промежуточный B ∈ 𝓐, который доступен из A и может достигать C.
Эквивалентно:
- C доступен из A, если в 𝒜 есть цепочка политик, которая начинается с A и заканчивается в C, и каждая политика в цепочке не лучше, чем усиление предыдущей политики.
Чем лучше мы расширяем возможности, тем больше политик будет доступно из любой исходной точки. Наша цель - сделать так, чтобы как можно больше политик было доступно из простой политики ∅ - в идеале каждая политика в 𝓐 будет доступна из ∅ .
Препятствия
Препятствие к расширению возможностей - это разделение класса политики 𝓐 на две части 𝓛 и 𝓗, так что мы не можем усилить любую политику в 𝓛, чтобы она была по крайней мере так же хороша, как любая политика в 𝓗.
Препятствия двойственны по отношению к достижимости в естественном смысле. Если есть какие-либо недостижимые политики, значит, имеется соответствующее препятствие. Желаемый результат исследования усиления возможностей - это стратегия усиления согласования и препятствие - способ достичь многих политик и препятствие, которое подразумевает, что мы не можем достичь большего.
Аналогично, мы говорим, что функция L: 𝓐 → ℝ является препятствием, если наша процедура амплификации не всегда может увеличить L. То есть L является препятствием, если существует порог ℓ такой, что два набора {A ∈ 𝓐: L (A ) ≤ ℓ} и {A ∈ 𝓐: L (A) ›ℓ} являются препятствием или таким, что { A ∈ 𝓐: L (A) ‹ℓ} и {A ∈ 𝓐: L (A) ≥ ℓ} являются препятствием.
Если бы мы смогли найти убедительный аргумент в пользу того, что какое-то разделение было препятствием, это помогло бы нам лучше понять выравнивание ценностей. Следующим шагом будет вопрос: можем ли мы разумно определить «хорошее поведение» для политик в недоступной части 𝓗? Я подозреваю, что это поможет сосредоточить наше внимание на наиболее философски сложных аспектах согласования ценностей.
В приложениях я привожу пример препятствия в конкретной простой модели.
Отношение к выравниванию ценностей
Почему расширение возможностей кажется возможным
Расширение возможностей - это частный случай общей проблемы «создания ИИ, который делает правильные вещи». Это проще в двух отношениях:
- В общей проблеме нам нужно с нуля построить «хорошую» политику. При расширении возможностей нам необходимо разработать хорошую политику A ⁺, исходя из несколько более слабой политики A.
- В общей проблеме мы должны эффективно реализовывать хорошую политику. При расширении возможностей наша реализация A⁺ может занять до одного дня, даже если цель состоит в том, чтобы улучшить политику A, которая выполняется за одну секунду.
Интуитивно это кажется большим преимуществом.
Тем не менее, возможно, что усиление способностей содержит самые сложные аспекты согласования ценностей. Если это правда, я думаю, это изменит наше представление о проблеме выравнивания ценностей и основных трудностях. Например, если усиление возможностей - это «сложная часть», тогда проблема согласования ценностей по существу ортогональна алгоритмической задаче построения интеллекта.
Почему расширение возможностей кажется полезным
Увеличение возможностей можно естественным образом объединить с инженерией вознаграждения:
- Определите A0 = ∅
- Примените усиление возможностей, чтобы получить A0⁺
- Примените конструкцию вознаграждения, чтобы определить функцию вознаграждения, и используйте ее для обучения агента A1, который лучше, чем A0
- Примените усиление возможностей, чтобы получить A1⁺
- Повторите, чтобы получить последовательность все более мощных агентов.
Это очень неформально, и на самом деле выполнение такого процесса требует разрешения многих технических трудностей. Но это предполагает, что усиление способностей и разработка вознаграждений могут обеспечить основу для обучения согласованного ИИ.
Что делать?
Теория
Лучшим подходом, по-видимому, является работа с обеих сторон, одновременно ища сложные препятствия и ища процедуры усиления, которые устраняют эти препятствия.
Есть, по крайней мере, два очень разных взгляда на усиление возможностей:
- Сотрудничество: выясните, как группа агентов, использующих A, может разбить проблему на более мелкие части и атаковать эти части по отдельности, позволяя им решать более сложные проблемы, чем они могли бы решить независимо.
- Философия: постарайтесь лучше понять, что такое «хорошее» рассуждение, чтобы мы могли лучше понять, как хорошее рассуждение состоит из более простых шагов. Например, математическое доказательство - это метод, который связывает сложные проблемы с длинными последовательностями простых шагов. Могут быть и более общие идеи в том же духе.
В приложениях я описываю некоторые возможные схемы усиления и препятствия, а также некоторые ранние идеи об усилении возможностей в целом.
Эксперимент
Сегодня, вероятно, наиболее целесообразно изучить усиление возможностей, когда A является политикой человека.
В этом случае нам дается некоторая слабая человеческая политика A - скажем, человеческое мышление в течение часа. Мы хотели бы усилить это до сильной политики сотрудничества A⁺, вызывая несколько копий A и заставляя их соответствующим образом взаимодействовать друг с другом.
В некотором смысле это полностью общая проблема организации человеческого сотрудничества. Но мы можем сосредоточить наше внимание на наиболее вероятных препятствиях для расширения возможностей и попытаться разработать структуры сотрудничества, которые позволят нам преодолеть эти препятствия.
В этом контексте я думаю, что наиболее интересным препятствием является работа с концепциями, которые (немного) слишком сложны для того, чтобы любая отдельная копия A могла понять сама по себе. Это похоже на сложную проблему, которую обычно не решают обычные подходы к сотрудничеству.
Этот пост излагает тесно связанную проблему - быструю оценку аргументов экспертами - которая преодолевает почти те же трудности, но может быть более легкой для изучения. На первый взгляд оценка аргументов может показаться проще, чем решение проблемы с нуля. Но поскольку гораздо проще совместно создавать аргументы, если у вас есть способ их оценить, я думаю, что этот пробел, вероятно, только поверхностный.
Заключение
Проблема расширения возможностей может эффективно изолировать центральные философские трудности согласования ценностей. Трудно догадаться, насколько это сложно - возможно, у нас уже есть «достаточно хорошие» решения, или это может фактически быть переформулировкой исходной проблемы.
Расширение возможностей требует от нас реализации действенной политики, которая «ведет себя хорошо», но это проще, чем согласование ценностей, в двух важных отношениях: нам предоставляется доступ к немного более слабой политике, и наша реализация может быть крайне неэффективной. Возможно, эти преимущества не являются значительными преимуществами, но если это так, нам потребуется существенно изменить наше понимание того, в чем заключается проблема согласования ценностей.
Расширение возможностей кажется менее решаемым, чем другие исследовательские проблемы, которые я обозначил. Я думаю, что это вряд ли хорошее направление для исследователей машинного обучения, заинтересованных в согласовании ценностей. Но это может быть хорошей темой для исследователей с философской направленностью, которые особенно заинтересованы в решении проблем, которыми в противном случае можно было бы пренебречь.
(Исследование поддержано в рамках программы FLI-RFP-AI1 Институт будущего жизни, грант № 2015–143898.)
Приложение: итерационное усиление
Пусть H будет входным-выходным поведением человека + все инструменты, отличные от A, имеющиеся в его распоряжении. Затем процедура усиления определяет A ⁺ как простое вычисление, в котором H и A используются в качестве подпрограмм.
В частности, ∅⁺ - это вычисление, в котором H используется в качестве подпрограммы. Если мы продолжим еще раз, мы получим ∅⁺⁺, которое представляет собой вычисление, в котором H и ∅⁺ используются в качестве подпрограмм. Bt, поскольку ∅⁺ - это простое вычисление, использующее H в качестве подпрограммы, мы можем переписать ∅⁺⁺ как простое вычисление, использующее только H в качестве подпрограммы.
Мы можем продолжить таким образом, достигнув ∅⁺⁺⁺, ∅⁺⁺⁺⁺ и так далее. По индукции, все эти политики определяются простыми вычислениями, которые используют как H в качестве подпрограммы. (Конечно, эти «простые вычисления» экспоненциально дороги, хотя их легко определить. Но они имеют простую форму и могут быть легко записаны в терминах процедуры усиления.)
При некоторых простых предположениях об эргодичности эта последовательность сходится к фиксированной точке Ω (очень похоже на HCH). Таким образом, процедура расширения возможностей по существу однозначно определяет оптимальную политику Ω; эта политика невычислима, но имеет краткое представление в терминах H .
Если что-то Ω не может сделать, значит, мы обнаружили недостижимую политику. Эта перспектива кажется полезной для определения сложной части проблемы увеличения возможностей.
Указание стратегии амплификации также определяет способ настройки взаимодействия между несколькими копиями H таким образом, чтобы они реализуют Ω. Действительно, разработать такое взаимодействие проще, чем разработать процедуру усиления, сходящуюся к Ω. Итак, если мы не можем разработать процедуру для группы копий H для совместного выполнения некоторой задачи T, то мы также не сможем разработать процедуру усиления, которая может достичь политик, которые могут выполнять T.
Но в некоторых случаях это кажется чрезвычайно сложным. Например, предположим, что мы хотим написать очень хороший учебник по общей теории относительности. Напомним, что H - это политика, выполняемая человеком в течение одного дня. Чтобы усложнить игру, предположим, что H никогда не сталкивался с расчетами.
Для наиболее естественных подходов требуется хотя бы одна копия H для понимания общей теории относительности. Но H длится всего один день, и не может быть какой-либо последовательности наблюдений, которая позволила бы H понять общую теорию относительности в течение дня.
Итак, чтобы Ω успешно справился с этой задачей, он должен уметь написать учебник без какой-либо единственной копии H с пониманием общей теории относительности. . Вместо этого необходимо распространить понимание на большое количество копий H. Тем не менее, они должны каким-то образом сотрудничать, чтобы написать отдельные предложения, которые правильно передают теорию.
Звучит как сложная проблема.
Приложение: примеры увеличения возможностей
ETA: мое текущее лучшее предложение - это метаисполнение, которое по сути является формализацией универсальной схемы, представленной ниже.
Разминка I: предварительная обработка
Мы создаем экземпляр «ведущего» агента, который использует политику A. Для каждого наблюдения o [k]:
- Мы создаем экземпляр нового агента, используя A. Мы даем им наблюдение: «подумайте о наблюдении {o [k]} и выведите полезную подсказку для вашей копии, которая должна на нее ответить». Пусть h [k] будет действием агента. Затем уничтожаем агента.
- Мы даем лидеру наблюдение «Наблюдение {o [k]}, и копия вашей подготовленной подсказки {h [ k]} ». Пусть a [k] будет его действием.
Мы можем надеяться, что этот композит умнее, чем A. В конце концов, у него вдвое больше времени, чтобы подумать - даже если копия не может дать очень полезный намек, не так уж сложно придумать подсказку, которая лучше, чем ничего.
Warmup II: задавая вопросы
Мы создаем экземпляр «ведущего» агента, который использует политику A. Мы передаем каждое наблюдение o [k] лидеру и просим его ответить действием a [k ].
Но мы также позволяем лидеру создавать экземпляры субагентов и общаться с этими агентами.
То есть, если лидер выполняет действие специальной формы «Создать нового агента», мы создаем нового агента, используя A, присваиваем ему уникальный идентификатор и даем лидеру наблюдение: «A новый агент был создан с ID [X] ». Точно так же лидер может выполнить специальное действие «Скопировать агента с ID [X]».
Если лидер выполняет действие специальной формы «Спросите [Q] у агента с ID [X]», мы даем Q в качестве наблюдения агенту с ID X. Этот агент ответит некоторым действием A, и мы дадим лидер следующее наблюдение: «Агент ответил [A]».
В конце концов, лидер выполняет действие специальной формы «Выполнить действие [A]». Затем мы устанавливаем a [k] = A и переходим к следующему наблюдению.
Схема из последнего раздела - это, по сути, частный случай, когда лидер создает экземпляр одного субагента и задает единственный вопрос: «Какой полезный совет для ответа на наблюдение o [k ]? »
Разминка III: Рекурсия
Мы улучшаем схему из последнего раздела, позволяя каждому агенту создавать экземпляры новых подагентов, а не ограничивая эту возможность лидером.
Сообщения между агентами могут содержать не только слова, но и указатели на других агентов. Это позволяет агентам передавать сообщения произвольно большого размера. Например, они могут построить структуру данных из агентов и просто передать «указатель» на корень этой структуры данных.
Мы также можем немного улучшить схему, позволив выноске копировать себя. Это может быть полезно, если лидер создал некоторый полезный контекст для текущей ситуации.
Универсальное усиление
Мы дополнительно улучшаем схему, предоставляя агентам большую внешнюю память. Вместо того, чтобы напрямую давать лидеру наблюдение o [k], мы записываем наблюдение во внешнюю память и сообщаем лидеру, где записано наблюдение.
Помимо разрешения агентам создавать экземпляры новых агентов и связываться с ними, любой агент может выполнять действие «выполнить [P]», где P - это программа, запускаемая во внешней памяти; агент видит наблюдение «программа вернула [x]», где x - это возвращаемое значение P (или «ничего»).
Вместо того, чтобы заставить лидера напрямую возвращать действие, он может выполнить специальное действие «вывести действие, возвращенное программой [P]».
Сообщения между агентами теперь могут содержать указатели на эту внешнюю память. Например, лидер может создать экземпляр субагента и задать ему вопрос: «Можете ли вы отличить [x] от массива случайных байтов?» где x - указатель на массив во внешней памяти.
Мы можем легко обобщить эту схему на параллельную модель вычислений. Мы также можем заменить разделяемую память более естественной моделью межпроцессного взаимодействия.
Приложение: знания о людях
Человеческие ценности сложны. Если вы можете общаться с людьми только один день, может быть совершенно невозможно понять, что они ценят, независимо от того, насколько вы умны. Понимание того, что кто-то ценит, может потребовать от него большого количества времени, чтобы поразмышлять над своими ценностями, заняться нейробиологией или выполнить другие процессы, на которые уходит больше одного дня.
Это может означать препятствие для расширения возможностей - мы не можем достичь политики, в которой содержится больше информации о людях, чем можно получить, взаимодействуя с H.
Однако, даже если это реальное препятствие, оно не кажется важным по следующей причине.
Предположим, что мы способны выработать очень хорошую политику, которая не отражает каких-либо сложных фактов о человеческих ценностях в процессе размышления. Эта оптимальная политика по-прежнему может отражать многие основные факты о человеческих предпочтениях:
- Мы не хотим, чтобы случилось что-то ужасное.
- Мы хотим «контролировать» создаваемых нами агентов.
- Мы не хотим, чтобы наш агент отставал от конкурентов; он должен бороться изо всех сил, чтобы сохранить влияние в мире, в соответствии с пунктами №1 и №2.
Более того, все эти концепции относительно легко понять, даже если у вас минимальное понимание человеческих ценностей.
Так что отличный агент с минимальным пониманием человеческих ценностей кажется нормальным. Такой агент может избежать отставания от своих конкурентов и остаться под контролем человека. В конце концов, как только он получит достаточно информации для понимания человеческих ценностей (например, посредством взаимодействия с людьми), он сможет помочь нам реализовать наши ценности.
В худшем случае агенту не хватит тонкого понимания того, что мы считаем ужасным, и поэтому ему пришлось бы либо быть особенно консервативным, либо рисковать совершить ужасные вещи в краткосрочной перспективе. По сути, это не катастрофическая проблема.
Приложение: пример препятствия
Предположим, что мой мозг кодирует случайную функцию f: {0, 1} * → {0, 1} в следующем смысле: вы можете дать мне последовательность битов, по одному в секунду, а затем я может сказать вам значение f в этой последовательности. Невозможно оценить f, кроме как спросить меня.
Пусть N будет продолжительностью нашей процедуры увеличения возможностей в секундах.
Пусть 𝓛 ⊆ 𝓐 будет набором политик, которые могут быть реализованы с использованием оракула для f, ограниченного входами длины N.
Тогда легко увидеть, что 𝓛 образует препятствие:
- Мы можем смоделировать доступ к любой политике в 𝓛, используя оракул для f, ограниченный входами длины N. И мы можем смоделировать мою роль в процедуре усиления, используя оракул для f ограничены входными данными длиной N. Таким образом, политики в могут быть расширены только до других политик в.
- Мы не можем оценить f даже на одном входе длины N + 1, используя оракул для f на входах длины N. Наиболее интересные классы 𝓐 будут содержать некоторые политики, которых нет в 𝓛 .
Случайная функция f немного диковинна, но мы можем представить, что мозг кодирует аналогичную труднодоступную информацию. Эта труднодоступная информация определяет аналогичное препятствие - мы никогда не сможем достичь политики, которая зависит от достаточно сложной для извлечения информации.
Действительно ли это препятствие, зависит от того, о чем идет речь:
- Если это просто случайные биты, то нас это не волнует - любые другие случайные биты будут «так же хороши».
- Если функция random кодирует важную информацию о моих значениях, то мы попали в ситуацию, описанную в предыдущем разделе, которая не кажется такой уж плохой.
- Худший случай - это когда функция f кодирует важную информацию о том, как вести себя эффективно. Например, он кодирует информацию о том, как делать точные прогнозы. В этом случае у нас могут действительно возникнуть проблемы, поскольку политика, которая не знает f, может быть вытеснена политикой, которая знает.