FPGA parallel acceleration method based on convolution neural network (CNN)
A convolutional neural network and network technology, applied in the field of FPGA parallel acceleration of convolutional neural networks, can solve the problems of not fully exerting the FPGA computing potential and poor scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Current Assignee / Owner
- Publication Date
- 2017-12-12
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 1 
Figure 2 
Figure 3
Abstract
Description
technical field
[0001] The invention relates to the field of computer computing, in particular to a FPGA parallel acceleration method of a convolutional neural network. Background technique
[0002] Convolutional Neural Network (Convolutional Neutral Network) is a kind of artificial neural network. CNN is the first learning algorithm to truly successfully train a multi-layer network structure. It uses the spatial relationship and adopts the weight sharing network structure to make it more similar to the biological neural network, which reduces the complexity of the network model and reduces the number of weights to improve the training performance of the general forward BP algorithm. This advantage is more obvious when the input of the network is a multi-dimensional image. On the other hand, in CNN, the image can be directly used as the bottom layer input of the network, and the information is then transmitted to different layers in turn. Each layer passes a digital filter...
Examples
Embodiment Construction
[0012] Below, in conjunction with accompanying drawing, the present invention is described in detail as follows:
[0013] The FPGA parallel acceleration method of a convolutional neural network of the present invention comprises the following points:
[0014] One is the CNN model structure. The CNN model structure adopted in the present invention is made up of 1 input layer input, 1 output layer output, 2 convolution layers, 2 pooling and a fully connected network Softmax, such as figure 1 shown. In this experiment, the input image set is the handwritten digital image set MNIST. The size of each image is 28×28 pixels. The specific network structure is as follows:
[0015] Input layer: 28×28;
[0016] C1Conv layer: 3kernels, each with size 5×5, stride=1;
[0017] S1Max-pooling layer: each with size 2×2, stride=2, β=1.0 b=0.0;
[0018] C2Conv layer: 6kernels, each with size 5×5, stride=1;
[0019] S2Max-pooling layer: each with size 2×2, stride=2, β=1.0 b=0.0;
[0020] ...