Skip to main content
QUICK REVIEW

[论文解读] FFT-Based Deep Learning Deployment in Embedded Systems

Sheng Lin, Ning Liu|arXiv (Cornell University)|Dec 13, 2017
Advanced Neural Network Applications参考文献 25被引用 4
一句话总结

本文提出了一种基于FFT的深度神经网络(DNN)框架,适用于嵌入式系统,通过基于快速傅里叶变换(FFT)的权重重矩阵降低计算和存储复杂度,在保持极低精度损失的前提下实现高速推理。该方法使模型能够在基于ARM的移动平台高效部署,C++实现相比Java实现推理速度最高提升130%,且在MNIST数据集上的推理速度优于IBM TrueNorth,尽管所用核心数远少于后者。

ABSTRACT

Deep learning has delivered its powerfulness in many application domains, especially in image and speech recognition. As the backbone of deep learning, deep neural networks (DNNs) consist of multiple layers of various types with hundreds to thousands of neurons. Embedded platforms are now becoming essential for deep learning deployment due to their portability, versatility, and energy efficiency. The large model size of DNNs, while providing excellent accuracy, also burdens the embedded platforms with intensive computation and storage. Researchers have investigated on reducing DNN model size with negligible accuracy loss. This work proposes a Fast Fourier Transform (FFT)-based DNN training and inference model suitable for embedded platforms with reduced asymptotic complexity of both computation and storage, making our approach distinguished from existing approaches. We develop the training and inference algorithms based on FFT as the computing kernel and deploy the FFT-based inference model on embedded platforms achieving extraordinary processing speed.

研究动机与目标

  • 解决在内存和计算资源受限的嵌入式系统上部署大型、高精度DNN模型的挑战。
  • 在不造成显著精度下降的前提下,降低DNN的计算复杂度和模型存储需求。
  • 开发一种新型的基于FFT的DNN框架,实现在移动和嵌入式平台上的高效训练与推理。
  • 与先前的ASIC解决方案(如IBM TrueNorth)相比,展示在基于ARM的嵌入式系统上更优的推理性能。

提出的方法

  • 该方法将快速傅里叶变换(FFT)作为训练和推理的核心计算内核,取代标准的密集矩阵运算。
  • 全连接层和卷积层中的权重重矩阵采用循环矩阵或分块循环矩阵结构,以利用FFT的高效性。
  • 该框架使用基于FFT的矩阵乘法,将计算和存储的渐近复杂度从O(n²)降低至O(n log n)。
  • 该方法通过循环矩阵结构表示大型权重重矩阵,实现模型压缩,将参数数量最多减少n倍。
  • 模型采用反向传播进行端到端训练,计算过程适配基于FFT的运算,通过微调保持精度。
  • 推理在基于ARM的移动平台通过C++和Java实现,图像处理使用OpenCV。

实验结果

研究问题

  • RQ1基于FFT的权重重矩阵表示是否能显著降低嵌入式系统上DNN的计算和存储复杂度?
  • RQ2与现有嵌入式和ASIC解决方案(如IBM TrueNorth)相比,基于FFT的DNN框架在推理速度和精度方面表现如何?
  • RQ3通过循环矩阵实现的模型压缩在减少参数数量的同时,能在多大程度上保持分类精度?
  • RQ4在移动平台上,基于FFT的推理在C++与Java实现之间存在何种性能差异?

主要发现

  • 基于FFT的DNN框架通过利用循环矩阵结构和FFT运算,显著降低了模型存储需求和计算复杂度。
  • 在MNIST数据集上,该框架在移动平台上的推理速度比IBM TrueNorth快10倍,仅造成轻微精度下降。
  • 在CIFAR-10数据集上,C++实现的单张图像推理时间为8,912 μs,比Java实现(21,032 μs)快130%。
  • 在Honor 6X设备上,C++实现的单张图像推理时间为8,244 μs,显著优于Java版本(19,785 μs)。
  • 尽管所用核心数仅为IBM TrueNorth的500至1,000分之一,该框架在CIFAR-10上仍实现了80.2%的准确率,表现具有竞争力。
  • C++与Java实现之间的性能差距主要归因于Android平台的内存管理限制和数据类型转换开销。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。