mnemosyne: neural network for pattern recognition · mnemosyne: neural network for pattern...

22
Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier

Upload: others

Post on 05-Apr-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Mnemosyne: Neural Network for Pattern Recognition

Group BMatt Walker, Joe Montgomery, Luke Hoban, CJ Ganier

Page 2: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

What is a Neural Network?

Model for biological learningLearns by exampleExcels at pattern recognition

Page 3: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

General Learning Algorithm

First train, then test the networkTrain:– Give examples of “good” and “bad” patterns– Network learns by changing weights– Uses positive and negative reinforcement

Test:– Release net into real world; let it make decisions

Page 4: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Network Structure

Neuron:– Decision making node– State is either on or off

Axon:– Connects nodes– Has a weight, or importance

Page 5: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

General Algorithm

Page 6: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Our Implementation

17 one bit inputs per neuronFour input neurons One output neuronFour bit weightsStep activation function

Page 7: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Our Algorithm

Assign random weights to each axonFor each case:– Feed in inputs– Propagate firing values forward– Update weights if training

Page 8: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Control Flow

Page 9: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Timing Diagram

Page 10: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Block Diagram

Page 11: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Subcells

Five neurons– 17 4bit weights– 17bit input arrays– Miscellaneous registers

Requires over 800 latches – Original latches 100x40 lambda– Occupied 80% of chip in 1.5um process– Discrete transistors inefficient

Page 12: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

The Latch

New latch is half as large– 800 occupy only 20% of

chip in 0.5um process– Eliminates discrete

transistorsGraph theory– Simple combinational

method in Weste– Generalized to sequential

logic

Page 13: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Graph Theory

Page 14: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Weight Matrix

Shifting memory– Takes advantage of serial

access in accumulator-style process

– Latch overlaps significantly for tiling savings

– DenseNo use of metal 3

Page 15: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Neuron

Input stage– Input array– Weight matrix

Accumulating adderData path structures– Muxes– Write register

Routing– Subcells done without m3– m3 to the boundaries

Page 16: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

System Timing

Longest path 20nsEstimated frequency 50MHz108 cycles per training460,000 trainings per second

Page 17: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Floorplan

Page 18: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Status - DONE

Page 19: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Algorithm Design

Standard neural network algorithm– Weights are real numbers (continuous valued)– Activation function is complex non-linear function– Multiplication required

We designed a stripped down but effective algorithmRequired extensive verification and modification

Page 20: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Simulation

Developed a complete simulation of the algorithmParameterized over all of the design decisionsAutomatically generates IRSIM test vectors for simulated runsUsed to verify that we can train neural net to correctly recognize patterns 98% of the time

Page 21: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Uses

Reading ZIP codesPattern recognition on 64 bit inputsLimitations– Only 1 output bit (Yes/No) – Single bit inputs (Black/White Image)– Only 64 bit input (8x8 Image)– 4 bit weights (limited precision learning)

Page 22: Mnemosyne: Neural Network for Pattern Recognition · Mnemosyne: Neural Network for Pattern Recognition Group B Matt Walker, Joe Montgomery, Luke Hoban, CJ Ganier. What is a Neural

Conclusion