Обучение с подкреплением: математический аппарат
В предыдущем материале из этой серии мы простыми словами рассказали о том, что такое обучение с подкреплением (Reinforcement learning, RL). Там мы, на интуитивном уровне, разобрались с тем, как работают механизмы RL, поговорили о том, как обучение с подкреплением применяется для решения практических задач. В этом материале мы изучим математический аппарат RL, начав с его базовых принципов и дойдя до примеров применения этих принципов при проектировании RL-алгоритмов.
Компоненты алгоритма обучения с подкреплением
Начнём с постановки задачи. Перед применением алгоритма обучения с подкреплением мы должны определить следующие его свойства:
Пространство наблюдения (observation space),
. Наблюдения — это данные, которые RL-агент использует для познания мира. Беспилотное транспортное средство (Autonomous Vehicle, AV) может наблюдать за миром посредством камер и лидара. Пространство действия (action space),
. Пространство действия определяет то, какие действия может предпринять RL-агент. В пространство действия беспилотного автомобиля может входить поворот рулевого колеса на определённый угол, а так же — использование педалей газа и тормоза. Функция вознаграждения (reward function),
. С использованием функции вознаграждения каждому временному шагу назначают метку, отражающую его вклад в результирующий показатель, который мы стремимся оптимизировать. Конечное условие (terminal condition),
. Конечное условие определяет длительность одного эпизода цикла обучения с подкреплением. Оно выражается либо фиксированным количеством времени (например — 1000 шагов), либо срабатывает по достижении благоприятного исхода некоей последовательности действий (например — когда беспилотный автомобиль благополучно прибыл в пункт назначения, или когда пользователь купил то, что ему предложила рекомендательная система).
Цель алгоритма обучения с подкреплением
Теперь, когда мы разобрались с постановкой задачи, нам нужно определить то, что именно RL-алгоритм будет оптимизировать. Цель RL-алгоритмов довольно-таки проста: она заключается в том, чтобы найти такие правила поведения (policy),
К сожалению, определение текущей цели алгоритма — это разновидность «проблемы курицы и яйца». Для достижения
Именно тут в дело вступает очень и очень важная концепция ожидаемого результата. RL-агент не максимизирует реальные вознаграждения. Он формирует оценку того, каким в будущем окажется
? Цель алгоритма обучения с подкреплением заключается в том, чтобы найти такие правила поведения
, которые позволяют достигнуть максимальных ожидаемых результатов в окружающей среде, в которой работает алгоритм.
Цикл алгоритма обучения с подкреплением
Определив компоненты и цель RL-алгоритма, мы можем описать цикл обучения с подкреплением. На каждом шаге агент изучает мир, в котором он работает, воздействует на этот мир и получает результат. Этот процесс повторяется до тех пор, пока не будет достигнуто конечное условие
Тут стоит упомянуть об одной маленькой, но важной детали. Дело в том, что при рассмотрении результата большинство RL-алгоритмов вводят дополнительный параметр
Если попытаться, на интуитивном уровне, понять смысл коэффициента дисконтирования, то окажется, что он задаёт длительность промежутка времени, который рассматривает RL-агент при максимизации результатов. Например — применение коэффициента дисконтирования
? Цель большинства алгоритмов обучения с подкреплением, используемых на практике, заключается в том, чтобы максимизировать ожидаемые дисконтированные результаты:
Итоги
Мы рассмотрели математический аппарат, который используется при проектировании алгоритмов обучения с подкреплением. Тут надо обратить внимание на то, что этот математический аппарат отличается весьма общим характером. Если можно определить пространство наблюдения, пространство действия и функцию вознаграждения — можно создать RL-алгоритм и оптимизировать его параметры так, чтобы он нашёл бы правила поведения, которые максимизируют ожидаемые результаты. Обычно RL-алгоритмы не делают никаких предположений о том, какие конкретные задачи решают с их помощью. Именно поэтому они широко применяются для решения самых разных задач. Среди них — управление беспилотными транспортными средствами, построение рекомендательных систем, выделение ресурсов и много других практических задач.
В следующем материале из этой серии мы поговорим о применении обучения с подкреплением в сетях Deep Q.
О, а приходите к нам работать? ?
Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.