正文
下面介绍研究者需要熟知的 8 个神经网络架构。
1. 感知器
第一代神经网络出现时,感知机(perceptron)仅仅是单个神经元的计算模型,其在二十世纪六十年代初被美国计算机科学家 Frank Rosenblatt 推广。其学习算法非常强大,并且宣称可以学习很多事情。1969 年,Minsky 与 Papert 出版了一本名为《感知机》的书,这本书分析了这些算法可以做什么,并阐释了其局限性。许多人就将这个局限性放大到所有的 NN 模型。然而,感知机学习过程仍广泛用于具有包含数百万特征的大特征向量的任务。
在统计模式识别的标准范例中,我们首先将原始输入向量转换为特征激活向量。然后,基于大家的共识手动编程来定义特征。接下来,我们学习如何对每个特征激活进行加权以获得单一的标量。如果这个标量超过了某个阈值,我们认为输入向量是目标集中的一个正样本。
标准的感知机架构遵循前馈模型,输入被发送到神经元中,经处理后输出。在下图中,表示为网络自下而上读取:底部输入,顶部输出。
但是,感知机确实存在局限性:如果您使用手动设置特征,并且使用了足够多的特征,那么你几乎可以做任何事情。对于二进制输入向量,我们可以为指数级多的二进制向量分别设置一个特征单元,因此我们可以对二进制输入向量进行任何可能的区分。但是,一旦确定了手动编程的特征,感知器可以学习的东西就非常有限。
这个结果对于感知机是毁灭性的,因为模式识别是去识别在变换情况下的模式。Minsky 和 Papert 的「组不变性定理」认为感知机的学习部分无法去学习当转换来自于一个组的情况。为了识别上述那种情况,需要更多的特征单元去识别那些模式中包含的子信息。所以模式识别的技巧部分必须由手动编码的特征检测器来解决,而不是学习过程。
没有隐藏单元的网络在其可以学习建模的输入输出映射中是非常有限的。简单地增加一些线性单元无济于事,因为结果还是线性的。固定的输出非线性也不够,因此,我们需要多层自适应非线性隐藏单元。问题是怎样对这样的网络进行训练。我们需要一种适应所有权重的有效方式,而不仅仅是最后一层,所以这很难。学习进入隐藏层的权重等同于学习特征,这是非常困难的,因为没有人直接告诉我们隐藏层应该怎么做。
2. 卷积神经网络
机器学习研究已经广泛地集中在物体检测问题上。有各种各样的事情使识别物体变得困难:
-
图像分割:真实场景中总是掺杂着其它物体。很难判断哪些部分属于同一个对象。对象的某些部分可以隐藏在其他对象的后面。
-
物体光照:像素的强度被光照强烈影响。
-
图像变形:物体可以以各种非仿射方式变形。例如,手写也可以有一个大的圆圈或只是一个尖头。
-
情景支持:物体所属类别通常由它们的使用方式来定义。例如,椅子是为了让人们坐在上面而设计的,因此它们具有各种各样的物理形状。
-
视角:标准学习方法无法应对的视点变化导致的图像变化,得到的信息随输入维度(即像素)的变化而变化。
-
维度跳变:设想一个医疗数据库,通常用来学习体重的神经元,现在忽然用来学习病人的年龄!要应用机器学习,我们首先要消除这个维度跳跃。
复制特征方法是目前神经网络解决目标检测问题的主要方法。在不同的位置使用相同的特征提取器。它也可以在尺寸和方向上复制,这很需技巧并且很贵。复制大大减少了要学习的自由参数的数量。它使用几种不同的特征类型,每种都有自己的复制检测器图像。它也允许以各种方式表示每个图像块。
那么复制特征检测器是如何实现的呢?
1998 年,Yann LeCun 和他的合作者开发了 LeNet 的手写数字识别器。它在前馈网中使用反向传播,这个前馈网络不仅仅是一个识别器,它有许多隐藏层,每个层有许多复制单元的映射,汇集附近复制单元的输出,有一个即使重叠也能够同时处理几个字符的宽网,以及训练一套完整的系统的巧妙方式。后来正式命名为卷积神经网络。一个有趣的事实是:这个网络被用来读取北美地区约 10%的支票。
卷积神经网络可用于从手写数字到 3D 物体的与物体识别有关的所有工作。但是,从网下载的彩色照片中识别真实物体要比识别手写数字复杂得多。它百倍于手写数字的类别(1000:10),数百倍于手写数字的像素(256×256 色:28×28 灰度),是三维场景的二维图像,需要分割混乱场景,而且每个图片有多个对象。这样的情况下,相同类型的卷积神经网络会起作用吗?
之后在 ImageNet 2012 年的 ILSVRC 竞赛(这个比赛被誉为计算机视觉的年度奥林匹克竞赛)中,题目是一个包含大约 120 万张高分辨率训练图像的数据集。测试图像不显示初始注释(没有分割或标签),算法要产生指定图像中存在什么对象的标签。来自 Oxford、INRIA、XRCE 等机构的先进计算机视觉小组用已有的最好计算机视觉方法应用于这个数据集。通常计算机视觉系统是复杂的多级系统,往往需要在早期阶段通过手动调参来优化。