Практические руководства

Сеть Deep Q: сочетание глубокого обучения и обучения с подкреплением

Раскройте силу глубокого обучения с подкреплением

Обучение с подкреплением (RL) - одна из самых интересных областей исследований в области науки о данных. Долгое время он был в центре работы многих математиков.

И сегодня, с улучшением Deep Learning и доступностью вычислительных ресурсов, RL вызывает больший интерес: поскольку большие объемы данных больше не представляют собой препятствий, появились новые подходы к моделированию.

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

Это стало основой недавних впечатляющих достижений в области искусственного интеллекта. Это даже позволило алгоритмам превзойти человеческие возможности в таких областях, как Atari, Go или покер.

Цель этой статьи - пролить свет на вклад глубокого обучения в области RL. С этой целью в ней основное внимание уделяется примеру Q-Learning, общей модели RL, и объясняется добавленная стоимость включения нейронных сетей.

Прочитав эту статью, вы узнаете:

  • Что такое обучение с подкреплением и на каких принципах и методах оно основано?
  • Что такое Deep Q Learning и чем оно отличается от «обычного» Q-Learning?
  • Каков потенциальный вклад обучения с подкреплением и какие проблемы остаются?

1. Что такое обучение с подкреплением?

Начнем сначала с краткого обзора принципов RL.

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

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

Терминология

В этом контексте для описания компонентов среды RL используется особая терминология:

  • Агент: лицо, принимающее решения, которого нужно обучить.
  • Среда: общая настройка, при которой агент изучает и решает, какие действия предпринимать.
  • Действие 𝑎: одно из множества возможных действий, которые может выполнить агент.
  • Состояние 𝑠: состояние, в котором находится агент.
  • Вознаграждение 𝑟: прибыль или убыток, который агент получает от окружающей среды в результате его собственных действий.
  • Политика 𝜋: стратегия, которую выбирает агент. Он представляет собой отображение между набором ситуаций и набором возможных действий.

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

Метрики

В этом контексте есть две метрики:

  • Функция ценности 𝑉𝜋 (𝑠): ожидаемое вознаграждение со скидкой, начиная с состояния 𝑠 и последовательно следуя политике 𝜋

где 𝑅 означает доходность.

  • Q-значение 𝑄𝜋 (𝑠, 𝑎): ожидаемый дисконтированный доход в данном состоянии s и для данного действия в течение некоторого времени после политики 𝜋 ∗.

2. Что дает глубокое обучение для обучения с подкреплением?

Чтобы понять дополнительную ценность Deep Learning для RL, я сосредоточусь на примере Q-Learning и сравню «обычное» Q-Learning с Deep Q-Learning (также известный как Deep Q Network).

Q-Learning

Интуитивно алгоритм Q-Learning состоит из изучения Q-таблицы (Q означает качество), которая содержит ожидаемую будущую награду за каждое состояние и действие.

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

График иллюстрирует процесс в случае PacMan:

Как агент изучает Q-таблицу?

  1. Во-первых, произвольно инициализируется Q-таблица. Количество столбцов - это количество возможных действий, а количество строк - это количество состояний.
  2. Затем, пока эпизод не закончен:
  • 2.1. Агент в состоянии s выбирает действие a,, которое максимизирует ожидаемые будущие вознаграждения в соответствии с Q-таблицей. .
  • Иногда Агент может выбрать действие случайным образом. Это известно как жадная стратегия эпсилон. Это позволяет агенту исследовать свое окружение (и не всегда узко следовать своей шпаргалке). Более подробную информацию вы можете прочитать в этой статье.
  • 2.2. Агент наблюдает за исходным состоянием s 'и награждает r и обновляет функцию Q (s, a) следующим образом:

Глубокое Q-Learning

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

К счастью, благодаря сочетанию подхода Q-Learning с моделями глубокого обучения Deep RL решает эту проблему. Он в основном состоит из построения и обучения нейронной сети, способной оценивать в заданном состоянии различные Q-значения для каждого действия.

На приведенном ниже графике сравниваются подходы Q-Learning и Deep Q-Learning:

Обратите внимание, что функция потерь сети - это функция потерь:

И это еще не все: Deep Q-Learning представляет 2 дополнительных механизма, которые позволяют добиться лучших результатов.

1. Воспроизведение памяти:

  • Нейронная сеть не обновляется сразу после каждого шага. Вместо этого он сохраняет каждый опыт (обычно в виде кортежа ‹действие, состояние, вознаграждение, следующее состояние›) в памяти.
  • Затем обновления производятся в наборе кортежей, называемом мини-пакетом, случайно выбранным из памяти воспроизведения.
  • Этот механизм позволяет алгоритму запоминать и отслеживать его прошлый опыт.

2. Отдельная целевая сеть:

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

3. Чего ожидать от глубокого обучения с подкреплением?

заявка

Если модели RL в основном известны своей впечатляющей производительностью в сложных играх, таких как Atari или Go, то сфера применения намного шире. Их можно применять в различных бизнес-кейсах.

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

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

Вызовы

Тем не менее, использование RL для решения конкретных проблем представляет собой 3 основные проблемы:

  1. Моделирование среды. Создание среды - важный момент, поскольку модели RL учатся на своем взаимодействии с ней. Если моделирование игры может показаться относительно простым, оно быстро усложняется, когда дело доходит до других областей применения, таких как автономные автомобили, оптимизация энергопотребления и т. Д.
  2. Достижение глобального оптимума: Агент RL может застрять в локальном оптимуме, если он недостаточно исследует свою среду. Это известно как дилемма разведки-эксплуатации. По мере того, как агент узнает о своей среде, он разрывается между более глубоким изучением окружающей среды, чтобы получить лучшую видимость поля возможностей, и использованием своего опыта для реализации того, что он считал наиболее прибыльной стратегией.
  3. Выбор подходящего алгоритма и настройка его параметров: Существует большое разнообразие моделей RL. Они полагаются на совершенно разные подходы и используют несколько гиперпараметров. Поэтому необходимо тщательно выбирать алгоритм и правильные метрики для оценки его производительности.