深度学习基础模型之VGG

1.VGG概述

论文:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
VGG是ImageNet Challenge2014年定位任务的第一名,分类任务的第二名(第一名是GoogLeNet)。VGG到现在非常多的网络结构都会用到VGG,最重要的原因就是特征提取部分VGG非常好,例如SRGAN利用VGG的特征提取的部分来得到特征图进而构造损失函数。
VGG网络结构分为好多种,但是最重要的一个点也是目前大家都认可的一个点就是,利用多个尺寸小的卷积核代替一个尺寸大的卷积核,例如三个3×3的卷积核可以代替一个7×7的卷积核,因为深度增加了,所以引入了更多的非线性,并且有更大的感受野,对特征提取非常有帮助。

2.模型配置

模型是在AlexNet的基础上进行改进的。
输入:224×224RGB图像。唯一的预处理是从每个像素中减去训练集上计算的RGB均值。
滤波器设置:就是卷积核,都是用尺寸为3×3的卷积核。用多个3×3来代替AlexNet种的大尺寸卷积核。有一些模型中还利用了1×1卷积滤波器.
1×1的卷积是对单个像素多个通道进行卷积,可以看作是多通道特征的线性变换,而且引入非线性量(后面跟激活函数),可以方便起到维度变换的目的,而且可以减少参数(例如13×13×192特征图利用3×3卷积核变换到64,那么需要192×3×3×64=110,592‬,如果先通过1×1变换为512则需要(192×1×1×64+ 64×3×3×64 )=49,152 )。
全连接层:在卷积过后是三个全连接(FC)层:前两个每个都有4096个通道,第三个执行1000维ILSVRC分类,因此包含1000个通道(一个通道对应一个类别)。最后一层是soft-max层。所有网络中全连接层的配置是相同的。
激活函数:每一层隐藏层之后都跟了ReLu激活函数来引入非线性。
相对于AlexNet来说,没有使用LRN因为实验发现添加LRN并没有效果上的提升反而增加了内存消耗和计算时间。

详细结构

在这里插入图片描述
每种模型的参数数量
在这里插入图片描述
事实上VGG需要训练的参数相对来说是非常大的。但是相对于使用大卷积来说,参数并不大,而且因为深度加深,感受野更大。

VGG的一些特点

结构上:
1、应用3×3卷积代替大尺寸卷积,有些还利用了1×1卷积,引入更多的非线性,增加深度增大感受野,但是在参数上和原来相比并不多。
训练上:
1、随着训练,学习率需要衰减
2、为了使模型能训练,我们会裁剪图片为224×224,可以通过随机裁剪的方式来丰富训练集
3、训练很深的网络,可以先训练浅层网络,参数为随机初始化。然后将训练好的浅层网络参数作为对应的深层网络层的初始化参数,可以加速收敛。
评估上:
1、使用多尺度评估,test使用不同尺度的图片输入。

猜你喜欢

转载自blog.csdn.net/qq_39117858/article/details/105005088