Difference between revisions of "Hyperdimensional Computing"
From iis-projects
(→Prerequisites and Focus) |
(→Prerequisites and Focus) |
||
Line 10: | Line 10: | ||
If you are an M.S. student, typically there is no special prerequisite. We can redefine and adapt the project based on your skills. However, if you have background in signal processing, VLSI or linear algebra is a super plus! | If you are an M.S. student, typically there is no special prerequisite. We can redefine and adapt the project based on your skills. However, if you have background in signal processing, VLSI or linear algebra is a super plus! | ||
The scope and focus of projects are wide. You can choose to work on: | The scope and focus of projects are wide. You can choose to work on: | ||
− | * Theory of HD computing | + | * Theory of learning systems including HD computing, Hidden Markov Model (HMM), and clustering algorithms |
− | * Exploring various applications | + | * Exploring various embedded/IoTs applications |
− | * Algorithmic design (Matlab/ Python) | + | * Algorithmic design and optimizations (Matlab/ Python) |
* Hardware and architectural design | * Hardware and architectural design | ||
* FPGA prototyping (SystemVerilog/ VHDL) | * FPGA prototyping (SystemVerilog/ VHDL) |
Revision as of 14:53, 29 January 2018
Contents
Introduction
The way the brain works suggests that rather than working with numbers that we are used to, computing with high-dimensional (HD) vectors, e.g., 10,000 bits is more efficient. Computing with HD vectors, referred to as “hypervectors,” offers a general and scalable model of computing as well as well-defined set of arithmetic operations that can enable fast and one-shot learning (no need of back-propagation like in neural networks). Furthermore it is memory-centric with embarrassingly parallel operations and is extremely robust against most failure mechanisms and noise. Such generality, robustness against data uncertainty, and one-shot learning make HD computing a prime candidate for utilization in application domains such as: brain-computer interfaces, biosignal processing (e.g., EEG/ECoG/EMG), robotics, voice/video classification, language recognition, text categorization, scene reasoning, analogical-based reasoning, etc.
Hypervectors are high-dimensional (e.g., 10,000 dimensions), they are (pseudo)random with independent identically distributed components and holographically distributed (i.e., not microcoded). Hypervectors can use various coding: dense or sparse, bipolar or binary and can be combined using arithmetic operations such as multiplication, addition, and permutation. The vectors can be compared for similarity using distance metrics.
Prerequisites and Focus
If you are an M.S. student, typically there is no special prerequisite. We can redefine and adapt the project based on your skills. However, if you have background in signal processing, VLSI or linear algebra is a super plus! The scope and focus of projects are wide. You can choose to work on:
- Theory of learning systems including HD computing, Hidden Markov Model (HMM), and clustering algorithms
- Exploring various embedded/IoTs applications
- Algorithmic design and optimizations (Matlab/ Python)
- Hardware and architectural design
- FPGA prototyping (SystemVerilog/ VHDL)
- ASIC accelerators for low signal-to-noise ratio conditions
Useful Reading
- Hyperdimensional Computing: An Introduction to Computing in Distributed Representation with High-Dimensional Random Vectors
- High-dimensional Computing as a Nanoscalable Paradigm
- Pentti Kanerva. 1988. Sparse Distributed Memory. MIT Press, Cambridge, MA, USA
Available Projects
Here, we provide a tiny list of related projects just for your information. The new directions and details of the projects can be adapted based on your interests and skills. Please do not hesitate to contact us for more details.
Epilepsy Seizure Prediction
Short Description
Seizure prediction systems hold promise for improving the quality of life for patients with epilepsy that afflicts nearly 1% of the world's population. In this project, your goal would be to develop efficient algorithms for EEG as well as non-EEG signals to predict an upcoming seizure in a low power device. The abilities of HD computing for one-shot and online learning come to rescue.
Links
Online Brain-Computer Interfaces
Short Description
Noninvasive brain–computer interfaces and neuroprostheses aim to provide a communication and control channel based on the recognition of the subject’s intentions from spatiotemporal neural activity typically recorded by EEG electrodes. What makes it particularly challenging, however, is its susceptibility to errors over time in the recognition of human intentions.
In this project, your goal would be to develop an efficient and fast learning method based on HD computing that replaces the traditional signal processing and classification methods by directly operating with raw data from electrodes in an online fashion.
Links
- Hyperdimensional Computing for Blind and One-Shot Classification of EEG Error-Related Potentials (paper)
- Related Matlab code
Flexible High-Density EMG Hand Gesture Recognition
Short Description
The surface EMG signals are the superposition of the electrical activity of underneath muscles when contractions occur. Wearable surface EMG devices have a wide range of applications in controlling the upper limb prostheses and hand gesture recognition systems intended for consumer human-machine interaction. High-density EMG electrode array covering the whole arm can ease targeting the most desired muscle locations and cope the issues with sensors misplacement. For robust gesture recognition from such EMG arrays, we rely on brain-inspired HD computing.
In this project, your goal would be to develop an RTL implementation of HD computing for one-shot gesture learning in an ultra low-power device.
Links
- Flexible EMG Demo
- Hyperdimensional Biosignal Processing: A Case Study for EMG-based Hand Gesture Recognition (paper)
- Related Matlab code
Robot Learning by Demonstration
Short Description
Robot learning from demonstration is a paradigm for enabling robots to autonomously perform new tasks. HD computing is a nice fit in this area since it naturally enables modeling relation between sensory inputs and actuator outputs of a robot by learning from few demonstrations. In this project, your goal would be to develop algorithms and implementations based on HD computing to enhance a robot to learn from online demonstrations. Further, such HD computing-based paradigm can be coupled to a brain-computer interface device enabling to control a robot by EEG signals from the brain. It has a wonderful application in neuroprosthetics to learn from a patient (see this demonstration at EPFL).
Links
- When the neuroprosthetics learn from the patient
- Learning Vector Symbolic Architectures for Reactive Robot Behaviours
- Learning Behavior Hierarchies via High-Dimensional Sensor Projection (paper)
Other Available Projects
- Hyper Meccano: Acceleration of Hyperdimensional Computing
- Resilient Brain-Inspired Hyperdimensional Computing Architectures
- Based on your interested, HD computing projects can be also combined with projects available in Biomedical System on Chips as well as Deep Learning pages.
Projects In Progress
Contact Information
- Dr. Abbas Rahimi
- e-mail: abbas@ee.ethz.ch
- e-mail: abbas@eecs.berkeley.edu
- ETZ J85
- Prof. Luca Benini
- e-mail: lbenini@iis.ee.ethz.ch
- ETZ J84