2016-06-19 5 views
0

В настоящее время я тренирую учебный агент по укреплению, используя простую нейронную сеть со 100 скрытыми элементами для решения игры 2048 года. Я использую алгоритм обучения усилению DQN (т. Е. Q-обучение с памятью воспроизведения), но с 2 уровнями нейронной сети вместо Deep Neural Network.Проблемы в обучении арматуре: ошибка, настройка параметров и период обучения

Однако я оставил его обученным на своем ноутбуке на ночь (~ 7 часов, ~ 1000 игр, 100 000 шагов), и оценка, похоже, не увеличивается. Я подозреваю, что в моем коде могут быть 3 источника ошибок: ошибка, параметры настроены плохо, или, может быть, я просто не жду достаточно долго.

Есть ли способ выяснить, что не так с кодом? И какова наилучшая практика для улучшения результатов обучения?

ответ

0

Я расскажу обо всех трех ваших гипотезах.

  1. Если вы используете стандартную DL-фреймворк, например, caffe или tensorflow, вероятность того, что это ошибка, небольшая.

  2. Попробуйте уменьшить скорость обучения. Возможно, вы установили его слишком высоко, чтобы сеть сходилась.

  3. Время обучения 100000 шагов не так долго. Для простого pong game вам нужно тренироваться около 500000 шагов, чтобы получить хорошую точность. Поэтому вы можете попробовать его тренироваться дольше.

Кроме того, 2048 - довольно сложная игра, поэтому, возможно, сеть недостаточно глубока, чтобы научиться играть в нее. Для такой сложной игры недостаточно двух уровней. Попробуйте увеличить количество скрытых слоев. Возможно, вы сможете использовать предоставленную сеть. here

 Смежные вопросы

  • Нет связанных вопросов^_^