setCritic

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

Описание

пример

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

Примеры

свернуть все

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

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

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

critic = getCritic(agent);

Получите настраиваемые параметры от критика.

params = getLearnableParameters(critic);

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

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

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

critic = setLearnableParameters(critic,modifiedParams);

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

agent = setCritic(agent,critic);

Примите, что у вас есть существующий агент обучения с подкреплением, agent. В данном примере загрузите обученного агента от, Обучают Агента AC Балансировать Систему Тележки с шестом:

load('MATLABCartpoleAC.mat')

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

oldCriticNetwork = [
        imageInputLayer([4 1 1],'Normalization','none','Name','state')
        fullyConnectedLayer(1,'Name','CriticFC')];

Создайте новую сеть с, дополнительные 5 нейронов полностью соединили скрытый слой:

newCriticNetwork = [
        oldCriticNetwork(1)
        fullyConnectedLayer(5,'Name','hidden');
        oldCriticNetwork(2)];

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

critic = rlValueRepresentation(newCriticNetwork,getObservationInfo(agent),'Observation',{'state'});

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

newAgent = setCritic(agent,critic);

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

свернуть все

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

Представление критика возражает в виде одного из следующего:

  • rlValueRepresentation объект — Возвратился когда agent rlACAgent, rlPGAgent, или rlPPOAgent объект

  • rlQValueRepresentation объект — Возвратился когда agent rlQAgent, rlSARSAAgent, rlDQNAgent, rlDDPGAgent, или rlTD3Agent объект с одним критиком

  • Двухэлементный вектор-строка из rlQValueRepresentation объекты — Возвратились когда agent rlTD3Agent объект с двумя критиками

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

свернуть все

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

Введенный в R2019a