基于Vitis HLS的轻量化二进制神经网络(BNN)在边缘设备上的优化研究
作者及机构
本研究的核心团队来自韩国Hongik大学电子与电气工程学院,包括Hyunkyu Kang、Seokhoon Kim、Sanghyeok Moon(共同一作)以及通讯作者Youngmin Kim。论文发表于2024年IEEE Asia Pacific Conference on Circuits and Systems (APCCAS),标题为《Lightweight Binary Neural Networks for Edge Devices》。
研究领域与动机
随着深度学习在边缘设备(如移动终端、嵌入式系统)中的普及,模型的计算效率成为关键挑战。传统卷积神经网络(CNN)因浮点计算量大,难以在资源受限环境中部署。二进制神经网络(BNN)通过将输入和权重二值化为±1,显著减少内存占用,并将卷积操作替换为XNOR和Popcount运算,提升计算速度。然而,现有BNN模型(如Larq)仍存在资源占用高、功耗大的问题。本研究旨在通过硬件-软件协同优化,提出一种轻量化BNN模型,以牺牲少量精度为代价,大幅降低资源与功耗。
目标
1. 通过模型结构调整减少计算量和内存占用;
2. 利用软件预计算和动态位宽量化优化硬件实现;
3. 在FPGA(Zynq UltraScale+ MPSoC ZCU104开发板)上验证模型的资源效率。
层结构与权重深度调整:
对比Larq提供的MNIST数据集模型(10层,含3个卷积层、2个全连接层),本研究移除1个卷积层、3个批归一化(Batch Normalization, BN)层和1个全连接层,最终模型仅含7层(图2)。同时,将卷积层的权重通道数从32/64降至6/18,使1-bit乘加运算(MACs)数量从279万降至15.8万(表Ⅲ),内存占用从13.19 KB降至0.87 KB(降幅93%),精度从98%降至94%。
数据预计算:
传统BNN在硬件中实时二值化输入和权重,而本研究改为在软件中预二值化,直接传输1-bit数据至硬件(图3)。此外,批归一化中的移动标准差(moving standard deviation)倒数通过软件预计算,减少硬件中的浮点运算负载。
本研究通过三阶段优化(模型轻量化、预计算、动态量化),显著降低了BNN的硬件资源需求与功耗,验证了在资源受限环境中部署高性能深度学习模型的可行性。未来工作包括:
1. 将方法扩展至更复杂模型(如ResNet);
2. 探索其他轻量化技术(如知识蒸馏)的协同优化。
亮点
- 硬件-软件协同设计:通过预计算和动态量化减少硬件负担;
- 极简资源占用:BRAM用量降低93%,为边缘设备提供可行方案;
- 开源工具链:基于Vitis HLS的实现代码可复现,推动行业应用。
资助声明
研究受韩国ICT部(MSIT)及半导体重大项目支持,EDA工具由IC设计教育中心(IDEC)提供。