AlexNet是一种用于图像分类的卷积神经网络架构,由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton于2012年在多伦多大学开发。它将图像分类到1000个对象类别中,被广泛认为是深度卷积网络在视觉识别中的首次大规模展示。它在2012年ImageNet大规模视觉识别挑战赛(ILSVRC)中的决定性胜利标志着机器学习的转折点,推动了深度学习在人工智能研究和工业领域的快速采用。
该模型包含6000万个参数和65万个神经元。其架构由八层组成:五个卷积层(其中一些后接最大池化)和三个全连接层。网络使用了非饱和的ReLU激活函数,相比传统的tanh和sigmoid激活函数,提高了训练速度。由于内存限制,网络被分成两个GPU,每个副本处理一半的神经元。最后的全连接层结合了两个GPU的输出。
架构
AlexNet的结构可以概括为:(CONV → RN → MP)2 → (CONV3 → MP) → (FC → DO)2 → Linear → softmax。这里,CONV表示带ReLU激活的卷积层,RN是局部响应归一化,MP是最大池化,FC是带ReLU的全连接层,Linear是无激活的全连接层,DO是dropout。值得注意的是,卷积层3、4和5是顺序连接的,中间没有池化或归一化。
网络使用了局部响应归一化和dropout正则化,drop概率为0.5,以减少过拟合。所有权重初始化为均值为0、标准差为0.01的高斯分布。卷积层2、4、5和所有全连接层的偏置初始化为1,以避免dying ReLU问题。
训练
该模型在包含120万张图像的ImageNet训练集上进行了训练。训练运行了90个epoch,耗时五到六天,使用两个Nvidia GTX 580 GPU(每个3GB),其理论性能为1.581 TFLOPS(float32)。每次前向传播大约需要1.43 GFLOPs。以JPEG格式存储的数据集图像占用27GB磁盘空间;训练期间,网络在每个GPU上使用2GB RAM,系统RAM约使用5GB。GPU处理训练,CPU执行图像加载和数据增强。
训练使用动量梯度下降,批量大小为128,动量为0.9,权重衰减为0.0005。学习率从10⁻²开始,每当验证误差趋于平稳时手动减少10倍,最终降至10⁻⁵。在CPU上实时应用了两种数据增强形式,实际上是免费的:首先,图像被缩放,使其较短的边为256像素,然后取中心256×256裁剪并进行归一化;其次,从256×256裁剪中随机提取224×224的块(及其水平镜像),将训练集大小增加了2048倍。此外,每个图像的RGB值沿着像素颜色分布的主成分随机偏移。
ImageNet竞赛
该团队名为SuperVision,于2012年9月30日向ILSVRC-2012竞赛提交了七个AlexNet的集成模型。五个网络使用标准架构,而两个变体具有额外的卷积层,并在更大的ImageNet Fall 2011版本(1500万张图像,22,000个类别)上进行了预训练,然后在ILSVRC-2012训练集上进行了微调。最终预测是七个网络概率的平均值。该集成模型实现了15.3%的top-5错误率,比第二名高出10.8个百分点以上,这一显著提升震惊了计算机视觉社区。
影响与遗产
AlexNet的成功展示了深度卷积网络在大规模视觉识别中的强大能力,直接影响了后续架构,如ResNet和U-Net。它也普及了使用GPU训练深度网络的做法,这成为该领域的标准实践。论文对深度以及ReLU、dropout和数据增强有效性的强调塑造了现代深度学习实践。AlexNet通常被认为是深度学习革命的催化剂,导致了生成式AI的突破以及大型语言模型和transformer的发展。其影响超越了学术界,推动了OpenAI、Google DeepMind和Anthropic等公司对AI研究的投资。