A parallel computing platform for training large scale neural networks

Artificial neural networks (ANNs) have been proved to be successfully used in a variety of pattern recognition and data mining applications. However, training ANNs on large scale datasets are both data-intensive and computation-intensive. Therefore, large scale ANNs are used with reservation for their time-consuming training to get high precision. In this paper, we present cNeural, a customized parallel computing platform to accelerate training large scale neural networks with the backpropagation algorithm. Unlike many existing parallel neural network training systems working on thousands of training samples, cNeural is designed for fast training large scale datasets with millions of training samples. To achieve this goal, firstly, cNeural adopts HBase for large scale training dataset storage and parallel loading. Secondly, it provides a parallel in-memory computing framework for fast iterative training. Third, we choose a compact, event-driven messaging communication model instead of the heartbeat polling model for instant messaging delivery. Experimental results show that the overhead time cost by data loading and messaging communication is very low in cNeural and cNeural is around 50 times faster than the solution based on Hadoop MapReduce. It also achieves nearly linear scalability and excellent load balancing.

[1]  Heekuck Oh,et al.  Neural Networks for Pattern Recognition , 1993, Adv. Comput..

[2]  Manfred Glesner,et al.  Neurocomputers: an overview of neural networks in VLSI , 1994 .

[3]  David Calvert,et al.  Distributed artificial neural network architectures , 2005, 19th International Symposium on High Performance Computing Systems and Applications (HPCS'05).

[4]  Uroš Lotrič,et al.  Parallel implementations of feed-forward neural network using MPI and C# on .NET platform , 2005 .

[5]  Geoffrey C. Fox,et al.  Twister: a runtime for iterative MapReduce , 2010, HPDC '10.

[6]  Thomas Hofmann,et al.  Map-Reduce for Machine Learning on Multicore , 2007 .

[7]  Simon Haykin,et al.  Neural Networks and Learning Machines , 2010 .

[8]  Y. L. Loukas,et al.  Artificial neural networks in liquid chromatography: efficient and improved quantitative structure-retention relationship models. , 2000, Journal of chromatography. A.

[9]  Marc'Aurelio Ranzato,et al.  Building high-level features using large scale unsupervised learning , 2011, 2013 IEEE International Conference on Acoustics, Speech and Signal Processing.

[10]  Udo Seiffert,et al.  Artificial Neural Networks on Massively Parallel Computer Hardware , 2004, ESANN.

[11]  Michael D. Ernst,et al.  HaLoop , 2010, Proc. VLDB Endow..

[12]  Roy H. Campbell,et al.  Fast Neural Network Training on General Purpose Computers , 2011 .

[13]  D. N. Ranasinghe,et al.  On the Performance of Parallel Neural Network Implementations on Distributed Memory Architectures , 2008, 2008 Eighth IEEE International Symposium on Cluster Computing and the Grid (CCGRID).

[14]  Hongyan Li,et al.  MapReduce-based Backpropagation Neural Network over large scale mobile data , 2010, 2010 Sixth International Conference on Natural Computation.

[15]  Sundaram Suresh,et al.  Parallel implementation of back-propagation algorithm in networks of workstations , 2005, IEEE Transactions on Parallel and Distributed Systems.

[16]  P. Werstein,et al.  Parallelization of a Backpropagation Neural Network on a Cluster Computer , 2022 .

[17]  J. P. Collins,et al.  Sailing on an Ocean of 0s and 1s , 2010, Science.

[18]  Michael J. Franklin,et al.  Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing , 2012, NSDI.

[19]  Nikola B. Serbedzija Simulating Artificial Neural Networks on Parallel Architectures , 1996, Computer.

[20]  Robert Hecht-Nielsen,et al.  Theory of the backpropagation neural network , 1989, International 1989 Joint Conference on Neural Networks.