Обзор последних достижений в области обучения с подкреплением на основе моделей.

Введение

Глубокое обучение с подкреплением приобрело большую известность в последние годы благодаря некоторым поразительным успехам в видеоиграх, таких как Atari, смоделированных средах управления роботами, таких как Mujoco, и в таких играх, как Chess, Go и Poker. Отличительной чертой большинства историй успеха RL является использование смоделированных сред, которые обеспечивают высокоэффективную генерацию данных методом проб и ошибок. Это очень важно, потому что большинству современных алгоритмов RL для достижения высокой производительности требуются огромные объемы данных - часто порядка сотен миллионов взаимодействий с окружающей средой, а иногда и миллиардов.

Основная причина неэффективности этого образца заключается в том, что большинство современных алгоритмов RL принадлежат к семейству Model-Free, что означает, что они являются очень общими алгоритмами обучения, которые не предполагают знания об окружающей среде или функция вознаграждения, что делает их полностью зависимыми от прямого взаимодействия. Это, очевидно, сильно отличается от того, как мы, люди, учимся выполнять задачи, поскольку мы можем использовать свой опыт, чтобы представить результаты своих действий и составить план перед попыткой выполнить задачу. Например, когда человек пытается пройти по мокрому полу, он может поскользнуться на первых шагах, но быстро скорректирует свою внутреннюю модель того, как положение ступни и направление движения влияет на устойчивость, и, скорее всего, будет намного лучше выполнять свои следующие шаги. В отличие от алгоритмов без моделей, мы не просто пробуем разные стили ходьбы и используем обратную связь (упали мы или нет), чтобы в конечном итоге найти правильный путь.

Но если эти общие алгоритмы, не связанные с моделями, так хорошо работают с этими трудными задачами, зачем возиться с чем-то еще? Это связано с тем, что не все может быть легко смоделировано надежно, и во многих реальных случаях использования наши моделирования не являются достаточно точными, чтобы мы могли развернуть модель, обученную с их помощью, в нашей целевой среде. Очевидным примером такого случая является управление и планирование робототехники, поскольку даже простые робототехнические системы не могут быть точно смоделированы, не говоря уже о сложных роботизированных системах. Но даже если бы мы могли создавать точные симуляции, это, вероятно, было бы серьезным мероприятием и применимо только к этой конкретной модели робота. Преодоление разрыва между симуляцией и реальными роботами - это область активных исследований, и я ранее писал о некоторых интересных идеях.

В этих условиях, если у нас нет надежного моделирования или его запуск требует очень много времени или дорого, мы не можем надеяться на использование алгоритма обучения, который требует миллиарда взаимодействий с окружающей средой, поскольку это займет непомерно много времени или быть неприемлемо дорогостоящим. Кажется, нам могла бы пригодиться другая парадигма.

Планирование на основе модели

Что, если бы мы решали проблему, для которой мы действительно знали модель или имели достаточно хорошее приближение? Можем ли мы использовать эти знания, чтобы принимать лучшие решения или изучать лучшую политику? На самом деле это очень распространенный случай в таких областях, как автоматическое планирование, комбинаторная оптимизация и управление. Во многих приложениях управления у нас может быть приближенная аналитическая модель динамики благодаря знанию предметной области конкретной проблемы (часто в форме линейной модели), которая позволяет нам планировать заранее, используя такие методы, как Model Predictive Control (MPC).

В MPC мы планируем заранее на фиксированный временной горизонт, используя нашу приближенную модель, чтобы «имитировать» состояния, в которые наша система переходит из-за предпринимаемых нами действий. Скажем, мы хотим, чтобы самолет следовал по целевой траектории, мы можем использовать сумму расстояний между состояниями, которые мы развернули с помощью нашей модели (с некоторыми начальными действиями, которые могут быть выбраны случайным образом) и состояниями в целевой траектории, и взять производную функции стоимости по отношению к действиям (поскольку и функция стоимости, и приближенная модель дифференцируемы) и минимизировать функцию стоимости с помощью градиентного спуска. В этом случае мы не изучаем политику (хотя мы могли бы попытаться подогнать модель для прогнозирования оптимизированных действий, если бы захотели), а используем нашу модель для планирования.

Другой подход может заключаться в использовании нашей известной модели для изучения политики, и очень известным примером такого случая является AlphaGo Zero (AGZ). В AlphaGo Zero у нас есть идеальная модель игры; мы прекрасно знаем, как состояние игрового поля изменяется при выполнении действия, и можем использовать эти знания в алгоритмах поиска по дереву, таких как поиск по дереву Монте-Карло (MCTS).

В AlphaGo Zero мы пытаемся изучить политику и функцию значения, которые будут использоваться внутри алгоритма MCTS, а результаты поиска MCTS, в свою очередь, используются для улучшения политики. Это возможно, поскольку мы можем «смотреть вперед» и рассуждать о вероятных последствиях действий, предпринимаемых нашей политикой, прежде чем фактически совершить какое-то действие. Эта процедура оказалась очень эффективной, и в результате была получена система, которая могла бы достичь сверхчеловеческих качеств против сильнейших игроков мира, обучаясь игре против самого себя.

Модельное обучение с подкреплением

Что, если бы мы могли достичь вышеупомянутых преимуществ даже в задачах, модель которых нам не известна? В конце концов, модель среды - это отображение функции из состояния-действия в вероятность перехода в следующие состояния и вознаграждение, и поэтому, возможно, мы сможем изучить эту функцию из взаимодействия с окружающей средой и применить эту изученную модель к любому плану. вперед или для создания большого количества «смоделированных развертываний», с помощью которых мы можем улучшить нашу политику, тем самым требуя гораздо меньше взаимодействия с реальной системой (что дорого). Наш агент может взаимодействовать со средой для сбора реальных данных и использовать контролируемые методы обучения, чтобы соответствовать модели функции перехода и вознаграждения. Когда у нас будет хорошая модель, мы можем использовать ее для выполнения MPC-подобного планирования во время развертывания или для генерации огромных объемов фиктивных обучающих данных, чтобы улучшить изученную политику, которая будет использоваться при развертывании (избегание планирования в реальном времени может быть желательным в случае аппаратных ограничений. или критичные по времени приложения).

Хотя эта идея кажется интуитивной и мощной, как это часто бывает, все не так просто. При попытке изучить модель окружающей среды в контексте обучения с подкреплением возникает ряд проблем, которые привели к появлению целого направления исследований, называемого обучением с подкреплением на основе моделей.

Сложные ошибки

Неизбежно, изученная модель не будет идеально точной, а небольшие ошибки усугубляются и могут быстро расти по мере дальнейшего распространения нашей изученной модели во времени. Эти сложные ошибки делают любые планы, которые мы составляем посредством планирования, аналогичного MPC, и любые генерируемые нами фиктивные данные ненадежными, что вносит предвзятость в наши планы и политики. Это один из факторов, которые способствуют тому, что методы RL, основанные на моделях, имеют тенденцию достигать более низких асимптотических характеристик, чем методы без моделей.

Обычный обходной путь - использовать очень предвзятую модель, которая, возможно, могла бы лучше обобщать, если бы ее выбрали разумно. Например, если динамику нашей среды можно разумно аппроксимировать с помощью линейной модели, мы могли бы достичь хорошего обобщения и отличной сложности выборки из-за строгих ограничений на класс модели, но это, очевидно, нереально для всех, кроме простейших задач. Обычный класс модели, используемый в более практических ситуациях с хорошими результатами, - это гауссовские процессы, которые могут эффективно учиться на очень небольшом количестве примеров, а также дают меру неопределенности в своих прогнозах. Однако гауссовские процессы хорошо масштабируются для режимов больших данных и могут быть дорогостоящими для запросов во время прогнозирования. Еще один способ внести предвзятость - использовать знание предметной области, и я ранее писал об этом в другом посте .

Это подчеркивает интересный компромисс при выборе класса модели; если мы выберем модель с низкой емкостью, мы можем получить хорошую производительность в режиме малых данных, который происходит в начале обучения, но не сможем воспользоваться преимуществами режимов больших данных, которые типичны для более поздних этапов, когда мы собрали достаточно данных. С другой стороны, если мы используем модель с высокой пропускной способностью, такую ​​как глубокая нейронная сеть, мы можем легко переобучиться в режиме с низким объемом данных, но можем воспользоваться преимуществами больших объемов данных, чтобы получить более точную модель.

Использование модели

Другой результат несовершенной модели возникает, когда мы пытаемся оптимизировать траектории или политику, используя нашу изученную модель. Часто случается, что в некоторых плохо аппроксимируемых областях пространства состояний наша модель может предсказывать ложно высокие вознаграждения, побуждая нашу политику или алгоритм поиска «активно» исследовать эти области, даже если наша модель в основном точна. Поскольку эти ошибки являются случайными артефактами конкретных параметров нашей модели, их очень трудно избежать, особенно в классах моделей с высокой пропускной способностью, таких как глубокие нейронные сети. С этой проблемой, возможно, можно было бы справиться, если бы у нас было некоторое ощущение неопределенности модели, в котором мы могли бы измерить, насколько «знакомы» состояния, и, таким образом, подходить к незнакомым состояниям с осторожностью при оптимизации вместо того, чтобы жадно искать ложные высокие вознаграждения.

Существует большой объем исследовательских работ, посвященных обучению с подкреплением на основе моделей с методами смягчения проблем, о которых я упоминал выше. Теперь я рассмотрю две недавние статьи, которые мне понравились, и выясню, как они решают эти проблемы.

PETS - вероятностные ансамбли с выборкой траектории

В этом документе 2018 года рассматривается модель, которая будет использоваться для планирования, а не политика. Авторы признают два вида неопределенности, с которыми необходимо иметь дело: алеаторная неопределенность, которая является неотъемлемой стохастичностью окружающей среды, и эпистемическая неопределенность, которая отражает уверенность модели в отношении различных входных состояний-действий.

Обычно нейронные сети используются в качестве детерминированных моделей, как и в случае задач регрессии. В этих случаях нейронная сеть выводит числа, и они рассматриваются как прогноз, не предоставляя никакой информации о достоверности. Хотя выходные данные можно рассматривать как среднее значение распределения, такого как гауссово, это бесполезно, поскольку мы ничего не знаем о дисперсии выходного распределения. В статье PETS авторы вместо этого используют вероятностную нейронную сеть, выходные данные которой параметризуют гауссовские распределения для следующего состояния и вознаграждения. При обучении такой модели на данных о переходах среды вместо использования среднеквадратичной ошибки в качестве потерь мы используем отрицательную логарифмическую вероятность истинного следующего состояния при распределении, предсказанном нашей моделью. Это позволяет нам моделировать присущую окружающей среде стохастичность, поскольку мы хотели бы различать этот тип и другой, и избегать попыток «исследовать» переходы с высокой дисперсией, в отличие от состояний, в которых мы не уверены, из-за которых мы не уверены. недостаточные данные.

Чтобы справиться со вторым типом неопределенности, авторы заменили единую изученную модель ансамблями изученных моделей, каждая из которых обучена на отдельной выборке набора данных истинных взаимодействий с окружающей средой. При агрегировании прогнозов нескольких различных моделей мы можем сгладить их индивидуальные особенности и ошибки, что в некоторой степени похоже на то, как случайный лес улучшает производительность деревьев решений путем агрегирования различных моделей. Используя ансамбль моделей, алгоритму оптимизации гораздо труднее использовать недостаточно исследованные состояния, поскольку прогнозы, данные каждой моделью, будут иметь тенденцию к высокой дисперсии и меньшему смещению, а метод ансамбля будет снижать дисперсию.

На приведенной выше иллюстрации из статьи мы видим, что совокупность двух разных моделей помогает уменьшить ошибку в неизученных состояниях и помогает получить представление о существующей неопределенности путем измерения дисперсии в ансамбле.

В алгоритме PETS изученный модельный ансамбль используется для планирования на будущее с использованием довольно сложной схемы выборки, когда переходы прогнозируются с использованием чередующихся моделей из ансамбля, а алгоритм оптимизации под названием Cross Entropy Method (не функция кросс-энтропийных потерь ...) является используется для уточнения действий в плане. Используя этот алгоритм, авторы могли получить производительность, сравнимую с современными алгоритмами RL без моделей, такими как Proximal Policy Optimization и Soft Actor Critic, всего за несколько испытаний (около 100 000 временных шагов).

MBPO - Оптимизация политик на основе моделей

В более поздней статье под названием «Когда доверять своей модели: оптимизация политики на основе модели» используется другой путь и вместо использования изученной модели среды для планирования используется ее для сбора фиктивных данных для обучения политики. В статье подробно рассказывается об очень интересном теоретическом исследовании использования модели в RL, а также используется эмпирическая оценка обобщающих возможностей нейронных сетей для обоснования использования предсказаний изученной модели.

В MBPO авторы заимствуют ансамбль вероятностных нейронных сетей из статьи PETS, но предлагают удобный и простой способ использования этого ансамбля для генерации обучающих данных. Как мы уже обсуждали ранее, составные ошибки модели очень усложняют учебные задачи с большими горизонтами, поскольку для генерации данных мы выбираем из распределения начальных состояний и распространяемся вперед, используя нашу изученную модель, увеличивая ошибки на этом пути. Однако в MBPO авторы предлагают метод разделения горизонта задач и горизонта распространения модели, начиная со случайных состояний, наблюдаемых ранее во время взаимодействия с окружающей средой, и распространяя короткие траектории вперед. Таким образом, мы торгуем несколькими длинными траекториями с большими ошибками и множеством коротких траекторий с меньшими ошибками.

Алгоритм MBPO можно кратко резюмировать следующим образом:

Для выборки траекторий с использованием ансамблей авторы предлагают просто выбирать модель единообразно на каждом временном шаге, а для шага оптимизации политики они выбрали Soft Actor Critic, который представляет собой современный алгоритм RL вне политики. Используя все эти методы, авторы достигают результатов, которые соответствуют лучшим безмодельным алгоритмам и превосходят другие основанные на моделях методы, такие как PETS.

Это кажется многообещающим направлением для внедрения RL в физические системы, по крайней мере, с точки зрения сложности выборки. Существуют и другие сложные задачи, такие как определение и обнаружение вознаграждения в физической системе, а также вопросы безопасности, но снижение сложности выборки до разумного уровня является важным шагом.