下一页 上一页 目录

3. 连接主义

连接主义是相关技术群体的技术术语。这些技术包括诸如人工神经网络、语义网络以及其他一些类似的想法的领域。我目前的重点是神经网络(尽管我正在寻找关于其他技术的资源)。神经网络是旨在模拟大脑运作的程序。它们由基于小型数学的节点网络组成,这些节点协同工作以形成信息模式。它们具有巨大的潜力,目前在图像处理和机器人控制方面似乎取得了很大的成功。

3.1 连接主义类/代码库

这些是用于在连接主义领域内编程的代码或类库。它们并非旨在作为独立的应用程序,而是作为构建您自己的应用程序的工具。

用于灵活贝叶斯建模的软件

此软件实现了灵活的贝叶斯模型,用于基于多层感知器神经网络或高斯过程的回归和分类应用。该实现使用了马尔可夫链蒙特卡罗方法。发行版中包含支持马尔可夫链抽样的软件模块,这些模块可能在其他应用中也很有用。

BELIEF

BELIEF 是 Dempster 和 Kong 融合与传播算法的 Common Lisp 实现,用于图形化信念函数模型,以及 Lauritzen 和 Spiegelhalter 算法用于图形化概率模型。它包括用于操作图形化信念模型(如贝叶斯网络和关联图(影响图的子集))的代码,使用信念函数和概率作为不确定性的基本表示。它使用 Shenoy 和 Shafer 版本的算法,因此其独特的特点之一是它同时支持概率分布和信念函数。它还对二阶模型(参数的概率分布)提供有限的支持。

bpnn.py

一个简单的 Python 反向传播人工神经网络。

brain

Brain 是一个轻量级的 JavaScript 神经网络库。它实现了使用反向传播训练的标准前馈多层感知器神经网络。

brain-simulator

Brian 是一个用于脉冲神经网络的时钟驱动模拟器。它的设计重点是灵活性和可扩展性,用于快速开发和改进神经模型。神经元模型由用户指定的微分方程组、阈值条件和重置条件(以字符串形式给出)来指定。重点主要放在单区室神经元模型网络(例如,漏积发放或 Hodgkin-Huxley 型神经元)。它用 Python 编写,易于学习和使用,高度灵活且易于扩展。功能包括

CNNs

细胞神经网络 (CNN) 是在离散 N 维空间中定义的大规模并行计算范式。可视化 CNN 模拟器,允许跟踪状态轨迹的演变方式,从而深入了解 CNN 动力学的行为。这可能有助于形成关于 CNN “如何工作”的想法,特别是对于那些没有 CNN 理论经验的人。

CONICAL

CONICAL 是一个 C++ 类库,用于构建计算神经科学中常见的模拟。目前,它的重点是区室建模,其功能类似于 GENESIS 和 NEURON。模型神经元由区室构成,通常呈圆柱形。当足够小时,这些开口的圆柱体可以近似于几乎任何几何形状。未来的类可能支持反应扩散动力学等。CONICAL 的一个关键特性是其跨平台兼容性;它已在 Unix、DOS 和 Mac OS 下完全共同开发和测试。

Encog

Encog 是一个先进的神经网络和机器学习框架。Encog 包含用于创建各种网络的类,以及用于规范化和处理这些神经网络数据的支持类。Encog 使用多线程弹性反向传播进行训练。Encog 还可以利用 GPU 进一步加速处理时间。还提供了一个基于 GUI 的工作台,以帮助建模和训练神经网络。Encog 自 2008 年以来一直处于积极开发中。Encog 可用于 Java、.Net 和 Silverlight。

FANN

快速人工神经网络库是一个免费的开源神经网络库,它在 C 语言中实现了多层人工神经网络,支持完全连接和稀疏连接的网络。支持在固定和浮点中进行跨平台执行。它包括一个用于轻松处理训练数据集的框架。它易于使用、功能多样、文档完善且速度快。提供 PHP、C++、.NET、Ada、Python、Delphi、Octave、Ruby、Prolog Pure Data 和 Mathematica 绑定。参考手册附带库,其中包含关于如何使用该库的示例和建议。该库还提供图形用户界面。

ffnet

ffnet 是一个快速且易于使用的 Python 前馈神经网络训练解决方案。实现了许多不错的功能:任意网络连接性、自动数据规范化、非常高效的训练工具、网络导出到 fortran 代码。

Joone

Joone 是一个神经网络框架,用于创建、训练和测试神经网络。目标是基于最新的 Java 技术,为热情的用户和专业用户创建一个基于 JavaSpaces 的分布式环境。Joone 由一个中央引擎组成,该引擎是所有已存在或将要开发的应用程序的支点。神经引擎是模块化的、可扩展的、多任务的和可伸展的。任何人都可以编写新模块,以实现新的算法或新的架构,从核心引擎分发的简单组件开始。主要思想是创建基础,以促进围绕核心框架旋转的大量人工智能应用程序。

Matrix Class

一个简单、快速、高效的 C++ 矩阵类,专为科学家和工程师设计。Matrix 类非常适合具有复杂数学算法的应用程序。作为 Matrix 类的演示,它被用于实现多层前馈人工神经网络的反向误差传播算法。

NEAT

许多神经进化方法进化固定拓扑网络。一些方法除了权重外还进化拓扑,但这些方法通常对可以进化的网络复杂度有限制,并且以随机拓扑开始进化。本项目基于一种称为增强拓扑神经进化 (NEAT) 的神经进化方法,该方法可以从最小的起点进化出无界复杂度的网络。

该研究更广泛的目标是表明,进化拓扑对于实现神经进化的 3 个主要目标是必要的:(1)持续协同进化:成功的竞争性协同进化可以使用拓扑的进化来不断完善策略。(2)自适应网络的进化:拓扑的进化允许神经进化进化具有可塑突触的自适应网络,通过指定哪些连接应该是自适应的以及以何种方式。(3)专家网络的组合:可以通过进化它们之间的连接神经元来融合独立的专家神经网络。

NeuroLab

NeuroLab - 具有灵活网络配置和 Python 学习算法的基本神经网络算法库。为了简化库的使用,界面类似于 MATLAB (c) 的神经网络工具箱 (NNT) 的软件包。该库基于 numpy 软件包 (http://numpy.scipy.org),一些学习算法使用了 scipy.optimize (https://scipy.org.cn)。

NuPIC

用于智能计算的 Numenta 平台 (NuPIC) 是围绕皮层学习算法构建的,这是 HTM 网络(分层时间记忆)的一种新变体。基于 Jeff Hawkins 在他的《On Intelligence》一书中提出的想法。NuPIC 由 Numenta 工具框架和 Numenta 运行时引擎组成。

Pulcinella

Pulcinella 用 CommonLisp 编写,并以 Lisp 函数库的形式出现,用于创建、修改和评估估值系统。或者,用户可以选择通过图形界面(仅在 Allegro CL 中可用)与 Pulcinella 交互。Pulcinella 提供原语,以根据几种不确定性演算(包括概率论、可能性理论和 Dempster-Shafer 的信念函数理论;以及 Zadeh、Dubois 和 Prade 的可能性理论)构建和评估不确定性模型。用户手册可应要求提供。

scnANNlib

SCN 人工神经网络库为程序员提供了一个简单的面向对象 API,用于构建 ANN。目前,该库支持具有任意层数的非递归网络,每层具有任意数量的节点。存在使用动量进行训练的工具,并且计划在以后的版本中优雅地扩展库的功能。

UTCS 神经网络研究组软件

与其他条目略有不同,这是一个对软件集合的引用,而不是一个应用程序。它全部由UTCS 神经网络研究组开发。以下是一些可用软件包的摘要

各种 (C++) 神经网络

来自书籍 人工智能模式识别基础 的神经网络代码示例。这些是各种神经网络的简单示例代码。它们作为简单实验和学习模拟器背后代码的好起点。此站点上提供的网络类型有:(用 C++ 实现)

3.2 连接主义软件包/应用程序

这些是各种应用程序、软件包等,旨在用于连接主义领域的研究。它们的易用性各不相同,因为它们的设计目的是满足某些特定的研究兴趣,而不是作为易于使用的商业软件包。

Aspirin - MIGRAINES

(ftp 站点上的 am6.tar.Z)

我们现在发布的软件用于创建和评估前馈网络,例如那些与反向传播学习算法一起使用的网络。该软件既面向可能希望根据自身精确需求定制系统重要部分的专家程序员/神经网络研究人员,也面向希望以绝对最小的努力使用该系统的普通用户。

DDLab

DDLab 是一个交互式图形程序,用于研究有限二元网络的动力学,与复杂性、涌现现象、神经网络以及理论生物学的某些方面(如基因调控网络)相关。网络可以使用规则 CA(1d 或 2d)和“随机布尔网络”(具有任意连接和异构规则的网络)之间的任何架构进行设置。网络也可能具有异构邻域大小。

Emergent

注意:这是 PDP++ 的后代

emergent 是一个全面的、全功能的神经网络模拟器,允许创建和分析大脑在世界中的复杂、精细模型。在强调定性分析和教学的同时,它也支持专业神经网络研究人员的工作流程。GUI 环境允许用户快速构建基本网络、修改输入/输出模式、自动生成训练和测试网络所需的基本程序,并轻松利用多种数据处理和网络分析工具。除了基本预设网络训练和测试程序外,构建在脚本语言之上的高级拖放式编程界面,可以完全内省地访问网络和软件本身的所有方面,允许人们编写程序,无缝地将网络的训练与其环境的演变结合在一起,而无需键入一行代码。网络及其所有状态变量都在 3D 中进行可视化检查,从而可以快速“视觉回归”网络动力学和机器人行为。

GENESIS

GENESIS(通用神经模拟系统缩写)是一个通用模拟平台,它被开发用于支持从单个神经元的复杂模型到由更抽象的神经元组件组成的大型网络的神经系统模拟。GENESIS 为加州理工学院和伍兹霍尔海洋生物实验室以及其他几所机构的神经模拟实验室课程提供了基础。当前大多数 GENESIS 应用都涉及生物神经系统的真实模拟。尽管该软件还可以模拟更抽象的网络,但其他模拟器更适合反向传播和类似的连接主义建模。

JavaBayes

JavaBayes 系统是一组工具,包含图形编辑器、核心推理引擎和解析器。JavaBayes 可以产生

Jbpe

Jbpe 是一个反向传播神经网络编辑器/模拟器。

功能

Nengo

Nengo(Nengo 神经模拟器)是一个基于图形和脚本的软件包,用于模拟大规模神经系统。

要使用它,您需要根据神经元组所代表的内容来定义神经元组,然后根据应该对这些表示执行的计算在神经元组之间形成连接。然后,Nengo 使用神经工程框架 (NEF) 来求解适当的突触连接权重,以实现这种期望的计算。Nengo 还支持各种类型的学习。Nengo 帮助制作详细的脉冲神经元模型,这些模型实现了复杂的高级认知算法。

除其他外,Nengo 已被用于实现运动控制、视觉注意力、序列回忆、动作选择、工作记忆、吸引子网络、归纳推理、路径积分以及问题解决规划。

Spaun http://models.nengo.ca/spaun 神经模拟器在 Nengo 中实现,其源代码也可用。

Neural Network Generator

神经网络生成器是一种用于前馈神经网络拓扑优化的遗传算法。它实现了语义变化遗传算法和单元簇模型。语义变化遗传算法是一种扩展的遗传算法,它允许通过种群分析快速动态适应遗传编码。单元簇模型是一种构建具有“骨干”结构的模块化前馈网络的方法。

注意:要在 Linux 上编译此程序,需要在 Makefile 中进行一项更改。您需要将 '-ltermlib' 更改为 '-ltermcap'。

NEURON

NEURON 是一个可扩展的神经建模和模拟程序。它允许您通过将多个一维切片连接在一起来创建复杂的神经模型,以形成任意细胞形态,并允许您将多种膜特性插入这些切片(包括通道、突触、离子浓度和计数器)。该界面的设计旨在为神经建模者提供直观的环境,并隐藏模拟中使用的数值方法的细节。

Neuroph

Neuroph 是一个轻量级的 Java 神经网络框架,用于开发通用神经网络架构。它包含设计良好、开源的 Java 库,其中包含少量与基本神经网络概念相对应的基本类。还具有不错的 GUI 神经网络编辑器,可快速创建 Java 神经网络组件。

PDP++

注意:已重命名为 Emergent

随着连接主义建模领域的发展,对用于开发和测试连接主义模型的综合模拟环境的需求也在增长。我们在开发 PDP++ 中的目标是将几个强大的软件开发和用户界面工具集成到一个通用模拟环境中,该环境既用户友好又用户可扩展。该模拟器是用 C++ 编程语言构建的,并结合了最先进的脚本解释器,具有 C++ 的完整表达能力。图形用户界面是使用 Interviews 工具包构建的,并允许完全访问构成模拟器的数据结构和处理模块。我们构建了几个有用的图形模块,以便于与神经网络的结构和内容进行交互,并且我们使更改和调整许多内容成为可能。在编程级别,我们将事情设置为使用户扩展尽可能轻松。程序员创建新的 C++ 对象,这些对象可能是新型的单元或新型的过程;一旦编译并链接到模拟器中,这些新对象就可以像任何其他对象一样被访问和使用。

RNS

RNS(循环网络模拟器)是循环神经网络的模拟器。也支持常规神经网络。该程序使用反向传播算法的变体,但也包括其他(未经良好测试的)算法。

功能包括

Python 中的语义网络

semnet.py 模块定义了几个简单的类,用于构建和使用语义网络。语义网络是一种表示知识的方式,它使程序能够以程序员很少的努力进行简单的推理。

定义了以下类

使用这三种对象类型,您可以非常快速地定义关于一组对象的知识,并查询它们以获得逻辑结论。

SNNS

斯图加特神经网络模拟器(版本 4.1)。一个强大的神经网络模拟器。比我见过的任何商业模拟器都好。模拟器内核是用 C 语言编写的(速度很快!)。它支持 20 多种不同的网络架构,具有基于 2D 和 3D X 的图形表示,2D GUI 具有集成的网络编辑器,并且可以用 C 语言生成单独的神经网络程序。SNNS 非常强大,但起初有点难学。为了帮助解决这个问题,它附带了许多架构的示例网络和教程。ENZO,一个补充系统,允许您使用遗传算法进化您的网络。

TOOLDIAG

TOOLDIAG 是用于统计模式识别的方法集合。主要应用领域是分类。应用领域仅限于多维连续特征,没有任何缺失值。不允许使用符号特征(属性)。该程序用 'C' 编程语言实现,并在多种计算环境中进行了测试。

XNBC

XNBC v8 是一个模拟工具,适用于对使用用户友好工具模拟生物神经网络感兴趣的神经科学家。

XNBC 是一个用于模拟生物神经网络的软件包。

提供四种神经元模型,三种现象学模型(xnbc、漏泄积分器和条件性爆发器)和一个基于离子电导的模型。模拟神经元的输入可以由存储在文件中的实验数据提供,从而允许创建“混合”网络。


下一页 上一页 目录