选自The M tank
机器之心编译
本文是 the M Tank 计算机视觉报告《A Year in Computer Vision》的第四部分(之前部分参见:计算机视觉这一年:这是最全的一份 CV 技术报告)。本节将会介绍卷积神经网络架构、数据集和其他软硬件研究在 2017 年的最新进展,同时对于计算机视觉领域未来的发展做出展望。本文对于开发者和研究人员来说是不可多得的详细材料。
ConvNet 架构
近期,ConvNet 架构在计算机视觉之外也有很多新的应用。但是,它们的架构在速度、准确率和任务训练方面都有进步,仍然主导着计算机视觉领域。因此,整体而言,ConvNet 架构对计算机视觉至关重要。下面列出了 2016 年以来一些优秀的 ConvNet 架构,其中很多从 ResNet 中获得灵感。
「DenseNet 有多个优势:改善梯度下降问题,加强特征传播,鼓励特征重用,以及大幅减少参数数量。」[134]
图 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 重复连接多个并行层序列和不同数量的卷积 block,以获取大的额定深度,同时维护网络中的很多短路径。」[138]
该网络在 CIFAR 和 ImageNet 上获得了顶尖的性能,同时也展现了其他的特性。如,它们质疑极深层的卷积网络中残差连接的作用,同时通过不同的子网络深度找出问题的答案。
「该研究中,我们展示了一个非常简单的 13 层全卷积网络架构,该架构最少限度地依赖新特征,但是优于几乎所有深层网络(参数数量是该架构的 2 倍到 25 倍)。我们的架构可用于多种场景,尤其是嵌入式设备中。」
「使用深度压缩(DeepCompression)可以进一步压缩该架构,从而大幅减少内存消耗。我们尝试创建一个最少限度地依赖新特征的母架构,以展示精巧、简单的卷积网络架构的有效性,文献中提到的现有或新方法还可以提高其效用。」[140]
下面是一些补充 ConvNet 架构的技术:
传统意义上,修正线性单元(ReLU)是所有神经网络中主要的激活函数。但是,现在有一些其他选项:
卷积网络中的不变性
卷积网络是转换不变的,意思是它们可以在一张图像的多个部分识别相同的特征。然而,经典的 CNN 并不是旋转不变的,即当某一个特征或整张图像旋转之后,网络的识别性能就会下降。通常卷积网络通过数据增强(例如,在训练中有目的地将图像旋转随机的角度)可以(稍微地)学习处理旋转不变性。这意味着卷积网络可以不引入具体的旋转不变性而获得轻微的旋转不变性。同样意味着使用当前的技术在网络中引入旋转不变性是行不通的,这是一个基本的局限性。这其实和人类难以识别上下颠倒的图像挺相似的,但是机器必须克服这个局限性。
以下几篇论文都提出了旋转不变的卷积网络。每一种方法都有其创新性,都是通过更有效的参数利用提升旋转不变性,并最终获得全局旋转同变性(equivariance):
「为了提高机器学习方法的统计效率,很多人曾经寻求学习不变性表征的方法。然而,在深度学习中,中间层不应该是完全不变性的,因为局部特征的相对位姿(relative pose)必须保留给之后的层。因此,人们提出了同变性(equivariance)的思想:假如已知输入的转换,表征可以用一种可预测的线性形式生成转换,那么该网络就是同变的。换种说法即,同变网络生成的表征是可控的。可控性使网络不仅可以在所有的位置(正如标准的卷积层)还可以在所有的位姿上应用滤波器,从而增加参数共享。」
残差网络
图 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] 获得成功,残差网络和其变体在 2016 年变得很流行,出现了很多开源版本和可用的预训练模型。在 2015 年,ResNet 在 ImageNet 的检测、定位和分类任务,以及 COCO 的检测和分割挑战赛上都赢得了第一名。虽然其深度仍然是个问题,但 ResNet 解决了梯度消失问题,使人们更加相信「网络越深,抽象表达能力越强」的理念,巩固了深度学习的当前地位。
ResNet 通常被概念化为浅层网络的集成,通过运行(与它们的卷积层平行的)跳过链接,从而在某种程度上抵消深度神经网络的分层性质。这些跳过连接允许更简单的反向传播过程,缓解了深度神经网络中的梯度消失和梯度爆炸问题。如果想了解更多信息,请查阅 Quora:https://www.quora.com/What-is-an-intuitive-explanation-of-Deep-Residual-Networks。[152]
残差学习、理论和改进
其他残差理论和改进。尽管它是最近提出的想法,但已经有大量研究围绕着 ResNet 展开。下面是一些相关的论文:
数据集
不能过分夸大用于机器学习所有层面的丰富数据集的重要性。因此,我们审慎地收录该领域中一些最大进步。Kaggle CTO 兼联合创始人 Ben Hamner 曾说过「一个新数据集能催生出一千篇论文」[168],即数据的可用性能够催生新方法,并为之前无效的技术注入新活力。
2016 年,传统数据集如 ImageNet [169]、COCO [170]、 CIFARs [171] 和 MNIST [172] 中加入了大量新条目。我们还注意到制图技术的进步引发合成数据集的增长,它是满足人工神经网络对大量数据的需求的一种有趣工作。为了简洁起见,我们选择了 2016 年最重要的新数据集:
图 18:SceneNet RGB-D 示例。来自 SceneNet RGB-D 的示例,它是一个带有 500 万张真实感图像的合成室内轨迹的真值数据集。图片 (a) 通过计算图呈现,带有从 (b) 到 (e) 的特定任务的可用真值。合成数据集的创建有助于域适应进程,如果从其中学习到的知识无法应用到现实世界,那么合成数据集则是无意义的。这正是域适应发挥作用的地方,它具备把知识从一个领域迁移到另一个领域的能力,比如从合成图像到现实世界。域适应最近再次迅速发展,其在迁移学习方面的努力是亮点。列 (c) vs (d) 展示了实例与语义/分类分割之间的不同。来源:McCormac et al. (2017) [174]
图 19:CMPlaces 跨模态场景表征。来自 CMPlaces 论文,它展示了两个实例,卧室和幼儿园教师。传统的神经网络方法学习无法在不同形态之间很好迁移的表征,并且该论文试图生成一个共享表征「形态不可知论」。来源:Aytar et al. (2016) [177]
CMPlaces 明显提及到迁移学习、域不变表征、域适应和多模态学习。所有这些都进一步证明了计算机视觉研究的当前进展。作者致力于试图找到「域/模态独立的表征」,它可以对应于人类借以获取统一表征的更高层级的抽象。比如以不同形态之中的「猫」为例,无论是看到猫这个单词,一只素描本中的猫,一张猫的真实图像,抑或是在演讲中提及猫,人类总会抽象出一个相同的统一表征,高于以上所有的形态。
人类能够独立地利用从形态中感知到的知识与经验,机器获得相似能力能够带来检索和识别方面的若干个重要应用。
也就是说,图像理解的进步,如分割、物体分类和检测已经将视频理解带入了研究前沿。然而,在这个数据集发布之前,真实世界的视频数据集的种类和规模实际上很缺乏。此外,这个数据集刚刚更新 [181],并且今年谷歌联合 Kaggle 正组办一场视频理解竞赛,它是 CVPR 2017[182] 的一部分。有关 YouTube-8M 的一般信息请参见:https://research.google.com/youtube8m/[183]。
局限和趋势
这一部分总结其他应用、趋势、遗漏等。
应用/用例:
但是,尽管研究还在继续改善这些算法的误差率,它们作为医疗从业者工具的价值越来越重要。医学专家 [194] + AI 系统 [193] 在乳腺癌检测上获得的性能提升实在令人震惊。在这个案例中,人机协作以 99.5% 的准确率远远超过人和机器单独的准确率。
这只是目前深度学习/机器学习社区探索的医疗应用洪流中的一个例子。我们团队的一些成员开玩笑地说这些尝试只是试图讨好社会,使人们认为 AI 研究是一种普遍、善意的力量。但是只要技术能够帮助医疗行业,且用安全、周密的方式引入,那么我们真诚地欢迎这样的进步。
硬件/市场
Movidius Fathom 处理单元 [197] 也使用了 Myriad2 的技术,它允许用户将 SOTA 计算机视觉能力扩展到很多消费级产品中去。Fathom 就像一块 U 盘一样小巧,却可以轻松地将神经网络嵌入到几乎所有设备上。
在该项目中,谷歌与合作伙伴联想共同在 2016 年推出了一款中端手机,让开发者们可以在 Tango 平台上开发新的应用。Tango 包含了以下软件技术:运动跟踪、视场学习和深度知觉。
遗漏补充
值得注意的是计算机视觉和机器学习/人工智能的其他领域有很多重叠。这些内容在以上论述中均有涉及,在本文中,我们根据自己的思路对内容进行了划分。
例如,我们若决定将两个完整的计算机视觉任务:图像标注和视觉问答加入 NLP 系统中整合为视觉语音识别系统,该研究就同时具有了 CV 与 NLP 的组成部分,其中生成模型用于处理图像。这样的未来方向包含:
在最后一节中,我们将给出一些结论性意见,总结出目前的发展趋势。我们希望能够得到计算机视觉领域近期发展的全貌。注意:该总结不包含 2017 年 1 月-8 月的早期内容——由于技术的快速发展,旧的技术已经被新的技术超越了。这种快速发展的态势将使得计算机视觉硬件和软件在 2022 年发展成为 486 亿美元规模的新市场。
图 20:计算机视觉应用市场利润发展预测 [202]。来源:Tractica(2016)[203]。
结论
在这里我们希望突出一些不断出现的趋势和重点研究方向。首先必须提到的是研究社区对于优化的重视,其中最明显的就是今年各类研究中准确度的提升。
错误率并不是唯一一个被关注的参数,研究人员同时也在关注速度、效率以及算法的泛化能力,希望其成果可以在其他任务中具有足够竞争力。像 one-shot learning、生成模型、迁移模型以及最近开始火热的进化模型等方法是目前的主流,这些方向正在逐渐产生影响,并催生出更好的工作。
尽管以上论述毫无疑问是对于未来的美好憧憬,但随着这个思路,我们不免会回到人工智能的终极问题——通用人工智能上来。尽管我们在计算机视觉领域和其他 AI 相关领域里进展很快,目前技术的发展距离我们需要担忧还有很长一段距离。只有通过不断公开这些信息,我们才能消除公众对于新技术的误解。
我们选择对最近一年的技术发展进行概述原因在于:目前的研究成果正呈指数级增长,即使对于业内人士来说,随时保持对最新研究的跟踪也是一件越来越困难的事了;同时,我们也想以年为单位对于技术的进步作出度量。
回顾一年来的进展,读者们或许会惊讶于目前技术发展的高速度,在很短的一段时间内,技术就已有了多次重大进步。这是因为研究者们已经建立了一个全球化的社区,让新的探索可以在前人的方法上(架构、元架构、技术、思想、提示、捷径、结果……)和基础工具上(Keras、TensorFlow、PyTorch、GPU 加速方法等等)更进一步,这是一件可喜可贺的事情。这样的开源环境绝无仅有,它正在不断鼓励新的研究者将他们从其他领域中(如经济学、物理学等等)得来的想法应用其中。
对于还未意识到这些的人来说,理解计算机视觉发展的现状非常重要,在一片赞扬声中,我们需要回到技术的本质上,去理解它;至少需要理解这项技术可以用新的方式来改变世界。然而,技术的发展还在展开,未来的时间线上仍然存在很多的分支。
希望本文可以帮助人工智能开发者快速获知计算机视觉和人工智能领域的最新进展。
原报告地址:http://www.themtank.org/a-year-in-computer-vision
本文为机器之心编译,转载请联系本公众号获得授权。