基于深卷神经网络的图像网络分类外文翻译资料

 2022-12-17 14:50:56

ImageNet Classification with Deep Convolutional Neural Networks

Abstract

We trained a large, deep convolutional neural network to classify the 1.2 million

high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different

classes. On the test data, we achieved top-1 and top-5 error rates of 37.5%

and 17.0% which is considerably better than the previous state-of-the-art. The

neural network, which has 60 million parameters and 650,000 neurons, consists

of five convolutional layers, some of which are followed by max-pooling layers,

and three fully-connected layers with a final 1000-way softmax. To make training

faster, we used non-saturating neurons and a very efficient GPU implementation

of the convolution operation. To reduce overfitting in the fully-connected

layers we employed a recently-developed regularization method called “dropout”

that proved to be very effective. We also entered a variant of this model in the

ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%,

compared to 26.2% achieved by the second-best entry.

1 Introduction

Current approaches to object recognition make essential use of machine learning methods. To improve

their performance, we can collect larger datasets, learn more powerful models, and use better

techniques for preventing overfitting. Until recently, datasets of labeled images were relatively

small — on the order of tens of thousands of images (e.g., NORB [16], Caltech-101/256 [8, 9], and

CIFAR-10/100 [12]). Simple recognition tasks can be solved quite well with datasets of this size,

especially if they are augmented with label-preserving transformations. For example, the currentbest

error rate on the MNIST digit-recognition task (lt;0.3%) approaches human performance [4].

But objects in realistic settings exhibit considerable variability, so to learn to recognize them it is

necessary to use much larger training sets. And indeed, the shortcomings of small image datasets

have been widely recognized (e.g., Pinto et al. [21]), but it has only recently become possible to collect

labeled datasets with millions of images. The new larger datasets include LabelMe [23], which

consists of hundreds of thousands of fully-segmented images, and ImageNet [6], which consists of

over 15 million labeled high-resolution images in over 22,000 categories.

To learn about thousands of objects from millions of images, we need a model with a large learning

capacity. However, the immense complexity of the object recognition task means that this problem

cannot be specified even by a dataset as large as ImageNet, so our model should also have lots

of prior knowledge to compensate for all the data we donrsquo;t have. Convolutional neural networks

(CNNs) constitute one such class of models [16, 11, 13, 18, 15, 22, 26]. Their capacity can be controlled

by varying their depth and breadth, and they also make strong and mostly correct assumptions

about the nature of images (namely, stationarity of statistics and locality of pixel dependencies).

Thus, compared to standard feedforward neural networks with similarly-sized layers, CNNs have

much fewer connections and parameters and so they are easier to train, while their theoretically-best

performance is likely to be only slightly worse.

Despite the attractive qualities of CNNs, and despite the relative efficiency of their local architecture,

they have still been prohibitively expensive to apply in large scale to high-resolution images. Luckily,

current GPUs, paired with a highly-optimized implementation of 2D convolution, are powerful

enough to facilitate the training of interestingly-large CNNs, and recent datasets such as ImageNet

contain enough labeled examples to train such models without severe overfitting.

The specific contributions of this paper are as follows: we trained one of the largest convolutional neural networks to date on the subsets of ImageNet used in the ILSVRC-2010 and ILSVRC-2012 competitions [2] and achieved by far the best results ever reported on these datasets. We wrote a highly-optimized GPU implementation of 2D convolution and all the other operations inherent in training convolutional neural networks, which we make available publicly1. Our network containsa number of new and unusual features which improve its performance and reduce its training time,which are detailed in Section 3. The size of our network made overfitting a significant problem, evenwith 1.2 million labeled training examples, so we used several effective techniques for preventingoverfitting, which are described in Section 4. Our final network contains five convolutional andthree fully-connected layers, and this depth seems to be important: we found that removing anyconvolutional layer (each of which contains no more than 1% of the modelrsquo;s parameters) resulted ininferior performance.

In the end, the networkrsquo;s size is limited mainly by the amount of memory available on current GPUs

and by the amount of training time that we are willing to tolerate. Our network takes between five

and six days to train on two GTX 580 3GB GPUs. All of our experiments suggest that our results

can be improved simply by waiting for faster GPUs and bigger datasets to become available.

2 The Dataset

ImageNet is a dataset of over 15 million labeled high-resolution images belonging to roughly 22,000

categories. The images were collected from the web and labeled by human labelers using Amazonrsquo;s

Mechanical Turk crowd-sourcing tool. Starting in 2010, as part of the Pascal Visual Object

Challenge, an annual competition called the ImageNet Large-Scale Visual Recognition Challenge

(ILSVRC) has been held. ILSVRC uses a subset

剩余内容已隐藏,支付完成后下载完整资料


基于深卷神经网络的图像网络分类

摘录

我们训练了一个大型的深层卷积神经网络, 将 ImageNet LSVRC-2010 竞赛中的120万张高分辨率图像分为1000个不同的类别。在测试数据上,实现了前1名和前5名的错误率为37.5% 和 17.0, 比以前的最先进的错误率要好得多。神经网络包含6000万个参数和 650, 000个神经元, 由五个卷积层组成, 其中一些层之后是最大池层, 以及三个完全连接的层, 最后是1000路 softmax。为了使训练更快, 我们使用了非饱和神经元和一个非常有效的 GPU 实现卷积操作。为了减少完全连接层的过度拟合, 我们采用了一种最近开发的名为 '辍学' 的正则化方法, 该方法被证明是非常有效的。我们还在 ILSVRC-2012 比赛中输入了这一模式的变种, 并实现了15.3% 的制胜测试错误率, 而第二好的测试误差率为26.2%。

介绍

目前的目标识别方法对机器学习方法起到了重要的作用。为了提高它们的性能, 我们可以收集更大的数据集, 学习更强大的模型, 并使用更好的技术来防止过度拟合。直到最近, 标记图像的数据集还相对较小--大约有数万张图像 (例如, NORB [16]、Caltech-10n256 [8, 9] 和 CIFAR-10100 [12])。使用如此大小的数据集可以很好地解决简单的识别任务, 特别是如果它们被保留标签的转换来增强的话。例如, MNIST 数字识别任务的当前最佳错误率 (lt; 0.3%)接近人类的表现 [4]。但现实设置中的对象表现出相当大的可变性, 因此要学会识别它们, 就必须使用更大的训练集。

事实上, 小图像数据集的缺点已被广泛认可 (例如, Pinto 等人 [21]), 但直到最近才能够收集包含数百万张图像的标记数据集。新的大型数据集包括 LabelMe [23] (由数十万完全分割的图像组成) 和 ImageNet [6] (包含超过1500万张标记的超过 22, 000个类别中的高分辨率图像)。要从数百万张图像中了解数千个对象, 我们需要一个具有大学习能力的模型。

但是, 对象识别任务的复杂性意味着, 即使像 ImageNet 这样的数据集也无法指定此问题, 因此我们的模型还应该具有大量的先验知识来补偿我们没有的所有数据。卷积神经网络 (Cnn) 构成一类模型 [16, 11, 13, 18, 15, 22, 26]。它们的容量可以通过改变其深度和广度来控制, 并且它们还对图像的性质 (即统计的稳定性和像素依赖的位置) 做出了强烈的、大多是正确的假设。因此, 与具有相似大小的层的标准前馈神经网络相比, Cn 具有更少的连接和参数, 因此它们更易于训练, 而它们理论上最好的性能可能只会稍微差一些。尽管 Cmn 具有吸引人的品质, 尽管他们的当地建筑相对高效, 但大规模应用于高分辨率图像的成本仍然高得令人望而却步。

幸运的是, 当前的 Gpu 与高度优化的2D 卷积实现相结合, 其功能足够强大, 可以方便地训练非常大的 Cnn, 而 ImageNet 等最新数据集包含足够的标记示例来训练此类模型没有严重的过度安装。本文的具体贡献如下: 我们对 ILSVRC-2010 和 ILSVRC-2012 比赛 [2] 中使用的 ImageNet 子集进行了迄今为止最大的卷积神经网络培训, 并取得了迄今报告的最好的结果数据。我们编写了一个高度优化的 GPU 实现二维卷积和训练卷积神经网络所固有的所有其他操作, 我们公开提供了这些操作。我们的网络包含了一些新的和不寻常的功能, 提高了它的性能, 减少了它的培训时间, 详见第3节。我们网络的规模使得过度拟合成为一个重大问题, 即使有120万个标记的培训示例, 因此我们使用了几种有效的技术来防止过度拟合, 这在第4节中进行了描述。我们的最终网络包含五个卷积层和三个完全连接的层, 这个深度似乎很重要: 我们发现, 删除任何卷积层 (每个卷积层不超过模型参数的 1%) 都会导致性能低下。

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

数据集

ImageNet 是一个超过1500万张标记的高分辨率图像的数据集, 大约属于 22, 000个类别。这些图片是从网络上收集的, 并由人类标签者使用亚马逊的机械土耳其众包工具标记。从2010年开始, 作为 Pascal 视觉对象挑战赛的一部分, 每年举办一次名为 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 的竞赛。ILSVRC 使用 ImageNet 的子集, 在1000个类别中的每个类别中大约有1000个图像。总共大约有120万张培训图像、50, 000个验证映像和 150, 000个测试映像。

ILSVRC-2010 是 ILSVRC 的唯一版本, 它提供了测试集标签, 因此这是我们执行大部分实验的版本。由于我们还在 ILSVRC-2012 竞赛中输入了我们的模型, 因此在第6节中, 我们还报告了此版本的数据集的结果, 该版本的测试集标签不可用。在 ImageNet 上, 通常会报告两个错误率: 前1名和前 5名, 其中前5名的错误率是测试图像的一部分, 正确的标签不在模型认为最可能出现的5个标签之列之列。

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

构造

总结了我们网络的体系结构。它包含八个学习层--五个卷积层和三个完全连接层。下面, 我们将介绍网络体系结构的一些新颖或不寻常的特征。第3.1-3.4 节根据我们对其重要性的估计进行排序, 最重要的是首先。

    1. 线性整流函数与非线性整流函数

对神经元的输出 fasa 函数进行建模的标准方法是使用:

或者

在梯度下降的训练时间方面, 这些f(x) = max(0, x)饱和非线性比非饱和非线性要慢得多。跟随 Nair 和 Hinton [20],we 提到神经元以这个非线性作为校正的线性单位 (Llu)。带有 Relu 的深层卷积神经网络的训练速度是具有 tanh 单位的相应神经网络的数倍。图1显示了这一点, 其中显示了特定四层卷积网络的 CIFAR-10 数据集上达到25% 训练错误所需的迭代次数。这个图表明, 如果我们使用了传统的饱和神经元模型, 我们就不可能为这项工作进行这么大的神经网络实验。

图 1: 具有 Relu (实线) 的四层卷积神经网络在 CIBAR-10 上的训练错误率比具有 tanh 神经元 (虚线) 的等效网络快6倍。每个网络的学习率是独立选择的, 以便尽可能快地进行培训。没有采用任何形式的正规化。这里展示的效果的大小因网络体系结构而异, 但带有 Lou 的网络学习速度一直是具有饱和神经元的网络的数倍。

我们并不是第一个考虑 Cnn 中传统神经元模型的替代品的国家。例如, Jarrett 等人声称, 非线性f(x) = |tanh(x)| 与它们的对比度规范化类型特别有效, 然后在 Caltech-101 数据集上使用本地平均池。但是, 在此数据集上, 主要关注的是防止过度拟合, 因此他们观察到的效果不同于我们在使用 Lu 时报告的训练集的加速能力。更快的学习对在大型数据集上训练的大型模型的性能有很大影响

    1. 大量的GPUs 的训练

单个 GTX 580 GPU 只有3GB 内存, 这限制了可在其上训练的网络的最大大小。原来, 1 2 0万个训练例子足以训练太大而不适合一个 g p u 的网络。因此, 我们将网络分散到两个 Gpu。当前 Gpu 特别适合交叉 gpu 并行化, 因为它们能够直接读取和写入彼此的内存, 而无需通过主机内存。我们采用的并行化方案基本上将一半的内核 (或神经元) 放在每个 GPU 上, 并附加了一个技巧: Gpu 仅在某些层进行通信。这意味着, 例如, 第3层的内核从第2层中的所有内核映射中获取输入。但是, 第4层中的内核仅从位于同一 GPU 的第3层中的内核映射获取输入。选择连接模式是交叉验证的一个问题, 但这允许我们精确地调整通信量, 直到它是计算量的可接受的部分。

由此产生的体系结构与 Cire 消型三等人使用的 '专栏' CNN 的体系结构有些相似, 只是我们的专栏不是独立的 (见图 2)。该方案将我们的前1名和前5名的错误率分别降低了1.7% 和 1.2%, 而在一个 GPU 上训练的每个卷积层中的内核数是一半的网络。与1gpu 网相比, 双 g u 网的训练时间略少。

    1. 当地反应正常化

Relu 具有理想的属性, 即它们不需要输入规范化来防止它们饱和。如果至少有一些训练例子对一个 Llu 产生了积极的输入, 学习就会发生在那个神经元。

但是, 我们仍然发现, 下面的本地规范化方案有助于泛化。用 a x 表示神经元的活动, y 通过在位置 (x, y) 应用内核 i 并应用 Rlu 非线性来计算的神经元的活动, 用表达式给出响应归一化活动 b i x, y

其中总和在同一空间位置的 n '相邻' 内核映射上运行, 而 N 是图层中内核的总数。内核映射的顺序当然是任意的, 并且是在训练开始之前确定的。这种反应归一化实现了一种由真正神经元中发现的类型所激发的侧向抑制形式, 在使用不同内核计算的神经元输出之间形成了对大活动的竞争。常量 k、n、alpha;和beta;是超参数, 其值是使用验证集确定的;我们使用 k = 2, n = 5, alpha;= 10-4, beta;= 0.75。在某些层中应用 ReLU 非线性后, 我们应用了此规范化 (请参阅第3.5 节)。这个方案与 Jarrett 等人的局部对比度归一化方案有些相似, 但我们的方案更正确地称为 '亮度归一化', 因为我们不减去平均活动。响应规范化可将我们的前1名和前5名错误率降低1.4% 和1.2%。

    1. 重叠的程序

Cnn 中的集合层总结了同一内核映射中相邻神经元组的输出。传统上, 相邻池单元汇总的邻域不会重叠 (例如, [17, 11, 4])。更精确地说, 池层可以被认为是由一个由间隔的池单元的像素组成的网格组成的, 每个网格总结一个以池单元位置为中心的大小 zxz 的邻域。如果我们设置 s = z, 我们就会获得 Cnn 中常用的传统本地池。如果我们设置 s lt; z, 我们将获得重叠的池。这就是我们在整个网络中使用的, s = 2 和 z = 3。与产生等效维数输出的非重叠方案 s = 2、z = 2 相比, 该方案将前1名和前5名的错误率分别降低了0.4% 和0.3%。我们在训练中通常观察到, 重叠池的模型发现过度适应的难度略大一些。

3.5 总体结构

现在我们已经准备好描述我们的美国有线电视新闻网的整体架构。如图2所示, 网络包含八个具有权重的层;前五个是卷积的, 剩下的三个是完全相连的。最后一个完全连接的层的输出被输入到1000路 softmax, 该软值在1000位标签上产生分布。

我们的网络最大限度地提高了多项式逻辑回归目标, 这相当于在预测分布下, 在训练案例中最大限度地提高了正确标签的对数概率。第二、第四和第五个卷积层的内核仅连接到位于同一 GPU 上的上一层中的内核映射 (请参见图 2)。第三卷积层的内核连接到第二层中的所有内核映射。完全连接层中的神经元连接到上一层中的所有神经元。响应归一化图层跟随第一和第二卷积图层。

第3.4 节中描述的最大池层既遵循响应归一化图层, 也遵循第五个卷积层。在每个卷积和完全连接层的输出中, 都将 Rlu 非线性应用于该系统。第一个卷积层过滤9220x3 输入图像, 大小为 11x11x3, 步长为4个像素 (这是内核映射中相邻神经元的接受场中心之间的距离)。第二卷积层作为输入第一个卷积层的 (响应归一化和池) 输出, 并用256个大小为5x5x48 的内核对其进行过滤。第三、第四和第五个卷积层彼此连接, 没有任何中间的池或归一化层。第三卷积层有384个大小为3x3x256 的内核, 连接到第二个卷积层的 (归一化、池化) 输出。第四卷积层有384个大小为3x3x192 的内核, 第五卷积层有256个大小为3x3x192 的内核。完全连接的层各有4096个神经元。

图 2: 我们的 CNN 的体系结构的说明, 明确显示了两个 Gpu 之间的职责划分。一个 GPU 运行图顶部的层部分, 而另一个 gpu 运行底部的层部分。Gpu 仅在特定层进行通信。网络的输入为 150 528 维, 网络剩余层中的神经元数量由253440-18664–6486-64896 – 43264–4096-4096-1000。

4 过拟合化简

我们的神经网络体系结构有6000万个参数。尽管 1000级 ILSVRC 使每个训练示例对从图像到标签的映射施加了10位约束, 但事实证明, 这不足以在没有相当大的过

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[20439],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。