Введение в многорукие бандиты

Вступление

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

Возможно , чистейший примером является проблема , которая одолжила свое имя МАБ: представьте себе , что мы столкнулись с k игровых автоматов (однорукие бандиты), и мы должны выяснить , какой из них имеет лучший выигрыш, а не потерять слишком много денег.

Многорукие бандиты

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

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

Многорукие бандиты и обучение с подкреплением

Почему в библиотеке TF-Agents есть MAB Suite? Какая связь между RL и MAB? Многоруких бандитов можно рассматривать как частный случай обучения с подкреплением. Цитирую Введение в RL :

На каждом временном шаге, агент принимает действие на окружающей среду на основе его политика π(at|st), где st является текущим наблюдением из окружающей среды, и получает вознаграждение rt+1 и следующее наблюдение , st+1 из окружающей среды . Цель состоит в том, чтобы улучшить политику, чтобы максимизировать сумму вознаграждений (возврат).

В общем случае RL, следующее наблюдение st+1 зависит от предыдущего состояния st и действия at принятого политиками. Эта последняя часть - то, что отделяет MAB от RL: в MAB следующее состояние, которым является наблюдение, не зависит от действия, выбранного агентом.

Это сходство позволяет нам повторно использовать все концепции, существующие в TF-Agents.

  • Среда выводит наблюдения и реагирует на действия с наградами.
  • Политика выводит действие , основанное на наблюдении, и
  • Агент несколько раз обновляет политику , основанную на предыдущих наблюдения действия, вознаграждение кортежей.

Грибная среда

В иллюстративных целях мы используем игрушечный пример под названием «Грибная среда». Грибов набор данных ( Schlimmer, 1981 ) состоит из меченых примеров съедобных и ядовитых грибов. Особенности включают формы, цвета, размеры различных частей гриба, а также запах и многое другое.

гриб

Набор данных грибов, как и все наборы данных контролируемого обучения, можно превратить в контекстную проблему MAB. Мы используем метод также используется Рикельме и соавт. (2018) . В этом преобразовании агент приобретает черты гриба, решает есть его или нет. Поедание съедобного гриба дает награду +5, в то время как употребление ядовитого гриба дает +5 или -35 с равной вероятностью. Если вы не едите гриб, вы получите 0 наград, независимо от вида гриба. В следующей таблице приведены назначения вознаграждений:

           | edible | poisonous
-----------|--------|----------
eating it  
|     +5 | -35 / +5
leaving it
|      0 |        0

Агент LinUCB

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

rt,ivt,θi

максимально приближены к реальности. Здесь vtRd контекст получил на время шага t. Затем, если агент очень уверен в своих оценках, он может выбрать argmax1,...,Kvt,θk , чтобы получить самую высокую ожидаемую награду.

Как объяснялось выше, простой выбор руки с наилучшей оценкой вознаграждения не приводит к хорошей стратегии. Есть много различных способов смешивать эксплуатации и исследование в линейных оценках агентов, и один из самых известных являются линейным верхним доверительным пределом алгоритма (LinUCB) (смотрите , например , Li и др. 2010 ). LinUCB состоит из двух основных строительных блоков (некоторые детали опущены):

  1. Он поддерживает оценки параметров каждого плеча с линейным методом наименьших квадратов: θ^iXi+ri, где Xi и ri являются уложенные контексты и выгоды раундов , где рука i был выбран, и ()+ является псевдо - обратная .
  2. Он поддерживает доверительные эллипсоиды определенные обратной ковариационной XiXi для приведенных выше оценок.

Основная идея LinUCB - «Оптимизм перед лицом неопределенности». Агент включает разведку, увеличивая оценки на величину, соответствующую дисперсии этих оценок. То есть , где уверенность эллипсоиды входят в картину: для каждой руки, оптимистическая оценка r^i=maxθEivt,θ, где Ei является эллипсоид вокруг θ^i. В выбираете агента наиболее перспективная рука argmaxir^i.

Конечно, приведенное выше описание - всего лишь интуитивное, но поверхностное изложение того, что делает LinUCB. Реализация может быть найдена в нашем кодовом здесь

Что дальше?

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