AlexNet网络结构详解与模型的搭建

首先贴出三个链接:

1. AlexNet网络结构详解视频

2. 使用pytorch搭建AlexNet并针对花分类数据集进行训练

3. 使用tensorflow搭建AlexNet并针对花分类数据集进行训练

AlexNet是2012年ILSVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率由传统方法的 70%+提升到 80%+(当时传统方法已经进入瓶颈期,所以这么大的提升是非常厉害的)。它是由Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,深度学习开始迅速发展。下图是从AlexNet原论文中截取的网络结构图。

在图中有上下两个部分是因为作者使用两块GPU进行并行训练,所以上下两个部分结构是一模一样的,我们直接看下面部分就行了。接下来说说该网络的亮点:

(1)首次利用 GPU 进行网络加速训练。

(2)使用了 ReLU 激活函数,而不是传统的 Sigmoid 激活函数以及 Tanh 激活函数。

(3)使用了 LRN 局部响应归一化。

(4)在全连接层的前两层中使用了 Dropout方法按一定比例随机失活神经元,以减少过拟合。

接着给出经卷积或池化后的矩阵尺寸大小计算公式:

 N = (W − F + 2P ) / S + 1

其中W是输入图片大小,F是卷积核或池化核的大小, P是padding的像素个数 ,S是步距

接下来我们对网络的每一层进行详细的分析:

卷积层1(由于使用了2块GPU,所以卷积核的个数需要乘以2):

Conv1: kernels:48*2=96;kernel_size:11;padding:[1, 2] ;stride:4

其中kernels代表卷积核的个数,kernel_size代表卷积的尺寸,padding代表特征矩阵上下左右补零的参数,stride代表步距

输入的图像shape: [224, 224, 3], 输出特征矩阵的shape: [55, 55, 96]

shape计算:N = (W − F + 2P ) / S + 1 = [ 224 - 11 + (1 + 2)] / 4 + 1 = 55

最大池化下采样层1

Maxpool1: kernel_size:3;pading: 0;stride:2

其中kernel_size是池化核大小,padding代表特征矩阵上下左右补零的参数,stride代表步距

输入特征矩阵的shape: [55, 55, 96], 输出特征矩阵的shape: [27, 27, 96]

shape计算:N = (W − F + 2P ) / S + 1 = (55 - 3) / 2 + 1 = 27

卷积层2

Conv2: kernels:128*2=256; kernel_size:5; padding: [2, 2]; stride:1

输入特征矩阵的shape:[27, 27, 96], 输出特征矩阵的shape: [27, 27, 256]

shape计算:N = (W − F + 2P ) / S + 1 = (27 - 5 + 4) / 1 + 1 = 27

最大池化下采样层2

Maxpool2: kernel_size:3; pading: 0; stride:2

输入特征矩阵的shape:  [27, 27, 256],输出特征矩阵的shape: [13, 13, 256]

shape计算:N = (W − F + 2P ) / S + 1 = (27 - 3) / 2 + 1 = 13

卷积层3

Conv3: kernels:192*2=384; kernel_size:3; padding: [1, 1]; stride:1

输入特征矩阵shape:[13, 13, 256], 输出特征矩阵shape: [13, 13, 384]

shape计算:N = (W − F + 2P ) / S + 1 = (13 - 3 + 2) / 1 + 1 = 13

卷积层4

Conv4: kernels:192*2=384; kernel_size:3; padding: [1, 1]; stride:1

输入特征矩阵shape:[13, 13, 384], 输出特征矩阵shape: [13, 13, 384]

shape计算:N = (W − F + 2P ) / S + 1 = (13 - 3 + 2) / 1 + 1 = 13

卷积层5

Conv5: kernels:128*2=256; kernel_size:3; padding: [1, 1]; stride:1

输入特征矩阵shape:[13, 13, 384],输出特征矩阵shape: [13, 13, 256]

shape计算:N = (W − F + 2P ) / S + 1 = (13 - 3 + 2) / 1 + 1 = 13

最大池化下采样层3

Maxpool3: kernel_size:3 padding: 0 stride:2

输入特征矩阵shape:[13, 13, 256] ,输出特征矩阵shape: [6, 6, 256]

shape计算:N = (W − F + 2P ) / S + 1 = (13 - 3) / 2 + 1 = 6

全连接层1

unit_size: 4096 (unit_size为全连接层节点个数,两块GPU所以翻倍)

全连接层2

unit_size: 4096

全连接层3

unit_size: 1000(该层为输出层,输出节点个数对应你分类任务的类别个数)

最后给出所有层参数的总表:

Layer Name

Kernel Size

Kernel Num

Padding

Stride

Conv1

11

96

[1, 2]

4

Maxpool1

3

None

0

2

Conv2

5

256

[2, 2]

1

Maxpool2

3

None

0

2

Conv3

3

384

[1, 1]

1

Conv4

3

384

[1, 1]

1

Conv5

3

256

[1, 1]

1

Maxpool3

3

None

0

2

FC1

4096

None

None

None

FC2

4096

None

None

None

FC3

1000

None

None

None

关于模型的搭建与训练代码放在我的github中,大家可自行下载使用:

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

pytorch版本在pytorch_learning文件夹中,tensorflow版本在tensorflow_learning文件夹中.

<think>好的,我现在要处理用户关于AlexNet网络模型结构图原图的查询。首先,我需要确认用户的需求是什么。用户明确提到“AlexNet网络模型结构图的原图”,可能是指AlexNet论文中的原始结构图,或者是更详细的架构示意图。 接下来,我需要回忆AlexNet的相关资料。记得AlexNet是在2012ImageNet竞赛中提出的,由Alex Krizhevsky等人设计。根据引用内容,用户提供的参考中有几个关键点:网络分为两个GPU处理(引用4提到双GPU结构),包含卷积层、池化层、ReLU、局部响应归一化(引用1、3),以及数据增强(引用2)。特别是引用3详细描述了C5卷积层的参数,比如输入尺寸13×13×384,使用3×3×192的卷积核,输出为13×13×256,之后池化到6×6×256。引用4提到C3层汇聚了双GPU的输出,通道数为384。这些细节可能对用户理解结构图有帮助。 用户需要的是原图,但站内引用中没有直接提供结构图。因此,我需要考虑如何引导用户找到原图。通常,原图会出现在原论文中,即《ImageNet Classification with Deep Convolutional Neural Networks》。建议用户查阅该论文,或者在网络搜索时使用关键词,如“AlexNet original architecture diagram”。另外,像arXiv这样的平台可能会有论文的PDF版本包含结构图。此外,用户可能需要结构图的详细描述,比如层数、参数配置,这部分可以通过引用中的信息来总结,例如各层的输入输出尺寸、卷积核大小、步长等。 还需要注意用户提到的数据增强、LRN、覆盖池化等细节,这些可能在结构图中以注释形式存在,或者在论文的文本描述中。因此,在回答时应该包括这些要点,帮助用户理解结构图的内容,即使他们暂时无法查看原图。此外,用户可能希望了解AlexNet各层的连接方式,尤其是双GPU处理的部分,这在引用4中提到过,需要强调结构图中的分组卷积部分。 最后,生成相关问题时要围绕用户可能进一步的需求,例如各层参数、双GPU设计的优势、其他模型的对比等。需要确保问题具有相关性,帮助用户深入理解AlexNet结构。</think>关于AlexNet网络模型结构图的原图,以下是关键信息整理及获取方式: ### AlexNet网络结构核心特征 1. **双GPU并行设计** AlexNet网络参数分布在两块GPU上(如C3层汇聚了双GPU的输出[^4]),通过分组卷积实现并行计算。 2. **层级架构** - 包含**5个卷积层**(C1-C5)和**3个全连接层**(FC6-FC8) - 典型处理流程: $$ \text{卷积} \rightarrow \text{ReLU} \rightarrow \text{池化} \rightarrow \text{LRN} $$ 例如C5层:输入$13\times13\times384$,经$3\times3$卷积核处理,输出$13\times13\times256$,再池化为$6\times6\times256$[^3] 3. **关键技术细节** - **局部响应归一化(LRN)**:增强特征对比度[^1] - **覆盖池化**:池化核尺寸大于步长以保留更多特征 - **数据增强**:通过翻转、裁剪、颜色变换扩大数据集[^2] ### 获取原图的建议方式 1. **原始论文** 搜索论文《ImageNet Classification with Deep Convolutional Neural Networks》,文中包含完整的网络结构示意图。 2. **学术资源平台** 在arXiv(https://arxiv.org/abs/1404.5997)或CVPR会议论文集下载论文PDF版本。 3. **搜索引擎关键词** 使用组合关键词进行图片搜索: `"AlexNet original architecture diagram"` `"AlexNet 2012 paper network structure"` 4. **深度学习教材/课程** 如《深度学习》(花书)第六章,或斯坦福CS231n课程材料中常包含经典网络图示。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳花的小绿豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值