NeuroMem A Neuromorphic Memory patented architecture NeuroMem 1
Unique simple architecture NM bus A chain of identical neurons, no supervisor 1 neuron = memory + logic gates Context Category ted during Memory the interconnection time Distance Active IF Identifier Read only NeuroMem 2
NeuroMem key features Learn by examples Adaptive, Incremental, Contextual Real-time or Off-line Supervised or unsupervised Recognize by association Radial Basis Function (RBF) Fastest K Nearest Neighbor (KNN) Winner Takes All Knowledge building On the Go, expandable Traceability and portability Imaging driving without the yellow light STO P GO IT DEPENDS! NeuroMem 3
NeuroMem Value Proposition Content addressability Data is recognized in-place within memory avoiding the memory access bottleneck Exact or fuzzy content matching Matches are inherently sorted by the hardware No need to sort data for indexing Massive scalability Neuron density scales with Moore s law Intra-chip and inter-chip connectivity through same bus Fixed pin count regardless of neuron density/chip Same IOs regardless of chip density/design (c) NeuroMem 4
Fixed µsec latency per recognition What s in this object? Pentium/DSP CPU NeuroMem Sequential search Increasing time High consumption (Ghz) Heavy software Complex scalability no no no Step 1 Step 2 Step 3 Step 1 neuron 1 neuron 2 neuron 3 Parallel search Constant search (ns) Low power (Mhz) No software Simple expansion neuron 4 yes Step x neuron x yes! neuron z NeuroMem 5
NeuroMem seen as a 3-layer NN Input layer (up to 256 bytes) Hidden layer Single neuron: - 256 bytes RAM - 3000 logic gates Output layer (2 bytes) WTA bus Neuron Select 1 Feedback Σ F(x) 256 synapses CM1K= 1024 neurons x 256 synapses per neuron = 262,144 synaptic connections of 8-bits DCI Inhibitor Category DCO WTA (c) NeuroMem 6
Ready to support multiple NN, segmented into context NeuroMem 7
NeuroMem ecosystem Application deployment NeuroMem 8
Simple interface to the neurons Text (1D) Signal (1D) Broadcast Pattern/ Stimuli Teach = Write category Image (2D) Knowledge Video (3D) Recognize = Read category Action NeuroMem 9
A fine balance Your Job: Select representative examples Define discriminant features Annotate for teaching Query for recognition results Define final decision rules NeuroMem Job: Learn the feature vectors Build the decision space (aka knowledge) Recognize feature vectors per decreasing level of confidence Save and restore a knowledge For portability For backup NeuroMem 10
What is a feature vector? Examples for text data Vectors = ASCII codes of parsed words Examples for signal data Sample at a given frequency rate Spectrum, FFTs, Mel Ceptrum Coefficients Examples for image data Pixel subsampling Histograms of intensities, gradients SURFS, SIFTS, Doughman vector Must be formatted to fit into 256 bytes for the neurons NeuroMem 11
Extracting feature vectors Knowledge Builder Tools Programming IDE MatLab, LabVIEW C/C++, C#, Python Arduino NeuroMem 12
NeuroMem Use Models Images FE=Feature Vectors Identification Videos FE Classification Voice FE NeuroMem Categories Anomaly detection Novelty detection Signal Distances Clustering Text FE N identifiers Tracking Template matching Data NeuroMem 13
How many neurons do I need? Depends on the application, the variability of the data, etc. A few examples in image recognition Application Description Estimated Neurons /Object Fish sorting Classification of herrings (Accept, Reject, Recycle) passing on an in-line conveyor belt Glass Inspection Detection of anomalies of texture in patterned solar glass passing on a conveyor Inkjet OCR Reading of date code or serial numbers printed 1-3 /digit on a packaging Cooperative face Identifying a person facing front, positioned at a 5/person recognition known distance of the camera, willing to remove her glasses if needed to be recognized Semantic analysis Counting the occurrences of words from a 1/word dictionary in live tweets, posts and other text streams. Total neurons 200 800 NeuroMem 14
Cascade classifiers Source image Transform image Heron beak Stork beak Heron eye Heron neck Aigrette neck Recognized objects Heron Semantic Recognition Engine #1 Engine for primitive block conditioning - Adaptive gain control - Noise removal, - Edge extraction - Compression, more Recognition Engine #2 Engine for object recognition - Object identification - Anomaly detection - Target location, more Recognition Engine #3 Engine for decision making - Data mining - Clustering - Contextual localization (c) General Vision Inc.
Application deployment workflow Acquisition Domain expert Training platforms / Execution Platform Stimuli Decision Raw data Annotate Annotations Acquisition Decision Application Analyst Knowledge Builder Apps and Tools Libraries of feature extractions Knowledge Embedded Programming Configuration Programmer NeuroMem 16
NeuroMem Based System Architecture Cognitive Sensing Cognitive networking Cognitive storage NeuroMem 17
Cognitive Sensing Systems Input/Sensors CMOS Audio sensor Biosensor Search Engine next to sensor Detect, Identify, Classify, Track Output Actuator Transmission Storage Sensor Hub: CMOS, n-axis MEMS, AUDIO MEMS, BioSensors Applications Industrial inspection Building and home automation Automotive Configurable Search Engine (FPGA + ARM Core) Working buffer n Mbytes Consumer electronics Wearables and health I/O lines NeuroMem 18
Cognitive Networking Systems Data type Text Signal and audio files Image and movie files Input Incoming data stream Stored data Output Filtered output data stream Stored source data With Meta data Selective storage With Meta data Input stream Configurable Search Engine (FPGA + ARM Core) Working buffer n Mbytes Applications Denial of service Secure uplink/downlink Twitter analytics Video filtering Output stream NeuroMem 19
Cognitive Storage Systems Input Stored data Input data stream Text, audio files Image and movie files Output Meta data Non-volatile Storage n Gbytes: Text files, Audio files, Image files, Movie files Configurable Search Engine (FPGA + ARM Core) SSD High-Speed bus Filtered data Working buffer n Mbytes Applications Text analytics, Bioinformatics Image and videos analytics Big data NeuroMem 20
Summary Learn from examples Recognize by association RBF classifier Knows when it does not know Accept uncertainties NeuroMem Complementary KNN Fixed latency to learn Fixed latency to recognize Parallel architecture Partitioned dynamically per context Low power Expandable (c) NeuroMem 21