← Вернуться к списку

Как реализовать версии игр Atari с использованием оперативной памяти (RAM)

Краткое содержание

Я закодировал версию Breakout с использованием оперативной памяти (RAM), однако, к сожалению, её максимальный результат составил всего лишь 5 очков. Я тренировался около двух часов и ни разу не достиг большего результата. Код довольно большой, поэтому я не могу вставить его сюда, но вкратце: я использовал двойное глубокое обучение методом Q-обучения (double deep Q-learning) и тренировал агента аналогично среде CartPole или LunarLander. В случае с CartPole наблюдение представляло собой вектор из четырёх компонентов, и мой агент на основе метода double deep Q-learning успешно справился с этой средой. Однако в версии Breakout-Ram, где наблюдение было представлено вектором из 128 элементов, агент даже близко не подошёл к решению среды. Может быть, я упустил что-то важное?

Полный текст

Как реализовать версии игр Atari на основе оперативной памяти

Я написал версию игры Breakout на основе оперативной памяти (RAM), однако максимальный полученный результат составил всего 5 очков. Я тренировался около двух часов, но так и не смог достичь большего результата. Код довольно большой, поэтому здесь его приводить не буду, но вкратце скажу, что использовал двойное глубокое обучение методом Q-обучения (Double Deep Q-Learning). Обучение проводилось аналогично среде CartPole или LunarLander. В случае среды CartPole наблюдение представляло собой вектор из четырёх компонентов, и мой агент успешно решил эту среду. Однако в версии Breakout-Ram, где наблюдение — это вектор из 128 элементов, результаты были далеки от удовлетворительных.

Может быть, я что-то упустил?

Обучение с подкреплением
Проектирование ИИ
Q-обучение
Глубокое RL

---

Похоже, действительно что-то идёт не так. Вы уже использовали агрегацию нескольких кадров, чтобы зафиксировать движение мяча и платформы? Несколько лет назад мои собственные решения этой проблемы легко достигали идеальных результатов после нескольких часов тренировки.

---

Насколько мне известно из литературы по обучению с моделью и без модели, методы DQN и Double DQN относятся к методам обучения с подкреплением без модели. Это важно отметить, поскольку такие методы требуют большого количества опыта для эффективного обучения. Под большим опытом подразумевается значительное количество примеров состояний, что может занять несколько дней или даже недель. Методы без модели требуют много образцов для изучения.

Кроме того, пространство состояний огромно: оно содержит $(256^{128})$ возможных состояний. Это огромное число подчёркивает, почему обучение может затянуться надолго.

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