XPySom: High-Performance Self-Organizing Maps

In this paper, we introduce XPySom, a new open-source Python implementation of the well-known Self-Organizing Maps (SOM) technique. It is designed to achieve high performance on a single node, exploiting widely available Python libraries for vector processing on multi-core CPUs and GP-GPUs. We present results from an extensive experimental evaluation of XPySom in comparison to widely used open-source SOM implementations, showing that it outperforms the other available alternatives. Indeed, our experimentation carried out using the Extended MNIST open data set shows a speed-up of about 7x and 100x when compared to the best open-source multi-core implementations we could find with multi-core and GP-GPU acceleration, respectively, achieving the same accuracy levels in terms of quantization error.

[1]  Marco Vannucci,et al.  SOM-based behavioral analysis for virtualized network functions , 2020, SAC.

[2]  G. Pfurtscheller,et al.  Pattern Recognition of EEG Signal during Motor Imagery by Using SOM , 2007, Second International Conference on Innovative Computing, Informatio and Control (ICICIC 2007).

[3]  Richard Hurley,et al.  Scalability of Self-organizing Maps on a GPU cluster using OpenCL and CUDA , 2012 .

[4]  Andrew Chi-Sing Leung,et al.  GPU Accelerated Self-Organizing Map for High Dimensional Data , 2014, Neural Processing Letters.

[5]  Mario Porrmann,et al.  From CPU to FPGA — Acceleration of self-organizing maps for data mining , 2017, 2017 International Joint Conference on Neural Networks (IJCNN).

[6]  Ignacio Díaz Blanco,et al.  A new approach to exploratory analysis of system dynamics using SOM. Applications to industrial processes , 2008, Expert Syst. Appl..

[7]  Emilio Corchado,et al.  WeVoS-ViSOM: An ensemble summarization algorithm for enhanced data visualization , 2012, Neurocomputing.

[8]  Luca Maria Gambardella,et al.  Flexible, High Performance Convolutional Neural Networks for Image Classification , 2011, IJCAI.

[9]  Mustapha Lebbah,et al.  SOM Clustering Using Spark-MapReduce , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[11]  Eliot Winer,et al.  Extending parallelization of the self-organizing map by combining data and network partitioned methods , 2015, Adv. Eng. Softw..

[12]  L. Canetta *,et al.  Applying two-stage SOM-based clustering approaches to industrial data analysis , 2005 .

[13]  Esteban J. Palomo,et al.  Application of growing hierarchical SOM for visualisation of network forensics traffic data , 2012, Neural Networks.

[14]  Teuvo Kohonen,et al.  The self-organizing map , 1990, Neurocomputing.

[15]  Abel A. Cuadrado,et al.  A new approach to exploratory analysis of system dynamics using SOM. Applications to industrial processes , 2008 .

[16]  Felix M. Riese SUSI: SUpervised Self-organIzing maps in Python , 2019 .

[17]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[18]  Steven J. Plimpton,et al.  MapReduce in MPI for Large-scale graph algorithms , 2011, Parallel Comput..

[19]  Wittek,et al.  somoclu : An Efficient Parallel Library for Self-Organizing Maps , 2016 .

[20]  Andreas Rauber,et al.  parSOM: a parallel implementation of the self-organizing map exploiting cache effects: making the SOM fit for interactive high-performance data analysis , 2000, Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium.

[21]  Tommy W. S. Chow,et al.  PolSOM: A new method for multidimensional data visualization , 2010, Pattern Recognit..

[22]  Peter Wittek,et al.  A GPU-accelerated algorithm for self-organizing maps in a distributed environment , 2012, ESANN.

[23]  Zhi-Hua Zhou,et al.  SOM Ensemble-Based Image Segmentation , 2004, Neural Processing Letters.

[24]  Marco Vannucci,et al.  Behavioral Analysis for Virtualized Network Functions: A SOM-based Approach , 2020, CLOSER.

[25]  Yuan Zhang,et al.  A parallel adaptive segmentation method based on SOM and GPU with application to MRI image processing , 2016, Neurocomputing.

[26]  John F. Canny,et al.  T-SNE-CUDA: GPU-Accelerated T-SNE and its Applications to Modern Data , 2018, 2018 30th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).

[27]  Cheng-Lung Huang,et al.  Defect spatial pattern recognition using a hybrid SOM-SVM approach in semiconductor manufacturing , 2009, Expert Syst. Appl..

[28]  Toshiyuki Nakata,et al.  Accelerating Solution of Generalized Linear Models by Solving Normal Equation Using GPGPU on a Large Real-World Tall-Skinny Data Set , 2019, 2019 31st International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).

[29]  Gregory Cohen,et al.  EMNIST: an extension of MNIST to handwritten letters , 2017, CVPR 2017.

[30]  Matheus A. Souza,et al.  Energy Efficient Parallel K-Means Clustering for an Intel® Hybrid Multi-Chip Package , 2018, 2018 30th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).