首页

> 论文发表知识库

首页 论文发表知识库 问题

卷积神经网络论文展望模板

发布时间:

卷积神经网络论文展望模板

原文: Scalable Object Detection using Deep Neural Networks——学术范 最近,深度卷积神经网络在许多图像识别基准上取得了最先进的性能,包括ImageNet大规模视觉识别挑战(ILSVRC-2012)。在定位子任务中获胜的模型是一个网络,它预测了图像中每个对象类别的单个边界框和置信度得分。这样的模型捕获了围绕对象的整幅图像上下文,但如果不天真地复制每个实例的输出数量,就无法处理图像中同一对象的多个实例。在这篇论文中提出了一个显著性启发的神经网络检测模型,它预测了一组与类无关的边界框,每个框有一个分数,对应于它包含任何感兴趣的对象的可能性。该模型自然地为每个类处理数量可变的实例,并允许在网络的最高级别上进行跨类泛化。 目标检测是计算机视觉的基本任务之一。一个解决这个问题的通用范例是训练在子图像上操作的对象检测器,并在所有的场所和尺度上以详尽的方式应用这些检测器。这一范例被成功地应用于经过区别训练的可变形零件模型(DPM)中,以实现检测任务的最新结果。对所有可能位置和尺度的穷举搜索带来了计算上的挑战。随着类数量的增加,这个挑战变得更加困难,因为大多数方法都训练每个类单独的检测器。为了解决这个问题,人们提出了多种方法,从检测器级联到使用分割提出少量的对象假设。 关于对象检测的文献非常多,在本节中,我们将重点讨论利用类不可知思想和解决可伸缩性的方法。 许多提出的检测方法都是基于基于部件的模型,最近由于有区别学习和精心设计的特征,已经取得了令人印象深刻的性能。然而,这些方法依赖于在多个尺度上详尽地应用零件模板,这是非常昂贵的。此外,它们在类的数量上是可伸缩的,这对像ImageNet这样的现代数据集来说是一个挑战。 为了解决前一个问题,Lampert等人使用分支绑定策略来避免计算所有可能的对象位置。为了解决后一个问题,Song et al.使用了一个低维部件基,在所有对象类中共享。基于哈希算法的零件检测也取得了良好的结果。 另一种不同的工作,与我们的工作更接近,是基于对象可以本地化的想法,而不必知道它们的类。其中一些方法建立在自底向上无阶级分割[9]的基础上。通过这种方式得到的片段可以使用自上而下的反馈进行评分。基于同样的动机,Alexe等人使用一种廉价的分类器对对象假设是否为对象进行评分,并以这种方式减少了后续检测步骤的位置数量。这些方法可以被认为是多层模型,分割作为第一层,分割分类作为后续层。尽管它们编码了已证明的感知原理,但我们将表明,有更深入的模型,充分学习可以导致更好的结果。 最后,我们利用了DeepLearning的最新进展,最引人注目的是Krizhevsky等人的工作。我们将他们的边界盒回归检测方法扩展到以可扩展的方式处理多个对象的情况。然而,基于dnn的回归已经被Szegedy等人应用到对象掩模中。最后一种方法实现了最先进的检测性能,但由于单个掩模回归的成本,不能扩展到多个类。 我们的目标是通过预测一组表示潜在对象的边界盒来实现一种与类无关的可扩展对象检测。更准确地说,我们使用了深度神经网络(DNN),它输出固定数量的包围盒。此外,它为每个盒子输出一个分数,表示这个盒子包含一个对象的网络信任度。 为了形式化上述思想,我们将i-thobject框及其相关的置信度编码为最后一网层的节点值: Bounding box: 我们将每个框的左上角和右下角坐标编码为四个节点值,可以写成vectorli∈R4。这些坐标是归一化的w. r. t.图像尺寸,以实现图像绝对尺寸的不变性。每个归一化坐标是由最后一层的线性变换产生的。 Confidence: 置信度:包含一个对象的盒子的置信度得分被编码为单个节点valueci∈[0,1]。这个值是通过最后一个隐藏层的线性变换产生的,后面跟着一个sigmoid。 我们可以组合边界盒位置sli,i∈{1,…K}为一个线性层。同样,我们可以将所有置信区间ci,i∈{1,…K}作为一个s型层的输出。这两个输出层都连接到最后一个隐藏层 在推理时,我们的算法生成kbound盒。在我们的实验中,我们使用ek = 100和K= 200。如果需要,我们可以使用置信分数和非最大抑制在推理时获得较少数量的高置信框。这些盒子应该代表对象。因此,它们可以通过后续的分类器进行分类,实现目标检测。由于盒子的数量非常少,我们可以提供强大的分类器。在我们的实验中,我们使用另一个dnn进行分类。 我们训练一个DNN来预测每个训练图像的边界框及其置信度得分,以便得分最高的框与图像的groundtruth对象框很好地匹配。假设对于一个特定的训练例子,对象被标记为boundingboxesgj,j∈{1,…,M}。在实践中,pre- dictionary的数量远远大于groundtruthboxm的数量。因此,我们试图只优化与地面真实最匹配的预测框子集。我们优化他们的位置,以提高他们的匹配度,最大化他们的信心。与此同时,我们将剩余预测的置信度最小化,这被认为不能很好地定位真实对象。为了达到上述目的,我们为每个训练实例制定一个分配问题。Wexij∈{0,1}表示赋值:xij= 1,如果第i个预测被赋值给第j个真对象。这项任务的目标可以表示为 其中,我们使用标准化边界框坐标之间的el2距离来量化边界框之间的不同。此外,我们希望根据分配x优化盒子的可信度。最大化指定预测的置信度可以表示为  最终的损失目标结合了匹配损失和信心损失 受式1的约束。α平衡了不同损失条款的贡献。 对于每个训练例子,我们通过解决一个最佳的赋值x*的预测到真实的盒子 约束执行赋值解决方案。这是二部匹配的一种变体,是一种多项式复杂度匹配。在我们的应用程序中,匹配是非常便宜的——每幅图像中标记的对象的数量少于一打,而且在大多数情况下只有很少的对象被标记。然后,通过反向传播优化网络参数。例如,反向传播算法的一阶导数计算w、r、t、l和c 尽管上述定义的损失在原则上是足够的,但三次修改使其有可能更快地达到更好的准确性。第一个修改是对地面真实位置进行聚类,并找到这样的聚类/质心,我们可以使用这些聚类/质心作为每个预测位置的先验。因此,鼓励学习算法为每个预测位置学习一个残差到一个先验。 第二个修改涉及到在匹配过程中使用这些先验:不是将N个groundtruth位置与K个预测进行匹配,而是在K个先验和groundtruth之间找到最佳匹配。一旦匹配完成,就会像之前一样计算目标的置信度。此外,位置预测损失也不变:对于任何一对匹配的(目标,预测)位置,其损失定义为groundtruth和对应于匹配先验的坐标之间的差值。我们把使用先验匹配称为先验匹配,并假设它促进了预测的多样化。  需要注意的是,尽管我们以一种与类无关的方式定义了我们的方法,但我们可以将它应用于预测特定类的对象盒。要做到这一点,我们只需要在类的边框上训练我们的模型。此外,我们可以预测每个类的kbox。不幸的是,这个模型的参数数量会随着类的数量线性增长。此外,在一个典型的设置中,给定类的对象数量相对较少,这些参数中的大多数会看到很少有相应梯度贡献的训练示例。因此,我们认为我们的两步过程——首先本地化,然后识别——是一个更好的选择,因为它允许使用少量参数利用同一图像中多个对象类型的数据 我们使用的本地化和分类模型的网络架构与[10]使用的网络架构相同。我们使用Adagrad来控制学习速率衰减,128的小批量,以及使用多个相同的网络副本进行并行分布式训练,从而实现更快的收敛。如前所述,我们在定位损失中使用先验——这些是使用训练集上的均值来计算的。我们还使用α = 来平衡局部化和置信度损失。定位器可以输出用于推断的种植区以外的坐标。坐标被映射和截断到最后的图像区域。另外,使用非最大抑制对盒进行修剪,Jaccard相似度阈值为。然后,我们的第二个模型将每个边界框分类为感兴趣的对象或“背景”。为了训练我们的定位器网络,我们从训练集中生成了大约3000万幅图像,并对训练集中的每幅图像应用以下步骤。最后,样品被打乱。为了训练我们的本地化网络,我们通过对训练集中的每一幅图像应用以下步骤,从训练集中生成了大约3000万幅图像。对于每幅图像,我们生成相同数量的平方样本,使样本总数大约为1000万。对于每幅图像,样本被桶状填充,这样,对于0 - 5%、5 - 15%、15 - 50%、50 - 100%范围内的每个比例,都有相同数量的样本,其中被包围框覆盖的比例在给定范围内。训练集和我们大多数超参数的选择是基于过去使用非公开数据集的经验。在下面的实验中,我们没有探索任何非标准数据生成或正则化选项。在所有的实验中,所有的超参数都是通过对训练集。 Pascal Visual Object Classes (VOC)挑战是最常用的对象检测算法基准。它主要由复杂的场景图像组成,其中包含了20种不同的对象类别的边界框。在我们的评估中,我们关注的是2007版VOC,为此发布了一个测试集。我们通过培训VOC 2012展示了结果,其中包含了大约。11000张图片。我们训练了一个100框的定位器和一个基于深度网络的分类器。 我们在一个由1000万作物组成的数据集上训练分类器,该数据集重叠的对象至少为 jaccard重叠相似度。这些作物被标记为20个VOC对象类中的一个。•2000万负作物与任何物体盒最多有个Jaccard相似度。这些作物被贴上特殊的“背景”类标签。体系结构和超参数的选择遵循。 在第一轮中,定位器模型应用于图像中最大-最小中心方形作物。作物的大小调整到网络输入大小is220×220。单次通过这个网络,我们就可以得到上百个候选日期框。在对重叠阈值为的非最大抑制后,保留评分最高的前10个检测项,并通过21路分类器模型分别通过网络进行分类。最终的检测分数是给定盒子的定位分数乘以分类器在作物周围的最大方形区域上评估的分数的乘积。这些分数通过评估,并用于计算精确查全曲线。 首先,我们分析了本地化器在隔离状态下的性能。我们给出了被检测对象的数量,正如Pascal检测标准所定义的那样,与生成的包围框的数量相对比。在图1中,我们展示了使用VOC2012进行训练所获得的结果。此外,我们通过使用图像的最大中心面积(max-center square crop)作为输入以及使用两个尺度(second scale)来给出结果:最大中心面积(max-center crop)的第二个尺度(select3×3windows的大小为图像大小的60%)正如我们所看到的,当使用10个边界框的预算时,我们可以用第一个模型本地化的对象,用第二个模型本地化48%的对象。这显示出比其他报告的结果更好的性能,例如对象度算法达到42%[1]。此外,这个图表显示了在不同分辨率下观察图像的重要性。虽然我们的算法通过使用最大中心作物获得了大量的对象,但当使用更高分辨率的图像作物时,我们获得了额外的提升。进一步,我们用21-way分类器对生成的包围盒进行分类,如上所述。表1列出了VOC 2007的平均精度(APs)。达到的平均AP是,与先进水平相当。注意,我们的运行时间复杂度非常低——我们只使用top10框。示例检测和全精度召回曲线分别如图2和图3所示。值得注意的是,可视化检测是通过仅使用最大中心方形图像裁剪,即使用全图像获得的。然而,我们设法获得了相对较小的对象,例如第二行和第二列的船,以及第三行和第三列的羊。 在本工作中,我们提出了一种新的方法来定位图像中的对象,该方法可以预测多个边界框的时间。该方法使用深度卷积神经网络作为基本特征提取和学习模型。它制定了一个能够利用可变数量的groundtruth位置的多箱定位成本。在“一个类一个箱”方法的情况下,对1000个盒子进行非max-suppression,使用与给定图像中感兴趣的DeepMulti-Box方法相同的准则,并学习在未见图像中预测这些位置。 我们在VOC2007和ILSVRC-2012这两个具有挑战性的基准上给出了结果,在这两个基准上,所提出的方法具有竞争力。此外,该方法能够很好地预测后续分类器将探测到的位置。我们的结果表明,deepmultibox的方法是可扩展的,甚至可以在两个数据集之间泛化,就能够预测感兴趣的定位,甚至对于它没有训练的类别。此外,它能够捕获同一类物体的多种情况,这是旨在更好地理解图像的算法的一个重要特征。 在未来,我们希望能够将定位和识别路径折叠到一个单一的网络中,这样我们就能够在一个通过网络的一次性前馈中提取位置和类标签信息。即使在其当前状态下,双通道过程(本地化网络之后是分类网络)也会产生5-10个网络评估,每个评估的速度大约为1个CPU-sec(现代机器)。重要的是,这个数字并不与要识别的类的数量成线性关系,这使得所提出的方法与类似dpm的方法非常有竞争力。

Abstract

我们训练了一个大型的深度卷积神经网络,将ImageNet lsvprc -2010竞赛中的120万幅高分辨率图像分类为1000个不同的类。在测试数据上,我们实现了top-1和top-5的错误率,分别为和,这与前的最高水平相比有了很大的提高。该神经网络有6000万个参数和65万个神经元,由5个卷积层(其中一些后面接了最大池化层)和3个全连接层(最后的1000路softmax)组成。为了使训练更快,我们使用了非饱和神经元和一个非常高效的GPU实现卷积运算。为了减少全连通层的过拟合,我们采用了一种最近发展起来的正则化方法——dropout,结果显示它非常有效。我们还在ILSVRC-2012比赛中输入了该模型的一个变体,并获得了的top-5测试错误率,而第二名获得了的错误率.

1 Introduction

当前的物体识别方法主要利用机器学习方法。为了提高它们的性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过度拟合。直到最近,标记图像的数据集在成千上万的图像(例如,NORB [16], Caltech-101/256 [8,9], CIFAR-10/100[12])中相对较小。使用这种大小的数据集可以很好地解决简单的识别任务,特别是如果使用保存标签的转换来扩展它们。例如,MNIST数字识别任务的当前最佳错误率(<)接近人类性能[4]。但是现实环境中的物体表现出相当大的可变性,所以为了学会识别它们,有必要使用更大的训练集。的确,小图像数据集的缺点已经被广泛认识(例如,Pinto等人的[21]),但直到最近才有可能收集数百万张图像的标记数据集。新的更大的数据集包括LabelMe[23],它由成千上万的全分段图像组成,和ImageNet[6],它由超过22000个类别的超过1500万标记的高分辨率图像组成。

要从数百万张图像中了解数千个物体,我们需要一个具有巨大学习能力的模型。 然而,对象识别任务的巨大复杂性意味着即使像ImageNet这样大的数据集也无法指定这个问题,因此我们的模型也应该具有大量的先验知识来补偿我们没有的所有数据。卷积神经网络(Convolutional neural networks, CNNs)就是这样一类模型[16,11,13,18,15,22,26]。它们的能力可以通过改变深度和宽度来控制,而且它们还对图像的性质(即统计的平稳性和像素依赖的局部性)做出了强有力且最正确的假设。 因此,与具有相似大小层的标准前馈神经网络相比,CNNs具有更少的连接和参数,因此更容易训练,而其理论上最好的性能可能只会稍微差一些。

尽管CNNs的质量很吸引人,尽管它们的本地架构相对高效,但在高分辨率图像上大规模应用仍然非常昂贵。幸运的是,当前的gpu与高度优化的2D卷积实现相结合,已经足够强大,可以方便地训练有趣的大型CNNs,而最近的数据集(如ImageNet)包含了足够多的标记示例,可以在不严重过拟合的情况下训练此类模型。

本文的具体贡献如下:

最后,网络的大小主要受到当前gpu上可用内存的大小和我们愿意忍受的训练时间的大小的限制。我们的网络需要5到6天的时间来训练两个GTX 580 3GB GPU。我们所有的实验都表明,只要等待更快的gpu和更大的数据集可用,我们的结果就可以得到改善。

2 The Dataset

ImageNet是一个包含超过1500万张高分辨率图像的数据集,属于大约22000个类别。这些图片是从网上收集来的,并由人工贴标签者使用亚马逊的土耳其机械众包工具进行标记。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年都会举办一场名为ImageNet大型视觉识别挑战赛(ILSVRC)的比赛。ILSVRC使用ImageNet的一个子集,每个类别大约有1000张图片。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

ILSVRC-2010 是唯一可用测试集标签的 ILSVRC 版本,因此这是我们进行大多数实验的版本。由于我们也在 ILSVRC-2012 竞赛中加入了我们的模型,在第6节中,我们也报告了我们在这个版本的数据集上的结果,对于这个版本的数据集,测试集标签是不可用的。在 ImageNet 上,通常报告两个错误率:top-1 和 top-5,其中 top-5 错误率是测试图像的一部分,其中正确的标签不在模型认为最可能的五个标签中。

ImageNet由可变分辨率的图像组成,而我们的系统需要一个恒定的输入维数。 因此,我们将图像降采样到256 * 256的固定分辨率。给定一个矩形图像,我们首先重新调整图像的大小,使其短边长度为256,然后从结果图像中裁剪出中心的256%256块。除了从每个像素中减去训练集上的平均活动外,我们没有以任何其他方式对图像进行预处理。因此,我们将网络训练成像素的原始RGB值(居中)。

3 The Architecture

ReLU Nonlinearity

Training on Multiple GPUs

Local Response Normalization

Overlapping Pooling

Pooling layers in CNNs summarize the outputs of neighboring groups of neurons in the same kernel map. Traditionally, the neighborhoods summarized by adjacent pooling units do not overlap (.,[17, 11, 4]). To be more precise, a pooling layer can be thought of as consisting of a grid of pooling units spaced s pixels apart, each summarizing a neighborhood of size z z centered at the location of the pooling unit. If we set s = z, we obtain traditional local pooling as commonly employed in CNNs. If we set s < z, we obtain overlapping pooling. This is what we use throughout our network, with s = 2 and z = 3. This scheme reduces the top-1 and top-5 error rates by and , respectively, as compared with the non-overlapping scheme s = 2; z = 2, which produces output of equivalent dimensions. We generally observe during training that models with overlapping pooling find it slightly more difficult to overfit.

Overall Architecture

Now we are ready to describe the overall architecture of our CNN. As depicted in Figure 2, the net contains eight layers with weights; the first five are convolutional and the remaining three are fully-connected. The output of the last fully-connected layer is fed to a 1000-way softmax which produces a distribution over the 1000 class labels. Our network maximizes the multinomial logistic regression objective, which is equivalent to maximizing the average across training cases of the log-probability of the correct label under the prediction distribution.

4 Reducing Overfitting

Data Augmentation

Dropout

结合许多不同模型的预测是减少测试错误的一种非常成功的方法[1,3],但是对于已经需要几天训练的大型神经网络来说,这似乎太昂贵了。然而,有一个非常有效的模型组合版本,它在训练期间只花费大约2倍的成本。最近介绍的技术称为dropout[10],它将每个隐藏神经元的输出设置为0,概率为。以这种方式丢弃的神经元不参与正向传递,也不参与反向传播。所以每次输入时,神经网络都会对不同的结构进行采样,但是所有这些结构都共享权重。这种技术减少了神经元之间复杂的相互适应,因为神经元不能依赖于特定的其他神经元的存在。因此,它被迫学习与其他神经元的许多不同随机子集结合使用的更健壮的特征。在测试时,我们使用所有的神经元,但将它们的输出乘以,这是一个合理的近似值,近似于取由指数型多退出网络产生的预测分布的几何平均值。

我们在图2的前两个完全连接的层中使用了dropout。没有dropout,我们的网络显示出大量的过拟合。Dropout使收敛所需的迭代次数增加了一倍。

5 Details of learning

7 Discussion

LeNet-5模型 在CNN的应用中,文字识别系统所用的LeNet-5模型是非常经典的模型。LeNet-5模型是1998年,Yann LeCun教授提出的,它是第一个成功大规模应用在手写数字识别问题的卷积神经网络,在MNIST数据集中的正确率可以高达。 下面详细介绍一下LeNet-5模型工作的原理。 LeNet-5模型一共有7层,每层包含众多参数,也就是卷积神经网络中的参数。虽然层数只有7层,这在如今庞大的神经网络中可是说是非常少的了,但是包含了卷积层,池化层,全连接层,可谓麻雀虽小五脏俱全了。为了方便,我们把卷积层称为C层,下采样层叫做下采样层。 首先,输入层输入原始图像,原始图像被处理成32×32个像素点的值。然后,后面的隐层计在卷积和子抽样之间交替进行。C1层是卷积层,包含了六个特征图。每个映射也就是28x28个神经元。卷积核可以是5x5的十字形,这28×28个神经元共享卷积核权值参数,通过卷积运算,原始信号特征增强,同时也降低了噪声,当卷积核不同时,提取到图像中的特征不同;C2层是一个池化层,池化层的功能在上文已经介绍过了,它将局部像素值平均化来实现子抽样。 池化层包含了六个特征映射,每个映射的像素值为14x14,这样的池化层非常重要,可以在一定程度上保证网络的特征被提取,同时运算量也大大降低,减少了网络结构过拟合的风险。因为卷积层与池化层是交替出现的,所以隐藏层的第三层又是一个卷积层,第二个卷积层由16个特征映射构成,每个特征映射用于加权和计算的卷积核为10x10的。第四个隐藏层,也就是第二个池化层同样包含16个特征映射,每个特征映射中所用的卷积核是5x5的。第五个隐藏层是用5x5的卷积核进行运算,包含了120个神经元,也是这个网络中卷积运算的最后一层。 之后的第六层便是全连接层,包含了84个特征图。全连接层中对输入进行点积之后加入偏置,然后经过一个激活函数传输给输出层的神经元。最后一层,也就是第七层,为了得到输出向量,设置了十个神经元来进行分类,相当于输出一个包含十个元素的一维数组,向量中的十个元素即0到9。 AlexNet模型 AlexNet简介 2012年Imagenet图像识别大赛中,Alext提出的alexnet网络模型一鸣惊人,引爆了神经网络的应用热潮,并且赢得了2012届图像识别大赛的冠军,这也使得卷积神经网络真正意义上成为图像处理上的核心算法。上文介绍的LeNet-5出现在上个世纪,虽然是经典,但是迫于种种复杂的现实场景限制,只能在一些领域应用。不过,随着SVM等手工设计的特征的飞速发展,LeNet-5并没有形成很大的应用状况。随着ReLU与dropout的提出,以及GPU带来算力突破和互联网时代大数据的爆发,卷积神经网络带来历史的突破,AlexNet的提出让深度学习走上人工智能的最前端。 图像预处理 AlexNet的训练数据采用ImageNet的子集中的ILSVRC2010数据集,包含了1000类,共百万的训练图像,50000张验证集,150000张测试集。在进行网络训练之前我们要对数据集图片进行预处理。首先我们要将不同分辨率的图片全部变成256x256规格的图像,变换方法是将图片的短边缩放到 256像素值,然后截取长边的中间位置的256个像素值,得到256x256大小的图像。除了对图片大小进行预处理,还需要对图片减均值,一般图像均是由RGB三原色构成,均值按RGB三分量分别求得,由此可以更加突出图片的特征,更方便后面的计算。 此外,对了保证训练的效果,我们仍需对训练数据进行更为严苛的处理。在256x256大小的图像中,截取227x227大小的图像,在此之后对图片取镜像,这样就使得原始数据增加了(256-224)x(256-224)x2= 2048倍。最后对RGB空间做PCA,然后对主成分做(0,)的高斯扰动,结果使错误率下降1%。对测试数据而言,抽取以图像4个角落的大小为224224的图像,中心的224224大小的图像以及它们的镜像翻转图像,这样便可以获得10张图像,我们便可以利用softmax进行预测,对所有预测取平均作为最终的分类结果。 ReLU激活函数 之前我们提到常用的非线性的激活函数是sigmoid,它能够把输入的连续实值全部确定在0和1之间。但是这带来一个问题,当一个负数的绝对值很大时,那么输出就是0;如果是绝对值非常大的正数,输出就是1。这就会出现饱和的现象,饱和现象中神经元的梯度会变得特别小,这样必然会使得网络的学习更加困难。此外,sigmoid的output的值并不是0为均值,因为这会导致上一层输出的非0均值信号会直接输入到后一层的神经元上。所以AlexNet模型提出了ReLU函数,公式:f(x)=max(0,x)f(x)=max(0,x)。 用ReLU代替了Sigmoid,发现使用 ReLU 得到的SGD的收敛速度会比 sigmoid快很多,这成了AlexNet模型的优势之一。 Dropout AlexNet模型提出了一个有效的模型组合方式,相比于单模型,只需要多花费一倍的时间,这种方式就做Dropout。在整个神经网络中,随机选取一半的神经元将它们的输出变成0。这种方式使得网络关闭了部分神经元,减少了过拟合现象。同时训练的迭代次数也得以增加。当时一个GTX580 GPU只有3GB内存,这使得大规模的运算成为不可能。但是,随着硬件水平的发展,当时的GPU已经可以实现并行计算了,并行计算之后两块GPU可以互相通信传输数据,这样的方式充分利用了GPU资源,所以模型设计利用两个GPU并行运算,大大提高了运算效率。 模型分析 AlexNet模型共有8层结构,其中前5层为卷积层,其中前两个卷积层和第五个卷积层有池化层,其他卷积层没有。后面3层为全连接层,神经元约有六十五万个,所需要训练的参数约六千万个。 图片预处理过后,进过第一个卷积层C1之后,原始的图像也就变成了55x55的像素大小,此时一共有96个通道。模型分为上下两块是为了方便GPU运算,48作为通道数目更加适合GPU的并行运算。上图的模型里把48层直接变成了一个面,这使得模型看上去更像一个立方体,大小为55x55x48。在后面的第二个卷积层C2中,卷积核的尺寸为5x5x48,由此再次进行卷积运算。在C1,C2卷积层的卷积运算之后,都会有一个池化层,使得提取特征之后的特征图像素值大大减小,方便了运算,也使得特征更加明显。而第三层的卷积层C3又是更加特殊了。第三层卷积层做了通道的合并,将之前两个通道的数据再次合并起来,这是一种串接操作。第三层后,由于串接,通道数变成256。全卷积的卷积核尺寸也就变成了13×13×25613×13×256。一个有4096个这样尺寸的卷积核分别对输入图像做4096次的全卷积操作,最后的结果就是一个列向量,一共有4096个数。这也就是最后的输出,但是AlexNet最终是要分1000个类,所以通过第八层,也就是全连接的第三层,由此得到1000个类输出。 Alexnet网络中各个层发挥了不同的作用,ReLU,多个CPU是为了提高训练速度,重叠pool池化是为了提高精度,且不容易产生过拟合,局部归一化响应是为了提高精度,而数据增益与dropout是为了减少过拟合。 VGG net 在ILSVRC-2014中,牛津大学的视觉几何组提出的VGGNet模型在定位任务第一名和分类任务第一名[[i]]。如今在计算机视觉领域,卷积神经网络的良好效果深得广大开发者的喜欢,并且上文提到的AlexNet模型拥有更好的效果,所以广大从业者学习者试图将其改进以获得更好地效果。而后来很多人经过验证认为,AlexNet模型中所谓的局部归一化响应浪费了计算资源,但是对性能却没有很大的提升。VGG的实质是AlexNet结构的增强版,它侧重强调卷积神经网络设计中的深度。将卷积层的深度提升到了19层,并且在当年的ImageNet大赛中的定位问题中获得了第一名的好成绩。整个网络向人们证明了我们是可以用很小的卷积核取得很好地效果,前提是我们要把网络的层数加深,这也论证了我们要想提高整个神经网络的模型效果,一个较为有效的方法便是将它的深度加深,虽然计算量会大大提高,但是整个复杂度也上升了,更能解决复杂的问题。虽然VGG网络已经诞生好几年了,但是很多其他网络上效果并不是很好地情况下,VGG有时候还能够发挥它的优势,让人有意想不到的收获。 与AlexNet网络非常类似,VGG共有五个卷积层,并且每个卷积层之后都有一个池化层。当时在ImageNet大赛中,作者分别尝试了六种网络结构。这六种结构大致相同,只是层数不同,少则11层,多达19层。网络结构的输入是大小为224*224的RGB图像,最终将分类结果输出。当然,在输入网络时,图片要进行预处理。 VGG网络相比AlexNet网络,在网络的深度以及宽度上做了一定的拓展,具体的卷积运算还是与AlexNet网络类似。我们主要说明一下VGG网络所做的改进。第一点,由于很多研究者发现归一化层的效果并不是很好,而且占用了大量的计算资源,所以在VGG网络中作者取消了归一化层;第二点,VGG网络用了更小的3x3的卷积核,而两个连续的3x3的卷积核相当于5x5的感受野,由此类推,三个3x3的连续的卷积核也就相当于7x7的感受野。这样的变化使得参数量更小,节省了计算资源,将资源留给后面的更深层次的网络。第三点是VGG网络中的池化层特征池化核改为了2x2,而在AlexNet网络中池化核为3x3。这三点改进无疑是使得整个参数运算量下降,这样我们在有限的计算平台上能够获得更多的资源留给更深层的网络。由于层数较多,卷积核比较小,这样使得整个网络的特征提取效果很好。其实由于VGG的层数较多,所以计算量还是相当大的,卷积层比较多成了它最显著的特点。另外,VGG网络的拓展性能比较突出,结构比较简洁,所以它的迁移性能比较好,迁移到其他数据集的时候泛化性能好。到现在为止,VGG网络还经常被用来提出特征。所以当现在很多较新的模型效果不好时,使用VGG可能会解决这些问题。 GoogleNet 谷歌于2014年Imagenet挑战赛(ILSVRC14)凭借GoogleNet再次斩获第一名。这个通过增加了神经网络的深度和宽度获得了更好地效果,在此过程中保证了计算资源的不变。这个网络论证了加大深度,宽度以及训练数据的增加是现有深度学习获得更好效果的主要方式。但是增加尺寸可能会带来过拟合的问题,因为深度与宽度的加深必然会带来过量的参数。此外,增加网络尺寸也带来了对计算资源侵占过多的缺点。为了保证计算资源充分利用的前提下去提高整个模型的性能,作者使用了Inception模型,这个模型在下图中有展示,可以看出这个有点像金字塔的模型在宽度上使用并联的不同大小的卷积核,增加了卷积核的输出宽度。因为使用了较大尺度的卷积核增加了参数。使用了1*1的卷积核就是为了使得参数的数量最少。 Inception模块 上图表格为网络分析图,第一行为卷积层,输入为224×224×3 ,卷积核为7x7,步长为2,padding为3,输出的维度为112×112×64,这里面的7x7卷积使用了 7×1 然后 1×7 的方式,这样便有(7+7)×64×3=2,688个参数。第二行为池化层,卷积核为3×33×3,滑动步长为2,padding为 1 ,输出维度:56×56×64,计算方式:1/2×(112+2×1?3+1)=56。第三行,第四行与第一行,第二行类似。第 5 行 Inception module中分为4条支线,输入均为上层产生的 28×28×192 结果:第 1 部分,1×1 卷积层,输出大小为28×28×64;第 2 部分,先1×1卷积层,输出大小为28×28×96,作为输入进行3×3卷积层,输出大小为28×28×128;第 3部分,先1×1卷积层,输出大小为28×28×32,作为输入进行3×3卷积层,输出大小为28×28×32;而第3 部分3×3的池化层,输出大小为输出大小为28×28×32。第5行的Inception module会对上面是个结果的输出结果并联,由此增加网络宽度。 ResNet 2015年ImageNet大赛中,MSRA何凯明团队的ResidualNetworks力压群雄,在ImageNet的诸多领域的比赛中上均获得了第一名的好成绩,而且这篇关于ResNet的论文Deep Residual Learning for Image Recognition也获得了CVPR2016的最佳论文,实至而名归。 上文介绍了的VGG以及GoogleNet都是增加了卷积神经网络的深度来获得更好效果,也让人们明白了网络的深度与广度决定了训练的效果。但是,与此同时,宽度与深度加深的同时,效果实际会慢慢变差。也就是说模型的层次加深,错误率提高了。模型的深度加深,以一定的错误率来换取学习能力的增强。但是深层的神经网络模型牺牲了大量的计算资源,学习能力提高的同时不应当产生比浅层神经网络更高的错误率。这个现象的产生主要是因为随着神经网络的层数增加,梯度消失的现象就越来越明显。所以为了解决这个问题,作者提出了一个深度残差网络的结构Residual: 上图就是残差网络的基本结构,可以看出其实是增加了一个恒等映射,将原本的变换函数H(x)转换成了F(x)+x。示意图中可以很明显看出来整个网络的变化,这样网络不再是简单的堆叠结构,这样的话便很好地解决了由于网络层数增加而带来的梯度原来越不明显的问题。所以这时候网络可以做得很深,到目前为止,网络的层数都可以上千层,而能够保证很好地效果。并且,这样的简单叠加并没有给网络增加额外的参数跟计算量,同时也提高了网络训练的效果与效率。 在比赛中,为了证明自己观点是正确的,作者控制变量地设计几个实验。首先作者构建了两个plain网络,这两个网络分别为18层跟34层,随后作者又设计了两个残差网络,层数也是分别为18层和34层。然后对这四个模型进行控制变量的实验观察数据量的变化。下图便是实验结果。实验中,在plain网络上观测到明显的退化现象。实验结果也表明,在残差网络上,34层的效果明显要好于18层的效果,足以证明残差网络随着层数增加性能也是增加的。不仅如此,残差网络的在更深层的结构上收敛性能也有明显的提升,整个实验大为成功。 除此之外,作者还做了关于shortcut方式的实验,如果残差网络模块的输入输出维度不一致,我们如果要使维度统一,必须要对维数较少的进行増维。而增维的最好效果是用0来填充。不过实验数据显示三者差距很小,所以线性投影并不是特别需要。使用0来填充维度同时也保证了模型的复杂度控制在比较低的情况下。 随着实验的深入,作者又提出了更深的残差模块。这种模型减少了各个层的参数量,将资源留给更深层数的模型,在保证复杂度很低的情况下,模型也没有出现梯度消失很明显的情况,因此目前模型最高可达1202层,错误率仍然控制得很低。但是层数如此之多也带来了过拟合的现象,不过诸多研究者仍在改进之中,毕竟此时的ResNet已经相对于其他模型在性能上遥遥领先了。 残差网络的精髓便是shortcut。从一个角度来看,也可以解读为多种路径组合的一个网络。如下图: ResNet可以做到很深,但是从上图中可以体会到,当网络很深,也就是层数很多时,数据传输的路径其实相对比较固定。我们似乎也可以将其理解为一个多人投票系统,大多数梯度都分布在论文中所谓的effective path上。 DenseNet 在Resnet模型之后,有人试图对ResNet模型进行改进,由此便诞生了ResNeXt模型。 这是对上面介绍的ResNet模型结合了GoogleNet中的inception模块思想,相比于Resnet来说更加有效。随后,诞生了DenseNet模型,它直接将所有的模块连接起来,整个模型更加简单粗暴。稠密相连成了它的主要特点。 我们将DenseNet与ResNet相比较: 从上图中可以看出,相比于ResNet,DenseNet参数量明显减少很多,效果也更加优越,只是DenseNet需要消耗更多的内存。 总结 上面介绍了卷积神经网络发展史上比较著名的一些模型,这些模型非常经典,也各有优势。在算力不断增强的现在,各种新的网络训练的效率以及效果也在逐渐提高。从收敛速度上看,VGG>Inception>DenseNet>ResNet,从泛化能力来看,Inception>DenseNet=ResNet>VGG,从运算量看来,Inception

卷积神经网络论文答辩

基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件基于C++的即时通信软件设计 毕业论文+项目源码

计算机毕业设计 基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码 基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据 基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件 基于C++的即时通信软件设计 毕业论文+项目源码 基于JavaWeb+MySQL的图书管理系统 课程报告+项目源码及数据库文件 基于Android Studio+Android SDK的手机通讯录管理软件设计 课程报告+项目源码 基于JSP+MySQL的校园网上订餐系统 毕业论文+项目源码及数据库文件 基于AndroidStudio的花艺分享平台APP设计 报告+源码及APK文件 基于Python的酒店评论情感分析 课程报告+答辩PPT+项目源码 基于QT的教务选课管理系统设计与实现 毕业论文+项目源码 基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码 基于的Web3D宇宙空间数据可视化系统 设计报告+前后端源码及数据 基于java+android+SQLite的保健型果饮在线销售APP设计 毕业论文+源码数据库及APK文件 基于的高校综合资源发布分享社交二手平台 毕业论文+项目源码及数据库文件+演示视频 基于Delphi+MySQL的大学生竞赛发布及组队系统 设计报告+源码数据库及可执行文件+使用说明书 基于Android的名片信息管理系统设计与实现 毕业论文+任务书+外文翻译及原文+演示视频+项目源码 基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码 基于JavaWeb的企业公司管理系统设计与实现 毕业论文+答辩PPT+演示视频+项目源码 高校成绩管理数据库系统的设计与实现 毕业论文+项目源码 基于JavaWeb的家庭食谱管理系统设计与实现 毕业论文+项目源码及数据库文件 基于Python+SQLSERVER的快递业务管理系统的设计与实现 毕业论文+项目源码及数据库文件 基于Python的语音词频提取云平台 设计报告+设计源码 在推荐系统中引入 Serendipity 的算法研究 毕业论文+参考文献+项目源码 基于Html+Python+Django+Sqlite的机票预订系统 毕业论文+项目源码及数据库文件 基于Python的卷积神经网络的猫狗图像识别系统 课程报告+项目源码 基于C++的云安全主动防御系统客户端服务端设计 毕业论文+项目源码 基于JavaSSM的学生成绩管理APP系统设计与实现 毕业论文+答辩PPT+前后台源码及APK文件 基于JavaSwing+MySQL的清朝古代名人数据管理系统设计 毕业论文+任务书+项目源码及数据库文件 基于Python_Django的社会实践活动管理系统设计与实现 毕业论文 基于Servlet WebSocket MySQL实现的网络在线考试系统 毕业论文+项目源码 基于JavaWEB+MySQL的学生成绩综合管理系统 毕业论文+项目源码及数据库文件 基于SpringBoot+Vue和MySQL+Redis的网络课程平台设计与实现 毕业论文+任务书+开题报告+中期报告+初稿+前后台项目源码 基于Java的毕业设计题目收集系统 课程报告+项目源码 基于Java+Python+html的生产者与消费者算法模拟 毕业论文+任务书+项目源码 基于JavaWeb+MySQL的学院党费缴费系统 毕业论文+项目源码及数据库文件 基于Java+MySQL的学生成绩管理系统 毕业论文+任务书+答辩PPT+项目源码及数据库文件 基于Java+MySQL的学生和客户信息管理系统 课程报告+项目源码及数据库文件 基于Java的长整数加减法算法设计 毕业论文+项目源码 基于vue+MySQL的毕业设计网上选题系统 毕业论文+项目源码 基于背景建模和FasterR-CNN的视频前景和目标检测 毕业论文+答辩PPT+项目源码 基于Python的智能视频分析之人数统计的多种实现 毕业论文+答辩PPT+项目源码 基于C#+SQL server的校园卡消费信息管理系统 毕业论文+项目源码及数据库文件

基于Cocos2D的微信小游戏的设计与实现 指尖律动微信小游戏的设计与实现 基于Spring MVC的在线书城系统设计与实现 基于卷积神经网络的图像修复系统设计与实现 二手交易网站的设计与实现 停车计费APP系统设计与实现 车型分类系统设计与实现 基于地图API的高铁运行地图的设计与实现 基于条形码的私家书房APP的设计与实现 基于L-Systems的3D分形模拟系统的设计与实现 基于android的私家衣橱APP的设计与实现 电子图书推荐系统 智能插座数据管理与分析 基于B/S结构的智能插座服务器开发 基于物联网技术的智能垃圾桶开发 基于光传感器的垃圾智能分类 基于对抗学习的人脸照片-画像转换方法 基于深度学习的字体风格转换方法 基于深度学习的肺癌检测方法研究 基于JSP的浙江省高校学习社区的设计与实现 基于SSH的汽车图像相册管理系统的设计与实现 基于大数据技术的职业岗位画像设计与实现 基于协同过滤的用户移动轨迹信息预测研究 基于H5的智力水滴益智游戏设计与实现 可视化展示数据处理中心的设计和实现 学生编程答疑平台的设计与实现 基于Android的失物即寻平台的设计和实现 广度优先文本挖掘爬虫系统开发 大学生竞赛信息发布及组队系统的设计和实现 基于web的社团活动信息集中发布平台的设计与实现 基于hyperledger的农产品溯源系统设计与实现 智适应算法星球系统的设计与实现 基于Android系统的数字水印相机设计与实现 基于Unity的趣味休闲手游开发 二维游戏引擎设计与实现 基于机器学习的验证码自动识别软件的设计与实现 车辆4S店管理系统的设计与实现 JadePool幼儿园管理系统的设计与实现 气象卫星云图接受软件系统的设计与实现

你的论文准备往什么方向写,选题老师审核通过了没,有没有列个大纲让老师看一下写作方向? 老师有没有和你说论文往哪个方向写比较好?写论文之前,一定要写个大纲,这样老师,好确定了框架,避免以后论文修改过程中出现大改的情况!!学校的格式要求、写作规范要注意,否则很可能发回来重新改,你要还有什么不明白或不懂可以问我,希望你能够顺利毕业,迈向新的人生。 (一)选题毕业论文(设计)题目应符合本专业的培养目标和教学要求,具有综合性和创新性。本科生要根据自己的实际情况和专业特长,选择适当的论文题目,但所写论文要与本专业所学课程有关。(二)查阅资料、列出论文提纲题目选定后,要在指导教师指导下开展调研和进行实验,搜集、查阅有关资料,进行加工、提炼,然后列出详细的写作提纲。(三)完成初稿根据所列提纲,按指导教师的意见认真完成初稿。(四)定稿初稿须经指导教师审阅,并按其意见和要求进行修改,然后定稿。一般毕业论文题目的选择最好不要太泛,越具体越好,而且老师希望学生能结合自己学过的知识对问题进行分析和解决。不知道你是否确定了选题,确定选题了接下来你需要根据选题去查阅前辈们的相关论文,看看人家是怎么规划论文整体框架的;其次就是需要自己动手收集资料了,进而整理和分析资料得出自己的论文框架;最后就是按照框架去组织论文了。你如果需要什么参考资料和范文我可以提供给你。还有什么不了解的可以直接问我,希望可以帮到你,祝写作过程顺利毕业论文选题的方法: 一、尽快确定毕业论文的选题方向 在毕业论文工作布置后,每个人都应遵循选题的基本原则,在较短的时间内把选题的方向确定下来。从毕业论文题目的性质来看,基本上可以分为两大类:一类是社会主义现代化建设实践中提出的理论和实际问题;另一类是专业学科本身发展中存在的基本范畴和基本理论问题。大学生应根据自己的志趣和爱好,尽快从上述两大类中确定一个方向。二、在初步调查研究的基础上选定毕业论文的具体题目在选题的方向确定以后,还要经过一定的调查和研究,来进一步确定选题的范围,以至最后选定具体题目。下面介绍两种常见的选题方法。 浏览捕捉法 :这种方法就是通过对占有的文献资料快速地、大量地阅读,在比较中来确定论文题目地方法。浏览,一般是在资料占有达到一定数量时集中一段时间进行,这样便于对资料作集中的比较和鉴别。浏览的目的是在咀嚼消化已有资料的过程中,提出问题,寻找自己的研究课题。这就需要对收集到的材料作一全面的阅读研究,主要的、次要的、不同角度的、不同观点的都应了解,不能看了一些资料,有了一点看法,就到此为止,急于动笔。也不能“先入为主”,以自己头脑中原有的观点或看了第一篇资料后得到的看法去决定取舍。而应冷静地、客观地对所有资料作认真的分析思考。在浩如烟海,内容丰富的资料中吸取营养,反复思考琢磨许多时候之后,必然会有所发现,这是搞科学研究的人时常会碰到的情形。 浏览捕捉法一般可按以下步骤进行: 第一步,广泛地浏览资料。在浏览中要注意勤作笔录,随时记下资料的纲目,记下资料中对自己影响最深刻的观点、论据、论证方法等,记下脑海中涌现的点滴体会。当然,手抄笔录并不等于有言必录,有文必录,而是要做细心的选择,有目的、有重点地摘录,当详则详,当略则略,一些相同的或类似的观点和材料则不必重复摘录,只需记下资料来源及页码就行,以避免浪费时间和精力。 第二步,是将阅读所得到的方方面面的内容,进行分类、排列、组合,从中寻找问题、发现问题,材料可按纲目分类,如分成: 系统介绍有关问题研究发展概况的资料; 对某一个问题研究情况的资料; 对同一问题几种不同观点的资料; 对某一问题研究最新的资料和成果等等。 第三步,将自己在研究中的体会与资料分别加以比较,找出哪些体会在资料中没有或部分没有;哪些体会虽然资料已有,但自己对此有不同看法;哪些体会和资料是基本一致的;哪些体会是在资料基础上的深化和发挥等等。经过几番深思熟虑的思考过程,就容易萌生自己的想法。把这种想法及时捕捉住,再作进一步的思考,选题的目标也就会渐渐明确起来。

研究卷积神经网络黑箱论文

感受野(receptive field或者field of view)是卷积神经网络中的一个基本概念。与全连接层中每个输出值都与全部输入特征值有关不同的是,卷积层的一个输出值只与一部分的输入特征值有关。输入特征值中与输出特征值有关的部分就是它的感受野。 对于处于中心位置的特征值,对于输出的影响会更大,根据实验结果在一个接受野的影响分布是高斯分布。由此也引入了一个 有效感受野 的概念,因为高斯分布在中心位置强度更高,然后逐渐向周围递减。

我们想用数学的方法来描述一个接收野中的每个输入像素对网络上一个单元层的输出的影响程度,并研究这种影响是如何在输出单元的接收野内分布的。为了简化符号,我们只考虑每层上的一个信道,但是对于具有更多输入和输出的卷积层,可以很容易地得到类似的结果通道。 假设每层上的像素用(i,j)索引,其中心位于(0,0)。表示第层的第(i,j)个像素为 ,其中 作为网络的输入, 作为第n层的输出。我们要测量每个 对 贡献了多少。我们将这个中央输出单元的有效感受野(ERF)定义为包含任何输入像素且对其影响不可忽略的区域单位。 本文采用偏导数 ,j来度量 随 有多大的变化;因此,它是 相对于 重要性的自然度量。然而,这种度量不仅取决于网络的权值,而且在大多数情况下也依赖于输入,因此我们的大多数结果都是期望值大于输入分布。 偏导数 可以用反向传播法计算。在标准设置中,反向传播传播相对于某个损耗函数的误差梯度。假设我们有一个任意的损失函数l,根据链式规则,我们有 我们可以设置误差梯度 和 ,然后将这个梯度从那里传播回网络。得到的 ,相当于期望的\partial{y_{0,0}}}{\partial {x^0_{i,j}}。这里我们使用无显式损失函数的反向传播过程,并且该过程可以用标准神经网络轻松实现工具。 在下面我们首先考虑线性网络,其中这个导数不依赖于输入,而纯粹是网络权重和(i,j),它清楚地显示了感受野中像素的影响是如何分布的。然后我们继续考虑更现代的架构设计,并讨论非线性激活、dropout、子采样、空洞卷积和跳跃连接对ERF的影响。 最简单的情况:权值都等于1的卷积层 考虑使用k×k卷积核的步长为1的卷积层的情况,每层一个单通道,无非线性,叠加成一个深线性CNN。在这个分析中,我们忽略了所有层上的偏差。我们首先分析权值都等于1的卷积核。(推理过程公式好多,看原文吧……)

在本节中,我们将实证研究各种深层CNN架构的ERF。我们首先使用人工构造的CNN模型来验证我们分析中的理论结果。然后,我们提出了在实际数据集上训练深层cnn时ERF如何变化的观察结果。对于所有ERF研究,我们在输出平面的中心放置一个梯度信号1,在其他任何地方放置0,然后通过网络反向传播该梯度,得到输入的梯度。 验证理论结果 我们首先在人工构建的CNN中验证我们的理论结果。为了计算ERF我们使用随机输入,对于所有随机权重网络,我们进行适当的随机初始化。在本节中,我们验证以下内容结果:

ERF是高斯分布的 。如图所示在图1中,我们可以观察到均匀加权卷积核和随机加权,没有非线性激活卷积核的完美高斯形状,以及随机加权非线性激活的卷积核的近似高斯形状。加上ReLU非线性使得分布的高斯性变小,因为ERF的分布也取决于输入。另一个原因是ReLU单元的一半输入输出正好为零,而且很容易为输出平面上的中心像素设置零输出,这意味着感受野的路径无法到达输出,因此梯度都为零。在这里,ERF在不同的传输种子下平均运行20次。下图显示了具有20层随机权值、具有不同非线性的网络的ERF。在这里,结果是不同的随机权重以及不同的随机输入平均运行的100次的结果。在这种情况下,感受野更像高斯分布。

绝对增长和 相对收缩 。图2中,我们给出了ERF尺寸的改变和ERF相对于理论RF的比例随卷积层数的变化。ERF大小的最佳拟合线在对数域的斜率为,而ERF比值的拟合线斜率为。这表明ERF大小对于 呈线性增长,ERF比率对于 呈线性缩小。注意这里我们使用2个标准偏差作为ERF大小的测量值,即任何大于中心点1−的像素都被视为ERF。ERF大小由ERF中像素数目的平方根表示,而理论RF大小是平方的边长,在该边长中,所有像素对输出像素的影响都是非零的,无论多么小。所有实验是在超过20次的结果上平均得到的。

在训练过程中ERF是如何演变的 在这一部分中,我们将研究分类CNN和语义分割CNN最顶层的单元ERF在训练过程中是如何演变的。对于这两个任务,我们采用了 ResNet架构,它广泛地使用了skip-connection。分析表明,该网络的ERF应明显小于理论感受野。这是我们最初观察到的。有趣的是,随着网络的学习,ERF变得更大,并且在训练结束时,ERF明显大于初始ERF。 对于分类任务,我们在CIFAR-10数据集上训练了一个包含17个残差块的ResNet。在训练结束时,该网络的测试准确率达到89%。请注意,在这个实验中,我们没有使用池或降采样,而是专门关注具有跳过连接的体系结构。网络的精确度虽然不是最先进的,但仍然相当高。在图3中,我们显示了在训练开始时(随机初始化权重)和训练结束时,当达到最佳验证精度时,32×32图像空间上的有效感受野。请注意,我们网络的理论接收场实际上是74×74,大于图像大小,但是ERF仍然可以完全填充图像。比较训练前后的结果,我们发现有效感受野有所增加很明显。 对于语义分割任务利用CamVid数据集进行城市场景分割。我们训练了一个“前端”模型,它是一个纯粹的卷积网络,它预测输出的分辨率略低。该网络与VGG网络在许多以前的著作中所起的作用相同。我们训练了一个ResNet,16个残差块交错,每个子采样操作的因子为2。由于这些子采样操作,输出是输入大小的1/16。对于这个模型,顶层卷积层单元的理论感受野为505×505。然而,如图3所示,在训练开始时,ERF只得到直径为100的部分。我们再次观察到,在训练过程中,ERF的尺寸增大,最后达到直径约为150的直径。

上述分析表明ERF只占理论接收野的一小部分,这对于需要较大接收能力的任务是不可取的领域。 新的初始化。 一增加有效感受野的简单方法是控制初始权重。我们提出了一种新的随机权值初始化方案,使得卷积核中心的权值具有较小的尺度,而外部的权值较大,这使得中心的集中度向外围扩散。实际上,我们可以用任何初始化方法对网络进行初始化,然后根据中心低标度、外标度高的分布来调整权重。 在极端情况下,我们可以优化w(m)以使ERF大小最大化,或者等价地使等式(前面推公式部分里的公式)中的方差最大化。解决这个优化问题的结果是在卷积核的4个角上平均地设置权重,而其他地方都是0。但是,使用此解决方案进行随机权重初始化过于激进,并且将大量权重保留为0会使学习变慢。这种想法的温和版本通常是有效的更好。 我们用这种初始化方法训练了一个用于CIFAR-10分类任务的CNN,使用了几种随机种子。在一些情况下,与更标准的初始化相比,我们的训练速度提高了30%。但总的来说,这种方法的好处并不总是如此很重要。 我们请注意,无论我们如何改变w(m),有效感受野仍然是高斯分布的,因此上述建议只解决了问题部分。 改变构架。 一个潜在的更好的方法是对cnn进行架构上的更改,这可能会改变在更基本的方面。例如,我们不用将CNN中的每个单元连接到本地矩形卷积窗口,而是可以使用相同的连接数将每个单元稀疏地连接到下层的一个较大区域。空洞卷积属于这一类,但我们可以进一步推进,并使用不类似网格的稀疏连接。

与生物神经的联系网络。 在我们的分析表明,深部CNN中的有效接收场实际上比我们以前想象的要慢得多。这表明即使经过许多卷积层,仍然保留了许多局部信息。这一发现与深层生物网络中一些长期持有的相关概念相矛盾。哺乳动物视觉系统的一个普遍特征是分为“什么”和“哪里”路径。沿着what或where路径进行,连通性的性质逐渐改变:感受野大小增加,空间组织变得松散,直到没有明显的视网膜色素组织;视网膜脱离意味着单个神经元对视野中的面部等物体做出反应。然而,如果ERF比RF小,这表明表示可以保留位置信息,同时也提出了一个有趣的问题,即这些区域在发育过程中的大小变化。 我们的分析的第二个相关影响是,它表明卷积网络可能会自动地产生一种中心凹表现形式。人类视网膜中央凹只在中心像素附近提取高分辨率信息。等分辨率的子场的排列使得它们的大小随着距中心的距离而增大固定。在视网膜的外围,低分辨率的信息是从图像的较大区域提取的。一些神经网络已经明确地构造了这种形式的表示。然而,由于卷积网络形成高斯感受野,其底层表示自然会有这种感受野特性。 与之前研究的联系。 虽然CNN中的感受野尚未得到深入研究,一些人在计算方差如何通过网络演化方面进行了类似的分析。他们开发了一个很好的卷积层初始化方案,遵循的原则是方差在经过网络。 研究人员为了理解神经网络是如何工作的,我们还利用了可视化技术。[14] 展示了使用自然图像先验的重要性,以及卷积层的激活将代表什么。[22]使用反褶积网络来显示图像中像素点与被激活神经元之间的关系。[23]对感受野进行了实证研究,并将其作为定位的提示。也有可视化研究使用梯度上升技术[4]产生有趣的图像,如[15]。这些都集中在单位激活或特征图上,而不是我们在这里研究的有效感受野。

本文对CNN的感受野进行了细致的研究,并对有效感受野大小进行了初步探讨。特别地,我们已经证明了在感受野内的影响分布是渐近高斯的,有效感受野只占整个理论感受野的一小部分。实证结果与我们建立的理论相呼应。我们认为这只是有效感受野研究的一个开始,它为深入了解CNN提供了一个新的视角。在未来的研究中,我们希望更多地研究在实践中影响有效感受野的因素以及如何更好地控制这些因素。

白行健(右)此前获COO金牌第一名

高中生开始研究图神经网络

白行健的论文为《基于自适应性图卷积神经网络的暴力用户检测》,目前已经成功入围总决赛。

文章提出了⼀种新的⾃适应图卷积神经⽹络模型(Adaptive Graph Convolutional Neural Networks,简称AdaGCN),在传统的GCN模型的基础上进⾏了改进和创新。为了解决参数增加带来的模型难以训练和过拟合情况,文章引入了标签平滑假设,对边权的训练施加了额外的监督,从⽽实现了和GCN模型的⾃然结合。

白行健的数据集包含了10万余名Twitter⽤户和200余万条社交关系,其中⼤约5千名⽤户被标记是否为暴⼒⽤户。实验结果表明,AdaGCN的AUC得分为,F1得分为,得分⾼于所有对⽐⽅法,包括传统的GCN模型, 图注意⼒⽹络 (GAT),标签传播算法(LPA),⽀持向量机(SVM)等等。此外, AdaGCN模型的结果具有最低的标准差,这表明AdaGCN模型具有很强的稳定性。 在线社交平台可以利⽤本⽂提出的⽅法来更好地评估、检测暴⼒⽤户,防⽌暴⼒⽤户伤害他⼈ 并传播仇恨⾔论。 同时,⾃适应图卷积神经⽹络模型也可以⽤来评估不同类型的暴⼒⾔论造成的社会影响。

开挂的学霸少年

此次入围丘成桐奖之前,白行健从2018年开始多次参加相关竞赛获得好成绩:

白行健(右)

在生活方面,白行健也有很多其他尝试,他目前就读北京师范⼤学附属实验中学国际部⾼三,对数学和计算机科学非常感兴趣,担任学校计算机社社长和⼈⽂社社长。

图 | 微博

而今年的丘成桐中学科学奖中,白行健选择用图神经网络为切入点,对网络暴力用户进行检测。很大一部分原因也是身边有好友经历过网络暴力:

“2018年2⽉10⽇,⼀个名叫Ted Senior的22岁男孩在林地上吊⾃杀,原因是⼀些⼈在社交媒体上恶意地分享和评判他与⼀名⼥孩的聊天内容。在我身 边,我的同学好友在学校论坛发表观点,但是遭受匿名的辱骂和攻击,这种羞辱让他感到⾮常痛苦。我深深地被这些可恨的⾏为和可怕的后果所触动。计算机科学带来了信息时代,社交⽹络改变了我们的⽣活,我们期望技术会让世界更美好。但没有什么是尽善尽美的。⽹络暴⼒是信息技术⽆意中带来的⼀个问题,我渴望找到⼀种⽅法来发现和控制它们。”

而目前对于网络暴力, 目前已经有不少基于深度学习的网络欺凌模型。比如Instagram去年推出 「增强版的评论过滤器」 ,通过对照片、文字的检测分析,对其中的恶意行为采取过滤等措施。、

Facebook和Twitter也推出了类似的举措来限制其平台上的欺凌行为。Twitter在去年十月制定了一个时间表,以便从其平台中删除裸露和仇恨图像等内容。去年Facebook添加了一些工具,允许用户一次隐藏或删除多条评论,并允许用户代表朋友或家人报告欺凌或骚扰。

科技的发展真实的改变着我们的生活,我们享受其便利、承受其弊端。而像白行健这样的年轻人将越来越早的进入改变世界的行列,用技术影响着我们。

看来未来不仅仅是「同辈压力」了,「后辈压力」也追着我们跑来了。毕竟当你还在拼命打排位的时候,高中生已经论文已经发起来了......

有关卷积神经网络的研究论文

论文地址:《 Very Deep Convolutional Networks for Large-Scale Image Recognition 》 思维导图: LSVRC:大规模图像识别挑战赛 ImageNet Large Scale Visual Recognition Challenge 是李飞飞等人于2010年创办的图像识别挑战赛,自2010起连续举办8年,极大地推动计算机视觉发展。比赛项目涵盖:图像分类(Classification)、目标定位(Object localization)、目标检测(Object detection)、视频目标检测(Object detection from video)、场景分类(Scene classification)、场景解析(Scene parsing)。 VGG Net由牛津大学的视觉几何组( V isual G eometry G roup)参加2014年ILSVRC提出的网络模型,它主要的贡献是展示了卷积神经网络的深度(depth)是算法优良性能的关键部分。 研究了“卷积网络的深度”在大规模的图像识别环境下对准确性的影响(即神经网络的深度与其性能之间的关系)。 使用一个非常小的卷积核 对网络深度进行评估,评估发现将网络深度加至16层-19层,性能有了显著提升。 在ImageNet Challenge 2014竞赛中,定位赛道获得第一名,分类赛道获得第二名。 论文提出了多种规模的网络架构(不同规模深度不尽相同),下图为其中性能表现良好的网络架构之一:VGG16结构图。 所有卷积操作之后跟有3个全连接层(FC层): 所有的ConvNet配置如图所示,VGG结构全部都采用较小的卷积核(3x3,部分1x1): 两个3×3的卷积层串联相当于1个5×5的卷积层(二者具有等效感受野5x5),3个串联的3×3卷积层串联的效果相当于一个7×7的卷积层; 下图展示了为什么“两个3x3卷积层”与“单个5x5卷积层”具有等效的5x5的感受野。 2个3x3卷积层拥有比1个5x5卷积层更多的非线性变换(前者可以使用两次ReLU激活函数,而后者只有一次),使得卷积神经网络对特征的学习能力更强。 不影响输入输出的维度情况下(即图片宽高尺寸不变),降低了大量运算,同时改变了维度(通道数); 卷积之后再紧跟ReLU进行非线性处理,提高决策函数的非线性。 详见: 数据增强,有利于预防过拟合。 测试阶段与训练阶段主要有两点不同: VGGNet网络特点:

Abstract

我们训练了一个大型的深度卷积神经网络,将ImageNet lsvprc -2010竞赛中的120万幅高分辨率图像分类为1000个不同的类。在测试数据上,我们实现了top-1和top-5的错误率,分别为和,这与前的最高水平相比有了很大的提高。该神经网络有6000万个参数和65万个神经元,由5个卷积层(其中一些后面接了最大池化层)和3个全连接层(最后的1000路softmax)组成。为了使训练更快,我们使用了非饱和神经元和一个非常高效的GPU实现卷积运算。为了减少全连通层的过拟合,我们采用了一种最近发展起来的正则化方法——dropout,结果显示它非常有效。我们还在ILSVRC-2012比赛中输入了该模型的一个变体,并获得了的top-5测试错误率,而第二名获得了的错误率.

1 Introduction

当前的物体识别方法主要利用机器学习方法。为了提高它们的性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过度拟合。直到最近,标记图像的数据集在成千上万的图像(例如,NORB [16], Caltech-101/256 [8,9], CIFAR-10/100[12])中相对较小。使用这种大小的数据集可以很好地解决简单的识别任务,特别是如果使用保存标签的转换来扩展它们。例如,MNIST数字识别任务的当前最佳错误率(<)接近人类性能[4]。但是现实环境中的物体表现出相当大的可变性,所以为了学会识别它们,有必要使用更大的训练集。的确,小图像数据集的缺点已经被广泛认识(例如,Pinto等人的[21]),但直到最近才有可能收集数百万张图像的标记数据集。新的更大的数据集包括LabelMe[23],它由成千上万的全分段图像组成,和ImageNet[6],它由超过22000个类别的超过1500万标记的高分辨率图像组成。

要从数百万张图像中了解数千个物体,我们需要一个具有巨大学习能力的模型。 然而,对象识别任务的巨大复杂性意味着即使像ImageNet这样大的数据集也无法指定这个问题,因此我们的模型也应该具有大量的先验知识来补偿我们没有的所有数据。卷积神经网络(Convolutional neural networks, CNNs)就是这样一类模型[16,11,13,18,15,22,26]。它们的能力可以通过改变深度和宽度来控制,而且它们还对图像的性质(即统计的平稳性和像素依赖的局部性)做出了强有力且最正确的假设。 因此,与具有相似大小层的标准前馈神经网络相比,CNNs具有更少的连接和参数,因此更容易训练,而其理论上最好的性能可能只会稍微差一些。

尽管CNNs的质量很吸引人,尽管它们的本地架构相对高效,但在高分辨率图像上大规模应用仍然非常昂贵。幸运的是,当前的gpu与高度优化的2D卷积实现相结合,已经足够强大,可以方便地训练有趣的大型CNNs,而最近的数据集(如ImageNet)包含了足够多的标记示例,可以在不严重过拟合的情况下训练此类模型。

本文的具体贡献如下:

最后,网络的大小主要受到当前gpu上可用内存的大小和我们愿意忍受的训练时间的大小的限制。我们的网络需要5到6天的时间来训练两个GTX 580 3GB GPU。我们所有的实验都表明,只要等待更快的gpu和更大的数据集可用,我们的结果就可以得到改善。

2 The Dataset

ImageNet是一个包含超过1500万张高分辨率图像的数据集,属于大约22000个类别。这些图片是从网上收集来的,并由人工贴标签者使用亚马逊的土耳其机械众包工具进行标记。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年都会举办一场名为ImageNet大型视觉识别挑战赛(ILSVRC)的比赛。ILSVRC使用ImageNet的一个子集,每个类别大约有1000张图片。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

ILSVRC-2010 是唯一可用测试集标签的 ILSVRC 版本,因此这是我们进行大多数实验的版本。由于我们也在 ILSVRC-2012 竞赛中加入了我们的模型,在第6节中,我们也报告了我们在这个版本的数据集上的结果,对于这个版本的数据集,测试集标签是不可用的。在 ImageNet 上,通常报告两个错误率:top-1 和 top-5,其中 top-5 错误率是测试图像的一部分,其中正确的标签不在模型认为最可能的五个标签中。

ImageNet由可变分辨率的图像组成,而我们的系统需要一个恒定的输入维数。 因此,我们将图像降采样到256 * 256的固定分辨率。给定一个矩形图像,我们首先重新调整图像的大小,使其短边长度为256,然后从结果图像中裁剪出中心的256%256块。除了从每个像素中减去训练集上的平均活动外,我们没有以任何其他方式对图像进行预处理。因此,我们将网络训练成像素的原始RGB值(居中)。

3 The Architecture

ReLU Nonlinearity

Training on Multiple GPUs

Local Response Normalization

Overlapping Pooling

Pooling layers in CNNs summarize the outputs of neighboring groups of neurons in the same kernel map. Traditionally, the neighborhoods summarized by adjacent pooling units do not overlap (.,[17, 11, 4]). To be more precise, a pooling layer can be thought of as consisting of a grid of pooling units spaced s pixels apart, each summarizing a neighborhood of size z z centered at the location of the pooling unit. If we set s = z, we obtain traditional local pooling as commonly employed in CNNs. If we set s < z, we obtain overlapping pooling. This is what we use throughout our network, with s = 2 and z = 3. This scheme reduces the top-1 and top-5 error rates by and , respectively, as compared with the non-overlapping scheme s = 2; z = 2, which produces output of equivalent dimensions. We generally observe during training that models with overlapping pooling find it slightly more difficult to overfit.

Overall Architecture

Now we are ready to describe the overall architecture of our CNN. As depicted in Figure 2, the net contains eight layers with weights; the first five are convolutional and the remaining three are fully-connected. The output of the last fully-connected layer is fed to a 1000-way softmax which produces a distribution over the 1000 class labels. Our network maximizes the multinomial logistic regression objective, which is equivalent to maximizing the average across training cases of the log-probability of the correct label under the prediction distribution.

4 Reducing Overfitting

Data Augmentation

Dropout

结合许多不同模型的预测是减少测试错误的一种非常成功的方法[1,3],但是对于已经需要几天训练的大型神经网络来说,这似乎太昂贵了。然而,有一个非常有效的模型组合版本,它在训练期间只花费大约2倍的成本。最近介绍的技术称为dropout[10],它将每个隐藏神经元的输出设置为0,概率为。以这种方式丢弃的神经元不参与正向传递,也不参与反向传播。所以每次输入时,神经网络都会对不同的结构进行采样,但是所有这些结构都共享权重。这种技术减少了神经元之间复杂的相互适应,因为神经元不能依赖于特定的其他神经元的存在。因此,它被迫学习与其他神经元的许多不同随机子集结合使用的更健壮的特征。在测试时,我们使用所有的神经元,但将它们的输出乘以,这是一个合理的近似值,近似于取由指数型多退出网络产生的预测分布的几何平均值。

我们在图2的前两个完全连接的层中使用了dropout。没有dropout,我们的网络显示出大量的过拟合。Dropout使收敛所需的迭代次数增加了一倍。

5 Details of learning

7 Discussion

卷积神经网络参考文献论文专用

论文中转 : ImageNet Classification with Deep Convolutional Neural Networks

自Le Net-5在1998年提出以后,时隔14年,AlexNet横空问世,在2012年ImageNet竞赛中以冠军的成绩笑傲群雄,也就是从那时起,更多更优秀的网络被相继提出。论文第一作者是来自多伦多大学的Alex Krizhevsky,因此网络称为Alex Net。

在论文中,作者训练了一个大而深(相比于之前)的卷积网络用于ImageNet比赛,将120万高分辨图像分为1000个类别。在测试集上,分别达到了的top-1错误率和的top-5错误率,超越了先前最好的网络。网络共有600万参数,65万个神经元,5个卷积层加3个全连接层,输出为1000类别。为了防止过拟合,作者采用了数据扩充和dropout正则法,实验结果表明此方法非常有效;为了加快训练速度,作者采用了两块并行的GPU同时对特征图进行运算。

由于采用了双GPU模式,所以结构图呈现的是上图的样子,下面引用一张博客作者 chenyuping666 文章的图片,可以详细的了解网络内部结构与实现细节。

从上图可以看到,输入为227×227×3的图像

在conv1中 ,卷积核大小为11×11,步长为4,通道数为96(每台GPU运算48个,下同),经过激活函数Relu激活后,采用最大池化(size=3×3,stride=2),标准化,输出为27×27×96。

在conv2中 ,卷积核大小为5×5,步长为1,通道数256,先对输入特征图扩展像素为31×31(pad=2),然后卷积,激活,池化(size=3×3,stride=2),标准化,输出特征图为13×13×256。

在conv3,conv4中 ,卷积核大小都为3×3,步长为1,pad=1,通道数为384,经过激活后输出特征图为13×13×384。

在conv5中 ,卷积核大小都为3×3,步长为1,通道数为256,经过激活,池化后输出特征图为6×6×256。

在fcn6,fcn7中 ,共有4096个神经元,采用了dropout技术防止过拟合。

在fcn8 ,也就是最后一层,采用softmax输出1000个类别。

相比于之前的网络,AlexNet为何能取得比较好的结果呢,从作者的论文中可以发现以下几点:

非线性激活函数Relu 在之前一般使用tanh(x)或sigmoid作为激活函数,但这些饱和的线性函数在梯度的计算上非常缓慢,并且容易产生梯度消失问题。Relu的出现使这些问题得到了有效的解决。在基于cifar-10数据集的标准四层网络测试中,采用tanh和Relu作为激活函数使error rate达到所用的时间,Relu比tanh快大约6倍。

多个GPU 作者认为计算资源的大小限制了网络的大小,要想训练大的网络结构,必须拥有足够的计算资源。120万的数据集太大以至于单个GPU不足以匹配,因此作者将网络的计算任务分配到两个GPU上执行。目前GPU特别适合做并行化,因为一个GPU可以直接从另一个GPU读和写内容,而不需要经过主机内存。

局部响应归一化(LRN) 作者在文章中提出了Local Response Normalization的方法,分别将top-1和top-5错误率降低了和。作者在文中提到,如果训练样本产生一个正输入到Relu,网络只会在那个特定神经元上学习,但是引入局部响应正则化后,提高了网络的泛化能力。这种响应归一化会产生一种由某一神经元所激发的横向抑制,为由使用不同卷积核计算的神经元输出之中的“big activities”创造竞争。

重叠池化 一般的池化操作因为没有重叠,所以pool_size 和 stride是相等的。例如6×6的图像在size=2×2的池化后,输出为3×3,但是本文使用的size

这两天在公司做PM实习,主要是自学一些CV的知识,以了解产品在解决一些在图像识别、图像搜索方面的问题,学习的主要方式是在知网检索了篇国内近3年计算机视觉和物体识别的硕博士论文。由于时间关系,后面还会继续更新图片相似度计算(以图搜图)等方面的学习成果    将这两天的学习成果在这里总结一下。你将会看到计算机视觉在解决特定物体识别问题(主要是卷积神经网络CNNs)的基础过程和原理,但这里不会深入到技术的实现层面。

计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。                                          ————维基百科   通常而言,计算机视觉的研究包括三个层次: (1)底层特征的研究:   这一层次的研究主要聚焦如何高效提取出图像对象具有判别性能的特征,具体的研究内容通常包括:物体识别、字符识别等 (2)中层语义特征的研究:    该层次的研究在于在识别出对象的基础上,对其位置、边缘等信息能够准确区分。现在比较热门的:图像分割;语义分割;场景标注等,都属于该领域的范畴 (3)高层语义理解:   这一层次建立在前两层的基础上,其核心在于“理解”一词。 目标在于对复杂图像中的各个对象完成语义级别的理解。这一层次的研究常常应用于:场景识别、图像摘要生成及图像语义回答等。   而我研究的问题主要隶属于底层特征和中层语义特征研究中的物体识别和场景标注问题。

人类的视觉工作模式是这样的:    首先,我们大脑中的神经元接收到大量的信息微粒,但我们的大脑还并不能处理它们。    于是接着神经元与神经元之间交互将大量的微粒信息整合成一条又一条的线。    接着,无数条线又整合成一个个轮廓。    最后多个轮廓累加终于聚合我们现在眼前看到的样子。   计算机科学受到神经科学的启发,也采用了类似的工作方式。具体而言,图像识别问题一般都遵循下面几个流程

(1)获取底层信息。获取充分且清洁的高质量数据往往是图像识别工作能否成功的关键所在   (2)数据预处理工作,在图像识别领域主要包括四个方面的技术:去噪处理(提升信噪比)、图像增强和图像修复(主要针对不够清晰或有破损缺失的图像);归一化处理(一方面是为了减少开销、提高算法的性能,另一方面则是为了能成功使用深度学习等算法,这类算法必须使用归一化数据)。   (3)特征提取,这一点是该领域的核心,也是本文的核心。图像识别的基础是能够提取出足够高质量,能体现图像独特性和区分度的特征。   过去在10年代之前我们主要还是更多的使用传统的人工特征提取方法,如PCA\LCA等来提取一些人工设计的特征,主要的方法有(HOG、LBP以及十分著名的SIFT算法)。但是这些方法普遍存在(a)一般基于图像的一些提层特征信息(如色彩、纹理等)难以表达复杂的图像高层语义,故泛化能力普遍比较弱。(b)这些方法一般都针对特定领域的特定应用设计,泛化能力和迁移的能力大多比较弱。   另外一种思路是使用BP方法,但是毕竟BP方法是一个全连接的神经网络。这以为这我们非常容易发生过拟合问题(每个元素都要负责底层的所有参数),另外也不能根据样本对训练过程进行优化,实在是费时又费力。   因此,一些研究者开始尝试把诸如神经网络、深度学习等方法运用到特征提取的过程中,以十几年前深度学习方法在业界最重要的比赛ImageNet中第一次战胜了SIFT算法为分界线,由于其使用权重共享和特征降采样,充分利用了数据的特征。几乎每次比赛的冠军和主流都被深度学习算法及其各自改进型所占领。其中,目前使用较多又最为主流的是CNN算法,在第四部分主要也研究CNN方法的机理。

上图是一个简易的神经网络,只有一层隐含层,而且是全连接的(如图,上一层的每个节点都要对下一层的每个节点负责。)具体神经元与神经元的作用过程可见下图。

在诸多传统的神经网络中,BP算法可能是性能最好、应用最广泛的算法之一了。其核心思想是:导入训练样本、计算期望值和实际值之间的差值,不断地调整权重,使得误差减少的规定值的范围内。其具体过程如下图:

一般来说,机器学习又分成浅层学习和深度学习。传统的机器学习算法,如SVM、贝叶斯、神经网络等都属于浅层模型,其特点是只有一个隐含层。逻辑简单易懂、但是其存在理论上缺乏深度、训练时间较长、参数很大程度上依赖经验和运气等问题。   如果是有多个隐含层的多层神经网络(一般定义为大于5层),那么我们将把这个模型称为深度学习,其往往也和分层训练配套使用。这也是目前AI最火的领域之一了。如果是浅层模型的问题在于对一个复杂函数的表示能力不够,特别是在复杂问题分类情况上容易出现分类不足的弊端,深度网络的优势则在于其多层的架构可以分层表示逻辑,这样就可以用简单的方法表示出复杂的问题,一个简单的例子是:   如果我们想计算sin(cos(log(exp(x)))),   那么深度学习则可分层表示为exp(x)—>log(x)—>cos(x)—>sin(x)

图像识别问题是物体识别的一个子问题,其鲁棒性往往是解决该类问题一个非常重要的指标,该指标是指分类结果对于传入数据中的一些转化和扭曲具有保持不变的特性。这些转化和扭曲具体主要包括了: (1)噪音(2)尺度变化(3)旋转(4)光线变化(5)位移

该部分具体的内容,想要快速理解原理的话推荐看[知乎相关文章] ( ),   特别是其中有些高赞回答中都有很多动图和动画,非常有助于理解。   但核心而言,CNN的核心优势在于 共享权重 以及 感受野 ,减少了网络的参数,实现了更快的训练速度和同样预测结果下更少的训练样本,而且相对于人工方法,一般使用深度学习实现的CNN算法使用无监督学习,其也不需要手工提取特征。

CNN算法的过程给我的感觉,个人很像一个“擦玻璃”的过程。其技术主要包括了三个特性:局部感知、权重共享和池化。

CNN中的神经元主要分成了两种: (a)用于特征提取的S元,它们一起组成了卷积层,用于对于图片中的每一个特征首先局部感知。其又包含很关键的阈值参数(控制输出对输入的反映敏感度)和感受野参数(决定了从输入层中提取多大的空间进行输入,可以简单理解为擦玻璃的抹布有多大) (b)抗形变的C元,它们一起组成了池化层,也被称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。 (c*)激活函数,及卷积层输出的结果要经过一次激励函数才会映射到池化层中,主要的激活函数有Sigmoid函数、Tanh函数、ReLU、Leaky ReLU、ELU、Maxout等。

也许你会抱有疑问,CNN算法和传统的BP算法等究竟有什么区别呢。这就会引出区域感受野的概念。在前面我们提到,一个全连接中,较高一层的每个神经元要对低层的每一个神经元负责,从而导致了过拟合和维度灾难的问题。但是有了区域感受野和,每个神经元只需要记录一个小区域,而高层会把这些信息综合起来,从而解决了全连接的问题。

了解区域感受野后,你也许会想,区域感受野的底层神经元具体是怎么聚合信息映射到上一层的神经元呢,这就要提到重要的卷积核的概念。这个过程非常像上面曾提到的“神经元与神经元的联系”一图,下面给大家一个很直观的理解。

上面的这个过程就被称为一个卷积核。在实际应用中,单特征不足以被系统学习分类,因此我们往往会使用多个滤波器,每个滤波器对应1个卷积核,也对应了一个不同的特征。比如:我们现在有一个人脸识别应用,我们使用一个卷积核提取出眼睛的特征,然后使用另一个卷积核提取出鼻子的特征,再用一个卷积核提取出嘴巴的特征,最后高层把这些信息聚合起来,就形成了分辨一个人与另一个人不同的判断特征。

现在我们已经有了区域感受野,也已经了解了卷积核的概念。但你会发现在实际应用中还是有问题:   给一个100 100的参数空间,假设我们的感受野大小是10 10,那么一共有squar(1000-10+1)个,即10的六次方个感受野。每个感受野中就有100个参数特征,及时每个感受野只对应一个卷积核,那么空间内也会有10的八次方个次数,,更何况我们常常使用很多个卷积核。巨大的参数要求我们还需要进一步减少权重参数,这就引出了权重共享的概念。    用一句话概括就是,对同一个特征图,每个感受野的卷积核是一样的,如这样操作后上例只需要100个参数。

池化是CNN技术的最后一个特性,其基本思想是: 一块区域有用的图像特征,在另一块相似的区域中很可能仍然有用。即我们通过卷积得到了大量的边缘EDGE数据,但往往相邻的边缘具有相似的特性,就好像我们已经得到了一个强边缘,再拥有大量相似的次边缘特征其实是没有太大增量价值的,因为这样会使得系统里充斥大量冗余信息消耗计算资源。 具体而言,池化层把语义上相似的特征合并起来,通过池化操作减少卷积层输出的特征向量,减少了参数,缓解了过拟合问题。常见的池化操作主要包括3种: 分别是最大值池化(保留了图像的纹理特征)、均值池化(保留了图像的整体特征)和随机值池化。该技术的弊端是容易过快减小数据尺寸,目前趋势是用其他方法代替池化的作用,比如胶囊网络推荐采用动态路由来代替传统池化方法,原因是池化会带来一定程度上表征的位移不变性,传统观点认为这是一个优势,但是胶囊网络的作者Hinton et al.认为图像中位置信息是应该保留的有价值信息,利用特别的聚类评分算法和动态路由的方式可以学习到更高级且灵活的表征,有望冲破目前卷积网络构架的瓶颈。

CNN总体来说是一种结构,其包含了多种网络模型结构,数目繁多的的网络模型结构决定了数据拟合能力和泛化能力的差异。其中的复杂性对用户的技术能力有较高的要求。此外,CNN仍然没有很好的解决过拟合问题和计算速度较慢的问题。

该部分的核心参考文献: 《深度学习在图像识别中的应用研究综述》郑远攀,李广阳,李晔.[J].计算机工程与应用,2019,55(12):20-36.   深度学习技术在计算机图像识别方面的领域应用研究是目前以及可预见的未来的主流趋势,在这里首先对深度学习的基本概念作一简介,其次对深度学习常用的结构模型进行概述说明,主要简述了深度信念网络(DBN)、卷积神经网络(CNN)、循环神经网络(RNN)、生成式对抗网络(GAN)、胶囊网络(CapsNet)以及对各个深度模型的改进模型做一对比分析。

深度学习按照学习架构可分为生成架构、判别架构及混合架构。 其生成架构模型主要包括:   受限波尔兹曼机、自编码器、深层信念网络等。判别架构模型主要包括:深层前馈网络、卷积神经网络等。混合架构模型则是这两种架构的集合。深度学习按数据是否具有标签可分为非监督学习与监督学习。非监督学习方法主要包括:受限玻尔兹曼机、自动编码器、深层信念网络、深层玻尔兹曼机等。   监督学习方法主要包括:深层感知器、深层前馈网络、卷积神经网络、深层堆叠网络、循环神经网络等。大量实验研究表明,监督学习与非监督学习之间无明确的界限,如:深度信念网络在训练过程中既用到监督学习方法又涉及非监督学习方法。

[1]周彬. 多视图视觉检测关键技术及其应用研究[D].浙江大学,2019. [2]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36. [3]逄淑超. 深度学习在计算机视觉领域的若干关键技术研究[D].吉林大学,2017. [4]段萌. 基于卷积神经网络的图像识别方法研究[D].郑州大学,2017. [5]李彦冬. 基于卷积神经网络的计算机视觉关键技术研究[D].电子科技大学,2017. [6]李卫. 深度学习在图像识别中的研究及应用[D].武汉理工大学,2014. [7]许可. 卷积神经网络在图像识别上的应用的研究[D].浙江大学,2012. [8]CSDN、知乎、机器之心、维基百科

卷积神经网络(CNN)用于“图(Graph)模型” CNN处理图片的过程,可以看作是按照一定顺序处理图片中的像素,处理每个像素时,会考虑周围像素点的影响(像素的特征表示),卷积核可以看作是对该像素点做了正则化表示。类比图问题,可以把每个像素看成是图的节点,因此CNN用于图的处理需要首先解决的两个问题:1)节点的处理顺序;2)节点的表示和正则化。 处理过程大概有3步: 1)依据给图节点打标的顺序选定节点序列 2)用节点的邻节点生成子图,作为该节点的特征表示 3)节点特征表示的正则化 之后输入到卷积神经网络。 图:G:=(V,E),节点集合V,边的集合E 图的矩阵表示:假设V的大小为n,E的大小是m,可用一个n*n的矩阵A表示图。如果第i各节点和第j各节点有链接,则A(i,j)=1,否则A(i,j)=0。这种表示方法的缺点是“维度灾难”。 节点间的路径(path):从一个节点到另一节点的最短路径 节点打标(node labeling):对每个节点打标签 节点分区(partition):相同标签的节点组成一个区 1)选择节点序列 2)输入节点,输入节点的邻居 3)输入节点,输出节点的正则化表示 4)正则化函数,处理过程中对邻居节点进行了排序 见论文原文 1) 基于图卷积网络的图深度学习 2) 深度 | 一文概览图卷积网络基本结构和最新进展 3) 图卷积网络定义和简单示例详解 4) GCN的github连接 5) GCN的论文连接 6) GCN作者博客

相关百科

热门百科

首页
发表服务