深度学习图像处理篇之AlexNet模型详解
AlexNet模型详解
文章目录
- AlexNet模型详解
- 一、AlexNet网络由来
- 二、AlexNet网络及其亮点
- 1.什么叫过拟合?
- 2.Dropout随机失活
- 3.卷积后矩阵大小计算公式
- 三、AlexNet网络模型结构
一、AlexNet网络由来
AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率由传统的 70%+提升到 80%+。它是由Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,深度学习开始迅速发展。
二、AlexNet网络及其亮点
1.首次使用GPU进行网络加速训练。
2.使用ReLU激活函数。
3.使用了 LRN 局部响应归一化。
4.在全连接层的前两层中使用了Droupout随机失活神经元操作,以减少过拟合。
1.什么叫过拟合?
过拟合的根本原因是模型复杂度过高,训练数据量不足,存在大量噪声或异常值,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。过度的拟合了训练数据,而没有考虑到泛化能力。
2.Dropout随机失活
Dropout 主要用于 深度神经网络(DNN) 和 卷积神经网络(CNN) 中,尤其在数据量不足或网络结构较复杂时,能够有效避免过拟合。
Dropout优点:
1.防止过拟合
2.提高泛化能力
3.简便且高效
使用Dropout的方式在网络正向传播的过程中随机失活一部分神经元:
(左图为未使用Dropout的正向传播,右图为使用Dropout后的正向传播)
3.卷积后矩阵大小计算公式
N = ( W - F + 2P ) / S + 1
1.W为输入图片的大小为W✖W
2.F为卷积核的大小为F✖F
3.P指的是填充,即padding
4.S指的是步幅
三、AlexNet网络模型结构
下表为AlexNet网络各个卷积层和池化层的参数:
Conv1
卷积核大小:11✖11
卷积核数量:96(在AlexNet中,使用了两块GPU,因此卷积核数量为48✖2=96)
填充:[1,2](在上下两测填充1,在左右两侧填充为2)
步幅:4
输入的图像为[224,224,3],输出的特征矩阵shape:[55,55,96]
shape:N=(224-11+2✖2)/4+1=55
Maxpool1
卷积核大小:3✖3
填充:0
步幅:2
输入的特征矩阵shape:[55,55,96],输出的特征矩阵shape:[27,27,96]
shape:N=(55-3+2✖0)/2+1=27
(池化层的作用是减小输出的空间矩阵,并不会改变输入的通道数,因此在经过池化层的操作后,输入矩阵的通道数=输出矩阵的通道数)
Conv2
卷积核大小:5✖5
卷积核数量:128✖2=256
填充:2
步幅:1
输入的特征矩阵shape:[27,27,96],输出的特征矩阵shape:[27,27,256]
shape:N=(27-5+2✖2)/1+1=27
Maxpool2
卷积核大小:3✖3
填充:0
步幅:2
输入的特征矩阵shape:[27,27,256],输出的特征矩阵shape:[13,13,256]
shape:N=(27-3+2✖0)/2+1=13
Conv3
卷积核大小:3✖3
卷积核数量:192✖2=384
填充:1
步幅:1
输入的特征矩阵shape:[13,13,256],输出的特征矩阵shape:[13,13,384]
shape:N=(13-3+2✖1)/1+1=13
Conv4
卷积核大小:3✖3
卷积核数量:192✖2=384
填充:1
步幅:1
输入的特征矩阵shape:[13,13,384],输出的特征矩阵shape:[13,13,384]
shape:N=(13-3+2✖1)/1+1=13
Conv5
卷积核大小:3✖3
卷积核数量:128✖2=256
填充:1
步幅:1
输入的特征矩阵shape:[13,13,384],输出的特征矩阵shape:[13,13,256]
shape:N=(13-3+2✖1)/1+1=13
Maxpool3
卷积核大小:3✖3
填充:0
步幅:2
输入的特征矩阵shape:[13,13,256],输出的特征矩阵shape:[6,6,256]
shape:N=(13-3+2✖0)/2+1=6
FC1
unit_size: 2048✖2=4096
(unit_size为全连接层节点个数,因为有两块GPU,所以节点个数翻倍)
FC2
unit_size: 2048✖2=4096
FC2
unit_size: num_classes
(num_classes为我们需要的分类数目)
下图为AlexNet网络的结构图: