Abstract
The Bayesian ARTMAP neural network, introduced by Vigdor and Lerner, is an incremental learning algorithm which can efficiently process massive datasets for classification, regression, and probabilistic inference tasks. We introduce the parallelized version of the BA neural network and implement it in OpenCL. Our implementation runs on both multi-core CPUs and GPUs architectures. We test the Parallel Bayesian ARTMAP on several classification and regression benchmarks focusing on speedup and scalability. In some cases, the parallel BA runs by an order of magnitude faster than the sequential implementation. Our implementation has the potential to scale for OpenCL devices with increasing number of compute units.
Similar content being viewed by others
Notes
The ratio between sequential and parallel execution times.
References
Andonie R, Fabry-Asztalos L, Sasu L (2014) Bayesian ARTMAP prediction of biological activities for potential HIV-1 protease inhibitors using a small molecular dataset. In: Proceedings of the IEEE symposium on computational intelligence and computational biology (CIBCB 2014) Honolulu, HI, pp 1–8 (2014)
Andonie R, Sasu L (2006) Fuzzy ARTMAP with input relevances. IEEE Trans Neural Netw 17:929–941
Bottou L, Cun YL (2004) Large scale online learning. In: Thrun S, Saul L, Schölkopf B (eds) Advances in neural information processing systems, vol 16. MIT Press, Cambridge, pp 217–224
Brandstetter A, Artusi A (2008) Radial basis function networks GPU-based implementation. IEEE Trans Neural Netw 19(12):2150–2154
Carpenter GA, Grossberg S, Markuzon N, Reynolds JH, Rosen DB (1992) Fuzzy ARTMAP: a neural network architecture for incremental supervised learning of analog multidimensional maps. IEEE Trans Neural Netw 3:698–713
Chan TF, Golub GH, Leveque RJ (1983) Algorithms for computing the sample variance: analysis and recommendations. Am Stat 37(3):242–247
Constantinopoulos C, Likas A (2006) An incremental training method for the probabilistic RBF network. IEEE Trans Neural Netw 17(4):966–974
Demmel JW (1987) The geometry of ill-conditioning. J Complex 3:201–229
Dietterich T (2000) Ensemble methods in machine learning. In: Multiple classifier systems. Lecture notes in computer science, vol 1857. Springer, Berlin, pp 1–15
Dinkelbach HÜ, Vitay J, Beuth F, Hamker FH (2012) Comparison of GPU- and CPU-implementations of mean-firing rate neural networks on parallel hardware. Netw Comput Neural Syst 23(4):212–236
Duda RO, Hart PE, Stork DG (2000) Pattern classification, 2nd edn. Wiley, New York
Esposito A, Marinaro M, Oricchio D, Scarpetta S (1999) A new incremental strategy for function approximation by radial basis function neural networks. In: Marinaro M, Tagliaferri R (eds) Neural nets WIRN VIETRI-98 (Perspectives in neural computing). Springer, London, pp 113–119
Fukushima K (2004) Neocognitron capable of incremental learning. Neural Netw 17:37–46
Hand DJ (2013) Data, not dogma: big data, open data, and the opportunities ahead. In: Tucker A, Hppner F, Siebes A, Swift S (eds) Advances in intelligent data analysis XII. Lecture notes in computer science, vol 8207. Springer, Berlin, pp 1–12
Harris M (2008) Optimizing parallel reduction in CUDA. Technical report, nVidia. http://developer.download.nvidia.com/assets/cuda/files/reduction.pdf
Jones E, Oliphant T, Peterson P et al (2001) SciPy: open source scientific tools for Python. http://www.scipy.org/
Khronos OpenCL Working Group: The OpenCL Specification, version 1.12 (2012). https://www.khronos.org/registry/cl/specs/opencl-1.2.pdf
Klöckner A, Pinto N, Lee Y, Catanzaro B, Ivanov P, Fasih A (2012) PyCUDA and PyOpenCL: a scripting-based approach to GPU run-time code generation. Parallel Comput 38(3):157–174
Kuncheva LI (2004) Combining pattern classifiers: methods and algorithms. Wiley-Interscience, Hoboken
Lee VW, Kim C, Chhugani J, Deisher M, Kim D, Nguyen AD, Satish N, Smelyanskiy M, Chennupaty S, Hammarlund P, Singhal R, Dubey P (2010) Debunking the 100X GPU vs. CPU Myth: an evaluation of throughput computing on CPU and GPU. SIGARCH Comput Archit News 38(3):451–460
Lerner B, Guterman H (2008) Advanced developments and applications of the fuzzy ARTMAP neural network in pattern classification. In: Jain LC, Sato-Ilic M, Virvou M, Tsihrintzis GA, Balas VE, Abeynayake C (eds) Computational intelligence paradigms studies in computational intelligence, vol 137. Springer, New York, pp 77–107
Lichman M (2013) UCI machine learning repository. http://archive.ics.uci.edu/ml
Ling RF (1974) Comparison of several algorithms for computing sample means and variances. J Am Stat Assoc 69(348):859–866
Lopes L, Ribeiro B (2011) GPUMLib: an efficient open-source GPU machine learning library. Int J Comput Inf Syst Ind Manag Appl 3:2150–7988
Martínez-Zarzuela M, Díaz Pernas FJ, Díez Higuera JF, Rodríguez MA (2007) Fuzzy ART neural network parallel computing on the GPU. In: Sandoval F, Prieto A, Cabestany J, Graa M (eds) Computational and ambient intelligence. Lecture notes in computer science, vol 4507. Springer, Berlin, pp 463–470
Martínez-Zarzuela M, Pernas F, Pablos A, Rodríguez M, Higuera J, Giralda D, Ortega D (2009) Adaptative resonance theory fuzzy networks parallel computation using CUDA. In: Cabestany J, Sandoval F, Prieto A, Corchado J (eds) Bio-inspired systems: computational and ambient intelligence. Lecture notes in computer science, vol 5517. Springer, Berlin, pp 149–156
Murphy KP (2012) Machine learning: a probabilistic perspective (Adaptive computation and machine learning series). The MIT Press, Cambridge
Nickolls J, Buck I, Garland M, Skadron K (2008) Scalable parallel programming with cuda. Queue 6(2):40–53. doi:10.1145/1365490.1365500
Pébay P (2008) Formulas for robust, one-pass parallel computation of covariances and arbitrary-order statistical moments. Sandia Report SAND2008-6212, Sandia National Laboratories
Sasu L, Andonie R (2013) Bayesian ARTMAP for regression. Neural Netw 46:23–31
Tax DM, van Breukelen M, Duin RP, Kittler J (2000) Combining multiple classifiers by averaging or by multiplying? Pattern Recognit 33(9):1475–1485
Vigdor B, Lerner B (2007) The Bayesian ARTMAP. IEEE Trans Neural Netw 18:1628–1644
Welford B (1962) Note on a method for calculating corrected sums of squares and products. Technometrics 4(3):419–420
Williamson J (1996) Gaussian ARTMAP: a neural network for fast incremental learning of noisy multidimensional maps. Neural Netw 9:881–897
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Lőrentz, I., Andonie, R. & Sasu, L.M. Parallel Bayesian ARTMAP and Its OpenCL Implementation. Neural Process Lett 47, 491–507 (2018). https://doi.org/10.1007/s11063-017-9663-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11063-017-9663-x