exponenta event banner

rlDQNAgentOptions

Параметры агента DQN

Описание

Использовать rlDQNAgentOptions объект для указания параметров агентов deep Q-network (DQN). Для создания агента DQN используйте rlDQNAgent.

Дополнительные сведения см. в разделе Агенты Deep Q-Network.

Дополнительные сведения о различных типах агентов обучения усилению см. в разделе Агенты обучения усилению.

Создание

Описание

opt = rlDQNAgentOptions создает объект параметров для использования в качестве аргумента при создании агента DQN с использованием всех параметров по умолчанию. Свойства объекта можно изменить с помощью точечной нотации.

пример

opt = rlDQNAgentOptions(Name,Value) задает свойства опций, используя пары имя-значение. Например, rlDQNAgentOptions('DiscountFactor',0.95) создает набор опций с коэффициентом дисконтирования 0.95. Можно указать несколько пар имя-значение. Заключите каждое имя свойства в кавычки.

Свойства

развернуть все

Флаг для использования двойного DQN для обновлений целевого объекта функции значений, указанный как логическое значение. Для большинства наборов приложений UseDoubleDQN кому "on". Дополнительные сведения см. в разделе Агенты Deep Q-Network.

Варианты эпсилон-жадной разведки, указанные как EpsilonGreedyExploration со следующими свойствами.

СобственностьОписаниеЗначение по умолчанию
EpsilonПорог вероятности для случайного выбора действия или выбора действия, которое максимизирует функцию значения состояния-действия. Большее значение Epsilon означает, что агент случайным образом исследует пространство действия с более высокой скоростью.1
EpsilonMinМинимальное значение Epsilon0.01
EpsilonDecayСкорость распада0.0050

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

Epsilon = Epsilon*(1-EpsilonDecay)

Если агент слишком быстро сходится на локальном оптимуме, вы можете способствовать исследованию агента, увеличивая Epsilon.

Чтобы задать опции исследования, используйте точечную нотацию после создания rlDQNAgentOptions объект opt. Например, задайте значение epsilon равным 0.9.

opt.EpsilonGreedyExploration.Epsilon = 0.9;

Максимальная длина траектории пакетной тренировки при использовании рекуррентной нейронной сети для критика, заданная как положительное целое число. Это значение должно быть больше 1 при использовании рецидивирующей нейронной сети для критика и 1 в противном случае.

Коэффициент сглаживания для обновлений целевого критика, заданный как положительный скаляр, меньший или равный 1. Дополнительные сведения см. в разделе Методы целевого обновления.

Число шагов между целевыми обновлениями критиков, указанное как положительное целое число. Дополнительные сведения см. в разделе Методы целевого обновления.

Параметр очистки буфера опыта перед обучением, заданный как логическое значение.

Параметр сохранения данных буфера опыта при сохранении агента, указанный как логическое значение. Эта опция применяется как при сохранении агентов-кандидатов во время обучения, так и при сохранении агентов с помощью save функция.

Для некоторых агентов, таких как агенты с большим буфером опыта и наблюдениями на основе изображений, память, необходимая для сохранения их буфера опыта, велика. В таких случаях, чтобы не сохранять данные буфера опыта, установите SaveExperienceBufferWithAgent кому false.

Если планируется дальнейшее обучение сохраненного агента, можно начать обучение с использованием буфера предыдущего опыта в качестве отправной точки. В этом случае установить SaveExperienceBufferWithAgent кому true.

Размер мини-пакета случайного опыта, указанный как положительное целое число. Во время каждого учебного эпизода агент случайным образом производит выборку опыта из буфера опыта при вычислении градиентов для обновления свойств критика. Большие мини-пакеты уменьшают дисперсию при вычислении градиентов, но увеличивают вычислительные усилия.

При использовании рекуррентной нейронной сети для критика, MiniBatchSize - количество траекторий опыта в партии, где каждая траектория имеет длину, равную SequenceLength.

Количество будущих вознаграждений, используемых для оценки стоимости полиса, указанного как положительное целое число. Для получения дополнительной информации см. главу 7 [1].

Обучение N-шагу Q не поддерживается при использовании рецидивирующей нейронной сети для критика. В этом случае NumStepsToLookAhead должно быть 1.

Размер буфера опыта, указанный как положительное целое число. Во время обучения агент вычисляет обновления, используя мини-пакет опытов, случайным образом отобранных из буфера.

Время выборки агента, указанное как положительный скаляр.

В среде Simulink ® агент выполняется каждыйSampleTime секунды времени моделирования.

В среде MATLAB ® агент выполняется каждый раз при продвижении среды. Однако SampleTime - интервал времени между последовательными элементами в опыте вывода, возвращаемый sim или train.

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

Функции объекта

rlDQNAgentАгент обучения усилению глубокой Q-сети

Примеры

свернуть все

В этом примере показано, как создать объект параметров агента DQN.

Создание rlDQNAgentOptions объект, указывающий размер мини-пакета агента.

opt = rlDQNAgentOptions('MiniBatchSize',48)
opt = 
  rlDQNAgentOptions with properties:

                           UseDoubleDQN: 1
               EpsilonGreedyExploration: [1x1 rl.option.EpsilonGreedyExploration]
                     TargetSmoothFactor: 1.0000e-03
                  TargetUpdateFrequency: 1
    ResetExperienceBufferBeforeTraining: 1
          SaveExperienceBufferWithAgent: 0
                         SequenceLength: 1
                          MiniBatchSize: 48
                    NumStepsToLookAhead: 1
                 ExperienceBufferLength: 10000
                             SampleTime: 1
                         DiscountFactor: 0.9900

Опции можно изменять с помощью точечных обозначений. Например, установите время выборки агента равным 0.5.

opt.SampleTime = 0.5;

Вопросы совместимости

развернуть все

В R2020a изменилось поведение

Ссылки

[1] Саттон, Ричард С. и Эндрю Г. Барто. Обучение усилению: введение. Второе издание. Адаптивные вычисления и машинное обучение. Кембридж, месса: The MIT Press, 2018.

См. также

Представлен в R2019a