阅面科技-面向嵌入式设备的轻量级神经网络模型设计-2020.4-30页_9mb
报告摘要
面向嵌入式设备的轻量级神经网络模型设计总结
核心内容
本文主要探讨了如何在嵌入式设备上实现高效运行的轻量级神经网络模型设计,涵盖了从传统特征驱动模型到现代数据驱动模型的演进,以及在嵌入式设备上进行模型优化与部署的关键技术。
主要观点
- 嵌入式设备的挑战:传统深度卷积神经网络(DCNN)模型在嵌入式设备上运行时面临精度高、内存占用大、计算复杂度高、功耗高等问题,与嵌入式设备对资源有限、运行速度快的需求存在矛盾。
- 模型设计的转变:从“特征驱动”到“数据驱动”的模型设计,使得模型性能显著提升,但也带来了更高的计算和存储需求,因此需要进一步优化模型以适应嵌入式设备。
- 轻量级模型设计:在“精度优先”与“速度优先”之间寻找平衡,通过引入轻量级网络结构(如SqueezeNet、MobileNet、ShuffleNet、EfficientNet等)实现模型的高效运行。
- 模型优化技术:包括通道剪枝、模型蒸馏、量化训练、算子优化、模型转换与部署等,旨在降低模型的计算复杂度与内存占用,提高在嵌入式设备上的运行效率。
关键信息
1. 神经网络模型在嵌入式设备运行的挑战
- DCNN模型特点:高精度、高参数、高计算复杂度、高功耗。
- 嵌入式设备特点:低内存、低功耗、低计算能力。
- 解决方法:需要在算法、算力和数据层面进行优化,以降低模型复杂度并提升运行效率。
2. 从“特征驱动”到“数据驱动”的大型神经网络模型设计
- SIFT特征描述子:可等效为一个两层的神经网络结构,包括一个卷积层和一个Pooling层。
- Fisher Vector特征:可等效为一个四层的神经网络结构,包括SIFT特征提取、编码层和Pooling层。
- 大型模型示例:
- AlexNet:5个卷积层,3个全连接层,用于ImageNet分类。
- GoogLeNet:包含多个卷积层和Inception模块,结构复杂。
- ResNet:层数和channel数逐渐增加,精度高但计算量大。
- 数据驱动模型:基于WordNet组织的大型带标签数据集(1000类,120W图片),提升模型性能。
3. 从“精度优先”到“速度优先”的轻量级神经网络模型设计
- 轻量级模型目标:在保持较高精度的同时,降低计算复杂度与内存占用。
- 模型结构优化:
- SqueezeNet:引入 $1 \times 1$ 卷积核进行通道压缩,同时使用 $3 \times 3$ 卷积核扩展输出通道。
- MobileNet:采用深度可分离卷积(Depthwise Separable Convolution)来减少计算量。
- ShuffleNet:通过通道洗牌操作提升模型效率。
- EfficientNet:通过复合缩放方法调整模型的深度、宽度和分辨率,实现精度与速度的平衡。
4. 在嵌入式设备实现神经网络模型的高效部署与运行
- XNetLite计算框架:阅面科技自主研发的框架,支持多种芯片架构(ARM、DSP、VPU、NPU)的快速移植与算法切换。
- 模型优化方法:
- 通道剪枝:通过最小化重构误差对输入FeatureMap进行通道压缩,降低模型复杂度。
- 模型蒸馏:利用Teacher模型指导Student模型训练,优化低置信度类别的识别性能。
- 量化训练:将模型参数从FP32转换为INT8等低精度格式,降低计算和存储需求。
- 算子优化:采用内存重排、矩阵分块、SIMD并行加速等技术,提高卷积、全连接等算子的运行效率。
- 模型部署工具:
- 模型转换层:支持Caffe、TensorFlow、PyTorch、MxNet等主流框架。
- 模型优化层:实现低Bit量化(FP16/INT16/INT8)。
- 算子计算层:优化Conv、FC、Pooling等核心算子。
- 硬件描述层:适配ARM、DSP、VPU、NPU等芯片架构。
- 模型推理引擎:XNetLite推理引擎支持高效部署与运行。
5. 实践结果与性能对比
- 通道剪枝结果:
- MobileNetV2在通道压缩后,MACC从215M降低至69M,Top1精度从71%降至62%。
- EfficientNet在通道压缩后,MACC从385M降低至133M,Top1精度从77.7%降至66.6%。
- 模型蒸馏结果:
- 在RSTestSet上,Student Distillation模型Top1精度达到93.4%,接近Teacher模型的94.2%。
- 在LFW数据集上,Student Distillation模型精度达到99.6%,接近Teacher模型的99.72%。
- 量化训练结果:
- 直接量化INT8在人脸识别中TPR-FPR精度下降明显,而经过微调的INT8模型精度较高。
- 算子优化性能:
- 在RK3288芯片上,XNetLite对ResNet50、MobileNet V1和MobileNet V2的推理速度显著优于NCNN。
- ResNet50:XNetLite为1029ms,NCNN为1649ms。
- MobileNet V1:XNetLite为147ms,NCNN为298ms。
- MobileNet V2:XNetLite为119ms,NCNN为289ms。
总结
本文系统地介绍了在嵌入式设备上实现高效神经网络模型设计的关键技术与实践方法,从传统特征驱动模型到现代数据驱动模型的演进,再到轻量级模型的设计与优化,最后通过XNetLite框架实现了模型的高效部署与运行。通过通道剪枝、模型蒸馏、量化训练和算子优化等手段,显著提升了模型在嵌入式设备上的运行效率,同时保持了较高的识别精度。这些技术为嵌入式视觉识别提供了有力支持,推动了端智能在多个领域的应用。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载