1 ProtoNN
Don Dennis редактировал(а) эту страницу 2018-01-09 01:59:48 +05:30

Downloads: [PDF] [ICML Poster] [ICML Slides] [Code]

ProtoNN is a novel, k-nearest neighbors (kNN) based general supervised learning algorithm that can be deployed on the tiniest of iot devices. ProtoNN produces state-of-the-art accuracies for typical iot prediction tasks, with just about 16kB of memory size. kNN is a popular choice for machine learning solution for general classification problems owing to its simplicity, generality, and interpretability. ProtoNN, in addition, enjoys key properties to be able to support real-time iot applications

  • Extremely small sizes (a few kB), and
  • Extremely small prediction times.

ProtoNN learns prototypes to represent the entire training dataset as well as labels for each prototype -- this boosts prediction accuracies in many applications and provides additional flexibility, and seamless generalization to multi-label or ranking problems.

As in the case of Bonsai, ProtoNN has been deployed successfully on microcontrollers tinier than a grain of rice such as the ARM Cortex M0 with just 2 KB RAM; it can accurately and efficiently predict on the tiniest of IoT boards such as the Arduino Pro Mini based on an 8 bit Atmel ATmega328P microcontroller operating at 8 MHz without any floating point support in hardware, with 2 KB RAM and 32 KB read-only flash memory.

Please see our ICML 2017 paper for more details about the model and algorithm and our Getting Started section for instructions on how to use ProtoNN.