笔记1Alex Net

Alexnet使用卷积神经网络(CNNS)

网络结构:五层卷积三层全连接

1.神经元使用RELU函数激活:线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,目的是加速训练


RELU的特性:ReLUs有一个理想的特性,即不需要对输入进行标准化以防止其饱和。

使用梯度下降法训练时,不饱和神经元比比饱和神经元快很多

2.使用多GPU训练,从而加速

3.局部响应归一化,现在都用BatchNormalization

尽管RELU具有不饱和特性,局部归一化仍然有助于泛化

响应归一化:

其中,是卷积核在处计算得出的神经元活动,然后使用RELU非线性,得到响应归一化后的活动

在相同的空间位置上,求和运行在n个“相邻”内核映射上,N是这一层的总核数。常数k,n,α,β是超参数。某些层在进行RELU后使用这种归一化。可以在使用不同内核计算的神经元输出之间产生对大型活动的竞争,实现横向抑制。

4.重叠池化

5.整体架构

网络结构:五层卷积三层全连接+1000softmax

2,4,5卷积层只连接到上一层留在同一个GPU的内核映射

局部归一化在第一二卷积层后,最大池化在1,2,5卷积层后,RELU每个卷积层和全连接层的输出都有用到。

第一个卷积层:输入224×224×3的图像,得到96个11×11×3的卷积核,步长四个像素

第二个卷积层:输入第一个卷积层的输出经过池化和归一化,使用256个5 × 5 × 48的卷积核

第三个卷积层:输入第2个卷积层的输出经过池化和归一化,使用384个卷积核,大小3 × 3 ×256

第四个卷积层:384个,3×3×192

第五个卷积层:256个,3×3×192

全连接层:每个4096个神经元


笔记1Alex Net_第1张图片

6.Dropout随机失活

将每个隐藏神经元的输出设置为0,概率为0.5,以这种方式“退出”不参与正向传递,也不参与反向传播。前两个全连接层使用了dropout    降低过拟合。

7.训练细节

使用SGD随机梯度下降,batch size 128,动量0.9,权重衰减0.005(可以提高准确度)

Batch Size定义:一次训练所选取的样本数。 

Batch Size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU内存不大,该数值最好设置小一点

Batch Size从小到大的变化对网络影响

1、没有Batch Size,梯度准确,只适用于小样本数据库

2、Batch Size=1,梯度变来变去,非常不准确,网络很难收敛。

3、Batch Size增大,梯度变准确,

4、Batch Size增大,梯度已经非常准确,再增加Batch Size也没有用

学习率,<>目标对w求导的第i批次Di的平均值,在wi处取值,每一层的权值初始化为零均值高斯分布,标准差为0.01,初始化第二、第四、第五卷积层以及全连通隐层中的神经元偏差为1,这种初始化通过向ReLUs提供积极的输入来加速学习的早期阶段。用常数0初始化剩余层中的神经元偏差。

笔记1Alex Net_第2张图片

你可能感兴趣的:(笔记1Alex Net)