rlDQNAgent

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

Описание

пример

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

Примеры

свернуть все

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

env = rlPredefinedEnv("CartPole-Discrete");
obsInfo = getObservationInfo(env);
actInfo = getActionInfo(env);

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

statePath = [
    imageInputLayer([4 1 1], 'Normalization', 'none', 'Name', 'state')
    fullyConnectedLayer(24, 'Name', 'CriticStateFC1')
    reluLayer('Name', 'CriticRelu1')
    fullyConnectedLayer(24, 'Name', 'CriticStateFC2')];
actionPath = [
    imageInputLayer([1 1 1], 'Normalization', 'none', 'Name', 'action')
    fullyConnectedLayer(24, 'Name', 'CriticActionFC1')];
commonPath = [
    additionLayer(2,'Name', 'add')
    reluLayer('Name','CriticCommonRelu')
    fullyConnectedLayer(1, 'Name', 'output')];
criticNetwork = layerGraph(statePath);
criticNetwork = addLayers(criticNetwork, actionPath);
criticNetwork = addLayers(criticNetwork, commonPath);    
criticNetwork = connectLayers(criticNetwork,'CriticStateFC2','add/in1');
criticNetwork = connectLayers(criticNetwork,'CriticActionFC1','add/in2');
criticOpts = rlRepresentationOptions('LearnRate',0.01,'GradientThreshold',1);
critic = rlRepresentation(criticNetwork,obsInfo,actInfo,...
    'Observation',{'state'},'Action',{'action'},criticOpts);

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

agentOpts = rlDQNAgentOptions(...
    'UseDoubleDQN',false, ...    
    'TargetUpdateMethod',"periodic", ...
    'TargetUpdateFrequency',4, ...   
    'ExperienceBufferLength',100000, ...
    'DiscountFactor',0.99, ...
    'MiniBatchSize',256);
agent = rlDQNAgent(critic,agentOpts);

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

свернуть все

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

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

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

свернуть все

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

Введенный в R2019a