在深度学习领域,AlexNet是一个具有里程碑意义的模型,它在2012年的ImageNet大规模视觉识别挑战赛中取得了突破性的成绩。本文将深入探讨AlexNet的架构细节,以及它在计算机视觉领域的重要性和与ResNet的区别。
AlexNet是由Alex Krizhevsky及其同事在2012年提出的深度卷积神经网络模型,它在深度和性能上相较于LeNet-5有了显著的提升。AlexNet的架构包含8层可学习的参数,其中5层是卷积层,后面跟着3个全连接层,并在除了输出层之外的每一层都使用了ReLU激活函数。这种设计使得训练速度提高了近6倍,并且通过引入dropout层来防止过拟合。
AlexNet的输入是尺寸为227x227x3的RGB图像。首先,应用第一层卷积,使用96个11x11大小的滤波器,步长为4,激活函数为ReLU,输出的特征图尺寸为55x55x96。计算卷积层输出尺寸的公式为:output = ((Input - filter size) / stride) + 1。接下来是第一层最大池化层,尺寸为3x3,步长为2,得到的结果是27x27x96的特征图。
// 假设输入尺寸为WxH,滤波器尺寸为F,步长为S,计算输出尺寸
output = ((W - F) / S) + 1
继续应用第二层卷积,这次滤波器尺寸减小到5x5,共有256个这样的滤波器,步长为1,填充为2,激活函数再次为ReLU,输出尺寸为27x27x256。然后是第二层最大池化层,尺寸为3x3,步长为2,得到的结果是13x13x256的特征图。
第三层卷积操作使用384个3x3大小的滤波器,步长和填充都为1,激活函数为ReLU,输出特征图尺寸为13x13x384。紧接着是第四层卷积操作,同样使用384个3x3大小的滤波器,步长和填充都为1,激活函数为ReLU,输出尺寸保持不变,即13x13x384。
最后一层卷积操作使用256个3x3大小的滤波器,步长和填充都为1,激活函数为ReLU,得到的结果是13x13x256的特征图。至此,可以看到随着网络深度的增加,滤波器数量也在增加,这意味着网络能够提取更多的特征。同时,滤波器尺寸的减小导致特征图尺寸的减小。
接下来是第三层最大池化层,尺寸为3x3,步长为2,得到的结果是6x6x256的特征图。
在特征提取之后,迎来了第一个dropout层,dropout率为0.5。然后是第一个全连接层,激活函数为ReLU,输出尺寸为4096。紧接着是第二个dropout层,dropout率同样为0.5。之后是第二个全连接层,拥有4096个神经元,激活函数为ReLU。最后是输出层,也就是最后一个全连接层,拥有1000个神经元,因为数据集中有1000个类别。这一层的激活函数是Softmax。
AlexNet模型总共有62.3百万个可学习的参数。