Module overview
This module will study the devices, technologies and software that enables “Machine Learning on Embedded Systems” ranging from tiny resource-constrained platforms such as microcontrollers to edge devices
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Fundamentals of machine learning on embedded devices
- How to conceive and design machine learning application on embedded devices
- Issues and approaches to optimize machine learning models for resource-constrained devices
- Software development tools and frameworks for machine learning on embedded devices;
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Describe trade-offs between the resources and computational complexities of machine learning models.
- Program machine learning applications on embedded systems
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Appraise different ways to optimize machine learning for edge computing systems including compression and accelerators
- Building and Training ML models using different machine learning libraries
Transferable and Generic Skills
Having successfully completed this module you will be able to:
- Apply knowledge learned from the module to create real world applications and solve issues related to enabling efficient deep learning on edge computing systems
- Communicate a range of issues around edge computing/TinyML to/for a non-technical audience.
- Effectively communicate technical work
Syllabus
This module will look at the theoretical and practical application of machine learning techniques on resource constrained embedded devices. Topics will include:
Fundamentals of machine learning and deep learning on embedded devices.
Challenges of implementing machine learning on resource-constrained devices.
System Performance Trade-Offs.
Model Optimization techniques such as compression and pruning.
Accelerators such as Neural Processing Units and GPU.
Optimization techniques specific to CNN, RNNs and Transformer based models.
Hardware and software tools/frameworks.
Deep learning compilers.
Building, Training and deploying a model
Different Learning Setups (e.g. Transfer, Federated)
Case studies and Applications of Edge computing in domains of computer vison, audio signal processing and NLP.
Learning and Teaching
Teaching and learning methods
Lectures and labs/tutorials form the basis for the content delivery for this module. The students will be using open-source deep learning frameworks and will work with real hardware.
Type | Hours |
---|---|
Independent Study | 114 |
Lecture | 24 |
Tutorial | 13 |
Total study time | 151 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Final Assessment | 60% |
Coursework | 40% |