Playing Pong® with deep reinforcement learning

Train a reinforcement learning agent to play a variation of Pong®
다운로드 수: 235
업데이트 날짜: 2021/3/1

This example demonstrates a reinforcement learning agent playing a variation of the game of Pong® using Reinforcement Learning Toolbox™. You will follow a command line workflow to create a DDPG agent in MATLAB®, set up hyperparameters and then train and simulate the agent.

The following two scripts can be used to train or simulate the agent:
train_agent.m - script for creating and training a reinforcement learning agent
play_agent.m - script for playing the game

The following scripts are used to create the environment:
Environment.m - class for modeling the game
Visualizer.m - class for animation functions

Environment
The Environment for the game is a two dimensional space with a ball and a paddle. The ball starts with an initial velocity and moves around in the environment. The walls restrict the ball from moving outside the environment and also transfers some momentum to the ball on collision. For this reason there is a slight velocity change whenever the ball collides an object. The paddle is located at the bottom half and can move left to right to prevent the ball falling below.

Agent
A Deep Deterministic Policy Gradient (DDPG) reinforcement learning agent is used in this example. The agent learns to hit the ball by observing the following states in the environment:

1. x, y positions of the ball
2. x, y velocities of the ball
3. x position of the paddle
4. x velocity of the paddle
5. Action values from the last time step

The action of the agent is the force applied on the paddle in the x direction.

Train
To create an agent and run the training, open and run the train_agent.m script.

Play
To view a pre-trained agent playing the game, use the script play_agent.m.

인용 양식

Emmanouil Tzorakoleftherakis (2024). Playing Pong® with deep reinforcement learning (https://github.com/matlab-deep-learning/playing-Pong-with-deep-reinforcement-learning), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2020b
R2020b 이상 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
태그 태그 추가

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.1

Updated description

1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.