【论文阅读】A High-Performance CNN Processor Based on FPGA for MobileNets
AbstractIntroduction
基于FPGA的mobilenet高性能CNN处理器
Abstract
缺陷: CNN由于参数量巨大难以部署到嵌入式设备上。 背景: MobileNet ,which adopts depthwise separable convolution to replace the standard convolution has significantly reduce operations and parrameters with only limited loss in accuracy.
研究的问题: A high-performance CNN processor based on FPGA
创造点: 1、dedicated computing engines: ConV Engine , Dwcv Engine , for Pointwise Convolution and Depthwise Convolution . 两个专用计算引擎: ConV Dwcv , 专用点卷积 和 深度卷积, 显著提高加速器效率。 2、设计了一个特殊架构:Channel Augmentation , 提高MobileNets的第一层。 3、本文设计的加速器可以灵活部署在不同配置的设备上,可以平衡硬件资源和计算性能。 4、我们的加速器运行在ZU2 \ ZU9 MPSoC FPGA 5、分类性能 ImageNet 205.3 fps @ ZU2 , 809.8 fps@ZU9 6、在ZU2上提高了15.4倍, 在ZU9上提高了60.7倍, 相比CPU 。 7、部署了MobileNet + SSD network 用于检测任务, 31.0FPS@ZU2 124.3FPS@ZU9 。
Introduction
CNN 大量的操作和参数对内存占用率(memory throughout)和计算能力提出了严格的要求。
Rigid-Motion Scattering for Texture Classification,2014 首次提出一个创新的卷积结构用于减轻标准卷积的计算负担同时降低参数。
目前最先进的CNNs ,如Xception、 MobileNetV2、ShuffleNet,采纳了 可分离卷积(depthwise separable convolution ),在准确率损失量很小的情况下降低了计算量和参数量。
CNN是 密集型任务, 需要大量算力, GPU 有足够的性能,但GPU功耗过大是一种挑战。 (GPU的功耗: 200W+ ) FPGA由于其可编程性、大规模并行、低功耗计算引起了人们对其用于CNN加速的兴趣激增。
但近期使用FPGA加速CNN的方案依然在低效能CNN模型上努力。
MobileNets ShuffleNets 仅仅实现了在图像识别任务上的可接受速度。
这些CNNs 通常采用深度可分离卷积以降低计算量和参数。
[8]一个MobileNetV2的CNN加速器实现了 266.2fps,在 ARRI 10 SoC.
[5]另一个基于 RR-MobileNet的加速器实现了64.6% Top1的准确率, 84.5% Top5的准确率 在ImageNet 分类任务中, 127.4FPS@Xilinx ZU9EG。
[7] Synetgy for DiracDeltaNet 是基于 ShuffleNetV2的优化模型, 96.5FPS@ZU3EG , top-1准确率 ,ImageNet 分类68.47% 。
但是, 所有这些加速器 都未能在计算资源和片上内存资源直接取得平衡, 这限制了它们的性能。
原因在于使用了一个通用计算引擎去加速标准卷积和深度可分离卷积。
因此我们提出一个高性能加速器,基于 FPGA ,用于MobileNets 加速, 68.1% top-1 准确率 在图像分类任务中。
相关链接
发表评论