inria-00112631, version 1
High Performance Convolutional Neural Networks for Document Processing
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
- 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
- http://hal.inria.fr/inria-00112631
- 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


Associated documents
Export