VGG-2014

VGG-2014

ConvNet configurations

Architecture
输入图像大小224x224。
唯一的数据预处理,是图像均值化(subtract the mean RGB value)。
图像经过一堆卷积层,使用3x3的卷积核(最小规格的卷积核来表征所谓左右,上下,中间)。只有一种网络配置会使用到1x1的卷积核,可以被视为输入通道的线性变换。卷积步长固定为1,通过padding使得图像大小得以不变。一共设置5个最大值池化层,跟在一些卷积层的后面,2x2的窗口,2的步长。
一堆卷积层后跟着3层全连接层,前两层4096,最后一层由于分类目标为1000,所以是1000。输出层运用softmax。
所有的隐藏层使用ReLU,五个网络中四个不使用LRN(只有一个使用),发现LRN的使用,并没有提高performance,反而增加memory和计算时间的消耗。

Configurations
一共给出了5个模型配置分别为A-E,所有的配置都基于上面的Architecture,唯一的区别就是深度,从A网络的11层(8层卷积+3FC)到E网络的19层(16层卷积+3FC)。卷积通道由一开始的64每经过一个池化层就翻倍,最后到512。
这里写图片描述
这里写图片描述

Discussion
这个ConvNet的配置和AlexNet-2012以及ZFNet-2013的网络配置有很大不同,在第一层卷积没有使用相对较大的感受野(AlexNet,11x11,4的步长,ZFNet,7x7,2的步长),而是在整个网络使用3x3的感受野进行卷积,而且步长为1。很容易可以发现2层3x3卷积的堆叠(没有池化在中间)就会拥有5x5的感受野,3层堆叠就有7x7的感受野。那么这样做和直接使用7x7卷积核的区别是什么呢?第一,使用了3次ReLU而并非一次,使得网络的决策更加精细有更强的区分性。第二,减少了参数个数,假设每层输入输出都拥有C个通道,3层3x3就有 3 ( 3 ) 2 C 2 = 27 C 2 3(3)^2C^2=27C^2 3(3)2C2=27C2个参数,而7x7单层会有 7 2 C 2 = 49 C 2 7^2C^2=49C^2 72C2=49C2个参数,整整多了81%,这同时也可以看作对于7x7单层卷积施加了正则化。
运用1x1的卷积核是一种在不影响卷积层感受野情况下增加决策函数非线性的一种方式。尽管在本网络中,1x1卷积只是同维度空间上的线性映射(输入输出通道数相同),但同时它还经过了一次ReLU,增加了非线性,使网络拥有更强的表达能力。
网络的深度非常有必要,小卷积核之前有研究者使用过,不过由于网络深度不够,并没有取得很好的成果。

Classification Framework

Training
采用带momentum的mini_batch梯度下降算法,batch_size为256,momentum为0.9。
采用了weight decay,L2惩罚算子为0.0005。
采用了dropout在前两层全连接层中,ratio为0.5。
learning rate初始值为0.01,当valid error停住,lr衰减10倍。
最终lr衰减了三次,算法总共跑了370K的循环(74个epochs),相比较于AlexNet,尽管有着更多的参数和更深的网络,但是却更快的完成了收敛,原因:

  1. 由更深的网络和更小的卷积核带来的隐式的泛化效果。
  2. 对于相应层的预初始化。
    网络权重的初始化非常重要,因为糟糕的初始值会减缓学习,因为梯度在深度网络中的不稳定性。为了解决这个问题,我们从网络A开始,因为它足够浅,所以完全可以使用随机初始化。然后当训练更深的网络的时候,将网络的前四层卷积层和最后三层FC层用相应的网络A的权值来初始化(额外的中间层采用随机初始化),随机初始化采用0均值,0.01方差的高斯分布,biases都初始化为0。在论文已经提交之后,发现可能可以使用下面论文中的随机初始化方式来代替本篇的预训练。
    https://www.researchgate.net/publication/215616968_Understanding_the_difficulty_of_training_deep_feedforward_neural_networks

同样地为了获得224x224的ConvNet输入图像,进行随机裁取。为了增广数据集,进行随机水平翻转,RGB通道调节。

总结

相较于AlexNet,VGG没有使用LRN和overlap pooling,而是强调了网络深度以及小卷积核带来的网络更好的表达能力以及泛化效果,同样也使用了带weight decay和momentum的mini_batch下降算法。还引入了预训练来完成参数初始化。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VGG-16是一种卷积神经网络模型,用于图像识别任务。猫狗识别是指利用计算机视觉技术对图像中的猫和狗进行分类和识别的任务。 VGG-16模型是由牛津大学的研究团队于2014年提出的。该模型的名称VGGVGGNet的缩写,其中16表示该模型有16个卷积层和全连接层。VGG-16模型通过一系列的卷积层和池化层来提取图像的特征,然后通过全连接层和Softmax分类器对提取的特征进行分类。 对于猫狗识别任务,首先需要准备一个具有大量猫和狗图像的数据集,并标记每个图像的类别。将这个数据集划分为训练集和测试集。 然后,使用VGG-16模型对训练集的图像进行训练,通过反向传播算法不断优化模型的权重参数,使其能够准确地识别猫和狗。在训练过程中,可以使用一些优化技巧,如学习率调整、数据增强等,来提高模型的性能和鲁棒性。 训练完成后,使用训练好的模型对测试集的图像进行分类预测。将预测结果与实际标签进行比较,计算准确率和其他评价指标来评估模型的性能。 通过以上步骤,可以利用VGG-16模型对猫和狗的图像进行准确的分类识别。然而,模型的性能可能会受数据集的质量和多样性、模型的超参数设置等因素的影响。因此,在实际应用中,可以根据具体需求对模型进行调优,并采用一些先进的方法来进一步提高识别的准确性和泛化能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值