Я пытаюсь реализовать DQN и DDQN (оба с опытом ответа) для решения OpenAI AI-Gym Cartpole Environment.Оба подхода способны иногда изучать и решать эту проблему, но не всегда.
Моя сеть - это просто сеть с прямой связью (я пробовал использовать 1 и 2 скрытых слоя).В DDQN я создал одну сеть в DQN и две сети в DDQN, целевую сеть для оценки значения Q и первичную сеть, чтобы выбрать лучшее действие, обучить первичную сеть и скопировать ее в целевую сеть после некоторых эпизодов.
Проблема в DQN:
- Иногда он может достичь идеального 200 балла в течение 100 эпизодов, но иногда он застревает и достигает только 10 баллов, независимо от того, как долго он тренируется.
- Кроме того, в случае успешного обучения скорость обучения различается.
Проблема в DDQN:
- Он может научиться набирать 200 баллов., но потом, кажется, забывает, что изучено, и счет резко падает.
Я пробовал настраивать размер пакета, скорость обучения, количество нейронов в скрытом слое, количество скрытых слоев, исследованиеСкорость, но нестабильность сохраняется.
Есть ли эмпирическое правило относительно размера сети и размера пакета?Я думаю, что значительно большая сеть и больший размер пакета увеличат стабильность.
Можно ли сделать обучение стабильным?Любые комментарии или ссылки приветствуются!