计算机视觉这一年:2017 CV技术报告Plus之卷积架构、数据集与新趋势

WhiteheadDarren 发布于1年前
0 条问题

本文是 the M Tank 计算机视觉报告《A Year in Computer Vision》的第四部分(之前部分参见:计算机视觉这一年:这是最全的一份 CV 技术报告)。本节将会介绍卷积神经网络架构、数据集和其他软硬件研究在 2017 年的最新进展,同时对于计算机视觉领域未来的发展做出展望。本文对于开发者和研究人员来说是不可多得的详细材料。

ConvNet 架构

近期,ConvNet 架构在计算机视觉之外也有很多新的应用。但是,它们的架构在速度、准确率和任务训练方面都有进步,仍然主导着计算机视觉领域。因此,整体而言,ConvNet 架构对计算机视觉至关重要。下面列出了 2016 年以来一些优秀的 ConvNet 架构,其中很多从 ResNet 中获得灵感。

  • Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning [131]:Inception v4 是一种新型 Inception 架构,从 Inception v2 和 v3 [132] 发展而来。本文还分析了使用残差连接训练 Inception 网络和一些 Residual-Inception hybrid 网络。
  • Densely Connected Convolutional Networks [133](DenseNet)从 ResNet 的恒等/跳跃连接(identity/skip connections)中直接获取灵感。该方法先在 ConvNet 中用前馈的方式将每一层连接至其他层,将前面所有层的特征图作为输入,从而创建 DenseNet。

「DenseNet 有多个优势:改善梯度下降问题,加强特征传播,鼓励特征重用,以及大幅减少参数数量。」[134]

计算机视觉这一年:2017 CV技术报告Plus之卷积架构、数据集与新趋势

图 16:DenseNet 架构示例。5 层,growth rate k = 4。每一层的输入为前面所有特征图。来源:Huang et al. (2016) [135]

该模型在 CIFAR-10、CIFAR-100、SVHN 和 ImageNet 上进行评估,并在多个数据集上实现了顶尖性能。同时,DenseNet 使用了较少内存和计算能力。现在已经有多个实现(Keras、Tensorflow 等):https://github.com/liuzhuang13/DenseNet。[136]

  • FractalNet Ultra-Deep Neural Networks without Residuals [137]:使用不同长度的子路径,没有传递(pass-through)或残差连接,而是使用滤波器和非线性函数改变内部信号进行转换。

「FractalNet 重复连接多个并行层序列和不同数量的卷积 block,以获取大的额定深度,同时维护网络中的很多短路径。」[138]

该网络在 CIFAR 和 ImageNet 上获得了顶尖的性能,同时也展现了其他的特性。如,它们质疑极深层的卷积网络中残差连接的作用,同时通过不同的子网络深度找出问题的答案。

  • Lets keep it simple: using simple architectures to outperform deeper architectures [139]:创建一个简化的母架构(mother architecture)。该架构在 CIFAR10/100、MNIST 和 SVHN 等数据集(使用简单的或不使用数据增强)上获得了顶尖结果,或至少与现有方法性能相当。

「该研究中,我们展示了一个非常简单的 13 层全卷积网络架构,该架构最少限度地依赖新特征,但是优于几乎所有深层网络(参数数量是该架构的 2 倍到 25 倍)。我们的架构可用于多种场景,尤其是嵌入式设备中。」

「使用深度压缩(DeepCompression)可以进一步压缩该架构,从而大幅减少内存消耗。我们尝试创建一个最少限度地依赖新特征的母架构,以展示精巧、简单的卷积网络架构的有效性,文献中提到的现有或新方法还可以提高其效用。」[140]

下面是一些补充 ConvNet 架构的技术:

  • Swapout: Learning an ensemble of deep architectures [141]:生成 dropout 和随机深度(stochastic depth)方法来防止特定层或所有层中单元的共适应。集成训练方法从多个架构中采样,包括「dropout、随机深层和残差架构」。Swapout 在 CIFAR-10 和 CIFAR-100 数据上优于同样网络结构的 ResNet,该技术属于正则化的范畴。
  • SqueezeNet [142]:小型 DNN 具备很多优势,如较少的复杂计算训练、较容易的信息传输,以及可在内存或处理能力有限的设备上运行。SqueezeNet 是一个小型 DNN 架构,该架构使用模型压缩技术大幅减少参数数量和所需内存(AlexNet 的大小是它的 510x),且达到了 AlexNet 级别的准确率。

传统意义上,修正线性单元(ReLU)是所有神经网络中主要的激活函数。但是,现在有一些其他选项:

  • Concatenated Rectified Linear Units(CRelu)[143]
  • Exponential Linear Units(ELUs)[144](2015 年末)
  • Parametric Exponential Linear Unit(PELU)[145]

卷积网络中的不变性

卷积网络是转换不变的,意思是它们可以在一张图像的多个部分识别相同的特征。然而,经典的 CNN 并不是旋转不变的,即当某一个特征或整张图像旋转之后,网络的识别性能就会下降。通常卷积网络通过数据增强(例如,在训练中有目的地将图像旋转随机的角度)可以(稍微地)学习处理旋转不变性。这意味着卷积网络可以不引入具体的旋转不变性而获得轻微的旋转不变性。同样意味着使用当前的技术在网络中引入旋转不变性是行不通的,这是一个基本的局限性。这其实和人类难以识别上下颠倒的图像挺相似的,但是机器必须克服这个局限性。

以下几篇论文都提出了旋转不变的卷积网络。每一种方法都有其创新性,都是通过更有效的参数利用提升旋转不变性,并最终获得全局旋转同变性(equivariance):

  • Harmonic CNNs [146] 使用『圆谐波』(circular harmonics)滤波器替换常规的 CNN 滤波器。
  • Group Equivariant Convolutional Networks (G-CNNs) [147]:使用 G-卷积(G-Convolutions),这是一种新类型的层,其中层内共享的权重比常规的 CNN 层内的权重高级得多,从而能增大网络的表达容量,并且不需要额外增加参数数量。
  • Exploiting Cyclic Symmetry in Convolutional Neural Networks [148] 中提出了四种运算(作为层的结构),可以增强神经网络的层以部分增加旋转不变性。
  • Steerable CNNs [149] 由 Cohen 和 Welling 在他们对 G-CNN 的研究基础上建立,证明可控架构(steerable architectures)在 CIFAR 数据集上的性能超过了残差和密集网络。他们还对不变性问题做了简要的概述:

「为了提高机器学习方法的统计效率,很多人曾经寻求学习不变性表征的方法。然而,在深度学习中,中间层不应该是完全不变性的,因为局部特征的相对位姿(relative pose)必须保留给之后的层。因此,人们提出了同变性(equivariance)的思想:假如已知输入的转换,表征可以用一种可预测的线性形式生成转换,那么该网络就是同变的。换种说法即,同变网络生成的表征是可控的。可控性使网络不仅可以在所有的位置(正如标准的卷积层)还可以在所有的位姿上应用滤波器,从而增加参数共享。」

残差网络

计算机视觉这一年:2017 CV技术报告Plus之卷积架构、数据集与新趋势

图 17:CIFAR 数据集上的测试误差率。其中黄色标记表示这些论文针对的是我们所讨论的问题。关于 pre-resnet 请参考「Identity Mappings in Deep Residual Networks」(参见接下来的内容)。此外,虽然不包含在表格中,我们相信,「Learning Identity Mappings with Residual Gates」在 CIFAR-10 和 CIFAR-100 上分别获得了 3.65% 和 18.27% 的 2016 年最低误差率。来源:Abdi and Nahavandi (2016, p. 6) [150]

随着微软的 ResNet[151