Hyper-Dimensional Computing Based Predictive Maintenance
Predictive Maintenance is a key component of industry 4.0 and is the process of determining a machines current state of degradation and provide an estimation of the remaining useful lifetime. This allows replacing machine components in a fabrication pipeline when there is an actual need for it instead of the currently prevalent scheme of replacement with a fixed maintenance interval. Hyperdimensional computing (HDC) is an energy-efficient alternative to traditional machine learning techniques were data is represented in the form of very wide vectors. With its holistic data representation, HDC is inherently error-resilient and requires only very little data to learn (one/few-shot learning). It is thus a promising candidate to process the raw input data from environmental sensors and solve the classification/regression problem of estimating the machine's current health state.
In this project, you will develop a new classification algorithm based on Hyperdimensional Computing for the task of ball bearing lifetime estimation. As Ball Bearings are omnipresent in industrial manufacturing pipelines estimating their remaining useful life (RUL) is the key to condition-based maintenance of the machines as opposed to replacement at fixed intervals independently of how worn out the parts actually are. Using vibration data from low power accelerometers you will conduct some first experiments with GPU accelerated code to come up with a set of discriminative features and design the classification schemes using the primitives of hyperdimensional computing. In a second step, the algorithm should be tuned to be portable to an ultra-low power HDC hardware accelerator that allows execution of HDC algorithms in the uW power envelope.
- 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
To work on this project, you will need:
- Some experience in software development using Python
- Knowledge of the principals of machine learning and how to conduct performance evaluations of classification algorithms
- An open mind and methodological problem-solving skills
- Some insights on how digital ASICs work is highly beneficial (VLSI1, VLSI2)
Other skills that you might find useful include:
- to be familiar working on Linux and in a command-line terminal
If you want to work on this project, but you think that you do not match some the required skills, we can give you some preliminary exercise to help you fill in the gap.
- Supervision: Manuel Eggimann
- Date: Autumn 2020
- 35% Theory
- 35% Implementation
- 30% Evaluation
Meetings & Presentations
The students and advisor(s) agree on weekly meetings to discuss all relevant decisions and decide on how to proceed. Of course, additional meetings can be organized to address urgent issues.
At the end of the project, you have to present/defend your work during a 15 min. presentation and 5 min. of discussion as part of the IIS colloquium.
- The EDA wiki with lots of information on the ETHZ ASIC design flow (internal only) 
- The IIS/DZ coding guidelines