Context
This project used the Gymnasium CartPole environment as a controlled reinforcement-learning benchmark for learning discrete control. The goal was to train an agent to keep the pole balanced by choosing left/right cart actions from observed system state, using value-based deep reinforcement learning rather than hand-coded control logic.
What I contributed
I implemented the PyTorch DQN agent, including the policy network, target network, Double DQN target calculation, experience replay buffer, epsilon-greedy exploration schedule, model checkpointing, and reward/epsilon plotting. I also added support for a dueling-network architecture that separates state value and action advantage estimates, allowing the project to compare standard, Double, and Dueling DQN variants.


