- Artificial Neural Network Tutorial
- Artificial Neural Network - Home
- Basic Concepts
- Building Blocks
- Learning & Adaptation
- Supervised Learning
- Unsupervised Learning
- Learning Vector Quantization
- Adaptive Resonance Theory
- Kohonen Self-Organizing Feature Maps
- Associate Memory Network
- Hopfield Networks
- Boltzmann Machine
- Brain-State-in-a-Box Network
- Optimization Using Hopfield Network
- Other Optimization Techniques
- Genetic Algorithm
- Applications of Neural Networks
- Artificial Neural Network Resources
- Quick Guide
- Useful Resources
- Discussion
人工神经网络 - 基本概念
神经网络是并行计算设备,基本上是尝试建立大脑的计算机模型。主要目标是开发一种比传统系统更快地执行各种计算任务的系统。这些任务包括模式识别和分类、近似、优化和数据聚类。
什么是人工神经网络?
人工神经网络(ANN)是一种高效的计算系统,其中心主题借鉴了生物神经网络的类比。人工神经网络也被称为“人工神经系统”、“并行分布式处理系统”或“连接主义系统”。人工神经网络获取大量单元,这些单元以某种模式互连,以允许单元之间进行通信。这些单元也称为节点或神经元,是并行操作的简单处理器。
每个神经元通过连接链路与其他神经元连接。每个连接链路都与一个权重相关联,该权重具有有关输入信号的信息。这是神经元解决特定问题最有用的信息,因为权重通常会激发或抑制正在传递的信号。每个神经元都有一个内部状态,称为激活信号。组合输入信号和激活规则后产生的输出信号可以被发送到其他单元。
人工神经网络简史
ANN的历史可以分为以下三个时代 -
1940 年代至 1960 年代的 ANN
这个时代的一些关键发展如下:
1943 年- 人们认为神经网络的概念始于生理学家 Warren McCulloch 和数学家 Walter Pitts 的工作,当时他们在 1943 年使用电路建模了一个简单的神经网络,以描述大脑中的神经元如何工作工作。
1949 年- Donald Hebb 的书《Behave的组织》提出了这样一个事实:一个神经元被另一个神经元重复激活会在每次使用时增加其强度。
1956 - 泰勒提出了联想记忆网络。
1958 年- Rosenblatt 发明了一种名为 Perceptron 的 McCulloch 和 Pitts 神经元模型的学习方法。
1960 年– Bernard Widrow 和 Marcian Hoff 开发了名为“ADALINE”和“MADALINE”的型号。
1960 年代至 1980 年代的 ANN
这个时代的一些关键发展如下:
1961 - Rosenblatt 进行了一次不成功的尝试,但提出了多层网络的“反向传播”方案。
1964 - 泰勒构建了一个赢家通吃的电路,并在输出单元之间进行了抑制。
1969 年- 多层感知器 (MLP) 由 Minsky 和 Papert 发明。
1971 – Kohonen 开发了联想记忆。
1976 年- Stephen Grossberg 和 Gail Carpenter 开发了自适应共振理论。
ANN 从 20 世纪 80 年代至今
这个时代的一些关键发展如下:
1982 年– 主要发展是 Hopfield 的能源方法。
1985 – 玻尔兹曼机由 Ackley、Hinton 和 Sejnowski 开发。
1986 年- Rumelhart、Hinton 和 Williams 引入了广义 Delta 规则。
1988 – Kosko 开发了二进制关联存储器(BAM),并在 ANN 中提出了模糊逻辑的概念。
历史回顾表明,这一领域已经取得了重大进展。基于神经网络的芯片正在兴起,并且正在开发解决复杂问题的应用程序。当然,今天是神经网络技术的过渡时期。
生物神经元
神经细胞(神经元)是一种处理信息的特殊生物细胞。据估计,神经元数量巨大,大约有10 11 个,神经元之间的相互连接也很多,大约有10 15 个。
原理图,示意图
生物神经元的工作
如上图所示,一个典型的神经元由以下四个部分组成,借助这些部分我们可以解释其工作原理 -
树突- 它们是树状分支,负责从其连接的其他神经元接收信息。从另一种意义上来说,我们可以说它们就像神经元的耳朵。
Soma - 它是神经元的细胞体,负责处理从树突接收的信息。
轴突- 它就像神经元发送信息的电缆。
突触- 它是轴突和其他神经元树突之间的连接。
ANN 与 BNN
在了解人工神经网络 (ANN) 和生物神经网络 (BNN) 之间的差异之前,让我们先根据这两者之间的术语来了解一下相似之处。
生物神经网络(BNN) | 人工神经网络 (ANN) |
---|---|
索马 | 节点 |
树突 | 输入 |
突触 | 重量或互连 |
轴突 | 输出 |
下表显示了基于提到的一些标准的 ANN 和 BNN 之间的比较。
标准 | 神经网络 | 神经网络 |
---|---|---|
加工 | 大规模并行,缓慢但优于 ANN | 大规模并行,速度快但不如 BNN |
尺寸 | 10 11 个神经元和 10 15 个互连 | 10 2至 10 4 个节点(主要取决于应用类型和网络设计者) |
学习 | 他们可以容忍暧昧 | 需要非常精确、结构化和格式化的数据来容忍歧义 |
容错能力 | 即使部分损坏也会导致性能下降 | 它具有强大的性能,因此具有容错的潜力 |
存储容量 | 将信息存储在突触中 | 将信息存储在连续的内存位置 |
人工神经网络模型
下图展示了 ANN 的一般模型及其处理过程。
对于上述人工神经网络的通用模型,净输入可以计算如下 -
$$y_{in}\:=\:x_{1}.w_{1}\:+\:x_{2}.w_{2}\:+\:x_{3}.w_{3}\: \dotso\: x_{m}.w_{m}$$
即,净输入 $y_{in}\:=\:\sum_i^m\:x_{i}.w_{i}$
可以通过对净输入应用激活函数来计算输出。
$$Y\:=\:F(y_{in}) $$
输出 = 函数(计算出的净输入)