FPGA Implementation of Convolutional Neural Networks with Fixed-Point Calculations

08/29/2018
by   Roman A. Solovyev, et al.
0

Neural network-based methods for image processing are becoming widely used in practical applications. Modern neural networks are computationally expensive and require specialized hardware, such as graphics processing units. Since such hardware is not always available in real life applications, there is a compelling need for the design of neural networks for mobile devices. Mobile neural networks typically have reduced number of parameters and require a relatively small number of arithmetic operations. However, they usually still are executed at the software level and use floating-point calculations. The use of mobile networks without further optimization may not provide sufficient performance when high processing speed is required, for example, in real-time video processing (30 frames per second). In this study, we suggest optimizations to speed up computations in order to efficiently use already trained neural networks on a mobile device. Specifically, we propose an approach for speeding up neural networks by moving computation from software to hardware and by using fixed-point calculations instead of floating-point. We propose a number of methods for neural network architecture design to improve the performance with fixed-point calculations. We also show an example of how existing datasets can be modified and adapted for the recognition task in hand. Finally, we present the design and the implementation of a floating-point gate array-based device to solve the practical problem of real-time handwritten digit classification from mobile camera video feed.

READ FULL TEXT
research
02/19/2019

Towards Hardware Implementation of Neural Network-based Communication Algorithms

There is a recent interest in neural network (NN)-based communication al...
research
06/23/2023

FPGA Implementation of Convolutional Neural Network for Real-Time Handwriting Recognition

Machine Learning (ML) has recently been a skyrocketing field in Computer...
research
09/09/2019

Unrolling Ternary Neural Networks

The computational complexity of neural networks for large scale or real-...
research
10/02/2021

Optimizing Neural Network for Computer Vision task in Edge Device

The field of computer vision has grown very rapidly in the past few year...
research
04/11/2016

Hardware-oriented Approximation of Convolutional Neural Networks

High computational complexity hinders the widespread usage of Convolutio...
research
02/25/2019

Acceleration of expensive computations in Bayesian statistics using vector operations

Many applications in Bayesian statistics are extremely computationally i...
research
08/18/2022

Complete Stream Fusion for Software-Defined Radio

Software-Defined Radio (SDR) is widely used not only as a practical appl...

Please sign up or login with your details

Forgot password? Click here to reset