Revisiting HyperDimensional Learning for FPGA and Low-Power Architectures

Today’s applications are using machine learning algorithms to analyze the data collected from a swarm of devices on the Internet of Things (IoT). However, most existing learning algorithms are overcomplex to enable real-time learning on IoT devices with limited resources and computing power. Recently, Hyperdimensional computing (HDC) is introduced as an alternative computing paradigm for enabling efficient and robust learning. HDC emulates the cognitive task by representing the values as patterns of neural activity in high-dimensional space. HDC first encodes all data points to high-dimensional vectors. It then efficiently performs the learning task using a well-defined set of operations. Existing HDC solutions have two main issues that hinder their deployments on low-power embedded devices: (i) the encoding module is costly, dominating 80% of the entire training performance, (ii) the HDC model size and the computation cost grow significantly with the number of classes in online inference.In this paper, we proposed a novel architecture, LookHD, which enables real-time HDC learning on low-power edge devices. LookHD exploits computation reuse to memorize the encoding module and simplify its computation with single memory access. LookHD also address the inference scalability by exploiting HDC governing mathematics that compresses the HDC trained model into a single hypervector. We present how the proposed architecture can be implemented on the existing low power architectures: ARM processor and FPGA design. We evaluate the efficiency of the proposed approach on a wide range of practical classification problems such as activity recognition, face recognition, and speech recognition. Our evaluations show that LookHD can achieve, on average, $ 28.3\times$ faster and $ 97.4\times$ more energy-efficient training as compared to the state-of-the-art HDC implemented on the FPGA. Similarly, in the inference, LookHD is $ 2.2\times$ faster, $ 4.1\times$ more energy-efficient, and has $ 6.3\times$ smaller model size than the same state-of-the-art algorithms.

[1]  Pentti Kanerva,et al.  Sparse Distributed Memory , 1988 .

[2]  Tajana Simunic,et al.  F5-HD: Fast Flexible FPGA-based Framework for Refreshing Hyperdimensional Computing , 2019, FPGA.

[3]  Sascha Jockel,et al.  Crossmodal learning and prediction of autobiographical episodic experiences using a sparse distributed memory , 2010 .

[4]  Mohsen Imani,et al.  VoiceHD: Hyperdimensional Computing for Efficient Speech Recognition , 2017, 2017 IEEE International Conference on Rebooting Computing (ICRC).

[5]  Tajana Simunic,et al.  BRIC: Locality-based Encoding for Energy-Efficient Brain-Inspired Hyperdimensional Computing , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[6]  Ran El-Yaniv,et al.  Binarized Neural Networks , 2016, NIPS.

[7]  Gert R. G. Lanckriet,et al.  Recognizing Detailed Human Context in the Wild from Smartphones and Smartwatches , 2016, IEEE Pervasive Computing.

[8]  Martín Abadi,et al.  TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems , 2016, ArXiv.

[9]  Erich Elsen,et al.  Deep Speech: Scaling up end-to-end speech recognition , 2014, ArXiv.

[10]  Mohsen Imani,et al.  OnlineHD: Robust, Efficient, and Single-Pass Online Learning Using Hyperdimensional System , 2021, 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[11]  Mohsen Imani,et al.  Prive-HD: Privacy-Preserved Hyperdimensional Computing , 2020, 2020 57th ACM/IEEE Design Automation Conference (DAC).

[12]  Scott A. Mahlke,et al.  Scalpel: Customizing DNN pruning to the underlying hardware parallelism , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[13]  Jan M. Rabaey,et al.  A Robust and Energy-Efficient Classifier Using Brain-Inspired Hyperdimensional Computing , 2016, ISLPED.

[14]  Kaushik Roy,et al.  Approximate computing and the quest for computing efficiency , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[15]  Luca Benini,et al.  In-memory hyperdimensional computing , 2019, Nature Electronics.

[16]  Mohsen Imani,et al.  Accelerating Hyperdimensional Computing on FPGAs by Exploiting Computational Reuse , 2020, IEEE Transactions on Computers.

[17]  Mohsen Imani,et al.  QuantHD: A Quantization Framework for Hyperdimensional Computing , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[18]  Davide Anguita,et al.  Human Activity Recognition on Smartphones Using a Multiclass Hardware-Friendly Support Vector Machine , 2012, IWAAL.

[19]  Subutai Ahmad,et al.  Properties of Sparse Distributed Representations and their Application to Hierarchical Temporal Memory , 2015, ArXiv.

[20]  Chen Yang,et al.  FPDeep: Acceleration and Load Balancing of CNN Training on FPGA Clusters , 2018, 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[21]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[22]  Mohsen Imani,et al.  A Framework for Efficient and Binary Clustering in High-Dimensional Space , 2021, 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[23]  Mohsen Imani,et al.  THRIFTY: Training with Hyperdimensional Computing across Flash Hierarchy , 2020, 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD).

[24]  Luis Ceze,et al.  General-purpose code acceleration with limited-precision analog computation , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[25]  Didier Stricker,et al.  Introducing a New Benchmarked Dataset for Activity Monitoring , 2012, 2012 16th International Symposium on Wearable Computers.

[26]  Tajana Rosing,et al.  Hierarchical Hyperdimensional Computing for Energy Efficient Classification , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[27]  Hadi Esmaeilzadeh,et al.  AxBench: A Multiplatform Benchmark Suite for Approximate Computing , 2017, IEEE Design & Test.

[28]  Mohsen Imani,et al.  DUAL: Acceleration of Clustering Algorithms using Digital-based Processing In-Memory , 2020, 2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[29]  Alex Graves,et al.  The Kanerva Machine: A Generative Distributed Memory , 2018, ICLR.

[30]  Farinaz Koushanfar,et al.  SparseHD: Algorithm-Hardware Co-optimization for Efficient High-Dimensional Computing , 2019, 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[31]  Tajana Simunic,et al.  Efficient human activity recognition using hyperdimensional computing , 2018, IOT.

[32]  Tajana Simunic,et al.  A Framework for Collaborative Learning in Secure High-Dimensional Space , 2019, 2019 IEEE 12th International Conference on Cloud Computing (CLOUD).

[33]  Pentti Kanerva,et al.  What We Mean When We Say "What's the Dollar of Mexico?": Prototypes and Mapping in Concept Space , 2010, AAAI Fall Symposium: Quantum Informatics for Cognitive, Social, and Semantic Processes.

[34]  Anders Holst,et al.  Random indexing of text samples for latent semantic analysis , 2000 .

[35]  Tom Feist,et al.  Vivado Design Suite , 2012 .

[36]  Tajana Simunic,et al.  GenieHD: Efficient DNA Pattern Matching Accelerator Using Hyperdimensional Computing , 2020, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[37]  Song Han,et al.  Deep Compression: Compressing Deep Neural Network with Pruning, Trained Quantization and Huffman Coding , 2015, ICLR.

[38]  Luca Benini,et al.  Hardware Optimizations of Dense Binary Hyperdimensional Computing: Rematerialization of Hypervectors, Binarized Bundling, and Combinational Associative Memory , 2018, ACM J. Emerg. Technol. Comput. Syst..

[39]  Arkady B. Zaslavsky,et al.  Sensing as a Service and Big Data , 2013, ArXiv.

[40]  Dileep George,et al.  Beyond imitation: Zero-shot task transfer on robots by learning concepts as cognitive programs , 2018, Science Robotics.

[41]  Sarmad Ullah Khan,et al.  Future Internet: The Internet of Things Architecture, Possible Applications and Key Challenges , 2012, 2012 10th International Conference on Frontiers of Information Technology.

[42]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[43]  Asit K. Mishra,et al.  From high-level deep neural models to FPGAs , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[44]  Jan M. Rabaey,et al.  Hyperdimensional computing with 3D VRRAM in-memory kernels: Device-architecture co-design for energy-efficient, error-resilient language recognition , 2016, 2016 IEEE International Electron Devices Meeting (IEDM).

[45]  Jan M. Rabaey,et al.  Exploring Hyperdimensional Associative Memory , 2017, 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[46]  Jan M. Rabaey,et al.  Brain-inspired computing exploiting carbon nanotube FETs and resistive RAM: Hyperdimensional computing case study , 2018, 2018 IEEE International Solid - State Circuits Conference - (ISSCC).

[47]  Jan M. Rabaey,et al.  Hyperdimensional Computing Nanosystem , 2018, ArXiv.

[48]  P. Kanerva,et al.  Hyperdimensional Computing for Text Classification , 2016 .

[49]  Pentti Kanerva,et al.  Hyperdimensional Computing: An Introduction to Computing in Distributed Representation with High-Dimensional Random Vectors , 2009, Cognitive Computation.

[50]  Houbing Song,et al.  Internet of Things and Big Data Analytics for Smart and Connected Communities , 2016, IEEE Access.

[51]  H. Sompolinsky,et al.  Sparseness and Expansion in Sensory Representations , 2014, Neuron.

[52]  Yiannis Aloimonos,et al.  Learning sensorimotor control with neuromorphic sensors: Toward hyperdimensional active perception , 2019, Science Robotics.

[53]  Okko Johannes Räsänen,et al.  Sequence Prediction With Sparse Distributed Hyperdimensional Coding Applied to the Analysis of Mobile Phone Use Patterns , 2016, IEEE Transactions on Neural Networks and Learning Systems.

[54]  Okko Johannes Räsänen,et al.  Modeling Dependencies in Multiple Parallel Data Streams with Hyperdimensional Computing , 2014, IEEE Signal Processing Letters.

[55]  Chong Wang,et al.  Deep Speech 2 : End-to-End Speech Recognition in English and Mandarin , 2015, ICML.

[56]  Fan Wu,et al.  A Binary Learning Framework for Hyperdimensional Computing , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[57]  Tajana Simunic,et al.  ORCHARD: Visual object recognition accelerator based on approximate in-memory processing , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[58]  Silvio Savarese,et al.  Learning to Track: Online Multi-object Tracking by Decision Making , 2015, 2015 IEEE International Conference on Computer Vision (ICCV).