95 articles 

inria-00112631, version 1

High Performance Convolutional Neural Networks for Document Processing

Kumar Chellapilla () 1, Sidd Puri () 1, Patrice Simard () 1

Tenth International Workshop on Frontiers in Handwriting Recognition (2006)

Abstract: Convolutional neural networks (CNNs) are well known for producing state-of-the-art recognizers for document processing [1]. However, they can be difficult to implement and are usually slower than traditional multi-layer perceptrons (MLPs). We present three novel approaches to speeding up CNNs: a) unrolling convolution, b) using BLAS (basic linear algebra subroutines), and c) using GPUs (graphic processing units). Unrolled convolution converts the processing in each convolutional layer (both forward-propagation and back-propagation) into a matrix-matrix product. The matrix-matrix product representation of CNNs makes their implementation as easy as MLPs. BLAS is used to efficiently compute matrix products on the CPU. We also present a pixel shader based GPU implementation of CNNs. Results on character recognition problems indicate that unrolled convolution with BLAS produces a dramatic 2.4X−3.0X speedup. The GPU implementation is even faster and produces a 3.1X−4.1X speedup.

  • 1:  Microsoft Research
  • Microsoft Research
  • Domain : Computer Science/Document and Text Processing
    Computer Science/Computer Vision and Pattern Recognition
  • Keywords : Convolutional neural networks – BLAS – GPU
  • Comment : http://www.suvisoft.com
  • inria-00112631, version 1
  • oai:hal.inria.fr:inria-00112631
  • From: 
  • Submitted on: Thursday, 9 November 2006 13:47:33
  • Updated on: Thursday, 9 November 2006 16:43:26