1.2 软件中的神经网络

1.2.1 人工神经网络

在20世纪80年代末和20世纪90年代初,软件中构建的神经网络有了巨大的进步,反向传播[1]算法的出现显著推动了人工神经网络的发展。事实证明,反向传播在训练多层神经网络方面非常有效。正是这种反向传播算法使神经网络能够解决许多现实生活中的问题,例如图像识别[2-3]、控制[4-5]和预测[6-7]

在20世纪90年代后期,当时分类任务作为神经网络的主要应用,人们发现其他机器学习工具,例如支持向量机(SVM),甚至更简单的线性分类器,可以达到与神经网络相同甚至更好的性能。而且人们发现神经网络的训练常常停留在局部极小值,导致网络未能收敛到全局极小值。此外,人们认为一个隐藏层足以满足神经网络的需求,因为更多的隐藏层并不能显著提高性能。从此,计算智能界对神经网络的研究兴趣开始下降。

随着研究人员证明深度前馈神经网络能够通过适当的无监督预训练而达到出色的分类精度,人们对神经网络的兴趣在2006年左右重新被燃起[8-9]。尽管神经网络在分类任务中取得了成功,但直到2012年,一种名为AlexNet的深度卷积神经网络(CNN)[10]取得了惊人的成果,深度神经网络才被计算机视觉和机器学习界所了解。从那时起,深度学习成为图像识别和语音识别等各种任务中的主流方法。