Обучение в фоновом потоке плохо работает с играми Atari - PullRequest
1 голос
/ 10 июля 2019

Я реализовал несколько алгоритмов обучения с подкреплением, используя Tensorflow. Для непрерывных методов (например, DDPG, TD3) я запускал их на BipedalWalker ; для дискретных методов (например, DQN, Rainbow) я запускал их на играх Atari .

Я намеренно разделяю обучение и взаимодействие со средой, обучая сети в фоновом потоке (через стандартный модуль Python threading.Thread). Я обнаружил, что это ускорило те методы, которые выполняются на BipedalWalker, но это повредило их в играх Atari. Что делает эти различия? Это как-то связано с питоном GIL ?

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

...