TJHSST Senior Research Project Hybrid AI and Machine Learning Systems 2006-2007 Logan Kearsley November 3, 2006 1 Introduction - Problem Statement and Purpose The purpose of this project is to design a system that combines the capabilities of multiple types of AI and machine learning systems, such as nervous networks and subsumption architectures, to produce a more flexible and versatile hybrid system. The end goal is to produce a set of basic library functions and architecture descriptions for the easy manipulation of the AI/ML subsystems (particularly neural networks), and use those to build an AI system capable of teaching itself how to complete tasks specified by a human-defined heuristic via either supervised training or trial-and-error and inference, and of altering learned behaviors to cope with changes in its operational environment with minimal human intervention. This project is worth doing to explore the improvements that can be made by in AI models by using multiple approaches that cover each others weak points. The results could be applied to almost any problem that requires high adaptability and dealing with fuzzy input, such as character or speech recognition with multiple users or real-world robot navigation. 1 2 Scope of Study This will primarily require research into neural learning algorithms, including supervised and unsupervised methods. Of primary concern is implementing a basic back-propagation algorithm. Once I have a working back-propagation algorithm, I will need to implement a basic roulette-wheel and subsumption architecture skeleton, capable of handling input and output from standardized black box functions that will allow me to use instances of neural networks under a subsumption architecture. I then intend to focus on two areas of study: 1. A solely computer-based application, most likely simple character recognition. The goal would be to produce a system that is capable of automatically switching between recognition of different font styles. 2. A robotics application. The goal would be to produce a system that is capable of teaching itself how to navigate and alter its strategies in different environments (such as open hallways vs. classroom with desks). 3 Background Most AI and Machine Learning research to this point has consisted of pursuing separate single methods, either to maximize utility for a single problem type, or to duplicate biological models. The two primary AI/ML systems Ill be working with are simulated nervous networks making use of matrices to represent simple collections of neurons, and subsumption architectures. To my knowledge, little research has been done in hybrid systems that combine the best aspects of multiple other methods to produce a highly versatile AI/ML system without necessarily trying to model biological nervous system functions, although hybrid neural networks have been studied which incorporate symbolic processing and neural processing into a single model for, among other things, speed and ease of control while retaining the robustness and generalization capabilities of pure neural nets since the late 80s. The subsumption architecture model was first used in 1984 and invented by Alexandre Parodi. Subsumption architectures make use of multiple behavior layers which process inputs and produce outputs independently, with 2 some layers capable of temporarily overiding or subsuming the actions of others. This allows for low-level, high-priority reflex layers to deal with immediate problems, while higher layers control the mid-term and global goals of the agent. 4 Procedure and Methodology The resources I will require are mostly limited to a C compiler; robot testing, however, will require either the use of a virtual world program, or a dedicated machine with a legOS compiler/downloader and communications device, and a simple LEGO robot with microcontroller. These things are easily obtainable either from my own possessions or from the robotics lab. Input data will be generated three ways, for different stages of the project. In the course of developing the learning algorithms, I will simply generate random lists of numbers for the program to learn associations with. In the computer-based application, data will be generated by translating character images into strings of numbers representing pixels, associated with the ASCII values of the characters in each image. In the robotics application, input data will be generated simply by means of exposing the robots sensors to the environment. In the course of developing the learning algorithms, I will be using dynamic testing- using random inputs to verify learning capacity, and selectively activating or outputting internal states from specific sections of code to locate any errors. In the application studies, I will be using mostly requirement and specification testing. As I expect projected timelines to change as the project progresses, I will simply keep a list of project stages with the expected time for each stage. The projected times for each stage will be updated with and listed in the iteration reports for that stage. As far as visuals, I should be able to create charts of the internal workings of the programs, and graphs of learning times. 5 Expected Results & Value to Others The results of the project will be a set of libraries and architecture descriptions for the manipulation and combination of multiple AI/ML models, and 3 a final, or multiple final, demonstration program(s). These will be presented in terms of the strengths and weaknesses of the component algorithms and how they have been combined to maximize their net utility, hopefully including data on learning times in various scenarios. Hopefully, these results will provide a starting point for future researchers to work with the same algorithms, and provide inspiration for investigating more combinations of different AI models. 4