Published 2022 | Version v1
Publication

Memory Efficient Binary Convolutional Neural Networks on Microcontrollers

Description

Binarization is a machine learning optimization for limited resource devices that has achieved significant results in edge applications. As microcontrollers are the mainstream platform for field applications in industry, this article investigates memory efficient deployment of binary neural networks (BNNs) to such devices. To this end, we developed a library of binarized NN layers in platform-independent C language. The implementation optimizes the memory footprint by adapting the number of filters and neurons for each layer to the C language specifications (8 bit addressable spacing and 32 bit floating points). We tested the library by implementing a BNN for robotic touch classification on a Cortex-M7 microcontroller. Experimental results show the validity of the proposed hardware and software architecture, with improvements over the state of the art in robotic touch classification in terms of accuracy (+2%), memory footprint (+15%), and latency (+25%).

Additional details

Identifiers

URL
https://hdl.handle.net/11567/1106233
URN
urn:oai:iris.unige.it:11567/1106233

Origin repository

Origin repository
UNIGE