论文部分内容阅读
近年来,深度学习(Deep Learning)的研究和应用进入了爆发阶段,出现了多个适用于移动端的神经网络以及一些模型压缩算法,神经网络开始大规模应用到嵌入式平台,进而产生了越来越多的面向嵌入式平台的神经网络计算框架。这些计算框架主要使用ARM CPU、GPU(Graphics Processing Unit)或者FPGA(Field Programmable Gate Arrays)作为计算加速硬件,但是这些硬件在性能、成本或者功耗上都存在一些问题,难以在这三者之间达到一个较好的平衡,导致这些框架尚未在嵌入式领域大规模应用。相比而言,DSP(Digital Signal Processor)具有较好的性能以及较低的成本和功耗,因此,本文调研了目前嵌入式平台神经网络加速框架存在的问题,研究与实现了基于DSP计算优化的轻量级神经网络计算框架——Lightweight Accelerator for Neural Networks on Embedded System,简称LANNES。该计算框架在嵌入式平台既有不错的性能,又能较好地控制成本和功耗,是一个适用于神经网络在嵌入式平台大规模应用的解决方案。本文设计了适用于DSP平台的神经网络计算框架的架构和底层加速机制。框架架构主要包含三部分:LANNES模型和网络文件、LANNES基础组件和LANNES加速器。在此基础上本文实现了框架的模型和网络文件的转换与加载以及框架的各个基础组件,充分利用DSP的特殊架构,利用内存优化算法和CPU指令级并行优化手段,实现了DSP加速器的性能最大化。本文对所实现的LANNES框架的性能和精度进行了测试和验证,测试表明基于DSP实现的LANNES框架性价比高于基于GPU实现的框架,且性能领先于基于更高成本的4核心ARM CPU实现的计算框架,同时LANNES还具有非常轻量、高易用性和低功耗等优点,此外又能保证计算结果的精度不会受到框架的影响。本研究所提出的基于DSP实现的轻量级神经网络计算框架可以作为神经网络在嵌入式平台大规模应用的优秀解决方案。