References and Related Work

Slides:



Advertisements
Similar presentations
also known as the “Perceptron”
Advertisements

Neural Networks  A neural network is a network of simulated neurons that can be used to recognize instances of patterns. NNs learn by searching through.
Reinforcement Learning & Apprenticeship Learning Chenyi Chen.
RED DEAD REVOLVER Artificial Intelligence Critique By Mitchell C. Dodes CIS 588.
Attention Deficit Hyperactivity Disorder (ADHD) Student Classification Using Genetic Algorithm and Artificial Neural Network S. Yenaeng 1, S. Saelee 2.
Artificial Intelligence in Game Design Problems and Goals.
Starcraft Opponent Modeling CSE 391: Intro to AI Luciano Cheng.
Neural Network Implementation of Poker AI
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Evolving Reactive NPCs for the Real-Time Simulation Game.
Naïve Bayes Classification Material borrowed from Jonathan Huang and I. H. Witten’s and E. Frank’s “Data Mining” and Jeremy Wyatt and others.
1 End-to-End Learning for Automatic Cell Phenotyping Paolo Emilio Barbano, Koray Kavukcuoglu, Marco Scoffier, Yann LeCun April 26, 2006.
1 Systematic Data Selection to Mine Concept-Drifting Data Streams Wei Fan Proceedings of the 2004 ACM SIGKDD international conference on Knowledge discovery.
Pattern Recognition. What is Pattern Recognition? Pattern recognition is a sub-topic of machine learning. PR is the science that concerns the description.
Deep Learning and Deep Reinforcement Learning. Topics 1.Deep learning with convolutional neural networks 2.Learning to play Atari video games with Deep.
Neural Networks References: “Artificial Intelligence for Games” "Artificial Intelligence: A new Synthesis"
ConvNets for Image Classification
Naïve Bayes Classification Recitation, 1/25/07 Jonathan Huang.
Understanding AlphaGo. Go Overview Originated in ancient China 2,500 years ago Two players game Goal - surround more territory than the opponent 19X19.
Sparse Coding: A Deep Learning using Unlabeled Data for High - Level Representation Dr.G.M.Nasira R. Vidya R. P. Jaia Priyankka.
Introduction to Machine Learning, its potential usage in network area,
DeepMIDI: Music Generation
Classify A to Z Problem Statement Technical Approach Results Dataset
When deep learning meets object detection: Introduction to two technologies: SSD and YOLO Wenchi Ma.
Reinforcement Learning
Tenacious Deep Learning
Learning to Compare Image Patches via Convolutional Neural Networks
Decision Making: Decision Tree & State Machines Session 07
Applying Deep Neural Network to Enhance EMPI Searching
The Relationship between Deep Learning and Brain Function
Subject Name: File Structures
Histograms CSE 6363 – Machine Learning Vassilis Athitsos
Deep Learning Amin Sobhani.
Sentence Modeling Representation of sentences is the heart of Natural Language Processing A sentence model is a representation and analysis of semantic.
Chapter 11: Artificial Intelligence
Deep Reinforcement Learning
PART IV: The Potential of Algorithmic Machines.
An Artificial Intelligence Approach to Precision Oncology
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Observations by Dance Move
Ch. 15 S. 2 Measuring Achievement, Abilities, and Interests
A paper on Join Synopses for Approximate Query Answering
AlphaGo with Deep RL Alpha GO.
Feature Selection for Pattern Recognition
Artificial Intelligence Lecture No. 5
Stylized Environmental Rendering
Neural Networks A neural network is a network of simulated neurons that can be used to recognize instances of patterns. NNs learn by searching through.
Othello Artificial Intelligence With Machine Learning
CS 698 | Current Topics in Data Science
Efficient Estimation of Word Representation in Vector Space
By: Kevin Yu Ph.D. in Computer Engineering
Human-level control through deep reinforcement learning
Dr. Unnikrishnan P.C. Professor, EEE
Word Embedding Word2Vec.
iSRD Spam Review Detection with Imbalanced Data Distributions
Dynamic Authentication of Typing Patterns
On Convolutional Neural Network
CHAPTER I. of EVOLUTIONARY ROBOTICS Stefano Nolfi and Dario Floreano
Zhedong Zheng, Liang Zheng and Yi Yang
Deep Learning Authors: Yann LeCun, Yoshua Bengio, Geoffrey Hinton
Artificial Intelligence
These neural networks take a description of the Go board as an input and process it through 12 different network layers containing millions of neuron-like.
Automatic Handwriting Generation
Introduction to Neural Networks
Object Detection Implementations
Deep Learning with Botanical Specimen Images
Distributed Reinforcement Learning for Multi-Robot Decentralized Collective Construction Gyu-Young Hwang
Pose Estimation in hockey videos using convolutional neural networks
Sign Language Recognition With Unsupervised Feature Learning
Adrian E. Gonzalez , David Parra Department of Computer Science
Tschandl P1,2, Argenziano G3, Razmara M4, Yap J4
Presentation transcript:

References and Related Work Learning to Fight Michael Cho, Annie Didier, Dustin Fontaine, Dylan Fontaine | MSiA 490-30 Deep Learning | Spring 2017 | Northwestern University Problem Statement Technical Approach Results Artificial intelligence (AI) is used in video games to control non- human “computer” players. The AI often relies on simple logic and heuristics instead of more complex models that allow the computer to closely imitate human behavior. Games that feature a human-trained AI could be very popular among both recreational and hardcore gamers. “Play GTA VI cooperatively with AI trained by celebrity Snoop Dogg” or “Fight against AI trained by World Champion Mew2King” are possible headlines that could be used to market such games. While reinforcement learning is commonly used to create video game AI, that approach is very time consuming and does not necessarily lead to a human-like play style. We will use the image classification framework proposed by Chen and Yi of Stanford (2016) to create an AI for the game “Rumblah: Flash Fighting Engine”. Fitting Models The initial model that we fit to our data was a simple feedforward neural network. This model was created to serve as a proof-of- concept and baseline that future models could be compared to. The next model that we fit was a convolutional neural network. Convolutional models are known to perform well with image recognition problems, so this type of model was the natural next step for us. We based our model’s architecture on the popular VGG16 model. Since the first two models we fit only consider a single screenshot and not any previous information, we decided to fit sequential and convolutional models using “filmstrips” of four consecutive screenshots stitched together. The goal is to allow the models to consider not only the current state of the fight, but also the state just prior to current moment. Playing the Game To put our models into action, we developed a program that controls one of the players (the green player) in the game. It can fight against a CPU or human opponent. A pipeline was created that was similar in function to the image preprocessing in the model fitting stage. As the game is running in the browser, screenshots are captured and downscaled, then fed into the model. The model outputs a predicted class for the current screenshot and emulates the associated keystroke in the browser, thus controlling the green character. During initial trial runs of gameplay, our AI would get stuck and not perform any actions. This was due to many screenshots being classified as “Do Nothing”. Since human players rarely decide to “Do Nothing” (they only really do nothing in between subsequent button presses), we decided to deter the AI from doing nothing by downscaling the predicted probability for that class. Thus, the AI became more active and avoided getting stuck in ruts of inaction. As we expected, the CNN film-strip model performed the best, followed by the convolutional model and then the feed-forward model. Even though an accuracy near 50% may seem low, this is close to the human accuracy level of 56% (based on a random sample of 100 screenshots). An interesting finding we had is that the models generally focus on the same things that humans do when playing the game. The pixels that turned out to be the most important when classifying a new image usually corresponded to the location of the two players and occasionally the combo-meter. See the example heatmaps below. Dataset Right Punch Do Nothing Left We generated our dataset by recording human vs. human matches on “Rumblah: Flash Fighting Engine”. As two players fought each other, we captured screenshots of the gameplay and logged the keystrokes of one of the players. The game settings were held constant throughout recording and we always logged the keystrokes of the green player. The resulting screenshots were labelled according to which key (if any) the player was pressing while the screenshot was taken. See the example screenshots below: Collecting screenshots in this manner allowed us to capture the actions that a human made based on stimuli present on the screen. In other words, the human reacted to various things on the screen such as the position of the opponent and then decided which button to press. Our dataset captures this information. The top row shows actual screenshots and the bottom row shows the corresponding heatmaps. Right An aspect of the AI’s performance that is difficult to measure is how human-like it plays the game. Based on our observation, the AI plays similar to how humans play, with the general strategy of moving towards the opponent if they are out of attack range, and repeatedly punching the opponent if they are within attack range. However, the AI appears to play more predictably than a human. We believe that adding stochasticity to the AI’s decision making could solve this issue. Punch Conclusion From left to right, these screenshots were labelled “Right”, “Left”, “Punch”, and “Do Nothing”. The results have demonstrated the viability of this image classification framework for creating a video game AI. While Rumblah is a relatively simple game, this framework is general enough to be applied to any action game. With a moderately sized sample of recorded gameplay, an image classification model can be fit and used to control an AI. Compared to reinforcement learning, this approach is less computationally expensive and can get by with less training data. A drawback is that this model bases the AI purely on the behavior of the human player it is trained on and instead of learning the optimal strategy itself. This, however, can allow it to take on human like characteristics, which may be of interest to video game developers. To improve this work, more sophisticated methods like incorporating the time series of actions that lead up to the current screenshot could be used. Instead of stitching the previous images together, the classifications of the last few observations could be used as predictors for the image at hand. In addition, it would be interesting to apply this methodology to a variety of other video games to further understand its’ strengths and weaknesses. Downscaled 56x56 Keystroke Emulated Raw Screenshot Classified by Model Games 50 Screenshot Count 25,000 (20,000 train) Original Size 976px x 650px Downscaled 56px x 56px Frequency ~10 per second Format RGB Player Dustin References and Related Work http://cs231n.stanford.edu/reports/2016/pdfs/113_Report.pdf