Machine learning models are increasingly becoming larger as we try to capture complex behaviour. However, with this increasing complexity it can become difficult, or even impossible, to run such networks on typical embedded hardware. Instead, what methods can we apply to “optimise” these networks to make them simpler and more efficient?
This project will investigate approaches to simplify the structure of pre-trained MLP models to reduce their computational complexity while maintaining high accuracy. This may be through the use of a range of approaches such as pruning (removing the least-relevant components) or subdividing (splitting the network up into several smaller networks).
Through this approach, engineers would be able to train complex models offline on powerful hardware, and then create simplified versions that can be distributed for execution.
Undergraduate
Automatic process to reduce the complexity of pre-trained MLPs, with two (potential) objective functions:
None
Embedded Systems (405.760, Lab)