ARTIFICIAL NEURAL NETWORK APPLICATION

20
X. Cai C. Fang R. Guo W. Yu B. Qian S.Jiang CSC7333 Machine Learning Project Presentation April.30 th , 2013 ARTIFICIAL NEURAL NETWORK APPLICATION LEARNING TO PLAY THE GAME OF SUPER

description

X. Cai C. Fang R. Guo W. Yu B. Qian S.Jiang CSC7333 Machine Learning Project Presentation April.30 th , 2013. ARTIFICIAL NEURAL NETWORK APPLICATION. LEARNING TO PLAY THE GAME OF SUPER MARINO. introduction methodology experiment discussion. - PowerPoint PPT Presentation

Transcript of ARTIFICIAL NEURAL NETWORK APPLICATION

Page 1: ARTIFICIAL NEURAL NETWORK APPLICATION

X. Cai C. Fang R. Guo W. Yu B. Qian S.Jiang

CSC7333 Machine Learning Project Presentation

April.30th, 2013

ARTIFICIAL NEURAL NETWORK APPLICATIONLEARNING TO PLAY THE GAME OF SUPER MARINO

Page 2: ARTIFICIAL NEURAL NETWORK APPLICATION

Super Mario Bros is a 1985 platform video game developed by Nintendo, published for the Nintendo Entertainment System as a pseudo-sequel to the 1983 game Mario Bros.

introductionmethodology

experimentdiscussion

Page 3: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Page 4: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Mario AI Championship 2012 The 2012 Mario AI Championship, the successor to the

successful 2011 and 2010 Mario AI Competition, run in association with several major international conferences focusing on computational intelligence and games.

Page 5: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Our project gets inspiration from the competition:

The goal is to develop a best controller(agent) to play the game.

By using artificial neural network.

Page 6: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Method: artificial neural network.

Page 7: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Neural networks are used for modeling complex relationships between inputs and outputs or to find patterns in data.

Noise and error Tolerance. ANN can perform tasks that a linear program can not. When an element of the neural network fails, it can

continue without any problem by their parallel nature.

Page 8: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Design an ANN approach

Page 9: ARTIFICIAL NEURAL NETWORK APPLICATION

By learning the environment around Marino, the controller's job is to win as many levels as possible. Each time step the controller has to decide what action to take (left, right, jump etc).

introduction

methodologyexperimentdiscussion

The linear world of Mario is filled with enemies, obstacles and power-ups.

The problem the agent faces when playing a game is how to correctly interpret what it sees in the environment and decide on the best action to take.

Page 10: ARTIFICIAL NEURAL NETWORK APPLICATION

Input & Output:

introduction

methodologyexperimentdiscussion

Data set = input + output (one frame one data set)

Every frame our script will scan Mario code and extract environment matrix as well as keyboard action one time and obtain one data set. For example, A3 minutes monitoring of playing the game, we can obtain 3*60*24=4320 data sets.

Input=environment matrix + mario position

Output=keyboard action(0,1)Left, right, up, down, shoot, jump

0 0 0 0 0 1this is a jump action

Page 11: ARTIFICIAL NEURAL NETWORK APPLICATION

introduction

methodologyexperimentdiscussion

Page 12: ARTIFICIAL NEURAL NETWORK APPLICATION

introduction

methodologyexperimentdiscussion

Monitor data training:

Page 13: ARTIFICIAL NEURAL NETWORK APPLICATION

introduction

methodologyexperimentdiscussion

Page 14: ARTIFICIAL NEURAL NETWORK APPLICATION

Encapsulate pattern to Java Agent Encapsulate these patterns to Java style agents, so that

it can be used in Super Mario source code.

introduction

methodologyexperimentdiscussion

Page 15: ARTIFICIAL NEURAL NETWORK APPLICATION

Test ANN Agents Import ANN Java library to Super Mario code.

Insert ANN agent for testing

introduction

methodologyexperimentdiscussion

Page 16: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

First experiment : 13*19 + 1 + 6 13*19 : environment around Mario

1 : Mario’s state

6 : Human keyboard action (up, down, left, run, jump, fire)

Doesn’t work well: input data is too large

Page 17: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Second experiment : 10*10 + 1 + 2 10*10 : reduce the number of environment data

1 : Mario’s state

2 : Human keyboard action, but separate run & jump

Doesn’t work well: different for ‘run’ & ‘jump’, but Mario sometimes needs to run and jump all together.

Page 18: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Third experiment : 10*10 + 1 + 2 10*10 : keep the environment data small but effective

1 : Mario’s state

2 : merge run & jump together

Works better but not satisfied: too much data noise due to human’s playing training data

Page 19: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experimentdiscussion

Fourth experiment : 10*10 + 1 + 2 Realized that the process human playing the game as

training data is critical for the experiment .

With extra carefulness during human’s playing.

Page 20: ARTIFICIAL NEURAL NETWORK APPLICATION

introductionmethodology

experiment

discussion

How to obtain the best input/output pair? Input, remove decorative redundancy. Output, a good human player is critical.

About hidden layer Tuning is the best way.

Is ANN the best way of designing Mario agent?

Not really. The major problem is we cannot obtain a sufficient and accuracy training data from human beings.

Reinforcement learning maybe better.