Neural Network PHP Library (PHPANN) By: Armando Padilla CS 491a Armando Padilla, California State University Los Angeles – PHPANN Agenda ► ► ► ► ► ► Overview – What is it. Why even bother. Functionality – Detailed description. Current Status – Where am I in my intended goal. Intended Goals – Where I want to be next meeting/end of quarter. Possible Future Projects – discuss future goals. Floor Discussion Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN Background: • A method to simulation the working conditions of the human brain. • Can learn by modifying weights. • Uses sets of Neurons, weights and inputs to calculate information. Architecture • Many type of architectures. (few below) • SOM (Self Organizing Maps) • Perceptron/Back Propagation Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN In a nutshell • A set of Neural Network classes to implement a PHP Neural Network solution. • OCR/ONR system. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN 2 Reasons Why PHPANN • Need for heavy standalone PHP library. (Intended Audience) 1. Users that can not use C libraries. 2. Sites with a direct need for a PHP only solution. 3. Users tired of using light PHP Neural Network Library. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN 2 Reasons Why PHPANN (cont..) • Self Learning and Understanding. 1. Extremely fascinated with Neural Networks. 2. Wanted more information in NN field. 3. Would like to pursue and further my educational career in the area. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN List of classes • PHPANN_TrainingAlgorithm: Handles • PHPANN_TrainingRule: • PHPANN_LayerType: Handles the Different • PHPANN_Layer: Handles the Layer properties • PHPANN_ConnectionPool: Handles all all math calculation. Handles the training rule attributes/algorithm to be used. type of possible Layer Types and sets the type of layer. connections within the network. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN List of classes • PHPANN_Connection: Handles connection • PHPANN_ActivationAlgorithm: • PHPANN_Activation Rule: Handles the • PHPANN_Neuron: Handles the attributes for • PHPANN: Handles all global attributes that relate attributes for each neuron. Handles the math calculations for each activation rule. attributes used within the activation rule set. each neuron or node in the network. to the neuron. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN Current Status 1. Using UML Diagram to create class code. 2. Working on finalizing UML diagram. 3. Creating test cases. Ex: simple AND gate Simple AND Gate Perceptron 4. Activation Rule Class Library | Activation Algorithm Class Library Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN Intended Goals • Within Week: 1. Complete UML. • By End of Quarter: 1. Complete Class Library. 2. Begins implementing classes with test case ( OCR/ONR system) Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN Possible Future Project: Reinventing the wheel: Comparing top used Neural Network Architectures in image/data processing. Pros and Cons of using either or. Project Wings: Use Google Earth and SOM Neural Network to find all occurrences of a F117 stealth fighter. Armando Padilla, California State University Los Angeles – PHPANN Neural Net PHP Lib - PHPANN Open Discussion Armando Padilla, California State University Los Angeles – PHPANN