深度学习,图像分类,从vgg到inception,到resnet

最近工作在做一件事情,就是把游戏图像进行场景分类,相比于自然图像来说,游戏图像种类较少,因此分类任务比较简单,但是由于追求工程上的高精度和高效率,所以阅读了vgg,inception,resnet等相关论文,并且都试了一下效果,算是对深度学习图像分类有了一个系统的了解,在这里总结一下。

VGG

vgg

vgg的最主要的思想就是增加网络深度减小卷积核尺寸(3*3)。减少卷积核的好处就是可以减少参数和计算量,比如,论文中举了一个例子,把一个7*7的卷积层替换成3个3*3的卷积层,参数上可以减少81%,因为3*3*3 = 27, 7*7 = 49.

文中还提到了1*1的卷积层,比如说下图的configC的conv1层,这样做的目的主要是增加卷积层的非线性表达,同时影响卷积层的感受野,这个思想在google的inception系列网络中有了很好的应用,具体可以参考Network in Network这篇论文。

这里写图片描述

vgg的参数还是很多的,可以看出vgg-16有138million个参数。

inception系列

参考论文:
[v1] Going Deeper with Convolutions, 6.67% test error
http://arxiv.org/abs/1409.4842
[v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, 4.8% test error
http://arxiv.org/abs/1502.03167
[v3] Rethinking the Inception Architecture for Computer Vision, 3.5% test error
http://arxiv.org/abs/1512.00567
[v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning, 3.08% test error
http://arxiv.org/abs/1602.07261

inception-v1

这个就是GoogLeNet了,读谷歌的论文,一股工程的气息扑面而来,作者摘要中就说,本文的主要工作,就是研究怎么设计一种网络,更加有效地利用计算资源。

inception

一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,这也就意味着巨量的参数。但是,巨量参数容易产生过拟合也会大大增加计算量。

文章认为解决上述两个缺点的根本方法是将全连接甚至一般的卷积都转化为稀疏连接。一方面现实生物神经系统的连接也是稀疏的,另一方面有文献表明:对于大规模稀疏的神经网络,可以通过分析激活值的统计特性和对高度相关的输出进行聚类来逐层构建出一个最优网络。这点表明臃肿的稀疏网络可能被不失性能地简化。 虽然数学证明有着严格的条件限制,但Hebbian准则有力地支持了这一点:fire together,wire together。

早些的时候,为了打破网络对称性和提高学习能力,传统的网络都使用了随机稀疏连接。但是,计算机软硬件对非均匀稀疏数据的计算效率很差,所以在AlexNet中又重新启用了全连接层,目的是为了更好地优化并行运算。

所以,现在的问题是有没有一种方法,既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。大量的文献表明可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能,据此论文提出了名为Inception 的结构来实现此目的。

inception module 主要就是把稀疏结构近似成几个密集的子矩阵,从而在减少参数的同时,更加有效地利用计算资源。

  • 14
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值