深度图像:放大图像识别外文翻译资料

 2023-08-28 17:17:34

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


深度图像:放大图像识别

摘要

我们提出了一种最先进的图像识别系统,深度图像,开发使用端到端深度学习。关键部件一个定制的超级计算机专用于深度学习,一种高度优化的并行算法,使用新的策略进行数据分区还有通信,更大的深层神经网络模型,新的数据扩充方法,以及多尺度高分辨率图像的使用。在最具挑战性的计算机视觉上基准测试、ImageNet分类的挑战,使我们的系统取得了最好的成绩数据,前5位错误率4.58%,超过了人类识别性能,比2014年的ILSVRC提高了31%赢家。

  1. 介绍

1997年5月11日,IBM的深蓝实现了历史性的突破击败国际象棋世界冠军卡斯帕(Campbell et al., 2002)。它就像让一些人感到惊讶的是,使用正确的算法,国际象棋的表现是计算能力的函数(Condon amp;汤普生(1982),(凯悦等,1990),(库斯摩尔,1995)。今天,历史在重演:简单、可伸缩的算法,给定足够的数据和计算资源,主导许多领域,包括视觉对象识别(Ciresan et al., 2010), (Krizhevsky et al., 2012), (Szegedy)(Hannun et al., 2014)和自然语言处理(Collobert amp; Weston, 2008), (Mnih amp; Hinton, 2007)amp;辛顿,2008)。

虽然神经网络已经被研究过很多次了几十年过去了,直到最近,由于提供了更大的培训数据集通过异构提高计算能力计算(Coates et al., 2013)。

因为计算能力对进步非常重要在深度学习中,我们设计了一台超级计算机深度学习,以及需要充分利用的软件堆栈这种硬件的优势。使用特定于应用程序的软硬件协同设计,我们有一个高度优化系统。这个系统可以训练更大的模型更多的数据,同时也减少了周转时间,允许

我们需要更快地探索想法。

然而,目前的深度学习还存在两个不足实践。首先,虽然我们知道更大的型号提供在实践中,模型的大小往往受到训练数据太少或时间太少的限制用于运行实验,这可能导致两者都过拟合或underfitting。其次,收集的数据往往是有限的到潜在示例空间的特定区域。这特别具有挑战性的是非常大的神经网络,哪个容易过度装配。

在这项工作中,我们展示了积极的数据扩充如何防止过拟合。我们使用数据扩充新颖的方式,比以前的工作更具侵略性(Howard, 2013), (Krizhevsky et al., 2012)。增广数据集要大数万倍,允许使网络对各种转换变得更加健壮。

此外,我们训练多尺度图像,包括高分辨率图像。大多数以前的工作(克里日夫斯基)(Zeiler amp; Fergus, 2014)对分辨率约为256x256的缩小图像进行操作。当使用缩小的图像减少计算在不损失太多准确率的情况下,我们发现使用较大的图像可以提高识别准确率。当我们演示,在许多情况下,对象大小是规模小、规模小只会丢失太多信息。

高分辨率图像的训练提高了图像的分类精度阳离子的准确性。更重要的是,在高分辨率图像上训练的模型补充了在低分辨率图像上训练的模型。组合在不同尺度上训练的模型比单独的模型产生更好的结果。

在本文中,我们详细介绍了我们自定义设计的超级计算机对于深度学习,以及我们的优化算法和为利用此硬件而构建的软件堆栈。这系统使我们能够训练更大的神经模型对于高分辨率的图像,使用更具侵略性的数据增强方法。在被广泛研究的1k ImageNet分类挑战中,我们得到了目前最先进的结果,前5位错误率为4.58%。

  1. 硬件/软件合作设计

很明显,不同种类的算法将会执行在不同的计算架构上是不同的。图形处理器(gpu)的性能通常非常好计算密集型算法。早期的研究表明集群算法,一个单一的GPU提供10倍以上的性能比顶级的8核工作站,甚至在拥有超过10亿个数据点的非常大的数据集(Wuet al .,2009)。最近的一个例子显示有三个GPU每个服务器有4个gpu,与a的性能相当1000个节点(16000个核心)的CPU集群,由谷歌使用Brain project (Coates et al., 2013)。

现代深度神经网络的训练大多采用随机梯度体面算法(SGD)的变体。作为SGDs算法密度高,gpu性能优异对于这类算法。

此外,我们想要训练非常大的深层神经无需担心网络容量的限制一个单一的GPU,甚至一台机器,这样就可以扩大规模是一个必要条件。考虑到随机梯度算法的性质,要求其具有非常好的收敛性高带宽和超低延迟互连,使分布式算法所需的通信成本降到最低。

其结果是定制的超级计算机,我们称之为明华。它由36个服务器节点组成,每个节点有2个服务器节点六核Intel Xeon E5-2620处理器。每台服务器包含4台Nvidia Tesla K40m gpu和1台FDR InfiniBand(56Gb/s),这是一个高性能的低延迟互连,支持RDMA。单峰值精度每个GPU的浮点性能为4.29TFlops和每个GPU有12GB的内存。多亏了GPUDirectRDMA, InfiniBand网络接口可以在不涉及CPU的情况下访问远程GPU内存。所有服务器节点连接到InfiniBand交换机。图1显示了系统架构。系统运行Linux与CUDA 6.0和MPI MVAPICH2,其中也使GPUDirect RDMA。

Minwa总共有6.9TB的主机内存,1.7TB的设备内存,约0.6PFlops理论单精度峰值性能

  1. 优化

我们的目标是推动这两方面的极端表现给定任务的硬件和软件。在现代深卷积神经网络中,卷积层占据了大部分计算量,全连通层占据了大部分参数。我们实现两个并行深度神经网络的并行策略框架,即模型-数据并行性和数据并行性。在之前的工作中也提出了类似的策略(Krizhevsky, 2014), (Yadan et al., 2013)。然而,前面的工作主要集中在单个服务器上对于多个GPU或小GPU集群,这是很困难的,直接扩展到大型GPU集群通信瓶颈。在我们的工作中,我们专注于优化并行策略,最小化数据传输和计算和通信重叠。这是需要接近性能峰值的大型超级计算机像明华。

3.1数据并行性

当所有的参数都可以存储在一个的内存中GPU,我们利用所有层的数据并行性。在这种情况下,每个GPU负责1/N的小批输入图像所有的gpu都在同一个小批处理上工作。在一个向前向后的传递,参数和梯度所有层都复制到每个GPU上。所有gpu计算基于梯度的局部训练数据和局部副本的权重。然后它们交换梯度并更新本地权重的副本。

有两种策略帮助我们实现更好的并行性。第一个是'蝴蝶同步'策略,其中所有梯度被分割成K个部分和每个部分GPU负责自己的部分。在梯度的最后计算时,GPU k接收所有其它部分的第k个部分gpu,在那里累积,然后广播结果回到所有gpu。

另一个是“延迟更新”策略。一旦梯度是在向后传递中生成的,每个GPU发送它的以异步方式生成梯度到相应的gpu。在需要对其相应的权重参数进行同步之前,不需要对该传输进行同步使用,它只在稍后的前向传递中发生。这最大化计算和通信之间的重叠。

图1显示了4上传输的示例gpu。理论上,我们的通信开销数据并行策略只取决于模型的大小与gpu的数量无关。我们也使用设备内存缓存训练数据,如果有空闲加载模型后设备上的内存空间。

3.2模型数据并行性

而数据并行性则适用于较小的模型。如果模型的大小不能适应单个GPU的内存。使用模型-数据并行性来解决这个问题。这里仍然使用数据并行性在卷积层中,完全连接的层被分区并分布到多个gpu中。这因为卷积层的参数更少但更多的计算。

卷积层的参数被复制到每个GPU上,一个小批处理中的所有图像被分区并分配给所有GPU,就像我们描述的那样在3.1节。全连通层的参数,然而,在所有gpu中是平均分配的。所有gpu然后一起计算完全连接的层必要时同步。这与(Krizhevsky, 2014)中提出的方法相似,尽管我们正在按比例做这件事。

3.3规模效率

我们通过训练an的模型来测试缩放效率图像分类任务。网络有8个卷积层和3个完全连接的层,然后是1000-softmax方式。通过历元时间的度量,得到了图像的可扩展性效率和速度如图2和图3所示。为了方便观察了不同并行策略的可扩展性将每个GPU处理的图像数量固定为64张(片= 64)。混合并行所花费的时间显示了不同数量gpu的数据并行性如图2所示。数据并行性在以下情况下执行得更好所涉及的GPU数大于16。这是因为当模型的大小固定时,数据并行策略的通信开销是恒定的。加速是批大小越大,批大小越大,如图3所示。与单个GPU相比,通过速度提高了47倍图像是通过使用64个gpu和一个小批处理来实现的大小为1024。随着gpu数量的增加,总的gpu数量将增加设备内存也在增加,数据也可以增加缓存在设备内存中。这有助于提高并行效率。

并行算法的最终测试是收敛性时间,即网络所需的挂钟时间达到一定的精度水平。图4比较了网络使用达到80%准确率所需要的时间不同数量的gpu。注意24.7倍的加速是使用32个gpu获得。

4. 训练数据

4.1数据增加

“你看的越多,你知道的就越多”这句话是对的对于人类和神经网络,尤其是对于现代深层神经网络。

多亏了像Minwa这样的超级计算机,我们现在能够构建数千亿参数的大型深层神经网络。现有的培训数据根本不足以培训这样一个网络大小。此外,所收集的示例通常只是其中的一部分一种“好”数据的形式——或者是可能空间中相当小且偏差很大的子集。希望显示的是

网络数据多,覆盖面广。

本文的作者认为数据扩充从根本上来说,提高性能是否重要的网络。我们希望通过网络来学习对象类不变的重要特性,而不是训练图像的人工制品。我们已经探索了很多不同的方法来做增强本节将讨论这些问题。

很明显,如果环境光照发生变化,或者观察者被另一个代替,对象将不会改变它的类。更具体地说,这就是说神经网络模型应该对驱动的颜色不那么敏感由光源的现场,或光学系统从

不同的观察者。这一观察使我们把注意力集中在一些关键的增强,如彩色浇注、晕渲和镜头失真,如图5所示。

不同于颜色的变化(Krizhevsky等,我们进行颜色铸造来改变的强度训练图像中的RGB通道。具体来说,对于每一个,我们生成三个布尔值来确定R、G、B通道分别改变。如果一个人通道应该被改变,我们给通道添加一个从-20到 20的随机整数。

晕渲法是指使图像的边缘变暗与图像中心相比。在我们的实现中是两个随机变化的变量,为一个小品效果。首先是添加效果的区域。第二个问题是亮度降低了很多。

透镜畸变是一种偏离直线投影的现象由照相机镜头引起的。失真的类型和失真的程度是随机变化的。图像的水平和垂直上浆也可以查看作为一种特殊的透镜畸变。

我们还采用了由。提出的一些扩充之前的工作,如翻转和裁剪(霍华德,(Krizhevsky et al., 2012)。确保整体增强图像输入训练网,所有的增强都是对裁剪后的图像进行的(除了裁剪)。

一个有趣的事实值得指出的是,专业摄影师和业余爱好者经常使用彩色铸造和晕渲法来增加他们的作品的艺术性。事实上,Instagram等热门应用提供的大多数过滤器都不是两者的不同组合。

如表1所示,通过使用不同的增强方法,训练样本的数量暴增在计算资源方面提出了更大的挑战。然而,得到的模型具有更好的准确性这将收回成本,如图6所示。

4.2多尺度的培训

我们还注意到高分辨率图像的多尺度训练比单尺度训练效果更好,尤其是识别小物体。

之前的工作(Krizhevsky et al., 2012), (Zeiler amp; Fergus, 2014)通常将图像缩小到一个固定的分辨率,比如256x256,然后随机裁剪出来较小的区域,例如224x224,并使用这些区域作物进行训练。虽然这种方法降低了计算成本,而且多层卷积层仍然可以采集多尺度统计数据,向下采样即可扰乱小物件的细节,这是很重要的特性来区分不同的类。如果使用像512x512这样的高分辨率图像,就会有每个224x224作物捕获的更多细节。该模型可以从这些作物中学到更多。不同于工作(Simonyan amp; Zisserman, 2014), (Szegedy et al., 2014) that利用尺度抖动的方法,我们在不同的尺度上训练了不同的模型,包括高分辨率的模型,并通过平均softmax类后验来组合它们。

如图7所示,蜻蜓很小,只占图像的一小部分。如果使用低分辨率图像训练的模型,则true类不在前5名之列预测。高分辨率的训练能捕捉到更多信息蜻蜓的特征和识别图像在一秒钟

的地方。高分辨率模型给出了类似的分数由于蜻蜓和蜻蜓的相似之处物种。然而,低分辨率模型的区别很明显,他们的分数差距很大。它可能是还看到图7中两个模型的组合by简单的平均会给出一个很好的预测。图8更多高分辨率模型给出的例子正确的答案,而低分辨率的失败。

另一方面,产量小,从高分辨率图像可能不包含任何会误导的对象通过给整个图像一个标签来建模。因此,一个模型由作物从低分辨率图像训练是必要的。

我们用不同尺度的图像训练了几个模型,它们是互补的。模型训练用256x256的图像和

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


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

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

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