DiffLUT-Net提出了一种面向FPGA的原生神经网络训练方法,其核心创新在于将六输入查找表(LUT)的64个真值表条目与每个输入端口的具体连接来源同时纳入可微分训练框架,通过可微LUT函数松弛和硬件源选择实现联合学习。训练完成后,真值表与连接关系被离散化,未使用的逻辑可被剪枝,网络可直接导出为可综合的Verilog代码。在五个基准测试中,该方法在精度与资源消耗之间取得了良好的权衡,验证了联合学习LUT函数与稀疏连接对于紧凑型FPGA原生推理的有效性。该工作为FPGA上高效神经网络部署提供了一条从训练到硬件实现的新路径,代码已开源。
| FPGA | 现场可编程门阵列,一种可通过编程配置实现自定义硬件逻辑的集成电路。 |
| LUT | 查找表,FPGA 中实现组合逻辑的基本单元,通过存储真值表来映射输入到输出。 |
| 可微松弛 | 将离散或不可微的操作替换为可微的近似函数,以便使用梯度下降进行训练。 |
| 稀疏连接 | 网络中只有部分连接存在,减少计算和存储需求,提高硬件效率。 |
| 可综合 Verilog | 符合硬件描述语言标准、能够被综合工具转换为 FPGA 配置文件的 Verilog 代码。 |
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅