Modified Convolution Neural Network for Highly Effective Parallel Processing

Today, Convolutional Neural Network (CNN) is adopted in a lot of areas such as computer vision and natural language processing. By employing hardware accelerators such as graphic processing unit (GPU), a significant amount of speedup can be achieved in CNN and many studies have proposed such acceleration methods. However, it is not straightforward to parallelize the CNN on a hardware accelerator because there are irregular characteristics of generating output feature maps. In this paper, we propose a modified CNN for efficient parallel processing. A well-known CNN architecture called Lenet-5 has an inefficient convolution combination. The proposed method of this paper improves the efficiency by utilizing a special operation called dummy operation. The proposed method is capable of maximizing the utilization of GPU by modifying Lenet-5's convolution combination. Its improved efficiency is validated on a platform that integrates a CPU and a GPU in the same die. Our OpenCL implementation of the proposed method has achieved an average peak performance of 115.66 GFLOPS which is an improvement of 37.26 times in execution time. Further, a reduction of 26.40 times in energy consumption is achieved.

[1]  Chris Cummins,et al.  Autotuning OpenCL Workgroup Size for Stencil Patterns , 2015, ArXiv.

[2]  Andrew Zisserman,et al.  Very Deep Convolutional Networks for Large-Scale Image Recognition , 2014, ICLR.

[3]  Dumitru Erhan,et al.  Going deeper with convolutions , 2014, 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[4]  Yoshua Bengio,et al.  Gradient-based learning applied to document recognition , 1998, Proc. IEEE.

[5]  Sven Behnke,et al.  Accelerating Large-Scale Convolutional Neural Networks with Parallel Graphics Multiprocessors , 2010, ICANN.

[6]  C. Thomas Caskey,et al.  Translational frameshifting: Where will it stop? , 1987, Cell.

[7]  Leonarda Carnimeo A CNN-based Vision System for Pattern Recognition in Mobile Robots , 2001 .

[8]  Wenpeng Yin,et al.  Comparative Study of CNN and RNN for Natural Language Processing , 2017, ArXiv.

[9]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[10]  Yu Zhang,et al.  Exploiting Depth and Highway Connections in Convolutional Recurrent Deep Neural Networks for Speech Recognition , 2016, INTERSPEECH.

[11]  Jie Shen,et al.  Performance Traps in OpenCL for CPUs , 2013, 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[12]  Yann LeCun,et al.  The mnist database of handwritten digits , 2005 .

[13]  Jason Cong,et al.  Minimizing Computation in Convolutional Neural Networks , 2014, ICANN.

[14]  Ki-Seok Chung,et al.  A Parallelization Technique with Integrated Multi-Threading for Video Decoding on Multi-core Systems , 2013, KSII Trans. Internet Inf. Syst..

[15]  John Tran,et al.  cuDNN: Efficient Primitives for Deep Learning , 2014, ArXiv.