Neural Network PHP Library (PHPANN)

Download Report

Transcript Neural Network PHP Library (PHPANN)

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