1.1 神经网络的历史

即使基于冯·诺依曼架构的现代处理器能够以极快的速度进行逻辑和科学计算,对于许多人类常见的任务,例如图像识别、视频运动检测和自然语言处理,它们的性能仍然很差。为了模拟人脑的功能,自20世纪50年代初期开始,一种称为神经网络的非布尔计算范式被开发出来,并在数十年中慢慢发展。到目前为止,文献中至少介绍了三种主要形式的神经网络,如图1.1所示。

图1.1 神经网络随着时间的发展。最早的一种神经网络是类似于线性分类器的感知器,当今广泛使用的神经网络类型在本书中称为人工神经网络,这种神经网络使用实数来承载信息。脉冲神经网络是近年来十分流行的另一种神经网络,其通过脉冲来表示信息

最简单的神经网络是感知器,其中将人为定义的特征用作网络的输入。感知器的输出是通过硬性阈值化获得的二进制数。因此,感知器可以方便地用于具有可线性分离的输入的分类问题。第二种类型的神经网络有时被称为多层感知器(MLP),MLP中的“感知器”不同于早期神经网络中的简单感知器。在MLP中,一个非线性激活函数与每个神经元相关联。非线性激活函数的常用选择是sigmoid函数、双曲正切函数和整流器函数。每个神经元的输出是连续变量而不是二进制状态。MLP被机器学习社区广泛采用,因为它可以在通用处理器上轻松实现。这种类型的神经网络非常流行,以至于经常使用“人工神经网络”(ANN)来专门指定它,尽管ANN这个词也应该指代生物神经网络以外的任何其他神经网络。ANN是广泛流行的学习模式(称为深度学习)概念的基础。最后一种鲜为人知的神经网络类型被称为脉冲神经网络(SNN)。与前两种类型的神经网络相比,在使用脉冲来传输信息的意义上,SNN更类似于生物神经网络。人们认为,SNN比ANN更为强大和先进,因为SNN的动力学要复杂得多,并且SNN携带的信息可能会更加丰富。