Когда агент учится в наборе инструментов обучения укреплению Matalb? - PullRequest
0 голосов
/ 19 сентября 2019

В настоящее время я тестирую набор инструментов для обучения усилению в Matlab R2019a.Пока все работает хорошо, но я наткнулся на вопрос, на который документация не может ответить удовлетворительно:

Когда агент учится?

В документации говорится о размере мини-пакета

Во время каждого обучающего эпизода агент случайным образом выбирает опыт из буфера опыта при вычислении градиентов для обновления свойств актера и критика.

Проблема заключается в том, что нигде не выяснено, что именноподразумевается под «обучающим эпизодом».

Функция поезда RL-Toolbox обучает агента в конце эпизода или во время эпизода, когда количество шаговпревышает размер мини-пакета (как в базовых алгоритмах)?

У меня есть следующие настройки для агента

agentOptions = rlDQNAgentOptions('SampleTime',Ts,...
                                 'UseDoubleDQN',true,...
                                 'TargetSmoothFactor',1e-3,...
                                 'DiscountFactor',0.99,...
                                 'NumStepsToLookAhead',4,...
                                 'ExperienceBufferLength',1e6,...
                                 'MiniBatchSize',120,...
                                 'ResetExperienceBufferBeforeTraining', false,...
                                 'SaveExperienceBufferWithAgent',true);

с Ts = 0,25.Длина одного эпизода установлена ​​в 2000 шагов, потому что агент должен изучить его поведение в длительном процессе.Невозможно сделать эпизоды короче, потому что в противном случае агент не встретил бы все интересные состояния.

Может быть, кто-то может просветить меня или дать мне подсказку, как я могу перепроверить?

У меня была идея контролировать epsilon-decay (который происходит после каждой тренировки), но я понятия не имею, как сделать это в замкнутом цикле быстрого перезапуска (который уже блокирует меня от открытия другого .m-файла).

...