AlexNet笔记

AlexNet的一些参数:

卷积层:5层
全连接层:3层
深度:8层
参数个数:60M
神经元个数:650k
分类数目:1000类
由于当时的显卡容量问题,AlexNet 的60M个参数无法全部放在一张显卡上操作,所以采用了两张显卡分开操作的形式,其中在C3,R1,R2,R3层上出现交互,所谓的交互就是通道的合并,是一种串接操作。

AlexNet的结构图:

Alexnet结构图

AlexNet 网络参数计算

按照公式推算了一下感受野和特征层的大小。

网络层感受野卷积核个数卷积核尺寸步长paddingfeature_map
conv227*22748*211*11 *342227*227
max pooling55*5548*23*3 *32-56*56
conv27*2748*25*5 *481227*27
max pooling25*25128*23*3 *482-27*27
conv12*12192*23*3 *1281113*13
conv10*10192*23*3 *1921113*13
conv8*8128*23*3 *1921113*13
max pooling6*6128*23*3 *1282-6*6
fc-2048*26*6 *256---
fc-2048*21*1 *4096---
fc-10001*1 *4096---

技术

技术创新具体细节--
数据增强方法随机裁剪(256-227)水平翻转亮度,色彩变化(猫狗)
激活函数Relu代替Sigmoid解决较深网络中sigmoid梯度弥散的问题
网络创新在全连接层后使用0.5的dropout缓解过拟合的问题网络的收敛速度快了很多
-重叠pooling窗口使用池化窗口是大小为3×3,步幅为2。在输出尺寸相同的情况下,与使用大小为2×2,步幅为2的非重叠池化窗口相比,重叠池化窗口能够分别将第一名的错误率降低0.4%,第5名的错误率降低0.3%
-局部响应归一化(LRN)对局部神经元创建了竞争的机制,使得其中响应较大的值变得更大,并抑制反馈较小的(强者更强,弱者更弱)评价不高,基本弃用
训练方式多GPU训练硬件资源有限,将feature maps分给两个GPU分别处理,最后把两个GPU的结果在某些层融合。

说明

感受野计算公式(不考虑padding,从下往上反推)

rfsize = (output - 1) * stride + ksize

Feature Map的尺寸计算公式

fm(output)=(input_size + 2 * padding_size − ksize)/stride+1

卷积核的厚度=被卷积的图像的通道数 (卷积后三通道合为1)
卷积核的个数=卷积操作后输出的通道数 (即feature map的通道数)
全连接概念

拿第一层全连接层举例,该操作其实就是用2048个13*13 *256(256是池化层的厚度)的卷积核卷积出来的,对于输入的每一张特征图,都使用一个和图像大小一样的核卷积进行点积运算,这样整幅图就变成了一个数了,如果厚度是256就是那256个核卷积完了之后相加求和。这样就能把一张图高度浓缩成一个数了。

Dense层就是全连接层,其实现的就是下列计算:
output = activation(dot(input, kernel)+bias)
activation是激活函数,kernel即为卷积核即权重w
由于全连接参数实在太多,现在尽量避免全连接,使用全局平均值也就是最后那一层的feature map(最后一层卷积的输出结果),直接求平均值,即全局平均池化。
全局平均池化就是用 feature map 直接表示属于某个类的 confidence map,比如最后输出7* 7* 512,每个feature map中的值加起来求平均值,变为1* 1* 512 。然后把得到的这些平均值,再经过全连接输入softmax中分类, 更重要的是实验效果并不比直接用 FC 差。使用全局平均池化的重点主要是减少计算量,图中第二个计算应为16.

损失函数

权值w与偏置b,是网络中需要学习的参数,也就相当于拟合y=w*x+b中的待求参数w和b。其目标函数即为损失函数loss,网络训练的目标就是通过调整每一个权值Wij使得Loss达到最小,loss函数可以看成是由所有待求权值Wij为自变量的复合函数,会有很多局部最小值,梯度下降法可以求解最小化loss函数的问题。
设loss函数 L(W11,W12,⋯,Wij,⋯,Wmn) ,要求loss函数的梯度,我们需求出loss函数L对每一个权值Wij的偏导数。而BP算法正是用来求解这种多层复合函数的所有变量的偏导数的利器。

参考文献:

[1]: 从AlexNet理解卷积神经网络的一般结构
[2]: 卷积神经网络中全连接层工作原理的解释
[3]: 对于全连接层的理解 全连接层的推导
[4]: 前向传播算法(Forward propagation)与反向传播算法(Back propagation)
[5]: AlexNet 学习笔记
[6]: 对全局平均池化(GAP)过程的理解

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值