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

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

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

Компоненты обучения с подкреплением

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

  1. Вознаграждение: Вознаграждение(R) может быть представлено как скалярная обратная связь от среды о том, насколько хорошо агент работает в среде на заданном временном шаге.
  2. Состояние: Состояние (S) предоставляет информацию о том, где находится агент в среде.
  3. Набор действий: набор действий (A), из которых может выбирать агент.
  4. Политика: содержит поведение агента. Он отображает действие в состояние.
  5. Функция ценности: это прогноз будущих ожидаемых вознаграждений, которые будут получены при условии, что агент находится в состоянии. Может использоваться для оценки того, насколько хорошо или плохо состояние.
  6. Агент: функция или класс, которые могут выбирать действия, которые нужно выполнять в среде. Он состоит из политики и алгоритма RL для извлечения уроков из прошлого опыта.
  7. Среда: функция или класс, которые могут принимать на вход действие агента и выполнять вычисления проблемы для решения и возврата вознаграждения.

Конечный марковский процесс принятия решений

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

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

Весь процесс включает в себя переход агента через различные состояния, при этом все состояния среды придерживаются свойства Маркова. Этот процесс называется Марковским процессом принятия решений. Конечный MDP играет важную роль в формулировании и понимании почти 90% проблем обучения с подкреплением. Его можно определить следующим образом: при заданном конечном наборе состояний S в среде и действиях A существует определенная вероятность для каждого шага, предпринятого в среде из состояния S(t) до S(t+1) при выполнении действия A.

Простой пример MDP

Я всегда лучше понимаю концепции на примерах. Если вы похожи на меня, то этот простой пример может дать представление о том, как базовый MDP может быть получен из нашего повседневного опыта. Представьте себя ИТ-сотрудником, который начинает день с работы в офисе. После завершения смены вы сталкиваетесь с решением: либо пойти в спортзал, либо пойти пообщаться и повеселиться. После того, как вы закончите тренировку в тренажерном зале, у вас появится мотивация к здоровому питанию и хорошему сну. После вечеринки у вас будет выбор есть нездоровую или здоровую пищу. Всем различным ситуациям (состояниям), которые посетил сотрудник, можно назначить вероятность и вознаграждение. Давайте выведем несколько марковских процессов из этого простого MDP.

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

В заключение

Сегодня мы узнали об основах обучения с подкреплением и его различных компонентах:

  • У нас было краткое введение в то, как агент взаимодействует с окружающей средой и получает вознаграждение.
  • Изучил основные элементы обучения с подкреплением, включая состояние, сигнал вознаграждения, набор действий, политику, агента и среду.
  • Изучил процесс формулирования задачи обучения с подкреплением с использованием марковского процесса принятия решений.
  • Создал базовый пример MDP из повседневной жизни, чтобы понять концепцию марковского процесса принятия решений.

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