任务描述
通过本关卡,你将掌握AlexNet的网络结构,并使用pytorch进行网络结构搭建。
相关知识
AlexNet是在2012年由多伦多大学的Alex Krizhevsky等人提出的,其在ImageNet竞赛中以巨大的优势取得了冠军,也因此拉开了深度学习的大幕,在该网络之后,人们逐渐向卷积神经网络和深度学习投入关注,也造就了现在深度学习及CNN的火热。下面我们就一起来认识一下这个网络。
AlexNet的网络结构
AlexNet网络结构继承了LeNet,都是先卷积然后再使用全连接进行结果的预测输出。它的网络结构如下图所示:
图 1-1-1 AlexNet的网络结构图
在上图中,原文作者使用了两片GPU用于网络训练,所以是上下重复的两个部分,我们单看下半部分对网络进行解析:
第一层:卷积层1,输入为 224 × 224 × 3的图像,卷积核的数量为96(输出特征的通道数为96),卷积核的大小为 11 × 11 × 3,步长 stride = 4,填充数pad = 0, 表示不扩充边缘;
第二层:卷积层2, 输入为上一层卷积的feature map, 卷积核的个数为256,卷积核的大小为:5 × 5 × 96, pad = 2, stride = 1; 与第一层不同,该层随后使用了局部响应归一化(LRN), 最后进行 max_pooling, pool_size = (3, 3), stride = 2;
第三层:卷积层3, 输入为第二层的输出,卷积核个数