Hybrid Dot Product Calculation for Convolutional Neural Networks in FPGA
Convolutional Neural Networks (CNN) are quite useful in edge devices for security, surveillance, and many others. Running CNNs in embedded devices is a design challenge since these models require high computing power and large memory storage. Data quantization is an optimization technique applied to CNN to reduce the computing and memory requirements. The method reduces the number of bits used to represent weights and activations, which consequently reduces the size of operands and of the memory. The method is more effective if hybrid quantization is considered in which data in different layers may have different bit widths. This article proposes a new hardware module to calculate dot products of CNNs with hybrid quantization. The module improves the implementation of CNNs in low density FPGAs, where the same module runs dot products of different layers with different data quantizations. We show implementation results in ZYNQ7020 and compare with state of the art works. Improvements in area and performance are achieved with the new proposed module.
2019 29th International Conference on Field Programmable Logic and Applications (FPL)