Политический градиент: почему перестановка данных может привести к снижению производительности? - PullRequest
0 голосов
/ 10 февраля 2019

enter image description here

Выше приведены средние оценки каждые 100 эпизодов, когда агент работает в среде gym LunarLanderContinuous-v2.оранжевая и синяя линии - это результаты, когда операторы подают последовательные переходы к алгоритму градиента политики (например, ppo), а красная линия - результат, когда агенты перемешивают собранные переходы перед передачей их в алгоритм.Я не понимаю, почему просто перетасовка данных может иметь такое значение.Насколько мне известно, нейронные сети предполагают, что входные данные - это IID, поэтому такие алгоритмы, как DQN, перетасовывают данные (или случайную выборку из буфера воспроизведения), чтобы нарушить корреляцию.Но здесь перемешивание данных, кажется, только усугубляет ситуацию. Почему это происходит?

Вот мой проект https://github.com/xlnwel/Distributed-Model-Free-RL/tree/master/dppo.

Каждый работник выбирает переходы до тех пор, пока не будет собрано определенное количество переходов, а затем вычислит градиентыотправка градиента учащемуся для обновления весов, а затем повторите описанный выше процесс.Код, соответствующий данным перетасовки, находится в строках 143 и 150 в worker.py.

1 Ответ

0 голосов
/ 10 февраля 2019

Я бы сказал, что разница между политикой на основе политики (градиент политики) и методом вне политики (например, DQN).Вы не можете перетасовать собранные данные, потому что после подгонки каждого эпизода сама политика меняется.Когда вы собираете новые образцы, они вступают в новую политику.Принимая во внимание, что в случае DQN вы обновляете функцию q-значения для данной пары состояние-действие, посредством чего вы все равно можете использовать случайные выборки вместе и обновлять их.

...