Sei sulla pagina 1di 35

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?

Potrebbero piacerti anche