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.

CN107463990AInactive Publication Date: 2017-12-12NAT COMP NETWORK & INFORMATION SECURITY MANAGEMENT CENT
2 Cites 40 Cited by

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 1
  • Figure 2
    Figure 2
  • Figure 3
    Figure 3
Patent Text Reader

Abstract

The invention discloses an FPGA parallel acceleration method based on a convolution neural network (CNN), and the method comprises the following steps: (1), building a CNN model; (2), configuring a hardware architecture; (3), configuring a convolution operation unit. The beneficial effects of the invention lies in that the method employs the FPGA for implementing the CNN, increases the speed of CNN calculation, compared with a GPU, relative to a handwriting image dataset MNIST by nearly five times through designing an optimization hardware acceleration scheme, and achieves the 10-time acceleration when compared with a 12-core CPU; the power consumption is one third of the power consumption of the CPU.
Need to check novelty before this filing date? Find Prior Art

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] ...