中文

面向微控制器的高效神经网络部署

硬件体系结构 2020-07-06 v1 机器学习

摘要

神经网络的边缘计算正变得重要,尤其对于低功耗应用和离线设备。TensorFlow Lite 和 PyTorch Mobile 为此发布。但它们主要支持移动设备而非微控制器级别。微控制器支持目前是一个新兴领域。有许多方法可减小网络规模和计算负载,如剪枝、二值化以及层操作即算子重排序。本文将探索并推广卷积神经网络在微控制器上的部署,提出两种新颖优化方案,在二维卷积以及全连接层中提供内存节省和计算效率。第一种是原地最大池化,当步长大于或等于池化核尺寸时。第二种优化是在层间使用乒乓缓冲区以显著减少内存消耗。内存节省和性能将与为 ARM Cortex-M CPU 开发的 CMSIS-NN 框架比较。最终目的是开发一个工具,接收带有训练网络权重的 PyTorch 模型,并将其转换为面向低内存(千字节级)和有限计算能力微控制器的 C/C++ 优化推理引擎(前向传播)。

关键词

引用

@article{arxiv.2007.01348,
  title  = {Efficient Neural Network Deployment for Microcontroller},
  author = {Hasan Unlu},
  journal= {arXiv preprint arXiv:2007.01348},
  year   = {2020}
}