rlDDPGAgent

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

Описание

пример

agent = rlDDPGAgent(actor,critic,opt) создает агента DDPG с заданным агентом и сетями критика, с помощью заданных опций агента DDPG. Для получения дополнительной информации об агентах DDPG смотрите Глубоко Детерминированных Агентов Градиента политики.

Примеры

свернуть все

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

env = rlPredefinedEnv("DoubleIntegrator-Continuous");
obsInfo = getObservationInfo(env);
numObservations = obsInfo.Dimension(1);
actInfo = getActionInfo(env);
numActions = numel(actInfo);

Создайте представление критика.

statePath = imageInputLayer([numObservations 1 1], 'Normalization', 'none', 'Name', 'state');
actionPath = imageInputLayer([numActions 1 1], 'Normalization', 'none', 'Name', 'action');
commonPath = [concatenationLayer(1,2,'Name','concat')
             quadraticLayer('Name','quadratic')
             fullyConnectedLayer(1,'Name','StateValue','BiasLearnRateFactor', 0, 'Bias', 0)];
criticNetwork = layerGraph(statePath);
criticNetwork = addLayers(criticNetwork, actionPath);
criticNetwork = addLayers(criticNetwork, commonPath);
criticNetwork = connectLayers(criticNetwork,'state','concat/in1');
criticNetwork = connectLayers(criticNetwork,'action','concat/in2');
criticOpts = rlRepresentationOptions('LearnRate',5e-3,'GradientThreshold',1);
critic = rlRepresentation(criticNetwork,obsInfo,actInfo,...
    'Observation',{'state'},'Action',{'action'},criticOpts);

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

actorNetwork = [
    imageInputLayer([numObservations 1 1], 'Normalization', 'none', 'Name', 'state')
    fullyConnectedLayer(numActions, 'Name', 'action', 'BiasLearnRateFactor', 0, 'Bias', 0)];
actorOpts = rlRepresentationOptions('LearnRate',1e-04,'GradientThreshold',1);
actor = rlRepresentation(actorNetwork,obsInfo,actInfo,...
    'Observation',{'state'},'Action',{'action'},actorOpts);

Задайте опции агента и создайте агента PG с помощью среды, агента и критика.

agentOpts = rlDDPGAgentOptions(...
    'SampleTime',env.Ts,...
    'TargetSmoothFactor',1e-3,...
    'ExperienceBufferLength',1e6,...
    'DiscountFactor',0.99,...
    'MiniBatchSize',32);
agent = rlDDPGAgent(actor,critic,agentOpts);

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

свернуть все

Представление сети Actor, заданное как rlLayerRepresentation объект, созданный с помощью rlRepresentation. Для получения дополнительной информации о создании представлений агента смотрите, Создают политику и Представления Функции Значения.

Представление сети Critic, заданное как rlLayerRepresentation объект, созданный с помощью rlRepresentation. Для получения дополнительной информации о создании представлений критика смотрите, Создают политику и Представления Функции Значения.

Опции агента, заданные как rlDDPGAgentOptions объект.

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

свернуть все

Агент DDPG, возвращенный как rlDDPGAgent объект.

Введенный в R2019a