学习机器学习笔记(十二)

卷积神经网络ALEXNET

结构:

 

注:层与层之间也有非线性函数和BATCH NORMALIZATION

网络的结构

在第一个卷积层中输入是227*227的彩色图片(有RGB三个颜色分量:channel数量为3)

第一个卷积层中有96个11*11*3的卷积核,步长为(4,4)

注:如果一个M*N的图像和一个m*n的卷积核进行操作,移动步长为(P,Q)

则输出的特征图长H和宽W分别为:H=floor((M-m)/p)+1

W=floor((N-n)/Q)+1

因此代入计算第一个卷积层得到的特征图长宽都是55,由于有96个卷积核,特征图CHANNEL为96

ALEXNET改进:

以ReLU函数代替LENET中的sigmoid或tenh函数

ReLU(x)=max(0,x)

sigmoid和tanh函数在梯度较大情况下会出现梯度消失现象

ReLU函数在x<0,f(x)=0,x>0,f(x)=1,同样导数在x小于0时等于0,在x大于0时等于1,在自变量大于0时,上一层的梯度就能直接传导到下一层,避免了梯度消失

RELU函数把自变量小于0时函数值设置为0,假设某一层神经元的输出大于0和小于0的个数差不多,利用RELU函数关闭一半左右的神经元,使它们处于非激活状态。

RELU函数保证了每一次网络中只有很少一部分神经元的参数被更新,这样促进了深度神经网络的收敛。

第二个改进:在降采样层用MAXPOOLING代替LENET的平均降采样,此操作叫池化(pooling):把邻近的像素作为一个池子来重新考虑

 ALEXNET中提出了最大池化的概念:对每一个邻近的像素组成的池子,选取最大值作为输出

最大池化下梯度直接传导到最大值,每次更新的参数将进一步减少,保证了网络的稳定性

第三个改进:随机丢弃

为了避免系统参数更新过快导致过拟合,每次利用训练样本更新参数时,随机的丢弃一定比例的神经元,被丢弃的神经元将不参加训练过程,输入和输出该神经元的权重系数也不做更新

这样每次训练的网络结构都不一样,而这些网络结构分享共同的权重系数

做法:对每一层,每次训练时以概率p丢弃一些神经元

减缓了网络收敛速度,也大概率避免了过拟合的发生

第四个改进:数据扩增

增加训练样本,采用多种方法增加训练样本:将原图水平翻转:将256*256的图像随机选取224*224的片段作为输入图像,可以将意图图像变为2048幅图像

还可以对每幅图像引入一定的噪声,构成新的图像

数据扩增目前被广泛应用于深度模型的训练中

第五个改进:用GPU加速训练过程

使用了2片GTX 580 GPU

将每一层的特征图的通道(CHANNELS)平均分成两份,分别画在上面和下面。因为作者用了两片GPU。

显卡特点时线性计算并行化的程度好,用来做神经网络后向传播的梯度更新。

近年来流行的卷积神经网络

VGGNET对ALEXNET的改进:增加了网络的深度

用多个3*3卷积核叠加代替更大的卷积核,用以增加感受野

感受野:卷积神经网络每一层输出的特征图上的像素点在输入图片上映射的区域大小

特征图上的一个点对应输入图上的区域

 两个3*3卷积核待求参数18个,1个5*5卷积核待求参数25个,可以起到降低带估计参数的作用

但是多层卷积需要更大计算量 VGGNET是一个计算和存储开销都较大的网络

GOOGLENET提出了INCEPTION结构

 更深的卷积神经网络能达到更深的识别率

RESNET

核心思想:将浅层输出加入深层输入,维度上不一致,用线性变换转换

 

 更好的卷积神经网络结构:识别精度,计算量,存储量

近年来用紧凑的、小而深的网络代替大而浅的网络并加入一些创意和技巧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值