generatePolicyFunction

Создайте функцию, которая оценивает обученную политику агента обучения с подкреплением

Описание

пример

generatePolicyFunction(agent) создает функцию, которая оценивает изученную политику заданного агента с помощью функции по умолчанию, политики и имен файла данных. После генерации функции оценки политики вы можете:

пример

generatePolicyFunction(agent,Name,Value) задает функцию, политику и имена файла данных с помощью одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Создайте и обучите агента обучения с подкреплением. В данном примере загрузите агента PG, обученного в, Обучают Агента PG Балансировать полюсную Корзиной Систему.

load('MATLABCartpolePG.mat','agent')

Создайте функцию оценки политики для этого агента с помощью имен по умолчанию.

generatePolicyFunction(agent)

Эта команда создает evaluatePolicy.m файл, который содержит функцию политики и agentData.mat файл, который содержит обученного агента глубокой нейронной сети.

Чтобы просмотреть сгенерированную функцию, введите:

type evaluatePolicy.m

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

Поскольку сеть агента для этого агента PG имеет один входной слой и один выходной слой, можно сгенерировать код для этой сети с помощью функциональности генерации кода Deep Learning Toolbox™. Для получения дополнительной информации смотрите, Развертывают Обученные политики Обучения с подкреплением.

Создайте и обучите агента обучения с подкреплением. В данном примере загрузите агента Q-изучения, обученного в, Обучают Агента Обучения с подкреплением в Основном Мире Сетки.

load('basicGWQAgent.mat','qAgent')

Создайте функцию оценки политики для этого агента, задав имя файла данных агента.

generatePolicyFunction(qAgent,'MATFileName',"policyFile.mat")

Эта команда создает evaluatePolicy.m файл, который содержит функцию политики и policyFile.mat файл, который содержит обученную функцию значения Q-таблицы.

Чтобы просмотреть сгенерированную функцию, введите:

type evaluatePolicy.m

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

Можно сгенерировать код для этой функции политики использование MATLAB Coder. Для получения дополнительной информации смотрите, Развертывают Обученные политики Обучения с подкреплением.

Создайте и обучите агента обучения с подкреплением. В данном примере загрузите агента DQN, обученного в, Обучают Агента DQN Балансировать полюсную Корзиной Систему.

load('MATLABCartpoleDQN.mat','agent')

Создайте функцию оценки политики для этого агента, задав функцию и имя файла.

generatePolicyFunction(agent,'FunctionName',"computeAction")

Эта команда создает computeAction.m файл, который содержит функцию политики и agentData.mat файл, который содержит обученного критика глубокой нейронной сети.

Чтобы просмотреть сгенерированную функцию, введите:

type computeAction.m

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

Функциональность генерации кода Deep Learning Toolbox поддерживает только сети с одним входным слоем. Поэтому генерация кода не поддержана для computeAction.m, поскольку у критика в агенте DQN есть два входных слоя, один для наблюдения и один для действия.

Входные параметры

свернуть все

Обученный агент обучения с подкреплением, заданный как одно из следующего:

Поскольку генерация кода Deep Learning Toolbox и функциональность прогноза не поддерживают глубокие нейронные сети больше чем с одним входным слоем, generatePolicyFunction не поддерживает следующие настройки агента:

  • Агент DQN с представлениями критика глубокой нейронной сети.

  • Любой агент с агентом глубокой нейронной сети или представления критика с несколькими наблюдением вводят слои.

Чтобы обучить вашего агента, используйте train функция.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'FunctionName',"computeAction"

Имя сгенерированной функции, заданной как пара "имя-значение", состоящая из 'FunctionName' и строка или вектор символов.

Имя переменной политики в сгенерированной функции, заданной как пара "имя-значение", состоящая из 'PolicyName' и строка или вектор символов.

Имя файла данных агента, заданного как пара "имя-значение", состоящая из 'MATFileName' и строка или вектор символов.

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте