AlexNet网络详解
网络结构分析
图一:AlexNet 网络结构图
卷积网络中卷积计算公式
N = ( W − F + 2 P ) / S + 1 N = (W - F + 2P)/ S +1 N=(W−F+2P)/S+1
其中:
1、输入图像大小为 W X W
2、Filter大小为 F X F
3、步长stride为 S
4、padding的像素数为 P
AlexNet网络结构解析
Conv1
卷积核个数(kernels):96
卷积核大小(kernel_size):11
padding大小:[1, 2](即特征矩阵的左边加上一列0,右边加上两列0;上面加上一列0,下面加上两列0)
步长(stride):4
输入(input_size):[224, 224, 3]
输出(output_size):[55, 55, 96]
Maxpooling1
卷积核大小(kernel_size):3
padding大小:0
步长(stride):2
输入(input_size):[55, 55, 96]
输出(output_size):[27, 27, 96]
进行LRN归一化操作
Conv2
卷积核个数(kernels):256
卷积核大小(kernel_size):5
padding大小:[2, 2]
步长(stride):1
输入(input_size):[27, 27, 96]
输出(output_size):[27, 27, 256]
Maxpooling2
卷积核大小(kernel_size):3
padding大小:0
步长(stride):2
输入(input_size):[27, 27, 256]
输出(output_size):[13, 13, 256]
进行LRN归一化操作
Conv3
卷积核个数(kernels):384
卷积核大小(kernel_size):3
padding大小:[1, 1]
步长(stride):1
输入(input_size):[13, 13, 256]
输出(output_size):[13, 13, 384]
Conv4
卷积核个数(kernels):384
卷积核大小(kernel_size):3
padding大小:[1, 1]
步长(stride):1
输入(input_size):[13, 13, 384]
输出(output_size):[13, 13, 384]
Conv5
卷积核个数(kernels):256
卷积核大小(kernel_size):3
padding大小:[1, 1]
步长(stride):1
输入(input_size):[13, 13, 384]
输出(output_size):[13, 13, 256]
Maxpooling3
卷积核大小(kernel_size):3
padding大小:0
步长(stride):2
输入(input_size):[13, 13, 256]
输出(output_size):[6, 6, 256]
FC1
输入(input_size):[6, 6, 256]
输出(output_size):[1, 1, 4096]
FC2
输入(input_size):[1, 1, 4096]
输出(output_size):[1, 1, 4096]
FC3(最后输出层SoftMax,可根据实际训练情况进行更改)
输入(input_size):[1, 1, 4096]
输出(output_size):[1, 1, 1000]
AlexNet 网络优点
1、首次利用GPU进行网络加速训练
2、使用Relu激活函数,而非传统的Sigmod激活函数以及Tanh激活函数
3、使用了LRN局部响应归一化
4、在全链接层的前两层使用Dropout随机失活神经元操作,以减少过拟合
LRN局部响应归一化
LRN计算公式
LRN计算公式如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DK4XI3yC-1628497027476)(/home/jiu/图片/2021-08-09 15-55-57 的屏幕截图.png)]
a:卷积层后的输出结果,该结果结构为一个四维数组[batch, height, width, channel ]
batch:批次数(每一批为一张图片)
height:图片高度
width:图片宽度
channel:通道数(处理后的图片深度)
ai(x, y):输出结构中的一个位置的[a, b, c, d],第a张图的第d个通道下的高度为b宽度为c的点。
N:通道数(channel)
a, n/2, k, α, β:input, depth_radius, bias, alpha, beta,(n/2,k,α,β是自定义的,特别注意一下∑叠加的方向是沿着通道方向的,即每个点值的平方和是沿着a中的第3维channel方向的,也就是一个点同方向的前面n/2个通道(最小为第0个通道)和后n/2个通道(最大为第d-1个通道)的点的平方和(共n+1个点),叠加的方向也是在通道方向。
即可理解为:
i 表示第 i 个核在位置(x, y)运用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数。参数K,n,alpha,belta都是超参数,一般设置k=2, n=5, aloha=1*e-4, beta=0.75。
LRN动机
神经生物学有一个概念叫"侧抑制",指的是被激活的神经元抑制相邻的神经元,因而归一化的目的是“抑制”;局部响应归一化就是借鉴侧抑制的思想实现局部抑制
LRN好处
1、增加范化能力
2、做平滑处理,提高识别率(1%-2%)
参考文章
https://www.cnblogs.com/xiaoboge/p/10463058.html