Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/melvinmo/agent-training-for-breakout-game
The development of an AI agent proficient in the classic game 'Breakout,' utilizing deep reinforcement learning and a DQN architecture.
https://github.com/melvinmo/agent-training-for-breakout-game
ai artificial-intelligence breakout-game deepq-learning openai-gym-environments pyhton
Last synced: 4 days ago
JSON representation
The development of an AI agent proficient in the classic game 'Breakout,' utilizing deep reinforcement learning and a DQN architecture.
- Host: GitHub
- URL: https://github.com/melvinmo/agent-training-for-breakout-game
- Owner: MelvinMo
- Created: 2023-08-26T22:27:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-26T22:57:02.000Z (about 1 year ago)
- Last Synced: 2024-01-29T23:12:10.717Z (10 months ago)
- Topics: ai, artificial-intelligence, breakout-game, deepq-learning, openai-gym-environments, pyhton
- Language: Jupyter Notebook
- Homepage:
- Size: 21 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Agent-Training-for-Breakout-Game
This project aimed to develop an artificial intelligence (AI) agent capable of playing the classic arcade game "Breakout" using deep reinforcement learning techniques. The objective was to train the agent to master complex control strategies, break all the bricks, and achieve a high score.
To accomplish this, a deep Q-network (DQN) architecture was implemented with the stable-baselines3 Python library. The Gym Retro environment simulated the Atari 2600 version of Breakout (Breakout V5 of Gymnasium, a maintained fork of OpenAI’s Gym library). The agent received raw 84x84-pixel observations of the game screen and was trained to maximize cumulative rewards by breaking bricks while avoiding ball loss.
Key techniques employed included experience replay, target networks, and epsilon greedy exploration. The neural network comprised three convolutional layers and a fully connected layer to approximate the Q-function. Training took place over episodes, with the epsilon value gradually decreasing. Periodic checkpoints of the model weights were saved for evaluation.
After extensive training, the AI agent achieved a high average score, demonstrating proficiency in breaking bricks across multiple levels. However, it faced challenges with specific types of bricks positioned higher up. Further improvements, such as incorporating techniques like dueling DQN, hold potential for enhancing performance.