现场可编程门阵列(FPGA)因其并行结构在神经网络推理中具有高效性,但现有部署流程大多聚焦于加速乘加运算或将量化模型映射为查找表(LUT)。DiffLUT‑Net 提出一种原生 FPGA 网络,全部由六输入 LUT 组成,并从零开始进行端到端训练。
核心技术是对 LUT 的 64 条真值表条目以及每个输入端口的来源进行联合学习。我们使用可微分的 LUT 函数松弛,将离散的真值表视为连续的概率分布;同时引入硬件源选择机制,使网络能够在训练期间动态决定每个输入端口连接哪个前驱信号。
训练结束后,真值表和连线通过阈值化离散化,未被使用的逻辑单元可以直接裁剪,最终得到的网络可以直接导出为可综合的 Verilog 代码,无需额外的映射步骤。
在五个公开基准上实验表明,DiffLUT‑Net 在保持相似精度的前提下显著降低了资源占用,实现了更优的精度‑资源权衡。
代码已开源于 https://github.com/TUDa-HWAI/DiffLUT-Network,方便研究者复现和进一步扩展。
点评:DiffLUT‑Net 通过同时学习 LUT 真值表和稀疏连通性,展示了在 FPGA 上实现紧凑推理的可行路径,为硬件感知神经网络设计提供了新思路。