Я реализовал DQN с нуля в java, все сделано на заказ. Я сделал это, чтобы играть в змею, и результаты действительно хороши. Но у меня есть проблема.
Чтобы сделать сеть максимально стабильной, я использую replay memory
, а также target network
. Сеть сходится очень хорошо. Но через некоторое время он просто ломается.
Это график (X - сыгранные игры, Y - среднее количество набранных очков)
Этот «перерыв» обычно случается мало игры после того, как я обновлю target
сеть с сетью policy
.
Настройки, которые я использую для DQN:
discount factor: 0.9
learning rate: 0.001
steps to update target network: 300 000 (means every 300k steps i update target network with policy)
replay memory size: 300 000
replay memory batch size: 256 (every step i take 256 samples from replay memory and train network)
Есть идеи, что может быть не так? Спасибо за ответы.