Abstract
The capability for understanding data passes through the ability of producing an effective and fast classification of the information in a time frame that allows to keep and preserve the value of the information itself and its potential. Machine learning explores the study and construction of algorithms that can learn from and make predictions on data. A powerful tool is provided by self-organizing maps (SOM). The goal of learning in the self-organizing map is to cause different parts of the network to respond similarly to certain input patterns. Because of its time complexity, often using this method is a critical challenge. In this paper we propose a parallel implementation for the SOM algorithm, using parallel processor architecture, as modern graphics processing units by CUDA. Experimental results show improvements in terms of execution time, with a promising speed up, compared to the CPU version and the widely used package SOM_PAK.
Similar content being viewed by others
References
Alahakoon, D., Halgamuge, S.K., Srinivasan, B.: Dynamic self-organizing maps with controlled growth for knowledge discovery. Trans. Neural Netw. 11(3), 601–614 (2000)
Astel, A., Tsakovski, S., Barbieri, P., Simeonov, V.: Comparison of self-organizing maps classification approach with cluster and principal components analysis for large environmental data sets. Water Res. 41(19), 4566–4578 (2007)
Bauer, H.U., Pawelzik, K.: Quantifying the neighborhood preservation of self-organizing feature maps. IEEE Trans. Neural Netw. 3(4), 570–579 (1992)
Chen, H., Schuffels, C., Orwig, R.: Internet categorization and search: a self-organizing approach. J. Vis. Commun. Image Represent. 7(1), 88–102 (1996)
Chianese, A., Marulli, F., Moscato, V., Piccialli, F.: A “smart” multimedia guide for indoor contextual navigation in Cultural Heritage applications. In: 2013 International Conference on Indoor Positioning and Indoor Navigation, IPIN 2013 (2013)
Chianese, A., Piccialli, F., Riccio, G.: Designing a smart multisensor framework based on beaglebone black board. Lecture Notes in Electrical Engineering, vol. 330, pp. 391–397 (2015)
Chianese, A., Piccialli, F.: SmaCH: a framework for smart cultural heritage spaces. In: Proceedings—10th International Conference on Signal-Image Technology and Internet-Based Systems, SITIS 2014, pp. 477–2015 (2015). https://doi.org/10.1109/SITIS.2014.16
Cuomo, S., Galletti, A., Giunta, G., Marcellino, L.: Reconstruction of implicit curves and surfaces via RBF interpolation Appl. Numer. Math. (2016, in press). https://doi.org/10.1016/j.apnum.2016.10.016
Cuomo, S., Galletti, A., Marcellino, L.: A GPU algorithm in a distributed computing system for 3D MRI denoising. In: Xhafa, F., Barolli, L., Messina, F., Ogilla, M.R. (eds.) 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, Krakow, Poland, November 4–6, 2015, pp. 557–562 (2015)
Cuomo, S., Galletti, A., Giunta, G., Marcellino, L.: A novel triangle-based method for scattered data interpolation. Appl. Math. Sci. 8(134), 67176724 (2014)
Cuomo, S., Michele, P.D., Piccialli, F., Galletti, A., Jung, J.E.: IoT-based collaborative reputation system for associating visitors and artworks in a cultural scenario. Expert Syst. Appl. 79, 101–111 (2017)
D’Amore, L., Marcellino, L., Mele, V., Romano, D.: Deconvolution of 3D fluorescence microscopy images using graphics processing units. In: Wyrzykowski, R., et al. (eds.) Proceedings of Conference PPAM2011—International Conference on Parallel Processing and Applied Mathematics, PPAM 2011, Part I, LNCS 7203, pp. 690–699. Springer, Berlin (2012)
González, F.A., Dasgupta, D.: Anomaly detection using real-valued negative selection. Genet. Program Evol. Mach. 4(4), 383–403 (2003)
Harris, M.: Optimizing Parallel Reduction in CUDA, presentation packaged with CUDA Toolkit, NVIDIA Corporation (2007)
Hong, M., Jung, J.J., Piccialli, F., Chianese, A.: Social recommendation service for cultural heritage. Pers. Ubiquit. Comput. 21(2), 191–201 (2017)
Kalteh, A., Hjorth, P., Berndtsson, R.: Review of the self-organizing map (SOM) approach in water resources: analysis, modelling and application. Environ. Model. Softw. 23(7), 835–845 (2008)
Kangas, J.A., Kohonen, T.K., Laaksonen, J.T.: Variants of self-organizing maps. Trans. Neural Netw. 1(1), 93–99 (1990)
Kiviluoto, K.: Topology preservation in self-organizing maps. In: IEEE International Conference on Neural Networks, vol. 1, pp. 294–299 (1996)
Kohonen, T.: Self-organized formation of topologically correct feature maps. Biol. Cybern. 43(1), 5969 (1982)
Kohonen, T.: The self-organizing map. Proc. IEEE 78, 1464–1480 (1990)
Kohonen, T.: The self-organizing map. Neurocomputing 21(13), 1–6 (1998)
Kohonen, T., Somervuo, P.: How to make large self-organizing maps for nonvectorial data. Neural Netw. 15(8–9), 945–952 (2002)
Kohonen, T., Oja, E., Simula, O., Visa, A., Kangas, J.: Engineering applications of the self-organizing map. Proc. IEEE 84(10), 1358–1384 (1996)
Kohonen, T., Kaski, S., Lagus, K., Salojarvi, J., Honkela, J., Paatero, V., Saarela, A.: Self organization of a massive document collection. Trans. Neural Netw. 11(3), 574–585 (2000)
Moraes, F.C., Botelho, S.C., Filho, N.D., Gaya, J.F.O.: Parallel high dimensional self organizing maps using CUDA. In: Robotics Symposium and Latin American Robotics Symposium (SBR-LARS), 2012 Brazilian, Fortaleza, 2012, pp. 302–306. https://doi.org/10.1109/SBR-LARS.2012.56
Moraes, F., Botelho, S., Filho, N., Gaya, J.: Parallel high dimensional self organizing maps using CUDA, pp 302–306 (2012)
Neelima, B., Raghavendra, P.S.: Recent trends in software and hardware for GPGPU computing: a comprehensive survey. In: 2010 5th International Conference on Industrial and Information Systems, pp. 319–324 (2010)
Owens, J., Luebke, D., Govindaraju, N., Harris, M., Krger, J., Lefohn, A., Purcell, T.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26(1), 80–113 (2007)
Plato, J., Gajdo, P.: Large data real-time classification with non-negative matrix factorization and self-organizing maps on GPU, pp. 176–181 (2010)
Richardson, T., Winer, E.: Extending parallelization of the self-organizing map by combining data and network partitioned methods. Adv. Eng. Softw. 88, 1–7 (2015)
Sharma, K.: High performance GPU based optimized feature matching for computer vision applications. Optik Int. J. Light Electron Opt. 127(3), 1153–1159 (2016)
Shiralkar, M., Schalkoff, R.: A self-organization based optical flow estimator with GPU implementation. Mach. Vis. Appl. 23(6), 1229–1242 (2012)
Song, T., Kerong, B., Liye, T., Zhang, L.: Combination of SOM and RBF based on incremental learning for acoustic fault identification of underwater vehicles. In: Image and Signal Processing, 2008. CISP ’08: 27–30 May 2008. IEEE, Washington (2008). https://doi.org/10.1109/CISP.2008.418
Strong, G., Gong, M.: Similarity-based image organization and browsing using multi-resolution self-organizing map. Image Vis. Comput. 29(11), 774–786 (2011)
Tan, X., Chen, S., Zhou, Z., Zhang, F.: Recognizing partially occluded, expression variant faces from single training image per person with SOM and soft k-nn ensemble. IEEE Trans. Neural Netw. 16(4), 875–886 (2005)
Vesanto, J., Alhoniemi, E.: Clustering of the self-organizing map. Trans. Neural Netw. 11(3), 586–600 (2000)
Wang, H., Mansouri, A., Crput, J.C., Ruichek, Y.: Massively parallel cellular matrix model for superpixel adaptive segmentation map. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 9414, pp. 325–336 (2015)
Wang, H.F., Chen, Q.K.: General purpose computing of graphics processing unit: a survey. Chin. J. Comput. 36(4), 757–772 (2013)
Wittek, P., Darnyi, S.: Accelerating text mining workloads in a mapreduce-based distributed GPU environment. J. Parallel Distrib. Comput. 73(2), 198–206 (2013)
Xiao, Y., Leung, C., Ho, T.Y., Lam, P.M.: A GPU implementation for LBG and SOM training. Neural Comput. Appl. 20(7), 1035–1042 (2011)
Xiao, Y., Feng, R.B., Han, Z.F., Leung, C.S.: GPU accelerated self-organizing map for high dimensional data. Neural Process. Lett. 41(3), 341–355 (2015)
Zhang, N., Wang, H., Creput, J.C., Moreau, J., Ruichek, Y.: Cellular GPU model for structured mesh generation and its application to the stereo-matching disparity map, pp. 53–60 (2013)
Zhongwen, L., Hongzhi, L., Zhengping, Y., Xincai, W.: Self-organizing maps computing on graphic process unit, pp 557–562 (2007)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cuomo, S., De Michele, P., Di Nardo, E. et al. Parallel Implementation of a Machine Learning Algorithm on GPU. Int J Parallel Prog 46, 923–942 (2018). https://doi.org/10.1007/s10766-017-0554-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-017-0554-6