图像分类综述 (3)

  除了这两个特点之外,由于网络中间层特征也很有判别性,GoogLeNet在中间层添加了两个辅助分类器,在后向传播中增强梯度并且增强正则化,而整个网络的损失函数是这个三个分类器的损失加权求和。

  GoogLeNet整体网络结构如图9所示,总共22层网络:开始由3层普通的卷积组成;接下来由三组子网络组成,第一组子网络包含2个Inception模块,第二组包含5个Inception模块,第三组包含2个Inception模块;然后接均值池化层、全连接层。

   

图像分类综述

  上面介绍的是GoogLeNet第一版模型(称作GoogLeNet-v1)。GoogLeNet-v2引入BN层;GoogLeNet-v3 对一些卷积层做了分解,进一步提高网络非线性能力和加深网络;GoogLeNet-v4引入下面要讲的ResNet设计思路。从v1到v4每一版的改进都会带来准确度的提升,介于篇幅,这里不再详细介绍v2到v4的结构。

4、ResNet

  ResNet(Residual Network) 是2015年ImageNet图像分类、图像物体定位和图像物体检测比赛的冠军。针对随着网络训练加深导致准确度下降的问题,ResNet提出了残差学习方法来减轻训练深层网络的困难。

  在已有设计思路(BN, 小卷积核,全卷积网络)的基础上,引入了残差模块。每个残差模块包含两条路径,其中一条路径是输入特征的直连通路,另一条路径对该特征做两到三次卷积操作得到该特征的残差,最后再将两条路径上的特征相加。

  残差模块如图10所示,左边是基本模块连接方式,由两个输出通道数相同的3x3卷积组成。右边是瓶颈模块(Bottleneck)连接方式,之所以称为瓶颈,是因为上面的1x1卷积用来降维(图示例即256->64),下面的1x1卷积用来升维(图示例即64->256),这样中间3x3卷积的输入和输出通道数都较小(图示例即64->64)。

   

图像分类综述

  图11展示了50、101、152层网络连接示意图,使用的是瓶颈模块。这三个模型的区别在于每组中残差模块的重复次数不同(见图右上角)。ResNet训练收敛较快,成功的训练了上百乃至近千层的卷积神经网络。

   

图像分类综述

五、GitHub资源

  下面列举了搜集的开源的一些基于深度学习的图像分类的小项目,读者感兴趣可自行尝试。

  l  使用tensorflow和cnn做的图像识别,对四种花进行了分类。: https://github.com/waitingfordark/four_flower

  l  使用vgg16,vgg19对cifar数据集中的图像进行分类:https://github.com/caozhang1996/VGG-cifar10

  l  基于Keras实现Kaggle2013--Dogs vs. Cats12500张猫狗图像的精准分类: https://github.com/zhangpengpengpeng/kaggle-dogs-vs-cats

  l  keras使用迁移学习实现医学图像二分类(AK、SK):https://github.com/jinghaiting/binary_classification_keras

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdpxw.html