Создайте пользовательские среды мира сетки

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

Reinforcement Learning Toolbox™ позволяет вам создать пользовательские среды мира сетки MATLAB® для своих собственных приложений. Создать пользовательскую среду мира сетки:

  1. Создайте модель мира сетки.

  2. Сконфигурируйте модель мира сетки.

  3. Используйте модель мира сетки, чтобы создать вашу собственную среду мира сетки.

Модель мира сетки

Можно создать собственную модель мира сетки с помощью createGridWorld функция. Задайте размер сетки при создании GridWorld объект модели.

GridWorld объект имеет следующие свойства.

СвойствоТолько для чтенияОписание
GridSizeДа

Размерности мира сетки, отображенного как m-by-n массив. Здесь, m представляет количество строк сетки, и n является количеством столбцов сетки.

CurrentStateНет

Наименование текущего состояния агента в виде строки. Можно использовать это свойство для установки начального состояния агента. Агент всегда начинает с ячейки [1,1] по умолчанию.

Агент начинает с CurrentState если вы используете функцию сброса в rlMDPEnv объект среды.

StatesДа

Вектор строки, содержащий имена состояния мира сетки. Например, для модели GW мира сетки 2 на 2, задайте следующее:

GW.States = ["[1,1]";
             "[2,1]";
             "[1,2]";
             "[2,2]"];
ActionsДа

Вектор строки, содержащий список возможных действий, которые может использовать агент. Можно установить действия, когда вы создаете модель мира сетки при помощи moves аргумент:

GW = createGridWorld(m,n,moves)

Задайте moves как любой 'Standard' или 'Kings'.

movesGw.Actions
'Standard'['N';'S';'E';'W']
'Kings'['N';'S';'E';'W';'NE';'NW';'SE';'SW']
TНет

Матрица переходов в виде трехмерного массива. T матрица вероятности, которая указывает на вероятность агента, перемещающегося от текущего состояния s к любому возможному следующему s' состояния путем выполнения действия a.

T может обозначаться как

T(s,s',a) = probability(s'|s,a).

Например, рассмотрите детерминированный объект GW мира сетки 5 на 5 с агентом в ячейке [3,1]. Просмотрите матрицу переходов для северного направления.

northStateTransition = GW.T(:,:,1)

От вышеупомянутой фигуры, значения northStateTransition(3,2) 1 начиная с перемещений агента от ячейки [3,1] к ячейке [2,1] с действием 'N'. Вероятность 1 указывает, что от данного состояния, если агент идет на север, это имеет 100%-й шанс перемещения одной ячейки на север на сетке. Для примера, показывающего, как настроить матрицу переходов, смотрите, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

RНет

Матрица вознаграждений при переходе в виде трехмерного массива. R определяет, сколько вознаграждения агент получает после выполнения действия в среде. R имеет ту же форму и размер как матрица переходов T.

Матрица вознаграждений при переходе R может обозначаться как

r = R(s,s',a).

Настройте R таким образом, что существует вознаграждение для агента после каждого действия. Например, можно установить положительное вознаграждение, если агент перепрыгивает препятствия, а также при достижении конечного состояния. Можно также установить вознаграждение по умолчанию-11 для всех мер, которые агент принимает, независимый от текущего и последующего состояния. Для примера, которые показывают, как настроить матрицу вознаграждений при переходе, смотрите, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

ObstacleStatesНет

ObstacleStates состояния, которые не могут быть достигнуты в мире сетки в виде вектора строки. Рассмотрите следующую модель GW мира сетки 5 на 5.

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

GW.ObstacleStates = ["[3,3]";"[3,4]";"[3,5]";"[4,3]"];

Для примера рабочего процесса смотрите, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

TerminalStatesНет

TerminalStates конечные состояния в мире сетки в виде вектора строки. Рассмотрите предыдущую модель GW мира сетки 5 на 5. Синяя ячейка является конечным состоянием, и можно задать его:

GW.TerminalStates = "[5,5]";

Для примера рабочего процесса смотрите, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

Среда мира сетки

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

Для получения дополнительной информации смотрите rlMDPEnv и обучите агента обучения с подкреплением в основном мире сетки.

Смотрите также

| |

Похожие темы