Серия учебных пособий по обучению с подкреплением

Четыре основных подэлемента системы обучения с подкреплением

Это первая часть серии руководств по RL, в которой представлен обзор книги Обучение с подкреплением: Введение. Второе издание." Ричард С. Саттон и Эндрю Дж. Барто. Эта книга доступна бесплатно «здесь.

Эта статья является частью серии. Ознакомьтесь с полной серией: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5, Часть 6 и Часть 7!

Глава 1. Введение
Система обучения с подкреплением состоит из четырех основных подэлементов:

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

Политика

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

Например, представьте, что вы находитесь в состоянии S2. Обратите внимание, что вы можете перейти либо в состояние S3 (выполнение действия a6), либо остаться в том же состоянии S2 (выполнить действие a3). Политика сообщает, что вы должны выполнить действие a6 и перейти в состояние S3.
Итак, снова, политика π - это функция, которая принимает в качестве входных данных состояние «S» (в нашем примере S2) и возвращает действие «a ”(В нашем примере - a6).
То есть: π (s) → a
Или, в нашем примере, π (S2) → a6

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

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

Политики обычно являются стохастическими, что означает, что мы выбираем действие из распределения вероятностей.
В качестве примера представьте, что мы снова находимся в состоянии S2. Политика не просто скажет агенту «предпринять действие a6». Вместо этого он скажет: «Выполните действие a6 с вероятностью 88% и выполните действие a3 с вероятностью 12%».

  • Сигнал вознаграждения

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

  • Функция значения

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

Итак, возвращаясь к нашему примеру, значение состояния S3 учитывает тот факт, что после перехода в S3 вы также можете перейти в состояния S1 и S4.
Значение состояния S2 учитывает тот факт, что после перехода в S2 вы также можете перейти в состояния S3 и S2.

Это важно, потому что состояние может всегда давать агенту низкое немедленное вознаграждение, но если это состояние имеет высокое значение, это означает, что за ним часто следуют другие состояния, которые приносят высокие вознаграждения (следовательно, агент все равно должен перейти в это состояние).

Так, например, снова представьте, что агент находится в состоянии S2, и что выполнение действия «a3» дает награду со значением 5. И что выполнение действия «a6» дает награду со значением 3. Может быть, причина политика, предписывающая агенту перейти в состояние S3 из состояния S2 (выполнение действия «a6»), заключается в том, что, когда агент находится в состоянии S3, он может выполнить действие «a2», которое дает значение вознаграждения 100.

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

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

  • Модель окружающей среды

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

Некоторые проблемы в RL:

- Исследование против эксплуатации
- Отложенная награда

  • Разведка против эксплуатации

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

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

Отсроченное вознаграждение

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

Давайте посмотрим на пример, чтобы увидеть, как работают эти определения.

Крестики-нолики:

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

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

Чтобы обновить значение состояния «S», после жадного перехода от «S» к «S’ »мы« сохраняем »значение в состояние до перемещения. Это означает, что мы регулируем значение «S», чтобы оно было ближе к значению следующего состояния - «S’ ».

Чтобы обновить значение состояния, мы можем выбрать разные методы.
Один из них - это правило обучения временной разнице.
Если мы позволим S обозначать состояние перед жадный ход, и S 'состояние после перемещения, то обновление оценочного значения S, обозначенного V (S), можно записать как

где α - небольшая положительная дробь, называемая параметром размера шага, которая влияет на скорость обучения.
Это правило обновления является примером метода обучения с временной разницей, названного так потому, что изменения в нем основаны на разнице между оценками в два разных момента времени.
Об этом в книге рассказывается позже. На данный момент все, что вам нужно знать, что при обновлении разницы во времени мы берем текущую оценку состояния «V (s)» и обновляем ее на долю «a» от того, что мы находим в следующем состоянии (s ' ).

Учтите следующее:

Глядя на диаграмму резервного копирования выше, мы предпринимаем действия (например, переходим из состояния «a» в «b», а затем в «c»), а затем «делаем резервную копию» вознаграждения, используя уравнение временной разницы, чтобы обновить ранее присвоенное значение. состояния (например, обновить значение состояния «a» после того, как увидим, что произойдет, если мы сделаем шаг, который приведет нас к состоянию «b»).

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

До скорого,

Ваше здоровье.