DOUBLE DQN не имеет никакого смысла - PullRequest
0 голосов
/ 21 января 2020

Зачем использовать 2 сети, тренироваться один раз в каждом эпизоде ​​и обновлять целевую сеть каждый N эпизод, когда мы можем использовать 1 сеть и обучать ее ОДИН РАЗ в каждом N эпизоде! буквально нет разницы!

1 Ответ

2 голосов
/ 23 января 2020

То, что вы описываете, это не Double DQN . Периодически обновляемая целевая сеть является основной характеристикой исходного алгоритма DQN (и всех его производных). Классический документ c DeepMind объясняет, почему так важно иметь две сети:

Вторая модификация онлайн-Q-обучения, направленная на дальнейшее повышение стабильности нашего метода с помощью нейронной сети. сети должны использовать отдельную сеть для генерации целей y_j в обновлении Q-learning. Точнее, при каждом обновлении C мы клонируем сеть Q для получения целевой сети Q^ и используем Q^ для генерации целей Q-обучения y_j для следующих C обновлений Q. Эта модификация делает алгоритм более стабильным по сравнению со стандартным онлайн-Q-обучением, где обновление, которое увеличивается Q(s_t, a_t), часто также увеличивает Q(s_{t+1}, a) для всех a и, следовательно, также увеличивает целевое значение y_j, что может привести к колебаниям или расхождению. политики. Генерация целей с использованием более старого набора параметров добавляет задержку между временем обновления Q и временем, когда обновление влияет на цели y_j, что делает расхождение или колебания гораздо менее вероятными.

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