Accelerating ODE-Based Neural Networks on Low-Cost FPGAs

ODENet is a deep neural network architecture in which a stacking structure of ResNet is implemented with an ordinary differential equation (ODE) solver. It can reduce the number of parameters and strike a balance between accuracy and performance by selecting a proper solver.It is also possible to improve the accuracy while keeping the same number of parameters on resource-limited edge devices. In this paper, using Euler method as an ODE solver, a part of ODENet is implemented as a dedicated logic on a low-cost FPGA (Field-Programmable Gate Array) board, such as PYNQ-Z2 board. Two variants, one for high accuracy and the other for performance, are proposed and implemented on the FPGA board as well. They are evaluated in terms of parameter size, accuracy, execution time, and resource utilization on the FPGA. The results show that an overall execution time of ODENet and its variants is improved by up to 2.50 times compared to a pure software execution when a part of convolution layers is executed by the programmable logic.

在低成本FPGA上加速基于ODE的神经网络

ODENet是一种深度神经网络体系结构,其中ResNet的堆栈结构是通过常微分方程(ODE)求解器实现的。通过选择合适的求解器,它可以减少参数的数量并在精度和性能之间取得平衡。.. 在资源受限的边缘设备上保持相同数量的参数的同时,还可以提高准确性。本文使用Euler方法作为ODE求解器,将ODENet的一部分作为专用逻辑实现在低成本FPGA(现场可编程门阵列)板上,例如PYNQ-Z2板上。在FPGA板上也提出并实现了两种变体,一种是高精度的,另一种是性能的。根据参数大小,准确性,执行时间和FPGA上的资源利用情况对它们进行评估。结果表明,与部分卷积层由可编程逻辑执行时的纯软件执行相比,ODENet及其变体的总体执行时间提高了2.50倍。 (阅读更多)