|Title: Efficient Deep Neural Network Acceleration through FPGA-based Batch Processing. <em>In Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig)</em>|
|Written by: Thorbjörn Posewsky and Daniel Ziener|
|in: December (2016).|
|Address: Cancun / Mexico|
|how published: 16-10 PZ6 Reconfig|
|Type: <strong>Best Paper Award</strong>.|
Note: dziener, tposewsky, ESD
Abstract: Deep neural networks are an extremely successful and widely used technique for various pattern recognition and machine learning tasks. Due to power and resource constraints, these computationally intensive networks are difficult to implement in embedded systems. Yet, the number of applications that can benefit from the mentioned possibilities is rapidly rising. In this paper, we propose a novel architecture for processing previously learned and arbitrary deep neural networks on FPGA-based SoCs that is able to overcome these limitations. A key contribution of our approach, which we refer to as batch processing, achieves a mitigation of required weight matrix transfers from external memory by reusing weights across multiple input samples. This technique combined with a sophisticated pipelining and the usage of high performance interfaces accelerates the data processing compared to existing approaches on the same FPGA device by one order of magnitude. Furthermore, we achieve a comparable data throughput as a fully featured x86-based system at only a fraction of its energy consumption.