Memory Efficient Binary Convolutional Neural Networks on Microcontrollers
Fouad Sakr, Riccardo Berta, Joseph Doyle, Hamoud Younes, Alessandro De Gloria, Francesco Bellotti
- 发表年份
- 2022
- 引用次数
- 10
摘要
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%).
关键词
相关论文
Statistical Learning Theory
Yuhai Wu, Vladimir Vapnik
1999
Artificial intelligence: a modern approach
1995
Applied Nonlinear Control
Jean-Jacques Slotine, Weiping Li
1991
A new optimizer using particle swarm theory
R.C. Eberhart, James Kennedy
2002