setActor

Установите представление агента агента обучения с подкреплением

Описание

пример

newAgent = setActor(oldAgent,actor) возвращает нового агента обучения с подкреплением, newAgent, это использует заданное представление агента. Кроме представления агента, новый агент имеет ту же настройку как заданный исходный агент, oldAgent.

Примеры

свернуть все

Примите, что у вас есть существующий обученный агент обучения с подкреплением. В данном примере загрузите обученного агента от, Обучают Агента DDPG Управлять Двойной Системой Интегратора.

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

Получите представление агента от агента.

actor = getActor(agent);

Получите learnable параметры из агента.

params = getLearnableParameterValues(actor);

Измените значения параметров. В данном примере просто умножьте все параметры 2.

modifiedParams = cellfun(@(x) x*2,params,'UniformOutput',false);

Установите значения параметров агента к новым модифицированным значениям.

actor = setLearnableParameterValues(actor,modifiedParams);

Установите агента в агенте к новому модифицированному агенту.

agent = setActor(agent,actor);

Примите, что у вас есть существующий агент обучения с подкреплением, agent.

Далее, примите, что этот агент имеет представление агента, которое содержит следующую структуру глубокой нейронной сети.

originalActor = [
        imageInputLayer([4 1 1],'Normalization','none','Name','state')
        fullyConnectedLayer(2,'Name','action')];

Создайте представление агента с дополнительным полносвязным слоем.

actorNetwork = [
        imageInputLayer([4 1 1],'Normalization','none','Name','state')
        fullyConnectedLayer(3,'Name','x');
        fullyConnectedLayer(2,'Name','action')];
actor = rlRepresentation(actorNetwork,...
    'Observation',{'state'},getObservationInfo(env),
    'Action',{'action'},getActionInfo(env));

Установите представление агента агента к новому увеличенному агенту.

agent = setActor(agent,actor);

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

свернуть все

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

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

  • rlLayerRepresentation объект для представлений глубокой нейронной сети

  • rlTableRepresentation объект для таблицы значения или представлений Q-таблицы

Слои ввода и вывода заданного представления должны совпадать с наблюдением и спецификациями действия исходного агента.

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

  • Создайте представление с помощью rlRepresentation.

  • Получите существующее представление агента от агента с помощью getActor.

Выходные аргументы

свернуть все

Обновленный агент обучения с подкреплением, возвращенный как агент, возражает, что использует заданное представление агента. Кроме представления агента, новый агент имеет ту же настройку как oldAgent.

Введенный в R2019a