文档介绍:人工神经网络和卷积神经网络
人工神经网络
人工神经网络(ANN)技术在二十世纪五十到六十年代被Frank Rosenblatt首次提出。这个时期的人工神经网络被称为单层感知器,通常它包括三个部分一个输入层、一个隐含层和一个输出层。通常情况下,特征向量被输入到输入层,通过隐含层进行转换,然后得到一些分类结果,并在输出层显示出来。然而Frank Rosenblatt提出的单层感知器有一个严重的问题,即它不能处理稍微复杂一点的函数(例如最典型的异或操作)。
这个缺点直到80年代[4]才被Rumelhart等人发明的多层感知器解决。多层感知器解决了以往无法模拟异或逻辑的缺陷。它也使网络更有能力描绘现实世界中的复杂情况。多层感知器可以摆脱早期离散传递函数的约束,使用连续的激活函数如sigmoid函数或tanh函数来模拟神经元对兴奋的反应来训练算法,因此也被称为神经网络。最典型的神经网络是由Werbos发明的反向传播(BP)神经网络。BP神经网络的基本结构如图所示:
反向传播的原理类似误差修正的过程,神经网络的输出层输出的预测值与真实值相比产生误差,误差再依照链式法则由输入层,隐含层依次反向传递至输入层,在这个过程中根据梯度下降的原理对神经网络参数进行不断更新,直到网络输出的预测值和真实值的误差降低到某一阈值。
然而,BP神经网络(多层感知器)存在非凸优化(局部最优化)、梯度消失、过拟合等问题。随着神经网络层数的增加,局部优化和梯度消失将变得越来越严重,甚至比浅层神经网络更严重。2006年,Hinton利用预训练方法解决了训练网络容易陷入局部最优的问题,将隐含层推到第七层,使得神经网络具有真正意义上的“深度”,从而掀起了深度学习的热潮,涌现了许多优秀的深度网络模型,比如DBN、CNN、RNN、LSTM等。同时,为了克服梯度消失问题,用ReLU等激活函数代替了sigmoid等函数,形成了卷积神经网络[9]的基本雏形。然而,从结构的观点来看,卷积神经网络和一个完全连接的多层感知器没有区别。
卷积神经网络
卷积神经网络(CNN)可以说是深度学习最成功的神经网络之一。它在深度学习的图像识别和计算机视觉领域有着广泛的应用。卷积神经网络(CNN)包括输入层、卷积层和池化层和全连接层。。
在上述过程中,全连接层(FC)位于卷积层和池化层后面,是一种常见的DNN结构。
卷积层和池化层是CNN所特有的,卷积层有一个与之相对应的激活函数,即上述的ReLU函数,池化层没有激活函数[6][7][2]。Relu数学表示如下:
其中x是神经元的输入。与Sigmoid函数相比,ReLU具有节省计算量和防止梯度消失的优点。同时,由于ReLU函数会导致神经元输出小于0,导致参数间的相互依赖性降低,因此解决了过拟合问题。
卷积神经网络之所以能够比多层神经网络有更好的表现,其主要在于卷积的四个方面优势:稀疏连接,参数共享,特征不变性以及能够处理多种尺寸的输入。
传统的神经网络需要对神经层进行矩阵乘法,实现神经层的激活,而由于卷积神经网络的核比输入的尺寸更小,因此可以实现稀疏连接,从而降低了计算过程中所需权重参数的数目,减轻了计算负担。
多层全连接神经网络中,每个权重参数在计算输出结果的过程中仅仅被使用一次,而在卷积神