CNN

(1989)Generalization and Network

2019-01-10  本文已影响0人  运动小爽

Yan Lecun在这篇论文主要讨论了神经网络(或者更普遍的监督学习模型)的泛化性能和一些针对具体问题设计神经网络的技巧

这篇论文的一个主要观点是:处理实际问题时,当针对该问题的先验知识被加入到监督模型的设计中时,设计出的模型通常能在该问题上面获的更好的泛化性能。

该观点实际上要说的就是具体问题应该具体分析,没有一个模型能同时处理所有的问题,就算是最聪明的人类大脑,不还是由不同的区域如视觉区、听觉区等组成嘛,每个区域负责不同类型的任务。

比如针对视觉识别问题,离得越近的区域,图像内容的相关性越大,先提取图像的局部信息,然后再将局部信息进一步组合,可以得到更高级的特征,这就是视觉识别问题的先验知识。那CNN网络就是将该先验知识加入到模型设计中的完美体现。

1. 监督网络的泛化性能(generalization)

泛化性能和哪些因素有关?如何提高模型的泛化性能?

通常情况下,网络的泛化性能取决于假设空间的大小/网络中自由参数的数量训练样本的大小,减小网络中自由参数的数量、增加训练样本的数量,能有效提高网络的泛化性能。

对此,论文中举了曲线拟合的例子:如果用一个曲线模型(如多项式)去拟合一堆样本点,当模型的参数数量与样本点数量相当的时候,构造的曲线能完美地拟合所有训练样本点,但是对于新的测试点,拟合出的曲线表现通常会很差,特别是训练样本点中有很多噪声/异常点时。

相反,当模型的参数数量较小时,曲线不必去精确拟合每一个样本点,而是去学习训练样本通用的大致规律,从而对新的测试样本进行大致正确的预测。

其实,将具体任务的先验知识加入到网络设计中,通常能够有效地减少网络的自由参数数量,自然也就能达到较好的泛化性能了。

2. 提高网络泛化性能的常用方式

那如何减小网络中自由参数的数量以提高泛化性能呢?文中提到了三种方法:

第一种方法是在网络的训练过程中,动态地删除掉一些无用的连接(useless connections),这可以通过在损失函数(cost function)中增加一项,用于惩罚那些拥有过多参数的网络。也就是正则化思想。

第二种方法是权重共享(weight sharing),指的是使用单个参数(weight)控制多个连接(connections)。权重共享可以被解释为在这些连接强度上面施加相同的限制(contraints)。

第三种方法实质上是权重共享的泛化,称作权重空间转换(Weight-Space Transformation, WST )。WST基于这样一个事实:在学习过程中,模型参数的优化并不一定要在权重空间中(weight space)执行,可以在任何适合该优化任务的参数空间中执行,只要权重空间可以由该参数空间通过已知的转换公式(transformation)计算得到,同时该转换公式的雅克比矩阵(Jacobian matrix)已知(因为在反向传播计算损失函数关于参数空间的梯度时需要用到)。

3. 具体问题举例:数字识别

文中第三部分,针对一个数字识别问题,设计了5种不同的神经网络模型,每个模型拥有不同大小的模型参数数量,此外,一部分模型中加入了该任务的一些先验知识。并通过实验结果验证了前面提出的主要观点。

3.1 数据集

数字识别问题(识别数字0-9,和MNIST类似的分类问题)的数据集特点如下:

3.2 激活函数和损失函数

神经网络所用的激活函数是双曲正切函数

其中A和S是超参数,论文中A=1.7159,S=2/3。

双曲正切函数的表达式和图像如下:


网络的损失函数用的是均方误差(mean squared error):


下面是针对数字识别问题设计的5个模型的细节:
Net-1: A single layer network
Net-2: A two-layer, fully connected network
Net-3: A fully-connected, 3-layer network

前面的两个网络都是全连接网络。

文章中指出,之前在视觉识别任务方面的工作已经证明了:对于图像识别这类任务,可以先提取局部特征,然后将其结合成更高级的特征。因此,对于数字识别的问题,网络的隐藏层可以先提取输入图像的局部特征,然后进一步结合成更高级特征,即将数字识别任务的先验知识加入到Net-3的设计中。

Net-1、Net-2和Net-3的模型结构如下图所示:


Net-3包含了两个单通道的隐藏层H1和H2,实质上是不共享权重的卷积操作,根据论文:

Net-4: A constrained network

Net-4的设计依据是:图像的目标在不同位置通常包含多个不同的特征,因此有必要同时使用一组特征检测器(feature detectors)用于检测输入图像中的不同特征。

另外,对于图像分类问题,目标特征的精确位置信息不太重要,只需要保留特征的大致位置信息,以便接下来的卷积层用于进一步组合,得到更高级的特征。这其实就是每一个卷积层都进行了下采样操作的原因(16-->8,8-->4),因为逐渐的下采样能保留特征大致的位置信息,更重要的是,随着每一层的feature map逐渐减小,后面的全连接层的权重参数数量会大大减小(有助于提高模型的泛化性能)。

Net-4的网络结构如下图所示:


Net-4采用了和Net-3相似的设计,包括每个卷积层的卷积核大小,以及feature map的大小。相比于Net-3,Net-4具有如下改进:

Net-5: A network with hierarchical feature extractors

既然Net-4中的卷积权重共享和多个特征检测器(多通道的feature map)效果不错,那Net-5在Net-4基础上更进一步:

5个模型的信息总结在下面表格中:


4. 总结

当设计监督学习模型来解决具体问题时,重复这篇论文的主要观点:处理实际问题时,当针对该问题的先验知识被加入到监督模型的设计中时,设计出的模型通常能在该问题上面获的更好的泛化性能。

当然,某个问题的先验知识具体指什么?如何将先验知识加入到监督学习模型的设计中,这不是一个简单的问题。

但论文中至少证明了,针对图像识别任务,作者Yan LeCun大神成功将图像识别任务的先验知识(先提取局部特征,再进一步可以结合成更高级特征这一先验知识)加入到了神经网络的设计中,即实验中的Net-3、Net-4、和Net-5,并且获得了优秀的泛化性能。这可能就是CNN网络最初的设计初衷吧。

从这篇论文中大致可以了解到,现在火的不行的CNN网络,在大约30年前(1989)是如何被一步步探索出来的。而且,当时就出现的专业术语如权重共享(weight sharing)、感受野(receptive field)等,一直被沿用至今。另外还有如激活函数(tanh)、反向传播(Back-Propagation)算法、损失函数(cost function)、数据集划分时的训练集(training set)、测试集(test set),甚至还有数据增强(data augmentation)。

上一篇 下一篇

猜你喜欢

热点阅读