Unleashing The Neurons Of The Intel Curie Module On The .

Transcription

Unleashing the neurons of the Intel Curie moduleon the Arduino/Genuino 101 platform1Teach the neuronswith the push of abutton or else, andimmediately startrecognizingMonitor signals andact only whensignificant eventsoccur.General Vision2/28/2017

What is NeuroMem?2NeuroMem NeuromorphicMemories Digital neurons Trainable Parallelarchitecture 2015: Intel rolls out the QuarkSE, 1st SOCwith NeuroMem inside (128 neurons with128 bytes of memory per neuron)2011: General Vision licenses its NeuroMemtechnology to Intel 2007: General Vision introduces itsNeuroMem CM1K chip (1024 neurons with256 bytes of memory per neuron)1993: IBM introduces the ZISC chip,ancestor of the NeuroMem chips (36 and79 neurons of 64 bytes of memory perneuron)General Vision2/28/2017

What can I do with the Curie neurons?3Grush, the gaming toothbrushmaking sure the kids brush theirteeth properlyJagger & Lewis, smart collarmonitoring well-being of dogsShapeHeart, arm bandwith heart monitoringGeneral Vision2/28/2017

Benefits of the neurons4 The neurons learn byexamplesNo programming Training can be doneoff-line or the fly Input StimuliOutput Decision Continuous monitoring atlow-powerCan detect novelty oranomalyKnowledge portabilityKnowledgeexpandabilityGeneral Vision2/28/2017

About the neurons5Chain of identical neuron cells, no supervisor, low clock, low powerContextCategoryMemoryActive IFIdentifier General Vision2/28/2017

Curie Neurons attributes6ANN AttributesNeuron capacityNeuron memory sizeCategoriesDistancesContextsRecognition statusQuark SE128128 bytes15 bits16 bits7 bitsIdentified, Uncertain or UnknownClassifiersRadial Basis Function (RBF)K-Nearest Neighbor (KNN)L1 (Manhattan)LsupDistance NormsGeneral Vision2/28/2017

A simple API7Learn pattern Learn/Recognizepatterns ( 128 bytes) Save / Restore eRBF or KNNclassifier4 basic functions Additional settingsAcquire dataLearncategoryExtract Featurevector(s)Read neuronsBroadcastpatternKnowledgeWrite neuronsContextsegmentationRecognizecategoryGeneral Vision2/28/2017

How to teach the neurons8 CurieNeurons libraries for real-time trainingData acquisition Feature extraction Broadcast to neurons for continuous recognition User input to trigger a broadcast to neurons for learning,along with a category The neurons build the knowledge autonomously Soon Knowledge Builder apps for off-line trainingData collection and annotation Learning of training sets, validation on testing sets Export of the knowledge built by the neurons General Vision2/28/2017

Application deployment w/ live training9Training & Execution on CurieKnowledge*.knfBuilt by the Curie neurons.Can be saved by theapplication to Flash, SD card,transmitted via BlueTooth, etc*.inoAcquisition,Feature extractionsOutputs to actuators,transmission,storageExternal inputto trigger learningof a given categoryGeneral Vision2/28/2017

Application deployment w/ off-line training10Knowledge Builder Training platformAnnotateExecution platformCollectedDataAnnotationsTrain Feature extractionsGeneral Vision2/28/2017

CurieNeurons free library11 RBF classifierSingle contextNo access to the neurons’ registersGeneral Vision2/28/2017

CurieNeuronsPro library12 Full access to theneurons’ registerAccess to both RBF andKNN classifiersAccess to multiplecontexts Sensorfusion Cascade classifiersGeneral Vision2/28/2017

Simple examples to get started13Text/Datarecognition Understandthe mechanism to learn,recognize user-generated vectorsGesturerecognitionImagerecognitionSimple script Gesture recognition Using Curie’s 6-axis accelerometer/gyroVideo recognition Requiresthe ArduCam Shield boardGeneral Vision2/28/2017

CurieNeurons IMU Example14Stimuli A simple feature vector is assembled and normalized over n samples[ax1, ay1, az1, gx1,gy1, gz1, ax2, ay2, az2, gx2, gy2, gz2, . axn, ayn, azn, gxn, gyn, gzn]Category 1 for vertical, 2 for horizontal, 0 for anything elseExtract vectorSerial Input fora Category tolearn?Learn the last vectorRecognize the last vectorReport neuron countReport change of motionGeneral Vision2/28/2017

CurieNeurons IMU2 (Pro only)15Stimuli 2 simple feature vectors assembled and normalized over n samplescontext 1, vector accel [ax1, ay1, az1, ax2, ay2, az2,. axn, ayn, azn]context 2, vector gyro [gx1,gy1, gz1, gx2, gy2, gz2, . gxn, gyn, gzn]Category 1 for vertical, 2 for horizontal, 0 for anything elseObservation commits more neurons, but less false hitsExtract vector accelExtract vector gyroSet context 1Learn vector accelSerial Input fora category?Set context 2Learn vector gyroReport neuron countSet context 1Reco vector accelSet context 2Reco vector gyroReport change of motion if bothcontexts agreeGeneral Vision2/28/2017

CurieNeurons w/ IMU (the movie)16View this introduction on our youtube accountGeneral Vision2/28/2017

CurieNeurons w ArduCam (Pro only)17 Operation modes Interlaced video display andrecognitionUser-Interrupt for learningOptional Save of the knowledgeInput Shutter button 2 sec : learn a new category 2 sec : learn a background/ nullcategoryCat AROI is fixed and centered in videoframeNeur 3Output LCD overlay after each framecapture ROI rectangleText resultGeneral Vision2/28/2017

Under eo Knowledge Builder apps Off-linetraining and validation NeuroMem KB, generic and agnostic todata type Curie KB for acceleration and gyro Image KB for image and video More to come General Vision2/28/2017

NeuroMem KB– Curie edition19General Vision2/28/2017

on the Arduino/Genuino 101 platform General Vision 1 Teach the neurons with the push of a button or else, and immediately start recognizing Monitor sign