论文阅读:What Do We Understand About Convolutional Networks? 对卷积的了解

What Do We Understand About Convolutional Networks?

  卷积神经网络(CNN)最开始是用于计算机视觉中,然而现在也被广泛用于自然语言处理中,而且有着不亚于RNN(循环神经网络)的性能,但我们目前对其效果显著的原因还没有全面的理解。2015年以来,有关深度学习在NLP领域的论文层出不穷。尽管其中必定有很多附庸风雅的水文,但是也存在很多经典的应用型文章。2018年3月约克大学电气工程与计算机科学系的 Isma Hadji 和 Richard P. Wildes 发表了论文 What Do We Understand About Convolutional Networks? ,对卷积网络的技术基础、组成模块、现状和研究前景进行了梳理,介绍了我们当前对 CNN 的理解。本文对该论文进行了摘要式的编译,更详细的信息请参阅原论文及其中索引的相关文献。
在这里插入图片描述

1 引言

1.1动机

  过去几年来,计算机视觉研究主要集中在卷积神经网络(常简称为== ConvNet 或 CNN==)上。这些工作已经在广泛的分类和回归任务上实现了新的当前最佳表现。相对而言,尽管这些方法的历史可以追溯到多年前,但对这些系统得到出色结果的方式的理论理解还很滞后。事实上,当前计算机视觉领域的很多成果都是将 CNN 当作黑箱使用,这种做法是有效的,但其有效的原因却非常模糊不清,这严重满足不了科学研究的要求。尤其是这两个可以互补的问题:(1)在被学习的方面(比如卷积核),究竟被学习的是什么?(2)在架构设计方面(比如层的数量、核的数量、池化策略、非线性的选择),为什么某些选择优于另一些选择? 这些问题的答案不仅有利于提升我们对 CNN 的科学理解,而且还能提升它们的实用性。
  此外,目前实现 CNN 的方法需要大量训练数据,而且设计决策对结果表现有很大的影响。更深度的理论理解应该能减轻对数据驱动的设计的依赖。尽管已有实证研究调查了所实现的网络的运行方式,但到目前为止,这些结果很大程度上还局限在内部处理过程的可视化上,目的是为了理解 CNN 中不同层中发生的情况。

1.2目标

  针对上述情况,本报告将概述研究者提出的最突出的使用多层卷积架构的方法。要重点指出的是,本报告将通过概述不同的方法来讨论典型卷积网络的各种组件,并将介绍它们的设计决策所基于的生物学发现和/或合理的理论基础。此外,本报告还将概述通过可视化和实证研究来理解 CNN 的不同尝试。本报告的最终目标是阐释 CNN 架构中涉及的每一个处理层的作用,汇集我们当前对 CNN 的理解以及说明仍待解决的问题。

1.3 报告提纲

  本报告的结构如下:本章给出了回顾我们对卷积网络的理解的动机第 2 章将描述各种多层网络并给出计算机视觉应用中使用的最成功的架构第 3 章将更具体地关注典型卷积网络的每种构造模块,并将从生物学和理论两个角度讨论不同组件的设计。最后,第 4 章将会讨论 CNN 设计的当前趋势以及理解 CNN 的工作,并且还将重点说明仍然存在的一些关键短板。

2 多层网络

  总的来说,本章将简要概述计算机视觉领域中所用的最突出的多层架构。需要指出,尽管本章涵盖了文献中最重要的贡献,但却不会对这些架构进行全面概述,因为其它地方已经存在这样的概述了(比如 [17, 56, 90])。相反,本章的目的是为本报告的剩余部分设定讨论基础,以便我们详细展示和讨论当前对用于视觉信息处理的卷积网络的理解

2.1 多层架构

  在近来基于深度学习的网络取得成功之前,最先进的用于识别的计算机视觉系统依赖于两个分离但又互补步骤。第一步是通过一组人工设计的操作(比如与基本集的卷积、局部或全局编码方法)将输入数据变换成合适的形式。对输入的变换通常需要找到输入数据的一种紧凑和/或抽象的表征,同时还要根据当前任务注入一些不变量。这种变换的目标是以一种更容易被分类器分离的方式改变数据。其次,被变换的数据通常用于训练某些类型的分类器(比如支持向量机)来识别输入信号的内容。通常而言,任何分类器的表现都会受到所使用的变换方法的严重影响。
  多层学习架构为这一问题带来了不同的前景,这种架构提出不仅要学习分类器,而且要从数据中直接学习所需的变换操作。这种形式的学习通常被称为 「表征学习」,当应用在深度多层架构中时即被称为 「深度学习」
  多层架构可以定义为允许从输入数据的多层抽象中提取有用信息的计算模型。一般而言,多层架构的设计目标是在更高层凸显输入中的重要方面,同时能在遇到更不重要的变化时变得越来越稳健。大多数多层架构都是将带有交替的线性和非线性函数的简单构建模块堆叠在一起。多年以来,研究者已经提出了很多不同类型的多层架构,本章将会覆盖计算机视觉应用中所采用的最为突出的此类架构人工神经网络是其中的关注重点,因为这种架构的表现非常突出。为了简单起见,后面会直接将这类网络称为 「神经网络」

2.1.1 神经网络

  典型的神经网络由一个输入层、一个输出层和多个隐藏层构成,其中每一层都包含多个单元
在这里插入图片描述

图 2.1:典型神经网络架构示意图,图来自 [17]

  自动编码器可以定义为由两个主要部分构成的多层神经网络。第一个部分是编码器,可以将输入数据变换成特征向量;第二个部分是解码器,可将生成的特征向量映射回输入空间
在这里插入图片描述

图 2.2:典型自动编码器网络的结构,图来自 [17]

2.1.2 循环神经网络

  当谈到依赖于序列输入的任务时,循环神经网络(RNN)是最成功的多层架构之一。RNN 可被视为一种特殊类型的神经网络,其中每个隐藏单元的输入时其当前时间步骤观察到的数据和其前一个时间步骤的状态
在这里插入图片描述

图 2.3:标准循环神经网络的运算的示意图。每个 RNN 单元的输入都是当前时间步骤的新输入和前一个时间步骤的状态;然后根据 计算得到新输出,这个输出又可被馈送到多层 RNN 的下一层进行处理。

在这里插入图片描述

图 2.4:典型 LSTM 单元示意图。该单元的输入是当前时间的输入和前一时间的输入,然后它会返回一个输出并将其馈送给下一时间。LSTM 单元的最终输出由输入门、输出门和记忆单元状态控制。图来自 [33]

2.1.3 卷积网络

  卷积网络(CNN)是一类尤其适合计算机视觉应用的神经网络,因为它们能使用局部操作对表征进行分层抽象。有两大关键的设计思想推动了卷积架构在计算机视觉领域的成功。第一,CNN 利用了图像的 2D 结构,并且相邻区域内的像素通常是高度相关的。 因此,CNN 就无需使用所有像素单元之间的一对一连接(大多数神经网络都会这么做),而可以使用分组的局部连接。第二,CNN 架构依赖于特征共享,因此每个通道(即输出特征图)是在所有位置使用同一个过滤器进行卷积而生成的
在这里插入图片描述

图 2.5:标准卷积网络的结构的示意图,图来自 [93]

在这里插入图片描述

图 2.6:Neocognitron 的结构示意图,图来自 [49]

2.1.4 生成对抗网络

  典型的生成对抗网络(GAN)由两个互相竞争的模块或子网络构成,即:生成器网络和鉴别器网络
在这里插入图片描述

图 2.7:生成对抗网络的一般结构的示意图

2.1.5 多层网络的训练

  如前面讨论的一样,多种多层架构的成功都很大程度上取决于它们的学习过程的成功。其训练过程通常都基于使用梯度下降的误差的反向传播。由于使用简单,梯度下降在训练多层架构上有广泛的应用。

2.1.6 简单说说迁移学习

  使用多层架构提取的特征在多种不同数据集和任务上的适用性可以归功于它们的分层性质表征会在这样的结构中从简单和局部向抽象和全局发展。因此,在其层次结构中的低层级提取的特征往往是多种不同任务共有的特征,因此使得多层结构更容易实现迁移学习

2.2 空间卷积网络

  理论上而言,卷积网络可以应用于任意维度的数据。它们的二维实例非常适用于单张图像的结构,因此在计算机视觉领域得到了相当大的关注。有了大规模数据集和强大的计算机来进行训练之后,CNN 近来在多种不同任务上的应用都出现了迅猛增长。本节将介绍为原来的 LeNet 引入了相对新颖的组件的比较突出的 2D CNN 架构。

2.2.1 CNN 近期发展中的关键架构

在这里插入图片描述

图 2.8:AlexNet 架构。需要指出,虽然从图上看这是一种有两个流的架构,但实际上这是一种单流的架构,这张图只是说明 AlexNet 在 2 个不同 GPU 上并行训练的情况。图来自 [88]

在这里插入图片描述

图 2.9:GoogLeNet 架构。(a)典型的 inception 模块,展示了顺序和并行执行的操作。(b)由层叠的许多 inception 模块构成的典型 inception 架构的示意图。图来自 [138]

在这里插入图片描述

图 2.10:ResNet 架构。(a)残差模块。(b)由层叠的许多残差模块构成的典型 ResNet 架构示意图。图来自 [64]

在这里插入图片描述

图 2.11:DenseNet 架构。(a)dense 模块。(b)(b)由层叠的许多 dense 模块构成的典型 DenseNet 架构的示意图。图来自 [72]

2.2.2 实现 CNN 的不变性

  使用 CNN 的一大难题是需要非常大的数据集来学习所有的基本参数。甚至拥有超过 100 万张图像的 ImageNet 等大规模数据集在训练特定的深度架构时仍然被认为太小。满足这种大数据集要求的一种方法是人工增强数据集,具体做法包括对图像进行随机翻转、旋转和抖动(jittering)等。这些增强方法的一大优势是能让所得到的网络在面对各种变换时能更好地保持不变。
在这里插入图片描述
图2.12:空间变压器网络运行。(a)对空间变压器模块的描述,典型的变换操作如(b)所示。图来自[76]。

在这里插入图片描述图2.13:可变或动态卷积。从一个固定的窗口大小开始,网络通过一个小的子网(如图上方绿色部分所示)学习偏移量,最后对一个可变的窗口进行卷积。图来自[29]。

2.2.3 实现 CNN 的定位

  除了识别物体等简单的分类任务,CNN 近来也在需要精准定位的任务上表现出色,比如形义分割和目标检测
在这里插入图片描述
图2.14:全卷积网络。经过上采样以恢复最后一层的图像全分辨率后,使用softmax对每个像素进行分类以最终生成段。图来自[98]。

在这里插入图片描述图2.15:主要区域提案网络的进度。(a)原始R-CNN的结构。图来自[53]。 (b)快速R-CNN的结构。图来自[52]。 (c)更快的R-CNN的结构。图来自[116]。(d)掩模R-CNN的结构。图来自[61]。

2.3 时空卷积网络

  使用 CNN 为各种基于图像的应用带来了显著的性能提升,也催生了研究者将 2D 空间 CNN 扩展到视频分析的 3D 时空 CNN 上的兴趣。一般而言,文献中提出的各种时空架构都只是试图将空间域 (x,y) 的 2D 架构扩展到时间域 (x, y, t) 中。在基于训练的时空 CNN 领域存在 3 种比较突出的不同架构设计决策:基于 LSTM 的 CNN、3D CNN 和 Two-Stream CNN

2.3.1 基于 LSTM 的时空 CNN

  基于 LSTM 的时空 CNN将 2D 网络扩展成能处理时空数据的一些早期尝试。它们的操作可以总结成图 2.16 所示的三个步骤。第一步,使用一个 2D 网络处理每一帧,并从这些 2D 网络的最后一层提取出特征向量。第二步,将这些来自不同时间步骤的特征用作 LSTM 的输入,得到时间上的结果。第三步,再对这些结果求平均或线性组合,然后再传递给一个 softmax 分类器以得到最终预测
在这里插入图片描述
图2.16:基于LSTM的时空ConvNet示例。在该网络中,输入由来自视频流的连续帧组成。图转载自[33]。

2.3.2 3D CNN

  这种突出的时空网络将 2D CNN 最直接地泛化到图像时空域中。它直接处理 RGB 图像的时间流,并通过应用所学习到的 3D 卷积过滤器来处理这些图像。

2.3.3 Two-Stream CNN

  这种类型的时空架构依赖于一种双流式(two-stream)的设计。标准的双流式架构是采用两个并行通路——一个用于处理外观,另一个用于处理运动;这种方法类似于生物视觉系统研究中的双流式假设。
在这里插入图片描述
图2.17:原始的两流网络。该网络将RGB帧和光流堆栈作为输入。图摘自[134]。

2.4 总体讨论

  总的来说,尽管处理多层网络的文献非常多,每个派别都主张一种架构优于另一种架构,但一些常见的“最佳实践”已经出现。突出的例子包括:大多数架构依赖于四种常见的构建模块(即卷积、整流、归一化和池化),具有小支持卷积内核的深层架构对于在可管理的参数数量下实现抽象的重要性,剩余连接用于应对学习过程中错误梯度传播的挑战。更普遍的是,文献同意输入数据的良好表示是分层的这一关键观点,如前面的几个贡献中所指出的[119]。
  需要重点指出的是,尽管这些网络在很多计算机视觉应用上都实现了很有竞争力的结果,但它们的主要缺点仍然存在:对所学习到的表征的确切本质的理解很有限、依赖于大规模数据训练集、缺乏支持准确的表现边界的能力、网络超参数选择不清晰

3 理解 CNN 的构建模块

  鉴于 CNN 领域存在大量悬而未决的问题,本章将介绍典型卷积网络中每种处理层的作用和意义。为此本章将概述在解决这些问题上最突出的工作。尤其值得一提的是,我们将从理论和生物学两个角度来展示 CNN 组件的建模方式。每种组件的介绍后面都总结了我们当前的理解水平。

3.1 卷积层

  卷积层可以说是 CNN 架构中最重要的步骤之一。基本而言,卷积是一种线性的、平移不变性的运算,其由在输入信号上执行局部加权的组合构成。根据所选择的权重集合(即所选择的点扩散函数(point spread function))的不同,也将揭示出输入信号的不同性质。在频率域中,与点扩散函数关联的是调制函数——说明了输入的频率组分通过缩放和相移进行调制的方式。因此,选择合适的核(kernel)对获取输入信号中所包含的最显著和最重要的信息而言至关重要,这能让模型对该信号的内容做出更好的推断。本节将讨论一些实现这个核选择步骤的不同方法。
在这里插入图片描述
图3.1:HMAX模型图该模型由具有交替的简单(S)和复杂(C)单元的单元层次组成。过滤操作发生在S单元的级别。在该图中示出,在初始层(S1)处的简单单元检测到简单的定向条(即,通过使用定向的Gabor滤波器)。另一方面,较高层(S2)的简单单元使用模板进行响应,该模板是在先前(S1)层使用的过滤器的组合,因此层次结构中较高层的单元比定向条检测到更复杂的形状。复杂的复合单元格(C1,C2)插在简单单元格的各层之间,以在空间位置上聚集相似调整的单元格,从而实现一定程度的移位不变性。图转自[117]。

在这里插入图片描述图3.2:Serre等人提出的网络架构。与HMAX模型[117]相似,它由交替的简单和复杂单元组成,因此,所提出网络的总体架构可以概括为S1→C1→S2→C2。但是,与HMAX模型相反,在S2单元级别使用的模板是从训练集中显式学习的,因此该层可以检测到复杂的对象(即,在使用对象识别数据集进行训练时)。该过程的详细信息汇总在该图的第二行。图转载自[131]。

在这里插入图片描述图3.3:由多层体系结构学习的示例部分,由Fidler等人提出。第一行(从左到右):第2层和第3层示例部分。第二和第三行:使用面部,汽车和杯子学习的第4层和第5层部分。图转载自[47]。

在这里插入图片描述图3.4:CNN接收(也称为RFNN)的示意图。在该网络中,(通过学习)将所有层使用的滤波器构建为基本滤波器组φm的线性组合,基本滤波器组是一组n阶高斯导数。该网络不是学习过滤器的内核参数,而是学习用于线性组合基本组中的过滤器的参数αij。图转载自[75]。

在这里插入图片描述图3.5:散射变换网络。在这个网络中,在[15]中提出的散射变换S [λ] x重复地应用于来自上一层的所有输出U [λi] x的每一层m。本质上,每一层的输出都一遍又一遍地经过相同的变换,但是,该变换针对每一层的不同有效频率,从而在每一层提取新颖的信息。在该图中,以m = 3层的网络实例化为例。图转载自[15]。

在这里插入图片描述图3.6:SOE-Net架构使用初始处理层Lk提取各个方向的局部时空特征。 C-R-N-S表示卷积、校正、规范化和时空合并,而R和L分别表示向右过滤过滤数据和向左过滤的数据,其中符号字符串(例如LR)表示多个过滤。为了说明,示出了仅具有2个滤波器(即2个方向)的网络。 Lkis层上的每个特征图均被视为新的单独信号,并反馈到Lk + 1层,以使用同一组滤波器进行卷积,但由于时空合并而具有不同的有效分辨率。图转载自[60]。

3.2 整流

  多层网络通常是高度非线性的,而整流(rectification)则通常是将非线性引入模型的第一个处理阶段。整流是指将点方面的非线性(也被称为激活函数)应用到卷积层的输出上。这一术语借用自信号处理领域,其中整流是指将交流变成直流。这也是一个能从生物学和理论两方面都找到起因的处理步骤。计算神经科学家引入整流步骤的目的寻找能最好地解释当前神经科学数据的合适模型。另一方面,机器学习研究者使用整流的目的是为了让模型能更快和更好地学习。有趣的是,这两个方面的研究者往往都认同这一点:他们不仅需要整流,而且还会殊途同归到同一种整流上。
在这里插入图片描述

图 3.7:多层网络的文献中所使用的非线性整流函数

在这里插入图片描述
图3.8:AlexNet学习的Conv1过滤器的可视化在ImageNet数据集上受过训练。图来自[132]。

3.3 归一化

  正如前面提到的,由于这些网络中存在级联的非线性运算,所以多层架构是高度非线性的。除了前一节讨论的整流非线性归一化(normalization)是 CNN 架构中有重要作用的又一种非线性处理模块。CNN 中最广泛使用的归一化形式是所谓的 Divisive Normalization(DN,也被称为局部响应归一化)。本节将介绍归一化的作用并描述其纠正前两个处理模块(卷积和整流)的缺点的方式。同样,我们会从生物学和理论两个方面讨论归一化。

3.4 池化

  不管是生物学启发的,还是纯粹基于学习的或完全人工设计的,几乎所有 CNN 模型都包含池化步骤。池化运算的目标为位置和尺寸的改变带来一定程度的不变性以及在特征图内部和跨特征图聚合响应。与之前几节讨论的三种 CNN 模块类似,池化在生物学和理论研究上都具有支持。在 CNN 网络的这个处理层上,主要的争论点是池化函数的选择。使用最广泛的两种池化函数分别是平均池化和最大池化。本节将探索相关文献中描述的各种池化函数的优点和缺点。
在这里插入图片描述图3.9:简单单元与复杂单元之间的差异示意图。该图表明,复杂细胞应答是由简单细胞应答的组合产生的。

在这里插入图片描述

图 3.10:平均池化和最大池化在 Gabor 滤波后的图像上的比较。(a)展示了不同尺度的平均池化的效果,其中(a)中上面一行是应用于原始灰度值图像的结果,(a)中下面一行是应用于 Gabor 滤波后的图像上的结果。平均池化能得到灰度值图像的更平滑的版本,而稀疏的 Gabor 滤波后的图像则会褪色消散。相对而言,(b)给出了不同尺度的最大池化的效果,其中(b)中上面一行是应用于原始灰度值图像的结果,(b)中下面一行是应用于 Gabor 滤波后的图像上的结果。这里可以看到,最大池化会导致灰度值图像质量下降,而 Gabor 滤波后的图像中的稀疏边则会得到增强。图来自 [131]。

在这里插入图片描述
图3.11:跨通道合并插图。 (左)Gabor滤波器的滤波操作调整到各种方向后产生的密集简单单元格响应(此处出于说明目的显示了4个方向)(右)使用max运算符(即每个像素)的跨通道合并导致的稀疏简单单元格响应位置,将保留整个要素地图的最大响应)。图转载自[110]。

在这里插入图片描述
图3.12:混合、门控和树池化。所描述的(a)混合最大平均池,(b)门控最大平均池和(c)树池的图示。图转载自[95]。

在这里插入图片描述
图3.13:空间金字塔池网络。 SPP应用于网络的最后卷积层的特征图。由于空间仓与图像大小成正比,因此SPP生成与输入图像大小无关的相同大小的特征向量。因此,SPP-Net不需要对输入图像进行相同大小的预处理。图转载自[62]。

3.5 总体讨论

  本章讨论了典型ConvNet体系结构最广泛使用的构建块的作用和重要性,以努力理解ConvNet的工作原理。特别是,每个区块的细节都从生物学和理论的角度进行了阐述。总的来说,在探索所讨论的构建块的过程中出现了各种常见的线程。特别地,似乎所有的阻滞都从发生在视觉皮层的操作中找到了相对强烈的动机。此外,尽管所有的块在ConvNets中都扮演着重要的角色,但卷积核的选择似乎是最重要的方面,这一点在处理这个块的大量文献中得到了证明。更重要的是,本章中讨论的最近的ConvNet架构(例如[15,28,60,75,148])旨在通过在其网络的不同阶段合并更多可控制的构建块,将对基于训练的解决方案的需求最小化。通过分层可视化和消融研究,揭示了基于学习的卷积神经网络的次优性(例如,一些广泛使用的已学卷积神经网络的主要冗余),这些最近的方法反过来受到了各种努力的推动,这些研究将在下一章讨论。

4 当前状态

  对 CNN 架构中各种组件的作用的论述凸显了卷积模块的重要性,这个模块很大程度上负责了在网络中获取最抽象的信息。相对而言,我们对这个处理模块的理解却最少,因为这需要最繁重的计算。本章将介绍在尝试理解不同的 CNN 层所学习的内容上的当前趋势。同时,我们还将重点说明这些趋势方面仍有待解决的问题

4.1 当前趋势

  尽管各种 CNN 模型仍继续在多种计算机视觉应用中进一步推进当前最佳的表现,但在理解这些系统的工作方式和如此有效的原因上的进展仍还有限。这个问题已经引起了很多研究者的兴趣,为此也涌现出了很多用于理解 CNN 的方法。一般而言,这些方法可以分成三个方向对所学习到的过滤器和提取出的特征图进行可视化、受理解视觉皮层的生物学方法启发的 ablation study、通过向网络设计中引入分析原理来最小化学习过程。本节将简要概述其中每种方法。
在这里插入图片描述图4.1:DeConvNet构建块(a)说明了一个DeConvNet操作,该操作可用于将从ConvNet的任何层提取的特征图投影回图像空间。 (b)举例说明通过使用“switches”进行的“分池”操作,这些switches对应于响应最大池化操作的位置。图转自[154]。

在这里插入图片描述

图4.2:通过在标准ConvNet体系结构的各个层(例如AlexNet [88])应用DeconvNet获得的可视化效果。图转自[154]。

在这里插入图片描述图4.3:通过以网络为中心的方法在图像空间中应用优化获得的可视化效果。 (a)通过最大化属于各种类别的得分获得的可视化效果,如下图所示。图转载自[133]。 (b)通过最大化标准网络在各个层的响应而获得的可视化效果,如每个图像下方所示。图转载自[104]。

4.2 仍待解决的问题

  基于上述讨论,基于可视化的方法存在以下关键研究方向

  • 首要的一点:开发使可视化评估更为客观的方法是非常重要的,可以通过引入评估所生成的可视化图像的质量和/或含义的指标来实现
  • 另外,尽管看起来以网络为中心的可视化方法更有前景(因为它们在生成可视化结果上不依赖网络自身),但似乎也有必要标准化它们的评估流程。一种可能的解决方案是使用一个基准来为同样条件下训练的网络生成可视化结果。这样的标准化方法反过来也能实现基于指标的评估,而不是当前的解释性的分析。
  • 另一个发展方向是同时可视化多个单元以更好地理解处于研究中的表征的分布式方面,甚至同时还能遵循一种受控式方法

  以下是基于 ablation study 的方法的潜在研究方向:

  • 使用共同的系统性组织的数据集,其中带有计算机视觉领域常见的不同难题(比如视角和光照变化),并且还必需有复杂度更大的类别(比如纹理、部件和目标上的复杂度)。事实上,近期已经出现了这样的数据集[6]。在这样的数据集上使用 ablation study,加上对所得到的混淆矩阵的分析,可以确定 CNN架构出错的模式,进而实现更好的理解。
  • 此外,对多个协同的 ablation 对模型表现的影响方式的系统性研究是很受关注的。这样的研究应该能延伸我们对独立单元的工作方式的理解。

  最后,这些受控方法是很有前景的未来研究方向;因为相比于完全基于学习的方法,这些方法能让我们对这些系统的运算和表征有更深入的理解。这些有趣的研究方向包括:

  • 逐步固定网络参数和分析对网络行为的影响。比如,一次固定一层的卷积核参数(基于当前已有的对该任务的先验知识),以分析所采用的核在每一层的适用性。这个渐进式的方法有望揭示学习的作用,而且也可用作最小化训练时间的初始化方法
  • 类似地,可以通过分析输入信号的性质(比如信号中的常见内容)来研究网络架构本身的设计(比如层的数量或每层中过滤器的数量)。这种方法有助于让架构达到适宜应用的复杂度
  • 最后,将受控方法用在网络实现上的同时可以对 CNN 的其它方面的作用进行系统性的研究,由于人们重点关注的所学习的参数,所以这方面得到的关注较少。比如,可以在大多数所学习的参数固定时,研究各种池化策略和残差连接的作用。

猜你喜欢

转载自blog.csdn.net/weixin_42691585/article/details/107699715