Creator of Knowledge
Information Resources Management Association
Advancing the Concepts & Practices of Information Resources Management in Modern Organizations

Stream Processing of a Neural Classifier I

Stream Processing of a Neural Classifier I
View Sample PDF
Author(s): M. Martínez-Zarzuela (University of Valladolid, Spain), F. J. Díaz Pernas (University of Valladolid, Spain), D. González Ortega (University of Valladolid, Spain), J. F. Díez Higuera (University of Valladolid, Spain) and M. Antón Rodríguez (University of Valladolid, Spain)
Copyright: 2011
Pages: 8
Source title: Gaming and Simulations: Concepts, Methodologies, Tools and Applications
Source Author(s)/Editor(s): Information Resources Management Association (USA)
DOI: 10.4018/978-1-60960-195-9.ch419


View Stream Processing of a Neural Classifier I on the publisher's website for pricing and purchasing information.


An Artificial Neural Network (ANN) is a computational structure inspired by the study of biological neural processing. Although neurons are considered as very simple computation units, inside the nervous system, an incredible amount of widely inter-connected neurons can process huge amounts of data working in a parallel fashion. There are many different types of ANNs, from relatively simple to very complex, just as there are many theories on how biological neural processing works. However, execution of ANNs is always a heavy computational task. Important kinds of ANNs are those devoted to pattern recognition such as Multi-Layer Perceptron (MLP), Self-Organizing Maps (SOM) or Adaptive Resonance Theory (ART) classifiers (Haykin, 2007). Traditional implementations of ANNs used by most of scientists have been developed in high level programming languages, so that they could be executed on common Personal Computers (PCs). The main drawback of these implementations is that though neural networks are intrinsically parallel systems, simulations are executed on a Central Processing Unit (CPU), a processor designed for the execution of sequential programs on a Single Instruction Single Data (SISD) basis. As a result, these heavy programs can take hours or even days to process large input data. For applications that require real-time processing, it is possible to develop small ad-hoc neural networks on specific hardware like Field Programmable Gate Arrays (FPGAs). However, FPGA-based realization of ANNs is somewhat expensive and involves extra design overheads (Zhu & Sutton, 2003). Using dedicated hardware to do machine learning was typically expensive; results could not be shared with other researchers and hardware became obsolete within a few years. This situation has changed recently with the popularization of Graphics Processing Units (GPUs) as low-cost and high-level programmable hardware platforms. GPUs are being increasingly used for speeding up computations in many research fields following a Stream Processing Model (Owens, Luebke, Govindaraju, Harris, Krüger, Lefohn & Purcell, 2007). This article presents a GPU-based parallel implementation of a Fuzzy ART ANN, which can be used both for training and testing processes. Fuzzy ART is an unsupervised neural classifier capable of incremental learning, widely used in a universe of applications as medical sciences, economics and finance, engineering and computer science. CPU-based implementations of Fuzzy ART lack efficiency and cannot be used for testing purposes in real-time applications. The GPU implementation of Fuzzy ART presented in this article speeds up computations more than 30 times with respect to a CPU-based C/C++ development when executed on an NVIDIA 7800 GT GPU.

Related Content

K. Jairam Naik, Annukriti Soni. © 2021. 18 pages.
Randhir Kumar, Rakesh Tripathi. © 2021. 22 pages.
Yogesh Kumar Gupta. © 2021. 38 pages.
Kamel H. Rahouma, Ayman A. Ali. © 2021. 34 pages.
Muni Sekhar Velpuru. © 2021. 19 pages.
Vijayakumari B.. © 2021. 24 pages.
Neetu Faujdar, Anant Joshi. © 2021. 41 pages.
Body Bottom