110 likes | 162 Views
Design a flexible and versatile system combining AI and ML systems to build a self-teaching AI capable of handling human-defined tasks and adapting to environmental changes with minimal intervention. Goals include modular design, neural networks, subsumption architecture, and algorithm testing in C. Experiment with perceptrons, forced learning, and subsumption architecture to achieve optimal functionality.
E N D
By Logan Kearsley AI & Machine Learning Libraries
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. Purpose
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 and altering learned behaviors to cope with changes in its operational environment with minimal human intervention. Goals
Other Projects • Don't know of any other similar projects. • Builds on previous work done on multilayer perceptrons and subsumption architecture. • Varies in trying to find ways to combine the different approaches to AI.
Design & Programming • Modular / Black Box Design • The end user should be able to put together a working AI system with minimal knowledge of how the internals work • Programming done in C
Testing • Perceptron Neural Nets • Forced learning: make sure it will learn arbitrary input-output mappings after a certain number of exposures • Subsumption Architecture • Simple test problems: does it run the right code for each sub-problem?
Algorithms • Perceptrons: • Delta-rule learning: weights are adjusted based on the distance between the net's current output and the optimal output • Matrix simulation: weights are stored in an I (# of inputs) by O (# of outputs) matrix for each layer, rather than simulating each neuron individually. • Subsumption Architecture: • Scheduler takes a list of function pointers to task-specific functions • Task functions return an output or null • Highest-prioritynon-null task has its output executed each iteration
Algorithms • Perceptron structure • Individual Neurons • vs. • Weight Matrix
Algorithms • Subsumption Architecture:
Problems • Back-Propagation is really confusing!
Results & Conclusions • Single-layer perceptron works well • Capable of learning arbitrary mappings, but not an arbitrary combination of them • Multi-layer nets should learn arbitrary combinations, but learning algorithm for hidden layers is confusing. • Can't re-use all of the same single-layer functions • Plan Change • Originally, wanted to create a working system • Now, project goal is to produce useful function libraries- working systems are just for testing the code