深度卷积神经网络架构:从基本组件到结构创新
共 30635字,需浏览 62分钟
·
2021-03-31 10:24
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自:人工智能与算法学习
https://arxiv.org/pdf/1901.06032.pdf
摘要
1、引言
2、CNN基本组件
2.1 卷积层
2.2 池化层
2.3 激活函数
2.4 批次归一化
2.5 Dropout
2.6 全连接层
3、深度CNN结构演化史
3.1 1980年代末至1999年:CNN的起源
3.2 2000年初:CNN停滞不前
3.3 2006-2011年:CNN的复兴
3.4 2012-2014年:CNN的崛起
3.5 2015年至今:CNN的结构创新和应用迅速增长
4、CNN中的结构创新
4.1 基于空间利用的CNN
4.2 基于深度的CNN
4.3 基于多路径的CNN
4.4 基于宽度的多连接CNNs
4.5 基于特征图(Channel FMap)利用的CNN
4.6 基于通道(输入)利用的CNNs
4.7 基于注意力的CNNs
5、CNN应用
5.1 自然语言处理
5.2 计算机视觉相关应用
5.3 物体检测
5.4 图像分类
5.5 语音识别
6、CNN面临的挑战
7、未来方向
8、结论
致谢
CNN被认为是学习图像内容的最佳技术之一,并且在图像识别、分割、检测和检索相关任务方面显示了最佳的成果[8],[9]。CNN的成功所引起的关注已超出学术界。在行业中,诸如Google,Microsoft,AT&T,NEC和Facebook之类的公司已经建立了活跃的研究小组,以探索CNN的新架构[10]。目前,大多数图像处理竞赛的领跑者都采用基于深度CNN的模型。
2.1 卷积层
2.2 池化层
2.3 激活函数
2.4 批次归一化
2.5 Dropout
2.6 全连接层
3.1 1980年代末至1999年:CNN的起源
3.2 2000年初:CNN停滞不前
3.3 2006-2011年:CNN的复兴
3.4 2012-2014年:CNN的崛起
3.5 2015年至今:CNN的结构创新和应用迅速增长
4.1 基于空间利用的CNN
在2013年之前,CNN的学习机制主要是基于反复试验,而不知道改进背后的确切原因。缺乏了解限制了深层CNN在复杂图像上的性能。2013年,Zeiler和Fergus提出了一种有趣的多层反卷积神经网络(DeconvNet),该网络以ZefNet闻名[28]。开发ZefNet是为了定量可视化网络性能。网络活动可视化的想法是通过解释神经元的激活来监视CNN的性能。在先前的一项研究中,Erhan等人(2009)利用了相同的想法通过可视化隐藏层的特征[125],优化了深度信念网络(DBN)的性能。Le等人(2011年)以同样的方式通过可视化输出神经元生成的图像类别来评估深度无监督自动编码器(AE)的性能[126]。DeconvNet的工作方式与前向CNN相同,但颠倒了卷积和池化操作的顺序。这种反向映射将卷积层的输出投影回视觉上可感知的图像模式,从而给出了在每一层学习的内部特征表示的神经元级别的解释[127],[128]。ZefNet的目标是在训练期间监视学习方案,从而将发现用于诊断与模型相关的潜在问题。这个想法在AlexNet上应用DeconvNet得到了实验验证,结果表明在网络的第一层和第二层中只有少数神经元处于活动状态,而其他神经元则死了(处于非活动状态)。此外,它表明第二层提取的特征表现出混叠伪像(aliasing artifacts)。基于这些发现,Zeiler和Fergus调整了CNN拓扑并进行了参数优化。Zeiler和Fergus通过减小过滤器尺寸和步幅以在前两个卷积层中保留最大数量的特征,从而最大限度地提高了CNN的学习能力。CNN拓扑结构的这种重新调整带来了性能提高,这表明特征可视化可用于识别设计缺陷并及时调整参数。
随着CNN成功用于图像识别,Simonyan等人提出了一种简单有效的CNN架构设计原则。他们的名为VGG的体系结构是模块化的分层模式[29]。与AlexNet和ZefNet相比,VGG的深度为19层,以模拟深度与网络表示能力的关系[21],[28]。ZefNet是2013年ILSVRC竞赛的一线网络,它建议使用小型滤波器可以提高CNN的性能。基于这些发现,VGG用一堆3x3卷积层代替了11x11和5x5滤波器,并通过实验证明,同时放置3x3滤波器可以达到大尺寸滤波器的效果(感受野同大尺寸滤波器同样有效(5x5和7x7))。小尺寸滤波器的另一个好处是通过减少参数的数量提供了较低的计算复杂性。这些发现为在CNN中使用较小尺寸的滤波器创造了新的研究趋势。VGG通过在卷积层之间放置1x1卷积来调节网络的复杂性,此外,还可以学习所得特征图的线性组合。为了调整网络,将最大池化层放置在卷积层之后,同时执行填充以保持空间分辨率[46]。VGG在图像分类和定位问题上均显示出良好的效果。虽然VGG未在2014-ILSVRC竞赛中名列前茅,但由于其简单、同质的拓扑结构和增加的深度而闻名。与VGG相关的主要限制是计算成本高。即使使用小尺寸的滤波器,由于使用了约1.4亿个参数,VGG仍承受着很高的计算负担。
GoogleNet赢得了2014-ILSVRC竞赛的冠军,也被称为Inception-V1。GoogleNet体系结构的主要目标是在降低的计算成本同时实现高精度[99]。它在CNN中引入了inception块的新概念,通过拆分、变换和合并思想整合了多尺度卷积变换。inception块的体系结构如图6所示。该块封装了不同大小的滤波器(1x1、3x3和5x5),以捕获不同尺度(细粒度和粗粒度)的空间信息。在GoogleNet中,传统的卷积层被替换为小块,类似于在网络中网络(NIN)体系结构中提出的用微型NN替换每层的想法[57]。GoogleNet对分割、变换和合并的想法的利用,有助于解决与学习同一图像类别中存在的各种类型的变体有关的问题。除了提高学习能力外,GoogleNet的重点还在于提高CNN参数的效率。在采用大尺寸内核之前,GoogleNet通过使用1x1卷积滤波器添加瓶颈层来调节计算。它使用稀疏连接(并非所有输出特征图都连接到所有输入特征图),从而通过省略不相关的特征图(通道)来克服冗余信息和降低成本的问题。此外,通过在最后一层使用全局平均池来代替连接层,从而降低了连接密度。这些参数调整使参数量从4000万个大大减少到500万个。应用的其他正则因素包括批量标准化和使用RmsProp作为优化器[129]。GoogleNet还引入了辅助学习器的概念以加快收敛速度。但是,GoogleNet的主要缺点是其异构拓扑,需要在模块之间进行自定义。GoogleNet的另一个限制是表示瓶颈,它极大地减少了下一层的特征空间,因此有时可能会导致有用信息的丢失。
4.2 基于深度的CNN
基于直觉,可以通过增加网络深度来提高学习能力。2015年,Srivastava等人提出了一个名为Highway Networks的深层CNN [101]。与深度网络有关的主要问题是训练慢和收敛慢[136]。Highway Networks通过引入新的跨层连接(在第4.3.1节中讨论),利用深度来学习丰富的特征表示。因此,Highway Networks也被归类为基于多路径的CNN体系结构。在ImageNet数据集上,具有50层的Highway Networks的收敛速度要好于薄而深的架构[94],[95]。Srivastava等人的实验表明,添加10层以上的隐藏单元后,普通网络的性能会降低[137]。另一方面,即使深度为900层,Highway Networks的收敛速度也比普通网络快得多。
ResNet由He等人提出,被认为是Deep Nets的延续[31]。ResNet通过在CNN中引入残差学习的概念彻底改变了CNN架构竞赛,并设计了一种有效的方法来训练深度Nets。与Highway Networks类似,它属于基于多路径的CNN,因此其学习方法将在4.3.2节中讨论。ResNet提出了152层深度CNN,赢得了2015-ILSVRC竞赛。ResNet残差块的体系结构如图7所示。分别比AlexNet和VGG深20倍和8倍的ResNet比以前提出的Nets[21],[29]表现出更少的计算复杂性。何等人根据经验表明,具有50/101/152层的ResNet在图像分类任务上的错误少于34层的纯Net。此外,ResNet在著名的图像识别基准数据集COCO [138]上提高了28%。ResNet在图像识别和定位任务上的良好性能表明,深度对于许多视觉识别任务至关重要。
Inception-V3,V4和Inception-ResNet是Inception-V1和V2的改进版本[33],[99],[100]。Inception-V3的想法是在不影响泛化的情况下降低更深Nets的计算成本。为此,Szegedy等用小型非对称滤波器(1x7和1x5)替换大型滤波器(5x5和7x7),并在大型过滤器之前使用1x1卷积作为瓶颈[100]。这使得传统的卷积运算更像跨通道相关的。在以前的工作之一,林等充分利用了1x1滤波器在NIN架构中的潜力[57]。Szegedy等 [100]以一种智能的方式使用了相同的概念。在Inception-V3中,使用了1x1卷积运算,该运算将输入数据映射到小于原始输入空间的3或4个独立空间中,然后通过常规3x3或5x5卷积映射这些较小的3D空间中的所有相关性。在Inception-ResNet中,Szegedy等人结合了残差学习和Inception块的作用[31],[33]。这样做时,滤波器级联被残差连接代替。此外,Szegedy等实验表明,带有残差连接的Inception-V4(Inception-ResNet)具有与普通Inception-V4相同的泛化能力,但深度和宽度增加了。但是,他们观察到Inception-ResNet的收敛速度比Inception-V4更快,这清楚地说明了使用残差连接进行训练会显著加快对Inception网络的训练。
ResNext,也称为聚合残差变换网络,是对Inception网络的改进[115]。谢等人通过引入cardinality的概念,以强大而简单的方式利用了分割,变换和合并[99]。cardinality是一个附加维,它是指转换集的大小[139],[140]。Inception网络不仅提高了传统CNN的学习能力,而且使网络资源有效。但是,由于在转换分支中使用了多种空间嵌入(例如使用3x3、5x5和1x1滤波器),因此需要分别自定义每一层。实际上,ResNext从Inception,VGG和ResNet [29],[31],[99]中得出了特征。ResNext通过将split,transform和merge块中的空间分辨率固定为3x3滤波器,利用了VGG的深度同质拓扑和简化的GoogleNet架构。它还使用残差学习。ResNext的构建块如图8所示。ResNext在split,transform和merge块中使用了多个转换,并根据cardinality定义了这些转换。Xie等人(2017)表明,cardinality的增加显着改善了性能。ResNext的复杂度是通过在3x3卷积之前应用低嵌入(1x1滤波器)来调节的,优化训练 ^使用跳跃连接。
4.3 基于多路径的CNN
网络深度的增加主要是针对复杂问题提高了性能,但同时也使网络训练变得困难。在深网中,由于层数众多,误差的反向传播可能会导致较低层的梯度值较小。为了解决这个问题,Srivastava等人 [101]在2015年,基于跨层连接的想法,提出了一种新的CNN架构,称为Highway Networks。在Highway Networks中,通过在层中分配两个门单元(等式(5)),可以实现跨层的信息畅通无阻。门控机制的思想是从基于长期短期记忆(LSTM)的递归神经网络(RNN)[147],[148]中得到启发的。通过组合第l层和之前的l-k层信息来聚合信息,产生正则化效果,从而使基于梯度的深度网络训练变得容易。这样就可以使用随机梯度下降(SGD)算法训练具有100多个层甚至多达900层的网络。Highway Networks网络的跨层连接性在公式(5和6)中定义。
为了解决在训练更深网络时遇到的问题,He等人(2015年)利用了Highway Network中使用的旁路途径提出了ResNet[31]。ResNet的数学公式用公式(7和8)表示。
在Highway Networks和ResNet的延续中,研究人员提出了DenseNet来解决梯度消失问题[31],[101],[107]。ResNet的问题在于它通过附加信息转换显式地保留信息,因此许多层可能贡献很少或根本没有信息。为了解决此问题,DenseNet使用了跨层连接,但是以一种修改的方式。DenseNet以前馈的方式将每一层连接到其他每一层,将所有先前层的特征图用作所有后续层的输入。与传统CNN中一层与其上一层之间的l个连接相比,这在DenseNet中建立了(l(l+1))/2个直接连接。它加强了跨层深度卷积的效果。由于DenseNet级联了先前层特征而不是添加它们,因此,网络可以具有显式区分添加到网络的信息和保留的信息的能力。DenseNet具有窄层结构,但是,随着特征图数量的增加,它在参数上变得昂贵。通过损失函数使每一层直接进入梯度,可以改善整个网络中的信息流。这具有正则化效果,可减少使用较小训练集任务的过拟合。
4.4 基于宽度的多连接CNNs
值得关注的是,深度残差网络相关的主要缺点是特征重用问题,其中某些特征转换或块可能对学习的贡献很小[152]。WideResNet解决了这个问题[34]。Zagoruyko和Komodakis提出,深层残差网络的学习潜力主要是由于残差单元,而深度具有补充作用。WideResNet通过使ResNet变宽而不是变深来利用残差块的功能[31]。WideResNet通过引入附加因子k,该因子控制网络的宽度。WideResNet表明,与使残差网络更深相比,拓宽层可能会提供更有效的性能改善方法。尽管深度残差网络提高了表示能力,但是它们具有一些缺点,例如时间密集型训练,许多特征图的失活(特征重用问题)以及梯度消失和爆炸问题。何等人通过将dropout引入残差块以有效地规范网络来解决特征重用问题[31]。同样,黄等人引入了随机深度的概念来解决梯度消失和学习缓慢的问题[105]。目前,即使性能的部分改善也可能需要添加许多新层。一项经验研究表明,WideResNet的参数数量是ResNet的两倍,但可以比深度网络更好地进行训练[34]。更宽的残差网络是基于以下观察结果:与ResNet相比,残差网络之前的几乎所有体系结构(包括最成功的Inception和VGG)都更宽。在WideResNet中,通过在卷积层之间而不是在残差块内部添加dropout来使学习有效。
在早期的深度CNN架构中,例如AlexNet,VGG和ResNet,由于多个卷积层的堆叠,特征图的深度在后续层中增加。但是,空间维数会减小,因为每个卷积层后都有子采样层[21],[29],[31]。因此,Han等人认为,在深层的CNN中,丰富的特征表示可以通过减小特征图的大小来弥补[35]。特征图深度的急剧增加同时,空间信息的丢失限制了CNN的学习能力。ResNet在图像分类问题上显示出了非凡的成果。但是,在ResNet中,删除残差块通常会降低性能,在残差块中,空间图和特征图(通道)的尺寸都会发生变化(特征图深度增加,而空间尺寸减小)。在这方面,随机ResNet通过随机丢弃残差单元减少信息损失来提高性能[105]。为了提高ResNet的学习能力,Han等人提出了金字塔网络(Pyramidal Net)[35]。与ResNet随深度的增加而导致的空间宽度的急剧减小相反,金字塔形网络逐渐增加了每个残差单位的宽度。这种策略使金字塔网络能够覆盖所有可能的位置,而不是在每个残差块内保持相同的空间尺寸,直到下采样为止。由于特征图的深度以自上而下的方式逐渐增加,因此被命名为金字塔网。在金字塔网络中,特征图的深度由因子l调节,并使用公式(9)计算。
Xception可以被认为是一种极端的Inception架构,它利用了AlexNet [21],[114]引入的深度可分离卷积的思想。Xception修改了原始的inception块,使其更宽,并用一个单一的维度(3x3)紧跟1x1替换了不同的空间维度(1x1、5x5、3x3),以调节计算复杂度。Xception块的体系结构如图9所示。Xception通过解耦空间和特征图(通道)相关性来提高网络的计算效率。它先使用1x1卷积将卷积输出映射到低维嵌入,然后将其空间变换k次,其中k为cardinality的宽度,它确定变换的次数。Xception通过在空间轴上分别对每个特征图进行卷积,使计算变得容易,然后进行逐点卷积(1x1卷积)以执行跨通道关联。在Xception中,使用1x1卷积来调节特征图深度。在传统的CNN架构中,传统的卷积运算仅使用一个变换段,Inception使用三个变换段,而在Xception中,变换段的数量等于特征图的数量。尽管Xception采用的转换策略不会减少参数的数量,但是它使学习更加有效并提高了性能。
CNN的Inception家族也属于基于宽度的方法类别[33],[99],[100]。在Inception网络中,在一层内,使用了不同大小的滤波器,从而增加了中间层的输出。使用不同大小的滤波器有助于捕获多样的高级特征。在4.1.4和4.2.3节中讨论了Inception系列的显着特征。
4.5 基于特征图(Channel FMap)利用的CNN
Hu等人报道了Squeeze和Excitation网络(SE-Network)[116]。他们提出了一个新的块,用于选择与物体识别相关的特征图(通常称为通道)。这个新块被称为SE块(如图10所示),它抑制了不太重要的特征图,但赋予了指定特征图类较高的权重。SE-Network报告了ImageNet数据集错误的减少记录。SE块是一种以通用方式设计的处理单元,因此可以在卷积层之前的任何CNN体系结构中添加。该块的工作包括两个操作:挤压和激发。卷积核捕获局部信息,但是它忽略了该感受野之外特征的上下文关系(相关性)。为了获得特征图的全局视图,压缩块通过抑制卷积输入的空间信息来生成特征图合理统计信息。由于全局平均池化具有有效学习目标对象范围的潜力,因此,挤压操作将其用于使用以下公式生成特征图合理统计信息[57],[155]:
Hu等人提出了Competitive Inner-Imaging Squeeze and Excitation for Residual Network(也称为CMPE-SE网络)。在2018年[118], Hu等人用SE块的思想来改善深度残差网络的学习[116]。SE-Network根据特征图在分类识别中的作用重新校准特征图。但是,SE-Net的主要问题在于,在ResNet中,它仅考虑残差信息来确定每个通道的权重[116]。这样可以最小化SE块的影响,使ResNet信息变得多余。Hu等人通过从基于残差和基于identity mapping的特征生成特征图合理统计信息来解决此问题。在这方面,使用全局平均池化操作来生成特征图的全局表示,而通过基于残差和identity mapping的描述符之间进行竞争来估计特征图的相关性。这种现象称为inner imaging [118]。CMPE-SE块不仅对残差特征图之间的关系进行建模,而且还将其与inner imaging图的关系进行映射,并在二者之间进行竞争。CMPE-SE块的数学表达式使用以下公式表示:
4.6 基于通道(输入)利用的CNNs
在2018年,Khan等人基于增加输入通道数以提高网络的表示能力的想法,提出了一种新的CNN体系结构,称为通道提升CNN(CB-CNN)[36]。CB-CNN的框图如图11所示。通过在深层生成模型人为地创建额外的通道(称为辅助通道),然后通过深层判别模型加以利用,从而进行通道提升。该文认为可以在生成和区分阶段都使用TL的概念。数据表示在确定分类器的性能中起着重要作用,因为不同的表示可能表示信息的不同方面[84]。为了提高数据的代表性,Khan等人利用了TL和深度生成学习器[24],[162],[163]。生成型学习器试图在学习阶段表征数据生成分布。在CB-CNN中,自动编码器用作生成学习器,以学习解释数据背后变化的因素。增强以原始通道空间(输入通道)学习到的输入数据分布,归纳TL的概念以新颖的方式用于构建提升输入表示。CB-CNN将通道提升阶段编码为一个通用块,该块插入到深层网络的开头。对于训练,Khan等人使用了预训练的网络以减少计算成本。这项研究的意义在于,将生成学习模型用作辅助学习器的情况下,可以增强基于深度CNN的分类器表示能力。尽管仅评估了通过在开始时插入提升块来提升通道的潜力,但是Khan等人(2003年)建议,这一想法可以拓展到在深度体系结构的任何层提供辅助通道。CB-CNN也已经在医学图像数据集上进行了评估,与以前提出的方法相比,它改进了结果。CB-CNN在有丝分裂数据集上的收敛曲线如图12所示。
4.7 基于注意力的CNNs
Wang等人提出了一种残差注意力网络(RAN)来改善网络的特征表示[38]。在CNN中纳入注意力的动机是使网络能够学习对象感知特征。RAN是前馈CNN,它是通过将残差块与注意力模块堆叠在一起而构建的。注意力模块采用自下而上、自顶向下学习策略,分为主干和mask分支。将两种不同的学习策略组合到注意力模块中,可以在单个前馈过程中进行快速前馈处理和自上而下的注意力反馈。自下而上的前馈结构产生具有强语义信息的低分辨率特征图。而自顶向下的体系结构会产生密集的特征,以便对每个像素进行推断。在先前提到的研究中,限制波尔兹曼机使用了自上而下、自下而上的学习策略[164]。同样,Goh等在训练的重建阶段,利用自顶向下的注意机制作为深度玻尔兹曼机(DBM)的正则化因子。自上而下的学习策略以在学习过程中逐渐将地输出输入数据特征图的方式全局优化网络[82],[164],[165]。RAN中的注意力模块在每一层生成对象感知软掩模S_(i,FM) (x_c)[166]。软掩模S_(i,FM) (x_c)通过重新校准主干T_(i,FM) (x_c)输出,使用等式(13)将注意力分配给对象,因此,对于每个神经元输出,其行为都像控制门。
注意力机制和特征图利用的重要性已通过RAN和SE-Network验证[38],[111]。在这方面,Woo等提出了基于注意力的新CNN:卷积块注意模组(CBAM)[37]。CBAM设计简单,类似于SE-Network。SE-Network仅考虑特征图在图像分类中的作用,但忽略了图像中对象的空间位置。对象的空间位置在对象检测中具有重要作用。CBAM通过先应用特征图(通道)注意力,然后再应用空间注意力来依次查找注意力图,以找到经过改进的特征图。在文献中,通常将1x1卷积和池化操作用于空间注意力。Woo等的结果表明,沿空间轴池化特征会生成有效的特征描述符。CBAM将平均池化与最大池化连接在一起,从而生成强大的空间注意力图。同样,使用最大池化和全局平均池化操作的组合对特征图统计数据进行建模。Woo等表明最大池化可以提供有关独特对象特征的线索,而全局平均池的使用返回特征图注意力的次优推断。利用平均池化和最大池化可提高网络的表示能力。这些精致的特征图不仅专注于重要部分,而且还提高了所选特征图的表示能力。Woo等的经验表明,通过串行学习过程制定3D注意图有助于减少参数和计算成本。由于CBAM的简单性,它可以轻松地与任何CNN架构集成。
在2018年,Roy等人通过将空间信息的效果与特征图(通道)信息结合起来,使其适用于分割任务[111],[112],扩展了胡等人的工作。他们介绍了三个不同的模块:(i)进行spatially和exciting特征图的wise压缩(cSE),(ii)空间上压缩特征图wise和exciting(sSE),以及(iii)同时进行空间和通道压缩与激励(scSE)。在这项工作中,基于自动编码器的卷积神经网络用于分割,而在编码器和解码器层之后插入了建议的模块。在cSE模块中,采用了与SE-block相同的概念。在此模块中,比例因子是基于目标检测中特征图的组合得出的。由于空间信息在分割中起着重要作用,因此在sSE模块中,空间位置比特征图信息更为重要。为此,选择特征图的不同组合并在空间上加以利用以将其用于分割。在最后一个模块中;在SCSE中,通过从空间和通道信息中得出比例因子来分配对每个通道的注意力,从而有选择地突出显示特定对象的特征图[112]。
5.1 自然语言处理
5.2 计算机视觉相关应用
5.3 物体检测
5.4 图像分类
5.5 语音识别
关于CNN在不同ML任务上的性能,不同的研究人员进行了有趣的讨论。深度CNN模型训练期间面临的一些挑战如下:
1. 深度NN通常就像一个黑匣子,因此可能缺乏解释性。因此,有时很难对其进行验证,并且在与视觉有关的任务中,CNN可能对噪声和图像的其他更改几乎没有鲁棒性。 2. CNN的每一层都会自动尝试提取与任务相关的更好且特定于问题的功能。但是,对于某些任务,重要的是在分类之前了解深度CNN提取的特征的性质。CNN中特征可视化的想法可以为这个方向提供帮助。 3. 深度CNN基于监督学习机制,因此,适当的学习需要大量带标注的数据。相反,人类有能力从少量样本中学习和泛化。 4. 超参数的选择会极大地影响CNN的性能。超参数值的微小变化会影响CNN的整体性能。这就是为什么仔细选择参数是一个主要的设计问题,需要通过一些合适的优化策略来解决。 5. CNN的有效训练需要强大的硬件资源,例如GPU。但是,仍然需要探索如何在嵌入式和智能设备中有效地使用CNN。深度学习在嵌入式系统中的一些应用包括受伤度校正,智慧城市中的执法等[206]-[208]。
1. 集成学习[209]是CNN研究的前瞻性领域之一。多种多样的架构的组合可以通过提取不同级别的语义表示来帮助模型改进各种类别图像的泛化。同样,批次归一化、dropout和新的激活函数等概念也值得一提。 2. CNN作为生成学习器的潜力已在图像分割任务中得到了利用,并显示出良好的效果[210]。在有监督的特征提取阶段(使用反向传播学习过滤器)开发CNN的生成学习能力可以提高模型的表示能力。同样,需要新的范式,通过在CNN的中间阶段结合使用辅助学习器学习信息特征图来增强CNN的学习能力[36]。 3. 在人类视觉系统中,注意力是从图像捕获信息的重要机制之一。注意机制以这样一种方式运行,它不仅从图像中提取基本信息,而且还存储了它与图像的其他组成部分的上下文关系[211],[212]。将来,将在保持对象与后期阶段对象区分特征的空间相关性方向上进行研究。 4. 通过利用网络的规模来增强CNN的学习能力,这随着硬件处理单元和计算资源的发展而变得可能。但是,深和高容量结构的训练是内存使用和计算资源的重要开销。这需要对硬件进行大量改进,以加速CNN的研究。CNN的主要问题是运行时适用性。此外,由于CNN的计算成本较高,因此在小型硬件中(尤其是在移动设备中)会阻碍CNN的使用。在这方面,需要不同的硬件加速器来减少执行时间和功耗[213]。目前已经提出了一些非常有趣的加速器,例如专用集成电路,Eyriss和Google张量处理单元[214]。此外,通过降低操作数和三值量化的精度,或者减少矩阵乘法运算的数量,已经执行了不同的操作以节省芯片面积和功率方面的硬件资源。现在也该将研究转向面向硬件的近似模型[215]。 5. 深度CNN具有大量超参数,例如激活函数、内核大小、每层神经元数量以及层排列等。在深度学习的背景下,超参数的选择及其评估时间使参数调整变得非常困难。超参数调整是一项繁琐且直观的任务,无法通过明确的表述来定义。在这方面,遗传算法还可用于通过以随机方式执行搜索以及通过利用先前的结果指导搜索来自动优化超参数[216]-[218]。 6. 深度CNN模型的学习能力与模型的大小有很强的相关性。但是,由于硬件资源的限制,深度CNN模型的容量受到限制[219]。为了克服硬件限制,可以利用管道并行概念来扩大深度CNN训练。Google小组提出了一个分布式机器学习库;GPipe[220]使用同步随机梯度下降和管道并行性进行训练。将来,管道的概念可用于加速大型模型的训练并在不调整超参数的情况下扩展性能。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~