深度学习的一些网络(论文内容)
卷积神经网络的基本结构的组合形成了许多经典网络结构。
分类任务输入未知分类的目标图片,经过网络处理后给出对应图像类别。分类任务中使用的网络结构大多各不相同,研究者会针对不同的数据和分布情况设计适合的网络结构,但大多会借鉴自然图像中较常用的两类网络GoogleNet和ResNet,—些较早的研究大多借鉴AlexNet的网络结构。
2.2.1 GoogleNet主要结构
2014年提出的GoogleNet在ImageNet图像识别比赛中莸得最好成绩,其中最大的创新点在于Inception模块。一般来说网络的深度越深,参数量越大,所能表达的模型越复杂,相对来说网络的性能会提升。但实际中,由于训练样本数量有限,过多的参数反而影
响模型的泛化性能,导致网络出现过拟合,同时过深的网络由于梯度消失问题难以有效训练。而Inception模块可以在减少网络参数的同时提升特征提取能力。最早的Inception模块如图2.2所示,包含4组卷积通道,均由卷积和池化层组成,其中三组通道使用纯卷积层,分别使用1*1、3*3、5*5卷积核,其中3*3、5*5卷积核前还加入了1*1的卷积核进行通道数的改变以减少通道数较多时的计算量,最后一组使用了一个3*3的最大池化层和一个1*1的卷积层提取高层信息。通过调整填充使得四组通道输入输出的大小一致,最后将四组通道的输出连接并作为模块输出传入下层。GoogleNet通过串联多个Inception模块组成了很深的网络,达到了很好的分类效果。训练时为了有效进行梯度反向传播利用中间层构造了辅助Softmax分类器输出图像的标签预测,通过与真实标签值计算损失从中间层输出用于反向传导的梯度。不同尺度的卷积层形成了不同的感受野,这使得Inception模
块能同时提取不同尺度的信息,同时1*1卷积核的利用减少了参数量,降低了模型复杂度,这使得GoogleNet比之前的Vgg网络深的同时使用的参数量更少。GoogleNet还用了平均池化层部分替代全连接层来减少参数量,降低网络的过拟合。
图2.2 Inceptionv1模块 图2.3 Inceptionv2模块 图2.4 Inceptionv3模块
后续的研究发现大卷积核的效果可以通过连续的小卷积核的卷积层替代,因而在第二代的Inception模块中作者利用连续的3*3卷积来替代5*5卷积,模块结构如图2.3所示。在保持与之前结构相同效果的同时减少了模型参数,使用两个3*3的卷积核替代一个5*5的卷积核可以减少30%的参数。
GoogleNet作者通过研究证明继续减小卷积核也不会对模型表达能力造成损失,第三代Inception模块用两个3*1卷积替代3*3卷积,进一步分解卷积,可再减少约30%的参数,在通道数较多的时候能有效减少模型复杂度。同时更多的卷积层会引入更多非线性**,进而能提升模型的性能,但这样的替代在浅层网络上使用效杲不佳。
2.2.2 Rsenet主要结构
2015提出的ResNet在ImageNet图像识别比赛中获得了更好的成绩,主要的创新在于残差模块。不同于GoogLeNet将网络变宽来解决深度问题,ResNet提出的残差结构使得网络的深度不再是训练的障碍。残差模块如图2.5所示,通常由两个卷积层组成,每一个卷积层后有一个批量归一化层和一个relu**层,输入跳过两个卷积层后与第二个批量归一化层的输出相加。如杲相加时通道数不同则将输入经过1*1的卷积层进行调整后相加。残差模块的原理是将一个映射的学习转化为一个恒等映射和一个残差之和的学习,如式(2.11)所示,每一层网络学习的是目标函数与上一层的残差,而当损失反向传播时由于恒等部分的存在,可以保证始终有梯度能穿递到上一层,避免了梯度消失的问题。通过雄叠残差模块可以快速构建极深的网络,同时仍然保持良好的可训练性。残差模块也采用了1*1的卷积梭进行通道调整的卷积运算,对通道数量较多的深层残差模块先通过1*1卷积核降低通道数,经过3*3卷积后再使用1*1卷积核恢复通道数,如图2.5右图所示。后续的研究对卷积层、批量归—化层、**层之间的顺序进行了调整,提升了模块的性能。