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

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

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

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

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

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

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

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

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

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

Размерности мира сетки, отображенного как [m,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'.

moves = 'Standard'
GW.Actions = ['N';'S';'E';'W']
moves = 'Kings'
GW.Actions = ['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%-й шанс перемещения одной ячейки North на сетке. Для примера при подготовке матрицы переходов смотрите, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

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 и обучите агента обучения с подкреплением в основном мире сетки.

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

| |

Похожие темы