2.1.3 神经网络的拓扑结构

神经网络由大量相互连接的神经元构成,它们通常被安排在不同的层上。神经网络的学习能力来源于它的拓扑结构,或者相互连接的神经元的模式与结构。虽然网络结构有多种形式,但是可以通过3个关键特征来区分:

  • 层的数目;
  • 网络中的信息是否允许反向传播;
  • 网络中每一层内的节点数。

拓扑结构决定了可以通过网络进行学习任务的复杂性。一般来说,更大、更复杂的网络能够识别更复杂的决策边界。然而,神经网络的效能不仅取决于一个网络规模的函数,也取决于其构成元素的组织方式。

一个神经网络的网络结构通常会分成以下3层:输入层(input layer)、隐藏层(hidden layer)和输出层(output layer),如图2-6所示。

041-1

图2-6 经典的神经网络架构

输入层在整个网络的最前端,直接接收输入的向量,它是不对数据做任何处理的,所以通常这一层不计入层数。

隐藏层可以有一层或多层。当然也可以没有隐藏层,此时就是最简单的神经网络模型,仅有输入层和输出层,因此也称为单层网络(single-layer network)。单层网络可以用于基本的模式分类,特别是可用于不能线性分割的模式,但大多数的学习任务需要更复杂的网络。当单层网络添加了一层或者更多隐藏层后就称为多层网络(multi-layer network)。隐藏层负责在信号达到输出节点之前处理来自输入节点的信号。大多数多层网络被完全连接(full connected),这意味着前一层中每个节点都连接到下一层中的每个节点,但这不是必需的。

输出层是最后一层,用来输出整个网络处理的值。这个值可能是一个分类向量值,也可能是一个类似线性回归那样产生的连续值。根据不同的需求,输出层的构造也不尽相同。