Artificial Neural Network Theory and Application

Download Report

Transcript Artificial Neural Network Theory and Application

Artificial Neural
Network Theory
and Application
Ashish Venugopal
Sriram Gollapalli
Ulas Bardak
Presentation Overview
Artificial Neural Networks
 NASA profiles as a Pattern
Classification Task
 Implementing Pattern Classification
on the Silicon Recognition Neuron
Board

ANN General Overview

Inspired by biological neuron models
Decision are distributed throughout
system
 Components interacts at several
stages
 Components work in unison to solve
one problem

ANN well suited to problems that don’t
have closed form algorithmic solution
 Black box model – hard to interpret

ANNs Applied

Driving a car. Task involves
determining the direction the road is
curving based on an image
Image pixels are input
 Curve angle is output
 Learned non-linear relationship
between pixels and roads

• hard to understand the model
Theory

Input layer, Hidden layer, Output
Layer
Input – one “neuron” for each pixel
 Hidden – set of neurons to store what
was learned.
 Output layer – one neuron for each of
5 turn directions – ie straight, slight
left, hard right..


But what is a neuron?
Neurons



Math terms: Binary decision makers
English terms: take in some input, decide
whether is “high” or “low”, and pass this
value on.
Similar to neurons in the brain propagating
signals.
How is the model learned?

Once you have training examples
Pair (feature set, classification)
 Run the back propagation algorithms

Learns connection weights between
neurons, as well as within neuron
transfer weights.
 Network topology changes affects
learning behavior!

Unsupervised Networks
So far we have used labeled training
examples to learn relationship
between features and response
variable.
 What if we are just exploring patterns
that exist in the features?
 Unsupervised learning / clustering…

Unsupervised Goal



Find prototypical points within data set that
can be used to approximate distribution of
the whole data set.
Compression / Visualization
Typical methods



Define a measure of similarity between data
points
Select initial prototypes
Move prototypes to best fit the data –
minimize error
Kohonen Net

Unsupervised technique

Each output neuron represents a
prototype point, input layer is
presented with data
Self Organizing Map
Each prototype is pulled towards that
data, and brings its closest prototypes
a little closer as well…
 SOM Demo

How is it relevant to our
problem?

We will go through:
Definition of what we are facing
 How we can use neural nets
 How we can improve on this method

LIDAR in Space

Data from LITE project
Send a laser beam down from a
shuttle and get reflection readings.
 Data gathered for 53 hours in 1994.
 40GB of data

Input
Problem

There is too much data to send and
process
Each pixel is a number to be
transmitted.
 Each reading (one column) contains
3000 pixels.


Need a way to transmit the
information in a more compact
fashion.
Applying Neural Nets
Some readings are very similar to
each other.
 Define classes that will contain
multiple readings.
 Define a representative for the class
which is close enough to all the class
members.

Applying Neural Nets (cont.)

In order to get class
Train Kohonen Nets on data for
specific number of classes.
 Once trained, just pass in a new
reading (3000 data points) and get the
class id. Just transfer the class id.
 Go from 3000x3000 numbers to be
transferred to 3000 numbers

Example
Result – 8 classes
Result – 16 Classes
Result – 64 Classes
Result – 128 Classes
Result – 256 Classes
Problems

Takes a while to train


256 classes took 44 hours on a dual
P3 1GHz computer with 1.5GB of
RAM.
Not optimal

Classifying by the complete reading is
wasteful.
• Need one number for each reading
Improving NN
sky
Improving NN (cont.)

Easier version:
Look at blocks of 50x50 pixels instead
of just 1 pixel.
 Classify as sky, etc.
 Can preprocess using kNN, basic
filters to get rid of noise in data.
 Classes can be formed from
sequence of 50 pixel blocks.

Improving NN (cont.)

Harder version:

Use variable sized mesh
• In parts with just the sky use a big block.
• In detailed parts use smaller blocks.

Something to think about…
Muren Board
Silicon Recognition, Inc.
 2 ZISC078 Chips (156 neurons in
parallel)
 1 Mb of memory
 Up to 1 million recognitions/second

ZISC

ZISC, the cornerstone of the Muren board,
completely overcomes the three major
limitations of software-based pattern
recognition applications:



ZISC fully handles non-linearity and
fuzziness
ZISC is a fully massively parallel processing
system. Recognition speed is consistent,
regardless of the number of stored patterns
ZISC does not use any algorithms for
programming the solution, ZISC is taught
RBF Space mapping
Example
Source picture
Result (after processing)
(circuit board)
(shows good and bad points)
Process
Learning
 Classifying
 Training
 Testing with new data

NASA Data
Further investigation
Can we write directly to the board?
 Ability to preprocess data?

Questions?