Discerning and Completing Objectives with an Artificial Neural Network in a Semi-Stochastic Environment

Jan 2017 - Mar 2017

Overview

An artificial neural network project investigating Convolutional and Long Short Term Memory layers with TensorFlow and TFLearn in Python with the intention of playing Pokémon Red/Blue on the Nintendo GameBoy/GameBoy Color/GameBoy Advance emulator project known as VisualBoyAdvance-M (VBA-M) through screen capture and keystroke generation.

Keywords: TFLearn, TensorFlow, Python, OpenCV, Matplotlib, Linux, Convolutional Neural Network (CNN), Long Short Term Memory (LSTM), Reinforcement Learning
GitHub

Tasks

  • Research of CNN, LSTM, Reinfrocement Learning, etc.
  • Test Sub-Process Launch Python Application.
  • Test Screen Capturing Python Application.
  • Test Keyboard Input Generation Application.
  • Sample Gathering Python Application.
  • Neural Network Training.
  • Neural Network Evaluation.
  • Paper.

Technologies Used

  • TFLearn
  • TensorFlow
  • Python
  • OpenCV
  • Matplotlib
  • Linux
  • Convolutional Neural Network (CNN)
  • Long Short Term Memory (LSTM)
  • Reinforcement Learning
  • GitHub

Paper

Abstract - Multilayer perceptrons and their many variants have proven capable of dividing many nonlinear decision surfaces. Images, as well as video, are able to be classified using specialized multilayer perceptrons. By using keystroke probabilities as a label and the incoming image as the key, one could theoretically construct an artificial neural network capable of playing a video game. With the proper layer and hyperparameter configuration, one could theoretically overcome complex issues for artificial intelligences such as juggling multiple objectives, completing objectives in a logical order, and traversing a complex labyrinth that both changes over time as well as requires backtracking.

Read More