ODENet is a deep neural network architecture in which a stacking structure of ResNet is implemented with an ordinary differential equation (ODE) solver. ANODE is an extended approach of ODENet for stably high accuracy by introducing more precise training algorithm using more memory in training phase. 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 and ANODE are implemented as a dedicated logic on a low-cost FPGA (Field-Programmable Gate Array) board, such as PYNQ-Z2 board. As ODENet variants, reduced ODENets (rODENets) each of which heavily uses a part of ODENet layers and reduces/eliminates some layers differently are proposed and analyzed for low-cost FPGA implementation. In addition, rANODE is proposed as an ANODE variant in a way similar to the rODENet. 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 rODENet and rANODE variants is improved by up to 2.66 times compared to a pure software execution while keeping a comparable accuracy to the original ODENet and ANODE.
翻译:CODENet是一个深层的神经网络结构,在其中安装了ResNet的堆叠结构,有一个普通的差别方程式(ODE)解答器。 ANODE是ODENet通过在培训阶段引入更精确的培训算法,使用更多的记忆进行精准的精密性精准性分析, 还可以提高精准性, 同时在资源有限的边缘设备上保留相同数量的参数。 在本文中,使用Euler方法作为ODE解答器, ODENet 和 ANODE 的一部分被作为成本低廉的FPGA(FYNQ-Z2版板)板(如PYNQ-Z2版)板的专用逻辑进行实施。 ODEnet 的变体, 减少了ODEnets( RODETNets), 每一个变体都大量使用ODENets 层的一部分, 并减少/ 消除某些不同层次的参数。 此外, RANODE 被提议作为与 RODENet 的变体, 在参数大小、准确性、执行时间和资源利用方面, 将ODEODODERA 与原的精确比RODODERDA 。