tinyML Talks – recorded January 19, 2021
“Binarized Neural Networks on microcontrollers”
Lukas Geiger – Plumerai
Today’s deep learning methods limit the use of microcontrollers to only very basic machine learning tasks. In this talk, Lukas explains how real-time deep learning for complex tasks is achieved on microcontrollers with the help of Binarized Neural Networks (BNNs) – in which weights and activations are encoded not using 32 or 8 bits, but using only 1 bit.
BNNs allow for much lower memory requirements and extremely efficient execution, but require new training algorithms and custom software for inference. Our integrated approach tackles these issues. Built on top of Keras and TFLite, our open-source libraries (https://larq.dev (https://larq.dev/)) make it possible to build, train and benchmark BNNs on ARMv8-A architectures and we show how this work exposes the inconsistencies between published research and real world results.
Finally, we demonstrate the world’s first BNN running live on an ARM Cortex-M4 microcontroller using Plumerai’s software stack to bring unmatched efficiency to TinyML.