目录
- 1 神经网络软件
- 2 模拟器
- ▪ 研究模拟器
- ▪ 数据分析模拟器
- ▪ 用于神经网络理论教学的模拟器
- 3 开发环境
- ▪ 基于组件
- ▪ 批评
- 4 定制神经网络
- 5 标准
- ▪ PMML消费者和生产者
神经网络软件
神经网络软件用于仿真、研究、开发和应用人工神经网络,从生物神经网络改编的软件概念,在某些情况下还可以用于更广泛的自适应系统,例如人工智能和机器学习。
模拟器
神经网络模拟器是用于模拟人工或生物神经网络行为的软件应用程序。他们专注于一种或有限数量的特定类型的神经网络。它们通常是独立的,并不打算产生可以集成在其他软件中的通用神经网络。模拟器通常具有某种形式的内置可视化来监视训练过程。一些模拟器还可视化神经网络的物理结构。
研究模拟器
从历史上看,最常见的神经网络软件类型旨在研究神经网络的结构和算法。这种软件的主要目的是通过仿真,以更好地了解神经网络的行为和属性。如今,在人工神经网络的研究中,模拟器已被更通用的基于组件的开发环境作为研究平台所取代。
常用的人工神经网络模拟器包括斯图加特神经网络模拟器(SNNS)、紧急和神经实验室。
然而,在生物神经网络的研究中,仿真软件仍然是xxx可用的方法。在这样的模拟器中,研究了神经组织的物理生物学和化学特性以及神经元之间的电磁脉冲。
常用的生物网络模拟器包括Neuron、GENESIS、NEST和Brian。
数据分析模拟器
与研究模拟器不同,数据分析模拟器旨在用于人工神经网络的实际应用。他们的主要重点是数据挖掘和预测。数据分析模拟器通常具有某种形式的预处理功能。与更一般的开发环境不同,数据分析模拟器使用可以配置的相对简单的静态神经网络。市场上的大多数数据分析模拟器都使用反向传播网络或自组织地图作为其核心。这种软件的优点是相对易于使用。Neural Designer是数据分析模拟器的一个示例。
用于神经网络理论教学的模拟器
当并行分布处理体积是在1986至1987年公布的,它们提供了一些相对简单的软件。原始的PDP软件不需要任何编程技能,因此被各个领域的许多研究人员所采用。原始的PDP软件被开发为功能更强大的软件包,称为PDP ++,而后者又成为了功能更强大的平台,称为 Emergent。随着每一次开发,该软件变得越来越强大,但对于初学者来说也更加令人望而生畏。
1997年,tLearn软件随书发行。这是对提供一个面向新手而设计的小型,用户友好型模拟器的想法的回归。tLearn允许的基本前馈网络以及简单的递归网络,都可以通过简单的反向传播算法进行训练。自1999年以来,tLearn尚未更新。
2011年,发布了Basic Prop模拟器。Basic Prop是一个自包含的应用程序,作为平xxx立的JAR文件分发,提供了许多与tLearn相同的简单功能。
在2012年,Wintempla包含了一个名为NN的命名空间,该命名空间带有一组要实现的C ++类:前馈网络,概率神经网络和Kohonen网络。神经实验室基于Wintempla类。神经实验室教程和Wintempla教程解释了其中一些神经网络类。Wintempla的主要缺点是只能使用Microsoft Visual Studio进行编译。
开发环境
神经网络的开发环境与上述软件的不同之处主要在于两个方面–它们可用于开发自定义类型的神经网络,并且它们支持在环境外部部署神经网络。在某些情况下,它们具有高级的预处理,分析和可视化功能。
基于组件
目前在工业和科学应用中都受到青睐的更现代的开发环境是基于组件的范式。通过在管道过滤器流中连接自适应过滤器组件来构建神经网络。由于可以构建自定义网络以及该网络使用的自定义组件,因此可以提供更大的灵活性。在许多情况下,这允许自适应组件和非自适应组件的组合一起工作。数据流由可交换的控制系统以及自适应算法控制。另一个重要功能是部署功能。
随着基于组件的框架(如.NET和Java)的出现,基于组件的开发环境能够将开发的神经网络作为可继承组件部署到这些框架。此外,某些软件还可以将这些组件部署到多个平台,例如嵌入式系统。
基于组件的开发环境包括:Peltarion Synapse、NeuroDimension NeuroSolutions、Scientific Software Neuro Laboratory和LIONsolver集成软件。免费的基于开源组件的环境包括Encog和Neuroph。
批评
基于组件的开发环境的缺点是它们比模拟器更复杂。他们需要更多的学习知识才能充分运作,并且开发起来更加复杂。
定制神经网络
但是,可用的神经网络的大多数实现是各种编程语言和各种平台上的自定义实现。神经网络的基本类型很容易直接实现。还有许多包含神经网络功能的编程库,可用于自定义实现中(例如TensorFlow、Theano等,通常提供与Python、C ++、Java等语言的绑定)。
标准
为了让不同应用程序共享神经网络模型,必须使用通用语言。该预测模型标记语言(PMML)已经提出了解决这一需求。PMML是一种基于XML的语言,它为应用程序提供了一种在兼容PMML的应用程序之间定义和共享神经网络模型(和其他数据挖掘模型)的方式。
PMML为应用程序提供了一种独立于供应商的定义模型的方法,因此专有问题和不兼容性不再是应用程序之间交换模型的障碍。它允许用户在一个供应商的应用程序内开发模型,并使用其他供应商的应用程序来可视化、分析、评估或以其他方式使用模型。以前,这非常困难,但是使用PMML,兼容应用程序之间的模型交换现在非常简单。
PMML消费者和生产者
提供了一系列产品来生产和消费PMML。这个不断增长的清单包括以下神经网络产品:
- R:通过pmml软件包为神经网络和其他机器学习模型生成PMML。
- SAS Enterprise Miner:为多种挖掘模型生成PMML,包括神经网络、线性和逻辑回归、决策树以及其他数据挖掘模型。
- SPSS:生产用于神经网络以及许多其他挖掘模型的PMML。
- STATISTICA:生产用于神经网络,数据挖掘模型和传统统计模型的PMML。