一、图像分类神经网络发展的四个阶段
- 经典深度卷积神经网络模型
- 注意力机制卷积神经网络模型
- 轻量级卷积神经网络模型
- 神经网络架构搜索模型
二、深度卷积神经网络模型
1、LeNet
2、AlexNet
特点:该网络包含 5 个卷积层和 3 个全连接层, 输入图像经过卷积操作和全连接层的操作,最后输入具有 1 000 个节点的 Softmax 分类器完成图像分类。 该网络通过使用线性整流函数( rectifiled linearunit,ReLU) 作为激活函数,引入局部响应归一化 (local response normalization,LRN)缓解梯度消失问题;使用数据增强和 Dropout 技术大大缓解了过拟合问题;
3、NIN( net-work in network)
特点:将卷积层替换为多层感知器卷积, 并将全连接层替换为全局平均池化层。 NIN 能学习 到更复杂和有用的特征,而参数量仅为 AlexNet 的十分之一。
4、ZFNet
特点:与 AlexNet 相比,ZFNet 使用了反卷积可视化特征图,前部的层使用了更小的卷积核和步长,通过研究遮挡局部图像对图像分类结果的影响获得了决定图像类别的关键部位。
5、OverFeat网络
特点:实现了利用一种卷积神经网络架构完成图像分类、定位和检测任务,OverFeat 网络的前几层采用卷积神经网络在图像的多个位置和多个尺度上以滑动窗口的方式提取特征,改变 OverFeat 网络的后几层,实现定位、检测任务。
6、VGGNet
特点:解决了AlexNet卷积核过大导致参数量较大的问题,主要贡献在于通过堆叠采用 3 × 3 小卷积核的卷积层,增加了网络深度,提升了网络性能。
7、googLeNet
特点:采用了 Inception-v1 模块,该模块采用稀疏连接降低模型参数量的同时,保证了计算资源的使用效率,在深度达到 22 层的情况下提升了网络的性能。
Inception-v2 模块( Ioffe 和 Szegedy,2015) 在 Inception-v1 模 块 基 础 上 增 加 了 批 量 归 一 化 (batch normalization,BN)层和卷积分解,BN 算法减少了内部协方差转移,加速了网络的训练且缓解了梯度消失问题。
Inception-v3 模块 (Szegedy 等, 2016a ) 在 Inception-v2 模块基础上进行非对称卷积分解。
Inception-v4 ( Szegedy 等,2016b)相比 Inception-v3 具有更统一的简化架 构、更多的 Inception 模块。
Inception-ResNet 系列结构,其中Inception-ResNet-v1 网络在每个 Inception-ResNet 模块的最后加入了 1 × 1 卷积,Inception-ResNet-v2 网络对残差模块的输出进行了整形。
8、ResNet
特点:残差块除了包含权重层,还通过越层连接将输入x 直接连到输出上;越层连接使得不同层的特征可以互相传递,一定程度上缓解了梯度消失问题。
RoR模型:残差映射易于优化,则残差映射的残差映射更易优化,并据此在 ResNet 基础上逐级加入越层连接,构建了多级残差卷积神经网络,使得高层特征可以向低层传递,进一步抑制了梯度消失问题。
金字塔多级残差卷积神经网络:RoR模型会使得网络中特征信息传递不连贯,会损失一些与预测相关的有用信息,限制了网络的分类性能。金字塔网络通过线性逐步增加每个残差块的输出通道数,保证高级属性多样性的同时也保证了信息的连续性。
广义残差块:
解决问题:ResNet 中的恒等映射导致不同特征的混合连接,然而在深度网络中,前部层学习的特征可能不再对后部层提供有用的信息。
特点:广义残差结构的模块单元是由残差流和瞬态流组成的并行结构,如图 7 所示,其中残差流包含越层连接且与原始残差块相似,瞬态流则是标准的卷积层,另外每个广义残差块中还有额外的两个卷积核滤波器来传递信息。
WRN宽残差网络:
解决问题:在 ResNet 中,存在特征过度重用问题,寻求少量精确度的增加需要将网络层数加倍。
特点:WRN 在原始残差块的基础上成倍地增加残差块中卷积核的个数,增加了网络的宽度,如图 9 所示, 变量 k 代表宽网络卷积核较基准网络卷积核的倍数,该网络降低了网络深度,其性能远超相同层数的残差网络。
9、DenseNet
解决问题:为确保网络中各层之间信息流最大化,Huang 等人(2017)提出了密集连接卷积神经网络 ( densely connected convolutional network, DenseNet)。
特点:该网络使用了一种简单的连接模式,即将所有层直接相连。DenseNet 由密集块组成,密集块结构如图 10 所示,密集块采用前馈的方式将所有层(具有相同输出特征图大小) 直接相连,每一层都从其前部所有层获得输入并将自己的输出特征图传递到后部层, 这种方式增强了特征重用,并可缓解梯度消失问题。
区别:与残差网络不同的是,DenseNet 将特征图传递到下一层之前没有采用求和而是通过通道的合并来组合特征图。
三、使用注意力机制的卷积神经网络
使用注意力机制的卷积神经网络与人眼类似,强调目标中有用的部分,可以是某些空间、某些通道或某些层等,抑制价值不大的部分。 主要的注意力机制可以分为空间域、通道域和层域注意力机制。
1、挤压激励模块SE block
特点:SE block 通过显式地建模通道之间的相互依赖性来重新校准通道的特征响应,即选择性地增强有用的通道特征,抑制无用的通道特征。该模块首先将全局空间信息挤压到通道描述符中,再将通道描述符通过门控机制,生成每个通道特征的权重,将权重与模块的输入相乘,完成通道特征重校准。SE block的使用仅轻微增加模型的复杂度和计算量,却取得较好的效果。
2、SK block
特点:SK 模块混合了两种不同大小的卷积核,获得了不同感受野的特征信息。
3、卷积注意力模块CBAM
解决问题:SE block 中,并没有考虑空间域特征的相关性。
特点:该模块包括通道注意力模块和空间注意力模块两部分:
输入特征图首先输入通道注意力模块,分别使用平均池化和最大池化聚集空间信息生成两个空间内容描述符,随后两个空间内容描述符通过一个共享网络生成通道注意力图;
通道注意力模块的输出特征图输入空间注意力模块,首先在通道维度上使用平均池化和最大池化操作,随后将两个操作的结果连接起来以生成特征描述符,特征描述符再经过卷积操作生成空间注意力图,空间注意力图与空间注意力模块的输入相乘,得到 CBAM 模块的输出,
即同时考虑了通道域特征相关性和空间域特征相关性。
4、GSoP 模块
特点:将其从低层引入到高层,其沿着通道维度或者空间维度捕获全局二阶统计信息,可方便地插入到现有网络中,在较小的开销下进一步提高其性能。
5、Non-local block
解决问题:卷积操作是局部操作,重复局部操作具有计算效率低、优化困难和多跳依赖性建模困难等限制。
特点:利用非局部操作,捕获远程的依赖。 该非局部操作将输入特征图的各个位置特征的加权和作为某一位置的响应。
6、全局上下文模块 ( global context block,GC block)
特点:使用了与简化的 Non-local block 同样的上下文建模和融合方法、与 SE block 相同的转换方 法, GC block 在多种视觉识别任务中表现优于简化的 Non-local block 和 SE block。
7、多级特征重标定密集连接卷积神经网络模型 ( multiple feature reweight DenseNet, MFR-
8、Split-Attention 模块
解决问题:ResNet 有限的感受野尺寸和跨通道交互的缺乏使得 ResNet 在分类以外的任务上表现较差。
特点:该模块沿着通道维度将特征图划分为几个组和更细粒度的分支,每个组的特征表示由其分支表示的加权组合表示,通过堆叠 Split-Attention 模块得到 ResNeSt 网络,该网络更易迁移到分类任务之外的其他任务。
四、轻量级网络
1、SqueezeNet
解决问题:为了提高内存利用率和运行速度。
特点:网络由 fire module 组成,SqueezeNet在达到与AlexNet同样精度的同时,参数量降低为AlexNet的五十分之一。
2、Xception 模型
特点:该模型将 Inception 模块替换为深度可分离卷积。 深度可分离卷积首先在输入的每个通道上独立执行空间卷积,即深度卷积(depthwise convolution),随后将深度卷积输出的通道投影到新的通道空间, 即逐点卷积 ( pointwise convolution )。Xception 模型比具有同样参数量的 Inception v3 模 型在大型数据集上表现更优异,其可以更有效地利用参数。
3、MobileNet
MobileNet-V1:该网络使用了深度可分离卷积,除此之外,还提出了两个超参数———宽度乘数 α 和决议乘数 ρ ,使得其可根据应用的不同选择不同的模型大小。
MobileNet-V2:继续使用 MobileNetV1 中的深度可分离卷积,并在此基础上提出了使用倒置残差和线性瓶颈的模块。
MobileNet-V3:将神经架构搜素( neural architectre search,NAS) 与网络结构的设计结合,该网络除了使用 NAS 算法和 NetAdapt 算法来优化模型,还重新设计了瓶颈模块,并在网络的后半部分使用了新的激活函数 h-swish。
4、Shuf-flfleNet
Shuf-flfleNetV1:
解决问题:针对计算能力有限的移动设备。
特点:在保持模型精度的同时大大减少了计算量。
Shuf-flfleNetV2:
特点:在 ShuffleNetV1 的基础上, 引入通道分离操作,提出了 ShuffleNetV2,其不仅有效,而且准确。
优化准则:输入输出通道数相同使内存访问成本最小;过多的分组卷积增加内存访问成本;网络碎片降低并行度;应减少逐元素操作。
五、神经架构搜索(neural architecture search,NAS)
其采用神经网络自动设计神经网络结构。 NAS 方法可分为 3 类:
1) 基于设计不同搜索空间的 NAS 方法;
2)基于模型优化的 NAS 方法;
3) 其他改进的 NAS 方法。
1、基于设计不同搜索空间的 NAS 方法
(1)Zoph 等人(2018)设计了新的搜索空间,搜索空间包括结构相同参数不同的卷积层,搜索 最佳单元架构就转变成搜索最佳结构体,在小数据集上搜索网络构建块,然后迁移到大数据集上。 搜索最佳结构体比搜索整个网络结构快得多,并且通过简单地改变卷积单元数量和卷积单元中滤波器的数量,可以创建不同计算需求的网络架构。
(2)Bello 等人(2017)提出神经优化器搜索,搜索空间中为优化器各种因素的组合,得到两个新的更新规则 PowerSign 和 AddSign。
(3)Ramachandran 等 人 (2017) 使用自动搜索技术发现了新的激活函数Swish,在许多富有挑战性的数据集上,其比使用广泛的 ReLU 激活函数效果更好。
(4)Cubuk 等人 (2019)提出了 AutoAugment 过程,可以自动搜索改进的数据增强策略。
(5)Real 等人(2019)对演进算法进行改进,首次开发出超越手工设计的分类器 AmoebaNet-A。 改进有两点:
1) 为每个架构添加年龄属性,倾向于搜索年轻的模型;
2) 搜索空间为分类器,此搜索空间将卷积神经网络与有向图相关联,顶点表示隐藏状态,标签的边缘表示常见的网络操作,提出的变异规则仅通过将边缘的原点随机重新连接到不同的顶点,并通过随机重新标记边缘(覆盖整个搜索空间)来更改体系结构。
2、基于模型优化的 NAS 方法
(1)Liu 等人(2018)提出使用基于序列模型的优化策略,在该策略中,以复杂度递增的顺序搜索模型,同时学习替代模型以指导在结构空间中进行搜索。
(2)Pham 等人(2018) 提出的 effificient neural architecture search(ENAS)强制所有子网络共享权重,以避免从头到尾地训练每个子网络,与当时某些自动设计的模型相比,使用 GPU 的 时间少得多。
(3)Yang 等人(2018)提出了 NetAdapt 优化算法,贡献主要有两点:该算法在优化循环中加入了直接度量, 直接度量是由从目标平台获得的经验度量来评估的,这使得算法可以适应任何平台;该算法为自动约束网络优化算法,在满足约束条件时,使精度最大化。
(4)Liu 等人 (2019)提出了可微架构搜索( differentiable architecture search,DARTS),DARTS 不再搜索候选的离散模型,而将搜索空间设置为连续且可微的,因此网络在验证集上可使用梯度下降来优化,使用较少的资源能获得不错的性能。
(5)Tan 等人(2019a)提出了移动神经架构搜索(mobile neural architecture search,MNAS),其创新点有两点:将模型的准确率和延迟作为奖励信号,其中延迟通过在真实移动设备上执行模型来直接测量,而不是使用不准确的间接指标,例如 FLOPs;提出了新的分解层次搜索空间,避免了之前自动搜索方法中单元类型少的问题。
3、其他 NAS 方法
(1)Tan 等人(2019b)提出了复合扩展方法,扩展模型的有效性取决于基础模型,Tan 等人(2019b)使用神经架构搜索设计出了一种新的基础模型,使用复合扩展方法将该模型扩展,得到一系列模型,即 EfficientNets。在有资源预算的情况下,扩展模型可获得更好的精度。
(2)尽管自动搜索技术很有效,但得到的模型是单个的,并有一定的巧合性。Radosavovic 等人(2020) 提出了RegNet 设计空间,可以泛化为更大的计算状态、调度长度和网络块类型,在相同训练设置下,RegNet 模型比 EfficientNets 模型快 5 倍。
六、小结
DCNN 极大地推进了图像分类任务的进展。DCNN 通过多层的非线性变换,在大量图像训练数 据中提取特征以代替手工提取的特征,并且深层次的卷积神经网络具有极强的特征学习和表达能力, 能够学习到复杂的全局信息和上下文信息。 此外, DCNN 采用一些手段可达到轻量化的效果,方便应用于移动式设备和嵌入式设备中。 还可使用神经网络自动设计和优化 DCNN,得到性能较优异的模型的同时节省了人力和时间。
除 DCNN 应用于图像分类外,循环神经网络、 图神经网络也可用于图像分类中。 CNN 更加关注局部特征,若标签之间具有很强的关联性,CNN 视野有限,不会很好地处理这类任务。 循环神经网络 (recurrent neural network,RNN)添加了反馈单元,将模型当前位置的输出反馈给模型,从而帮助下一位置进行决策。 LSTM 作为 RNN 的一种,能够解决RNN 无法处理长距离的依赖问题,还能够缓解 RNN梯度爆炸或消失问题,在处理长序列数据上非常有效。 图神经网络(graph neural network,GNN)是一个较新的研究领域,其比 CNN 更擅于因果推理。 图像也可转化成图,对图的分析至关重要,GNN 是可直接应用于图的神经网络,对图级进行分类,在图像分类中有一定的应用。