Stream Processing of a Neural Classifier I

M. Martínez-Zarzuela, F. Pernas, D. G. Ortega, J. F. Higuera, M. Antón-Rodríguez
{"title":"Stream Processing of a Neural Classifier I","authors":"M. Martínez-Zarzuela, F. Pernas, D. G. Ortega, J. F. Higuera, M. Antón-Rodríguez","doi":"10.4018/978-1-59904-849-9.CH218","DOIUrl":null,"url":null,"abstract":"INTRODUCTION 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 interconnected 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 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.","PeriodicalId":320314,"journal":{"name":"Encyclopedia of Artificial Intelligence","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Encyclopedia of Artificial Intelligence","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4018/978-1-59904-849-9.CH218","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

INTRODUCTION 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 interconnected 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 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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
神经分类器的流处理[j]
人工神经网络(ANN)是一种受生物神经处理研究启发的计算结构。虽然神经元被认为是非常简单的计算单位,但在神经系统内部,数量惊人的广泛互联的神经元可以并行处理大量数据。有许多不同类型的人工神经网络,从相对简单到非常复杂,就像有许多关于生物神经处理如何工作的理论一样。然而,人工神经网络的执行一直是一项繁重的计算任务。重要的人工神经网络是那些致力于模式识别的,如多层感知器(MLP)、自组织映射(SOM)或自适应共振理论(ART)分类器(Haykin, 2007)。大多数科学家使用的人工神经网络的传统实现是用高级编程语言开发的,因此它们可以在普通的个人计算机(pc)上执行。这些实现的主要缺点是,尽管神经网络本质上是并行系统,但模拟是在中央处理单元(CPU)上执行的,CPU是为在单指令单数据(SISD)基础上执行顺序程序而设计的处理器。因此,这些繁重的程序可能需要数小时甚至数天的时间来处理大量输入数据。对于需要实时处理的应用,可以在现场可编程门阵列(fpga)等特定硬件上开发小型自组织神经网络。然而,基于fpga的人工神经网络的实现有些昂贵,并且涉及额外的设计开销(Zhu & Sutton, 2003)。使用专用硬件进行机器学习通常是昂贵的;结果不能与其他研究人员共享,硬件在几年内就过时了。随着图形处理单元(gpu)作为低成本和高级可编程硬件平台的普及,这种情况最近有所改变。在许多研究领域,gpu越来越多地用于加速流处理模型的计算。本文提出了一种基于gpu的模糊ART人工神经网络并行实现,可用于训练和测试过程。模糊艺术是一种无监督的神经分类器,能够进行增量学习,广泛应用于医学、经济、金融、工程和计算机科学等领域。基于cpu的模糊ART实现缺乏效率,不能用于实时应用中的测试目的。本文介绍的模糊艺术的GPU实现在NVIDIA 7800 GT GPU上执行时,与基于cpu的C/ c++开发相比,计算速度提高了30倍以上。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Emerging Applications in Immersive Technologies Knowledge-Based Systems RBF Networks for Power System Topology Verification Association Rule Mining "Narrative" Information Problems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1