generatePolicyFunction

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

Синтаксис

generatePolicyFunction(agent)
generatePolicyFunction(agent,Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

generatePolicyFunction(agent)

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

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

type evaluatePolicy.m

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

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

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

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

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

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

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

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

type evaluatePolicy.m

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

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

Создайте и обучите агент изучения укрепления. В данном примере загрузите агент DQN, обученный в Train Агент 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

Введенный в R2019a

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