经典卷积神经网络——AlexNet

本文内容同个人微信号推送文章:经典卷积神经网络(Classic Convolutional Neural Networks)

AlexNet(2012)

AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的起学生Alex Krizhevsky设计的卷积神经网络。在比赛中取得了top-5错误率为15.3%的成绩。

AlexNet的网络结构

AlexNet的网络结构如下图所示:

AlexNet网络由8层组成,5层卷积层和3层全连接层。每层卷积层后面都有池化层。

输入:ImageNet数据集。训练集包含120万张图片,验证集包含5万张图片,测试集包含15万张图片。这些图片分为了1000个类别。

AlexNet有以下特点:

特点1:ReLU(Rectified Linear Unit) Nonlinearity

AlexNet使用了Relu激活,并验证了其效果在较深的网络超过了Sigmoid激活函数。Sigmoid函数在网络较深的时候会出现梯度弥散问题。

Sigmoid函数:

当时用sigmoid函数作为激活函数时,随着网络层数的增加(隐藏层),训练误差反而会增大。靠近输出层的隐含层梯度较大,参数更新速度快,很快就会收敛;靠近输入层的隐含层梯度较小,参数更新速度慢,几乎和初始状态一样;在含有四个隐藏层的网络中,第一层比第四层满了可能会接近100倍,即出现梯度弥散现象。

sigmoid函数的导数:

sigmoid函数计算量较大,在反向传播的过程中求导数涉及到了除法;反向传播过程中还可能出现梯度消失的现象;函数的敏感区间较短,(-1,1)之间敏感,超过区间将处于饱和状态。

Relu函数为:

Using ReLU nonlinearity, CNNs could be trained much faster.

Reasons:
1. No complicated math.数学公式简单,计算速度快。
2. It converges faster. The slope doesn’t plateau when x gets large. 当x变大的时候,不会梯度弥散或梯度消失。
3. It’s sparsely activated. Since ReLU is zero for all negative inputs, some units may not be activated. 具有稀疏性,当x为负值的时候,梯度为0,神经元将不会被训练。

Relu函数的导数:
当x小于等于0时,导数为0;当x大于0的时候,导数为1。
Relu函数的导数在大于0的时候,梯度为常数,因此不会导致梯度弥散。但是Relu函数在负半区的导数为0,当神经元激活值进入负半区的时候,梯度为0,这个神经元将不会被训练,即具有稀疏性。

特点2:Data Augmentation(Reduce Overfitting)

AlexNet对图像进行了数据增强,缓解了图像的过拟合,提高模型的泛化能力。具体来说,对图片的四个角加中间共5个位置,并进行左右翻转,一共获得10张图片,之后对10次的结果求平均值。数据增强的方法主要有两种:对图像进行镜像对称或者随机裁剪图片。

1.对图像进行镜像对称

Data Augmentation by Mirroring

2.随机裁剪图片

Data Augmentation by Random Crops

在原图和镜像反射的图(256*256)中随机抽取227*227的块。

特点3:Dropout(Reduce Overfitting)

使用Dropout随机忽略一部分神经元,从而避免了模型的过拟合。

A neuron is dropped from the network with a probability of 0.5.

以0.5的概率断开某些神经元的连接(即从全连接变为非全连接)。

通过Dropout操作也可以提高模型的准确性。

特点4:最大池化

重叠使用了最大池化。之前卷积神经网络普遍使用了平均池化,而AlexNet全部使用了最大池化,避免了平均池化的模糊效果。

0

Leave a Reply

Your email address will not be published.