背景介绍
AlexNet是由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton在2012年开发的一种卷积神经网络(CNN),它在ImageNet大规模视觉识别挑战赛(ILSVRC)中取得了显著的成绩,引发了深度学习在计算机视觉领域的革命。
网络架构
- AlexNet由五个卷积层(Conv)和三个全连接层(Fully Connected, FC)组成。
-
输入层:
- 输入图像大小为227x227x3(宽x高x通道)。
-
卷积层(Convolutional Layers):
- Conv1: 96个11x11的卷积核,步长4,ReLU激活函数,输出尺寸为55x55x96。
- Max Pooling1: 3x3池化窗口,步长2,输出尺寸为27x27x96。
- Conv2: 256个5x5的卷积核,步长1,ReLU激活函数,输出尺寸为27x27x256。
- Max Pooling2: 3x3池化窗口,步长2,输出尺寸为13x13x256。
- Conv3: 384个3x3的卷积核,步长1,ReLU激活函数,输出尺寸为13x13x384。
- Conv4: 384个3x3的卷积核,步长1,ReLU激活函数,输出尺寸为13x13x384。
- Conv5: 256个3x3的卷积核,步长1,ReLU激活函数,输出尺寸为13x13x256。
- Max Pooling3: 3x3池化窗口,步长2,输出尺寸为6x6x256。
-
全连接层(Fully Connected Layers):
- FC1: 4096个神经元,ReLU激活函数,Dropout正则化。
- FC2: 4096个神经元,ReLU激活函数,Dropout正则化。
- FC3: 1000个神经元,对应1000个类别的分类任务,Softmax激活函数。
网络特点
- 每个卷积层后通常伴随一个最大池化层(Max Pooling)来降低数据的维度和计算量。
- 首次利用GPU加速
- 使用了LRN局部相应归一化
- 全连接层前两层使用Dropout随机失活神经元操作,减少过拟合
- 数据增强技术(如平移、翻转、裁剪等)用于增加训练数据的多样性,减轻过拟合。
激活函数
使用ReLU(Rectified Linear Unit)作为激活函数,相比传统的Sigmoid和Tanh激活函数,ReLU能更有效地解决梯度消失问题,加速模型收敛。
ReLU 函数是深度学习中较为流行的一种激活函数,相比于 sigmoid 函数和 tanh 函数,它具有如下优点:
-
当输入为正时,不存在梯度饱和问题。
-
计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。
缺点:
-
当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;
-
我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。