Понимание конфигурации памяти воспроизведения и эпсилона в обучении глубокому подкреплению - PullRequest
0 голосов
/ 30 мая 2019

Я предварительно использую кодовую базу pacman для обучения своей собственной модели глубокого подкрепления.В то время как большинство компонентов кажутся мне разумными и понятными, есть две вещи, которые кажутся мне неясными:

  1. Как определить размер памяти воспроизведения?В настоящее время, поскольку я установил полный шаг обучения как 4000 (обратите внимание, что в указанной кодовой базе это значение установлено как 4000000), поэтому я просто пропорционально уменьшаю replay_memory_size как 400. Это имеет смысл?

  2. Какое возвращаемое значение epsilon при вызове функции PiecewiseSchedule?Я также пропорционально уменьшаю его параметры следующим образом:

        epsilon = PiecewiseSchedule([(0, 1.0),
                                     (40, 1.0), # since we start training at 10000 steps
                                     (80, 0.4),
                                     (200, 0.2),
                                     (400, 0.1),
                                     (2000, 0.05)], outside_value=0.01)
        replay_memory = PrioritizedReplayBuffer(replay_memory_size, replay_alpha)

, где исходный вызов функции выглядит так:

        epsilon = PiecewiseSchedule([(0, 1.0),
                                     (10000, 1.0), # since we start training at 10000 steps
                                     (20000, 0.4),
                                     (50000, 0.2),
                                     (100000, 0.1),
                                     (500000, 0.05)], outside_value=0.01)
        replay_memory = PrioritizedReplayBuffer(replay_memory_size, replay_alpha)

И вообще, каков принцип(руководство) за настройкой хорошего размера «памяти воспроизведения» и вызова функции PiecewiseSchedule?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...