与单个传统的机器学习算法相比,深度学习算法由这样的多种模型组成。这是因为神经网络在建立完整的端到端模型时提供了灵活性。
神经网络有时可以与乐高积木比较,在那里你可以建立几乎任何简单到复杂的结构,你的想象力可以帮助你建立。
我们可以将先进的架构定义为一个成功的模型,具有良好的记录。这主要出现在像ImageNet这样的挑战中,你的任务是解决一个问题,比如图像识别,使用给定的数据。那些不知道ImageNet是什么的人,是在ILSVR(ImageNet大规模视觉识别)挑战中提供的数据集。
也正如在下面提到的架构中所描述的那样,它们每个都有一个细微的差别,使它们与通常的模型不同。当他们习惯于解决问题的时候给他们一个优势。这些架构也属于“深度”模式,所以它们可能比浅层模型表现更好。
本文主要关注计算机视觉,因此描述计算机视觉任务的视野是很自然的。计算机视觉; 顾名思义就是简单地创建可以复制人类视觉任务的人造模型。这基本上意味着我们可以看到的东西,我们认为是一个可以在人工系统中理解和实施的过程。
计算机视觉可分类的主要类型如下:
对象识别/分类 - 在对象识别中,给出一个原始图像,您的任务是确定图像属于哪个类。
分类+ 本地化 - 如果图像中只有一个对象,并且您的任务是查找该对象的位置,则针对此问题的更具体的术语是本地化问题。
对象检测 - 在对象检测中,您的任务是确定对象位于图像中的什么位置。这些对象可能是完全相同的类或不同的类。
图像分割 - 图像分割是一项复杂的任务,其目标是将每个像素映射到合适的类别。
现在我们已经理解了高级架构是什么,并探索了计算机视觉的任务,让我们列举出最重要的架构及其描述:
AlexNet是深度学习领域的先驱之一--Geoffrey Hinton及其同事推出的第一个深度架构。这是一个简单而强大的网络架构,它为深度学习的开创性研究铺平了道路。这是作者提出的架构的表示。
分解时,AlexNet看起来就像是一个简单的架构,卷积层和层层叠在一起,然后是顶层完全连接的层。这是一个非常简单的建筑,它在20世纪80年代被概念化了。分开这个模型的东西是它执行任务的规模和使用GPU进行训练。20世纪80年代,CPU被用来训练一个神经网络。而AlexNet只是使用GPU加速了10倍的训练。
尽管目前有些过时,AlexNet仍然被用作应用深度神经网络来处理所有任务的起点,无论是计算机视觉还是语音识别。
VGG网络由牛津大学Visual Graphics Group的研究人员介绍(因此被称为VGG)。该网络的特征在于其金字塔形状,其中较靠近图像的底层较宽,而顶层较深。
如图所示,VGG包含随后的卷积层,然后是合并层。合并图层负责使图层变窄。在他们的论文中,他们提出了多种这样的网络类型,并且结构的深度也有所变化。
VGG的优点是:
这是一个非常好的架构,在特定的任务上进行基准测试。
而且,VGG的预训练网络可以在互联网上自由使用,所以它通常用于各种应用。
另一方面,它的主要缺点是如果从零开始训练,训练是非常缓慢的。即使在一个体面的GPU上,要花一个多星期才能完成。
GoogleNet(或Inception Network)是由Google的研究人员设计的一类架构。GoogleNet是ImageNet 2014的赢家,它被证明是一个强大的模型。
在这个架构中,随着更深层次(包含22层,相比于19层的VGG),研究人员还提出了一种称为Inception模块的新方法。
如上所见,这是从我们以前看到的顺序架构的一个巨大的变化。在单层中,存在多种类型的“特征提取器”。这间接地帮助网络表现更好,因为训练网络本身在解决任务时有许多选择。它可以选择将输入进行卷积,也可以直接将其合并。
最终的体系结构包含多个这样的开始模块堆叠在一起。即使是在GoogleNet上的培训也略有不同,因为大多数最顶层都有自己的输出层。这种细微差别有助于模型的收敛速度更快,因为有了联合训练以及层面本身的平行训练。
GoogleNet的优点是:
GoogleNet的训练速度比VGG快。
预训练的GoogleNet的规模比VGG小。一个VGG模型可以有> 500 MB,而GoogleNet只有96 MB的大小
GoogleNet本身并没有立竿见影的劣势,但提出了进一步的体系结构变化,这使得模型的性能更好。一个这样的变化被称为Xception网络,其中起始模块(GoogleNet中的4,如上图中所示)的分歧极限增加。现在理论上可以是无限的(因此被称为极端的初始!)
ResNet是真正确定深度学习架构的深度的怪物架构之一。剩余网络(简称ResNet)由多个后续剩余模块组成,这是ResNet架构的基本组成部分。剩余模块的表示如下
简而言之,一个剩余模块有两个选项,可以在输入上执行一组功能,也可以完全跳过这一步。
现在与GoogleNet类似,这些剩余模块相互堆叠,形成一个完整的端到端网络。
ResNet介绍的一些更新颖的技术是:
使用标准的SGD而不是花哨的自适应学习技术。这是通过一个合理的初始化函数来完成的,它保持了训练的完整性
预处理输入的变化,其中输入首先被分成补丁,然后被输入到网络中
ResNet的主要优势在于可以使用数百甚至数千个这些残留层来创建网络,然后进行培训。这与通常的顺序网络有点不同,在这种网络中,随着增加层数的增加,性能会有所下降。
ResNeXt被认为是当前最先进的物体识别技术。它建立在起始和重新设计的概念之上,以实现一种新的和改进的建筑。下图是对ResNeXt模块残余模块的外观进行总结。
基于区域的CNN体系结构被认为是已经应用于对象检测问题的所有深度学习体系结构中最具影响力的体系结构。为了解决检测问题,RCNN所做的就是尝试为图像中存在的所有对象绘制边界框,然后识别图像中的对象。它的工作原理如下:
RCNN的结构如下:
YOLO是目前最先进的基于深度学习的实时系统,用于解决图像检测问题。如下图所示,它首先将图像划分为定义的边界框,然后对所有这些框同时运行一个识别算法,以确定它们属于哪个对象类。识别出这些类之后,它将智能地合并这些盒子,形成围绕这些对象的最佳边界框。
所有这些都是并行完成的,所以它可以实时运行。一秒钟内处理多达40个图像。
虽然它的性能比RCNN的性能要差,但它仍然具有实时可用于日常问题的优势。这里是YOLO的体系结构的表示
squeezeNet架构是一个更强大的架构,在移动平台等低带宽场景中非常有用。这个架构只占用了4.9MB的空间,另一方面,开始占用〜100MB!这种剧烈的变化是由一个称为火灾模块的专门结构引起的。下图是消防模块的图示。
squeezeNet的最终架构如下:
9. SegNet
SegNet是应用于解决图像分割问题的深度学习体系结构。它由一系列处理层(编码器)组成,后面跟着一组用于像素分类的解码器。下图总结了SegNet的工作。
SegNet的一个关键特性是它将分割图像中的高频细节保留下来,因为编码器网络的汇聚索引连接到解码器网络的汇聚索引。简而言之,信息传递是直接的,而不是卷入它们。SegNet是处理图像分割问题时使用的最佳模型
GAN是完全不同的神经网络体系结构,其中使用神经网络来生成全新的图像,该图像不存在是训练数据集,但是足够现实以存在于数据集中。例如,下面的图片是由GAN组成的细目。我已经介绍了GAN如何在本文中工作。如果你好奇的话,请穿过它。