GoogLeNet论文翻译:《Going deeper with convolutions》

写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客


前言:

为了让读者有更好的阅读体验,我对翻译进行了如下改进:

  • 论文重点内容用黑体加粗表示
  • 每一章节段与段之间用空白行隔开
  • 对于一些专业词汇保留原译,不予翻译

摘要

我们提出了一种深层卷积神经网络结构,命名为Inception,它是为了参加2014年ImageNet大规模视觉识别挑战赛(ILSVRC14)而设计出的一种一流的分类和检测器。该网络结构的主要特点是网络内部计算资源的利用率得到提高。这是通过精心设计的网络结构实现的,该设计允许在保持计算资源预算不变的情况下增加网络的深度和宽度。为了优化质量,该网络结构决策基于Hebbian原则多尺度处理的直觉。在ILSVRC14挑战赛中,我们使用了的一种特定化网络GoogLeNet,它是一个22层的深度网络,其质量在分类和检测的范围内进行评估。

1. 介绍

在过去的三年中,主要是由于深度学习的发展,更具体来说是卷积网络,图像识别和目标检测的质量一直在飞速发展。 一个令人鼓舞的消息是,大部分进展不仅在于功能更强大的硬件更大的数据集更大的模型的结果,而且主要是新的思想,算法和改进的网络体系结构的结果。例如,ILSVRC 2014竞赛的前几名除了使用了用于检测目的的分类数据集外,没有使用新的数据源。 实际上,我们向ILSVRC 2014提交的GoogLeNet所使用的参数比两年前Krizhevsky等人的网络结构AlexNet 少了12倍,但准确性却更高。 在目标检测中最大的收获不是来自单独使用深度网络或更大的模型,而是来自深度结构和经典计算机视觉的协同作用,例如Girshick等人的R-CNN算法。

另一个值得注意的因素是,随着移动和嵌入式计算的不断发展,我们算法的效率,尤其是其功能和内存使用,变得越来越重要。 值得注意的是,本文设计的深层体系结构就考虑到这个因素,而不是单纯地为了将测试精度固定下来。 对于大多数实验,这些模型的设计目的是在推理时保持15亿次乘法运算的计算预算,这样它们就不会单纯地为了满足学术上的好奇心,而是可以在现实世界中使用,甚至在大型数据集上,而且价格合理

在本文中,我们将重点研究名为Inception的高效的用于计算机视觉的深度神经网络结构,该结构的名称源自Lin等提出的论文《Network in Network》,以及著名的“ we need to go deeper”网络梗。在我们的方法中,“深层”一词有两种不同的含义:首先,在某种意义上,我们以“Inception模块”的形式引入了新的组织层次,在更直接的意义上是网络深度的增加。通常,人们可以将Inception模型视为,同时从Arora等人的理论工作中获得启发和指导的逻辑高潮。 该架构的优势已通过ILSVRC 2014分类和检测挑战进行了实验验证,在此方面其性能明显优于当前的一流水平。

2. 相关工作

从LeNet-5开始,卷积神经网络(CNN)通常具有一种标准结构——堆叠的卷积层(可选地,随后进行对比度归一化和maxpooling),然后是一个或多个全连接层。 这种基本设计的变体在图像分类文献中很普遍,并且迄今为止在MNIST,CIFAR以及ImageNet分类挑战中均取得了最佳结果。 对于较大的数据集,例如ImageNet,最近的趋势是增加层数和层的大小,同时使用Dropout解决过度拟合的问题。

尽管担心最大池化层会导致丢失准确的空间信息,但与[9]相同的卷积网络体系结构也已成功用于定位[9、14],目标检测[6、14、18、5]和人类姿势估计[19]。 受灵长类动物皮层神经科学模型启发,Serreetal 使用了一系列不同大小的Gabor滤波器,以处理多个尺度,类似于Inception模型。 但是,与文献[15]的固定2层深度模型相反,学习了Inception模型中的所有滤波器。 此外,在Inception层中重复了很多次,在GoogLeNet模型的情况下,导致了22层深度模型。

《Network in Network》是Lin等人提出的一种方法,为了增加神经网络的表示能力。 当应用于卷积层时,该方法可以看作是附加的1×1卷积层,通常是经过ReLU激活函数。 这使它可以轻松集成到当前的CNN管道中。 我们在结构中大量使用了这种方法。 但是,在我们的环境中,1×1卷积具有双重目的:最关键的是,它们主要用作降维模块以消除计算瓶颈,否则将限制我们网络的规模。 这种方法不仅增加了网络的深度,而且还增加了网络的宽度,而没有明显的性能损失。

当前用于目标检测的领先方法是Girshick等人提出的具有候选区域的卷积神经网络(R-CNN)。R-CNN将整体检测问题分解为两个子问题:首先以与类别无关的方式将低级提示(例如颜色和超像素一致性)用于潜在的对象建议,然后使用CNN分类器在那些位置识别对象类别。 这种两阶段方法利用了具有低级提示的边界框分割的准确性以及最新型CNN的强大分类能力。 我们在检测提交中采用了类似的流程,但是在两个阶段都进行了改进,例如针对更高对象边界框召回的多框预测,以及对边界框建议进行更好分类的集成方法。

3. 动机和高层级的考虑

改善深度神经网络性能的最直接方法是增加其大小。 这包括增加网络的深度——层数、和网络的宽度——每层的单元数。特别是对于有大量可用标签的训练数据的数据集,这是训练高质量模型的一种简单而安全的方法。 然而,这种简单的解决方案具有两个主要缺点

较大的尺寸通常意味着大量的参数,这使得扩大的网络更容易过度拟合,尤其是在训练集中标记的示例数量有限的情况下。这可能会成为主要瓶颈,因为创建高质量的训练集可能很棘手和昂贵,尤其是如果需要专家级评估人员来区分细粒度的视觉类别,例如ImageNet(甚至在1000级ILSVRC子集中),如图1所示。
在这里插入图片描述
              图1:ILSVRC 2014分类挑战的1000个类别中的两个不同类别。

均匀地增加网络大小的另一个缺点计算资源的使用急剧增加。 例如,在深度视觉网络中,如果将两个卷积层链接在一起,则其滤波器数量的任何均匀增加都会导致计算量的平方增加。 如果增加的容量使用效率不高(例如,如果大多数权重最终都接近于零),则会浪费大量计算量。 由于实际上计算预算始终是有限的,因此即使主要目的是提高结果的质量,也要有效分配计算资源,而不是随意增加大小。

最终解决这两个问题的根本方法是从全连接层的结构过渡到稀疏的连接结构,甚至在卷积内部也是如此。 除了模仿生物系统之外,由于Arora等人的开创性工作,这还将具有更牢固的理论基础的优势。他们的主要结果表明,如果数据集的概率分布可以由大型的,非常稀疏的深度神经网络表示,则可以通过分析最后一层的激活的相关统计量,逐层构建最佳网络拓扑。 聚集具有高度相关输出的神经元。 尽管严格的数学证明要求非常严格的条件,但该陈述与众所周知的Hebbian原理(如果两个神经元同时被激活,则它们之间的连接加强)产生共鸣这一事实表明,即使在不太严格的条件下,实际上也可以应用基本思想。

不利的一面是,今天的计算基础架构在对非均匀稀疏数据结构进行数值计算时效率很低。 即使算术运算的数量减少了100倍,查找和缓存未命中的开销仍然占主导地位,以至于切换到稀疏矩阵都不会奏效。 通过使用稳定改进的,经过高度调整的数值库,利用底层CPU或GPU硬件的微小细节,可以实现极快的密集矩阵乘法,从而进一步拉大了差距[16,9]。 而且,非均匀的稀疏模型需要更复杂的工程和计算基础结构。 当前大多数面向视觉的机器学习系统仅通过使用卷积就在空间域中利用稀疏性。 但是,卷积被实现为到较早层中密集连接小块的集合。 自从[11]以来,ConvNets就一直在特征维度上使用随机和稀疏的连接表,以便打破对称性并改善学习效果,[9]则将趋势改回全连接,以便更好地优化并行计算。 结构的均匀性和大量的过滤器以及更大的批处理大小得益于利用有效的密集计算。

这就提出了一个问题,即下一步是否有希望:一种架构,如理论所建议的那样,利用了额外的稀疏性,即使在滤波器级别,也是如此,但是通过利用密集矩阵的计算来利用我们当前的硬件。 关于稀疏矩阵计算的大量文献(例如[3])表明,将稀疏矩阵聚类为相对密集的子矩阵往往会为稀疏矩阵乘法提供最新的实用性能。 认为不久的将来将采用类似的方法来自动构建非统一的深度学习架构似乎并不为过。

Inception结构最初是作为第一作者的案例研究来评估复杂网络拓扑构造算法的假设提出的,该算法试图逼近[2]所暗示的视觉网络的稀疏结构,并通过密集,易于获得的方法覆盖了假设的结果。 尽管这是一个高度取巧的工作,但仅在对拓扑结构的确切选择进行两次迭代之后,我们已经可以基于[12]看到相对于参考结构的适度收益。 在进一步调整学习率,超参数和改进的训练方法之后,我们确定了所得的Inception体系结构在定位和目标检测(作为[6]和[5]的基础网络)中特别有用。 有趣的是,尽管大多数原始结构选择都受到了质疑和测试,但事实证明它们至少是局部最优的。

我们仍然必须采取谨慎的态度:尽管提出的体系结构已经可以用于计算机视觉,但是其质量是否可以归功于导致其构建的指导原则仍然值得怀疑。 确保将需要进行更彻底的分析和验证:例如,如果基于下述原理的自动化工具能够为视觉网络找到相似但更好的拓扑结构。 最有说服力的证明是,如果一个自动化系统创建的网络拓扑结构能够使用相同的算法,但在全局架构上却大不相同,从而在其他域中获得相似的收益。 至少,Inception结构的最初成功为在此方向上未来的激动人心的工作产生了坚定的动力。

4. 结构细节

Inception体系结构的主要思想是基于找出卷积视觉网络中最佳局部稀疏结构的近似值,并通过易于使用的密集组件进行覆盖。 请注意,假设平移不变意味着我们的网络将由卷积构建块构建。 我们所需要的只是找到最佳的局部构造并在空间上进行重复。 Arora等人 [2]提出了一种逐层的结构,其中应该分析最后一层的相关统计量并将它们聚类为具有高相关性的单元组。这些簇形成一个柔软的单元,然后再连接到上一层中的单元。 我们假设来自较早层的每个单元对应于输入图像的某些区域,并且这些单元被分组为卷积组。 在较低的层(靠近输入层),相关单元将集中在局部区域。 这意味着,我们最终将有很多聚类集中在一个区域中,并且可以在下一层中用1×1卷积层覆盖它们,如[12]中所建议。 但是,人们也可以期望在空间上更分散的群集数量会更少,而较大的小块上的卷积可以覆盖这些簇,并且在越来越大的区域上,小块的数量将会减少。 为了避免小块对齐问题,Inception体系结构的卷积核被限制为1×1、3×3和5×5的大小,但是此决定更多地基于便利性而不是必要性。 这也意味着建议的体系结构是所有这些层的组合,它们的输出滤波器组被连接到一个单独的输出矢量中,形成下一级的输入。 另外,由于池化操作对于在当前最先进的卷积网络中取得成功至关重要,因此建议在每个这样的阶段添加可选择性的并行池化路径,也应该具有不错的额外效果(见图2(a))。
在这里插入图片描述
                       图2:Inception模块

由于这些“ Inception模块”彼此堆叠,因此它们的输出相关性统计信息必然会发生变化:随着更高层捕获更高抽象的特征,它们的空间集中度预计将降低

至少以这种简单形式,上述模块的一个大问题是,即使是数量有限的5×5卷积核,在具有大量卷积核的卷积层之上,代价也可能是昂贵的。 一旦将池化单元添加到混合中,此问题将变得更加明显:它们的输出卷积核通道数量等于上一阶段的卷积核的数量。池化层的输出与卷积层的输出的合并将不可避免地导致端到端网络参数的增加。即使此体系结构可能涵盖了最佳的稀疏结构,它也会非常低效地进行处理,从而导致在几个阶段内出现计算爆炸

这导致了所提出的体系结构的第二个想法:在任何情况下如果计算需求会增加太多的地方明智地进行尺寸缩减和投影。这是基于嵌入的成功:即使是低维的嵌入也可能包含许多有关较大图像小块的信息。 但是,嵌入以密集,压缩的形式表示信息,并且压缩的信息很难建模。 我们想在大多数地方保持表示稀疏(如[2]的条件所要求的),并且仅在必须将它们汇总时才压缩信号。 也就是说,在昂贵的3×3和5×5卷积之前,使用1×1卷积来计算缩减量。 除了用作减少量之外,它们还包括使用线性激活函数ReLU,使其具有双重用途。 最终结果如图2(b)所示。

通常,Inception网络是由彼此堆叠的上述类型的模块组成的网络,偶尔具有最大步距为2的最大池化层,以使网格的分辨率减半。 由于技术原因(训练过程中的内存效率),似乎仅在较高的层开始使用Inception模块,而以传统的卷积方式保留较低的层似乎是有益的。这不是严格必要的,只是反映在我们当前一些基本效率低的使用过程中。

该体系结构的主要优点之一是,它可以显著地增加每个阶段的单元数量,而不会导致计算复杂性的急剧增加。 普遍使用降维可将最后一级的大量输入的卷积核屏蔽到下一层,首先缩小其尺寸,然后再以较大的卷积核尺寸对它们进行卷积。 该设计的另一个实际有用的方面是,它与直觉一致,即视觉信息应按不同的尺度进行处理,然后进行汇总,以便下一阶段可以同时从不同的尺度中提取特征。

改进的计算资源使用可以增加每个阶段的宽度以及阶段数,而不会引起计算困难。 利用初始架构的另一种方法是创建稍逊一筹但在计算上更便宜的版本。 我们发现,所有随附的旋钮和操纵杆都可以实现计算资源的受控平衡,这可能导致网络的运行速度比具有非Inception架构的类似性能的网络快2-3倍,但是这时需要谨慎的手动设计 。

5. GooLeNet网络

在ILSVRC14比赛中,我们选择了GoogLeNet作为我们的团队名称。 此名称是对Yann LeCuns开拓性的LeNet 5网络的致敬[10]。 我们还使用GoogLeNet来指代我们提交的竞赛中使用的Inception体系结构的特定形式。 我们还使用了更深入,更广泛的Inception网络,其质量略逊一筹,但是将其添加到整体中似乎可以稍微改善结果。 我们省略了该网络的详细信息,因为我们的实验表明,确切的体系结构参数的影响相对较小。此处,出于演示目的,表1中描述了最成功的特定实例(名为GoogLeNet)。 在我们的集成模型中,有7个模型中的6个使用了完全相同的拓扑(使用不同的采样方法训练)。
在这里插入图片描述
                  表1:GoogLeNet的化身:Inception 结构

所有卷积,包括Inception模块内部的那些卷积,均使用ReLU激活函数。在我们的网络中,感受野大小为224×224,采用RGB颜色通道(均值相减)。 “#3×3缩小”和“#5×5缩小”表示在3×3和5×5卷积之前使用的缩小层中1×1卷积核的数量。 在pool proj列中内置最大池之后,可以看到投影层中1×1卷积核的数量。 所有这些缩小/投影层也都使用ReLU激活函数。

该网络在设计时就考虑到了计算效率和实用性,因此可以在包括计算资源有限(尤其是内存占用量少)的单个设备上运行训练测试。 仅计算带参数的层时,网络深22层(如果我们也计算池化层,则网络为27层)。 用于网络构建的层(独立构建块)的总数约为100。但是,此数目取决于所使用的机器学习基础结构系统。 在分类器之前使用平均池基于[12],尽管我们的实现不同之处在于我们使用了额外的线性层。 这使我们可以轻松地针对其他标签集对我们的网络进行调整和微调,但这主要是方便,我们并不期望它会产生重大影响。 已经发现,从全连接层转移到平均池可将top-1精度提高约0.6%,但是即使在除去完全连接的层之后,仍必须使用压降。

考虑到网络的深度较大,以有效方式将梯度传播回所有层的能力是一个问题。 一个有趣的见解是,相对较浅的网络在此任务上的强大性能表明,网络中间各层所产生的功能应非常有区别。 通过添加连接到这些中间层的辅助分类器,我们有望激励在分类器的较低级进行区分,增加被传播回的梯度信号,并提供其他正则化。 这些分类器采用较小的卷积网络的形式,位于Inception(4a)和(4d)模块的输出之上。 在训练过程中,它们的损失将以折扣权重添加到网络的总损失中(辅助分类器的损失加权为0.3)。 在测试过程中,这些辅助网络将被丢弃。

包含辅助分类器在内的额外网络的确切结构如下:

  • 平均池化层采用5×5的卷积核大小,步长为3,导致(4a)的输出为4×4×512,(4d)的输出为4×4×528。
  • 具有128个1×1大小的卷积核,用于减小尺寸和校正线性激活。
  • 具有1024个节点的全连接层,并具有线性校正激活功能。
  • 一个具有70%的下降输出比率的Dropout层。
  • 一个具有softmax损失的线性层作为分类器(预测与主分类器相同的1000个分类,但在推理时将其删除)。

生成的网络的示意图如图3所示:

在这里插入图片描述
                      图3:GoogLeNet完整网络结构

6. 训练方法

我们的网络使用DistBelief [4]分布式机器学习系统进行了训练,该系统使用了少量模型和数据并行性。 尽管我们仅使用基于CPU的实现,但粗略估计表明,可以训练GoogLeNet网络在一周内使用很少的高端GPU进行融合,主要限制是内存使用率。 我们的训练使用具有0.9动量的异步**随机梯度下降[**17],固定的学习速率时间表(每8个周期将学习速率降低4%)。Polyak平均[13]用于创建推理时使用的最终模型。

在进入竞赛的那几个月中,我们的图像采样方法发生了实质性的变化,并且已经对融合的模型进行了其他选择的训练,有时还结合了更改后的超参数,例如Dropout概率和学习率,因此很难给出最有效的单一方法来训练这些网络。 使问题更加复杂的是,受[8]的启发,一些模型主要针对较小的物体进行了训练,而另一些则针对较大的相对物体进行了训练。不过,经过竞赛验证可以有效工作的一种处方包括对各种尺寸的图像小块进行采样,这些图像小块的大小均匀地分布在图像区域的8%和100%之间,并且长宽比在3/4和4/3之间随机选择。同样,我们发现安德鲁·霍华德[8]的光度学失真在某种程度上有助于防止过度拟合。 此外,我们开始使用随机插值方法(双线性,面积,最近邻和三次,具有相等的概率)来调整相对较晚的大小,并与其他超参数更改结合使用,因此我们无法确切确定最终结果是否受到以下因素的正影响。

7. ILSVRC 2014分类挑战设置和结果

ILSVRC 2014分类挑战涉及将图像分类为Imagenet层次结构中1000个叶节点类别之一的任务。 大约有120万张图像用于训练,50,000张图像用于验证,100,000张图像用于测试。 每幅图像都与一个真实标签框与之对应,并且根据得分最高的分类器预测来衡量性能。
通常报告两个数字:Top-1准确率,将真实类别与排名第一的预测类进行比较Top-5错误率,将真实类别与排名前5个的预测类进行比较:如果真实类别位于前五名预测类之中,则无论其排名如何,图像被视为正确分类 。 该挑战赛使用Top-5错误率进行排名。

我们在参加挑战过程中,没有使用任何外部数据进行训练。 除了本文前面提到的训练方法外,我们在测试过程中采用了一组方法来获得更高的性能,下面将详细介绍。

  1. 我们独立训练了同一GoogLeNet模型的7个版本(包括一个更广泛的版本),并对其进行了整体预测。 这些模型使用相同的初始化(即使是使用相同的初始权重,主要是由于疏忽所致)和学习率策略来训练,并且它们的区别仅在于采样方法和输入图像的随机顺序。
  2. 在测试过程中,我们采用了比K​​rizhevsky等人更积极的cropping方法。 [9]。 具体来说,我们将图像调整为4个比例,其中较短的尺寸(高度或宽度)分别为256、288、320和352,取这些调整后图像的左,中和右正方形(在纵向图像的情况下, 顶部,中央和底部正方形)。然后,对于每个正方形,我们取4个角和中心224×224的crop,以及将正方形调整为224×224的大小以及它们的镜像版本。 这导致每个图像4×3×6×2 = 144个crop。 安德鲁·霍华德(Andrew Howard)[8]在上一年的录取中使用了类似的方法,我们通过实证验证,该方法的性能比拟议的方案稍差。我们注意到,在实际应用中,这种积极的cropping方法可能不是必需的,因为在存在一定数量的crops之后,更多crops的收益就微不足道了(我们将在后面展示)。
  3. 将softmax概率在多个crops和所有单个分类器上取平均,以获得最终预测。 在我们的实验中,我们分析了验证数据的替代方法,例如,对crop的最大池化和对分类器的平均化,但与简单的平均化相比,它们的性能较差。
    在这里插入图片描述

在本文的剩余部分,我们分析了最终提交的影响整体性能的多种因素。

我们在挑战赛中的最终提交在验证和测试数据上均获得6.67%的Top-5错误率,在其他参与者中排名第一。 与2012年的SuperVision方法相比,相对减少了56.5%,与上一年的最佳方法(Clarifai)相比,减少了约40%,二者均使用外部数据来训练分类器。 下表显示了一些效果最好的方法的统计信息。

我们还通过更改下表中预测图像时的模型数量和使用的crops数量,来分析和报告多种测试选择的性能。 当我们使用一种模型时,我们在验证数据上选择了top-1错误率最低的模型。 所有数字均报告在验证数据集上,以免过度拟合测试数据统计信息。

8. ILSVRC 2014检测挑战设置和结果

ILSVRC检测任务是在200种可能的类别中的图像中的对象周围生成边界框。 如果检测到的对象与ground truth的类别匹配并且其边界框重叠至少50%(使用Jaccard索引),则视为正确。 无关检测会被视为误报,并会受到处罚。 与分类任务相反,每个图像可能包含许多对象或不包含任何对象,并且其比例可能从大到小变化。 使用平均精度(mAP)评判结果。
在这里插入图片描述
GoogLeNet用于检测的方法与[6]中的R-CNN相似,但是使用Inception模型作为区域分类器进行了扩充。 此外,通过将选择性搜索[20]方法与多框[5]预测相结合,可以提高区域提议步骤,从而实现更高的对象边界框召回率。 为了减少误报的数量,超像素尺寸增加了2倍。 这将来自选择性搜索算法的建议减半。 我们增加了200个来自多框[5]的区域提案,结果总共占[6]使用的提案的60%,而覆盖范围则从92%增加到93%。 减少提案数量并扩大覆盖范围的总体效果是,单个模型案例的平均平均精度提高了1%。 最后,在对每个区域进行分类时,我们使用6个ConvNet的集合,将结果的准确度从40%提高到43.9%。 请注意,与R-CNN相反,由于缺乏时间,我们没有使用边界框回归。

我们首先报告最高的检测结果,并显示自第一版检测任务以来的进度。 与2013年的结果相比,准确性几乎提高了一倍。 表现最好的团队都使用卷积网络。 我们在表4中报告了官方成绩以及每个团队的共同策略:使用外部数据,整体模型或上下文模型。 外部数据通常是用于预先训练模型的ILSVRC12分类数据,该模型随后将根据检测数据进行完善。一些团队还提到了本地化数据的使用。 由于大部分本地化任务边界框未包含在检测数据集中,因此可以使用此数据对通用边界框回归器进行预训练,方法与分类用于预训练的方式相同。GoogLeNet条目未使用本地化数据进行预训练。

在表5中,我们仅使用单个模型比较结果。 表现最好的模型是Deep Insight提供的,令人惊讶的是,只有3个模型的组合才提高了0.3点,而GoogLeNet的组合则获得了明显更强的结果。

9. 结论

我们的结果似乎提供了有力的证据,即通过随时可用的密集构造块来近似预期的最佳稀疏结构,是改善计算机视觉神经网络的可行方法。 与较浅和较不宽泛的网络相比,此方法的主要优点是在计算需求适度增加的情况下可显着提高质量。 还要注意,尽管我们既未利用上下文也未执行边界框回归,但我们的检测工作具有竞争优势,这一事实进一步证明了Inception体系结构的实力。 尽管可以预期,通过深度和宽度相近的昂贵得多的网络可以达到类似的结果质量,但是我们的方法得出的确凿证据表明,转向稀疏结构通常是可行且有用的想法。 这表明在[2]的基础上,未来的工作有希望以自动方式创建稀疏和更精细的结构。

10. 致谢

我想感谢Sanjeev Arora和Aditya Bhaskara对[2]的富有成果的讨论。 我们还要感谢DistBelief [4]团队的支持,尤其是对Rajat Monga,Jon Shlens,Alex Krizhevsky,Jeff Dean,Ilya Sutskever和Andrea Frome的支持。 我们还要感谢Tom Duerig和Ning Ye在光度畸变方面的帮助。 同样,如果没有Chuck Rosenberg和Hartwig Adam的支持,我们的工作将是不可能的。

发布了57 篇原创文章 · 获赞 512 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wjinjie/article/details/105450608