2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 《Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》阅读笔记

《Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》阅读笔记

时间:2021-08-30 11:02:03

相关推荐

《Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》阅读笔记

《Context Encoders: Feature Learning by Inpainting》阅读笔记

摘要

我们提出了一种基于上下文的像素预测驱动的无监督视觉特征学习算法。类似于自动编码器,我们提出了上下文编码器-一种经过训练的卷积神经网络,可以生成以周围环境为条件的任意图像区域的内容。为了成功完成此任务,上下文编码器既需要了解整个图像的内容,又需要为丢失的部分生成合理的假设。在训练上下文编码器时,我们已经尝试了标准的逐像素重建损失,以及重建加上对抗损失。后者可产生更清晰的结果,因为它可以更好地处理输出中的多种模式。我们发现上下文编码器学习的表示形式不仅捕获外观,而且捕获视觉结构的语义。我们定量地证明了我们所学习的特征对于CNN进行分类,检测和分割任务的预训练的有效性。此外,上下文编码器可独立或作为非参数方法的初始化用于语义修复任务。

1 介绍

我们的视觉世界非常多样化,但结构高度结构化,人类具有不可思议的能力来理解这种结构。在这项工作中,我们探索了最新的计算机视觉算法是否可以做到这一点。考虑图1a所示的图像。尽管图像的中心部分丢失了,但是我们大多数人都可以轻松地从周围的像素中想象出其内容,而无需看过确切的场景。我们中有些人甚至可以绘制它,如图1b所示。 这种能力来自以下事实:尽管自然图像具有多样性,但结构高度(例如,立面上窗户的规则图案)。即使只看到场景的一部分,我们人类也能够理解这种结构并做出视觉预测。在本文中,我们表明可以使用卷积神经网络(CNN)来学习和预测这种结构,卷积神经网络是最近在各种图像理解任务中都显示出成功的一类模型。

给定具有缺失区域的图像(例如图1a),我们训练卷积神经网络以回归到缺失像素值(图1d)。我们将我们的模型称为上下文编码器,它由将图像上下文捕获为紧凑的潜在特征表示形式的编码器和使用该表示形式产生缺失图像内容的解码器组成。上下文编码器与自动编码器[3,20]密切相关,因为它共享相似的编码器-解码器体系结构。 自动编码器会获取输入图像,并在其穿过低维“瓶颈”层后尝试对其进行重构,目的是获得场景的紧凑特征表示。不幸的是,该特征表示很可能仅压缩图像内容而不会学习语义上有意义的表示。去噪自动编码器[38]通过破坏输入图像并要求网络消除损害来解决此问题。但是,此损坏过程通常是非常局部的并且是低级的,并且不需要大量的语义信息即可撤消。相比之下,我们的上下文编码器需要解决更艰巨的任务:填充图像的较大缺失区域,该区域无法从附近像素获得“提示”。

这需要对场景进行更深入的语义理解,并具有在较大空间范围内合成高级特征的能力。例如,在图1a中,需要“凭空”来构想整个窗口。这在本质上类似于word2vec [30],后者通过在给定上下文的情况下预测单词来从自然语言句子中学习单词表示。像自动编码器一样,上下文编码器以完全不受监督的方式进行训练。我们的结果表明,为了成功完成此任务,模型既需要理解图像的内容,又需要为缺失的部分提供合理的假设。但是,此任务本质上是多模式的,因为有多种方法可以填充缺失的区域,同时还可以保持与给定上下文的一致性。通过联合训练上下文编码器以使重建损失和对抗损失最小化,我们在损失函数中消除了这种负担。重建损失(L2)捕获了与上下文有关的缺失区域的整体结构,而对抗损失[16]具有从分布中选择特定模式的效果。图1显示,仅使用重建损失会产生模糊的结果,而将对抗损失相加会得出更清晰的预测。

我们分别评估编码器和解码器。在编码器方面,我们表明仅对图像补丁的上下文进行编码,然后使用结果特征从数据集中检索最近邻上下文,就会产生在语义上与原始(看不见的)补丁相似的补丁。我们通过针对各种图像理解任务(包括分类,对象检测和语义分割)微调编码器,进一步验证了学习到的特征表示的质量。在这些任务上,我们与最先进的无监督/自我监督方法竞争。在解码器方面,我们表明我们的方法通常能够填充逼真的图像内容。确实,据我们所知,我们是第一个能够为语义孔填充(即大的缺失区域)提供合理结果的参数修复算法。上下文编码器还可以作为更好,用于在非参数修复方法中计算最近邻的视觉特征。

2 相关工作

在过去的十年中,计算机视觉在语义图像理解任务(例如分类,对象检测和分段)方面取得了巨大进步。 最近,卷积神经网络(CNN)[13,27]大大提高了这些任务的性能[15,26,28]。 这种图像分类模型的成功为解决更棘手的问题铺平了道路,其中包括无监督的理解和自然图像的生成。 我们简要回顾与本文有关的每个子领域中的相关工作。

无监督学习

CNN经过ImageNet [37]分类训练,有超过一百万个带有标签的示例,其学习的功能可以很好地概括各个任务[9]。 但是,是否可以仅从原始图像中学习这种语义上有意义且可概括的特征,而无需任何标签,这仍然是一个悬而未决的问题。 自动编码器是深度无监督学习中最早的工作[3,20]。 沿着相似的路线,去噪自动编码器[38]从局部损坏中重建图像,以使编码对于此类损坏具有鲁棒性。 尽管可以将上下文编码器视为去噪自动编码器的一种变体,但应用于模型输入的损坏在空间上要大得多,需要更多的语义信息才能撤消。

弱监督和自监督学习

最近,人们非常关注使用弱监督和自我监督学习来学习有意义的表示形式。 一种有用的监督来源是使用视频中包含的时间信息。 跨时间框架的一致性已被用作监督学习嵌入的方法,这些嵌入在许多任务上表现良好[17,34]。 使用一致性的另一种方法是跟踪视频帧中包含任务相关属性的补丁,并使用跟踪补丁的一致性来指导训练[39]。 从非视觉传感器读取的自我运动已被用作监督信号,以训练视觉特征等。 [1,21]。

与本文最密切相关的是努力利用空间背景作为自由和丰富的监督信号的来源。 Visual Memex [29]使用上下文来非参数地建模对象关系并预测场景中被遮罩的对象,而[6]使用上下文来建立无监督对象发现的对应关系。但是,这两种方法都依赖于手工设计的功能,并且没有执行任何表示学习。最近,Doersch等人。 [7]使用预测图像中相邻小块的相对位置的任务作为训练无监督的深层特征表示的方法。我们与Doersch等人拥有相同的高级目标。但是在方法上根本不同:[7]正在解决区分性任务(补丁A在补丁B之上还是在补丁B以下?),我们的上下文编码器解决了一个纯粹的预测问题(什么像素强度应该进入孔中?)。有趣的是,在使用语言上下文学习单词嵌入时也存在类似的区别:Collobert和Weston [5]提倡一种判别方法,而word2vec [30]将其表述为单词预测。我们的方法的一个重要好处是我们的监控信号要丰富得多:上下文编码器需要为每个训练示例预测大约15,000个实际值,而在[7]的8个选择中只有一个选项。可能是由于这种差异所引起的,我们的上下文编码器花费的时间比[7]少得多。此外,与[7]相比,色差部分解决了任务,基于上下文的预测也很难“欺骗”,因为低级图像特征(例如色差)不会提供任何有意义的信息。另一方面,尚不清楚是否需要通过稳定的像素生成来学习良好的视觉特征。

图像生成

自然图像的生成模型已经引起了广泛的研究兴趣[16、24、35]。 最近,Radford等人。 [33]提出了新的卷积架构和针对生成对抗网络(GAN)的优化超参数[16],产生了令人鼓舞的结果。 我们使用对手与重建损失一起训练上下文编码器,以生成修复结果。 我们将在3.2节中对此进行详细讨论。 Dosovitskiy等。 [10]和Rifai等。 [36]证明了CNN可以学习生成特定对象类别(分别为椅子和面部)的新颖图像,但是依赖带有这些类别示例的大型标记数据集。 相反,上下文编码器可以应用于任何未标记的图像数据库,并学习基于周围上下文生成图像。

修补和填孔

重要的是要指出,我们的孔填充任务无法通过经典的修补[4,32]或纹理合成[2,11]方法来处理,因为缺少的区域太大,无法局部使用非语义方法。 在计算机图形学中,通常通过场景完成来完成大洞的填充[19],其中涉及使用数百万个图像数据集中的最近邻进行剪切粘贴公式化。 但是,场景完成是为了填补通过移除整个对象而留下的空洞,并且它很难填补任意空洞,例如 部分遮挡的对象的无模态完成。 此外,之前的完成取决于手工制作的距离量度,例如 Gist [31]用于最近邻计算,该算法劣于学习距离的度量。 我们证明了我们的方法通常能够以参数化方式来修补语义上有意义的内容,并为基于最近邻的修补方法提供更好的功能。

3 用于图像生成的上下文编码器

现在,我们介绍上下文编码器:CNN 可以从周围环境中预测场景的缺失部分。 我们首先给出总体架构的概述,然后提供学习过程的详细信息,最后提出用于图像区域去除的各种策略。

3.1编解码器途径

总体架构是一个简单的编码器-解码器管道。编码器获取缺少区域的输入图像,并生成该图像的潜在特征表示。解码器采用此特征表示并生成丢失的图像内容。我们发现通过通道的全连接层连接编码器和解码器很重要,这允许解码器中的每个单元推理整个图像内容。图2显示了我们的体系结构的概述。

编码器我们的编码器源自AlexNet架构[26]。给定大小为227×227的输入图像,我们使用前五个卷积层和随后的合并层(称为pool5)来计算抽象的6×6×256维特征表示。与AlexNet相比,我们的模型没有针对ImageNet分类进行训练;而是训练网络使用随机初始化的权重“从头开始”进行上下文预测。

但是,如果编码器体系结构仅限于卷积层,则无法将信息直接从特征图的一个角传播到另一个角。之所以如此,是因为卷积层将所有要素图连接在一起,但从未直接将特定要素图中的所有位置连接在一起。在当前体系结构中,此信息传播由全连接层或内部产生层处理,其中所有激活都直接相互连接。在我们的体系结构中,编码器和解码器的潜在特征尺寸均为6×6×256 = 9216。之所以如此,是因为与自动编码器不同,我们不重建原始输入,因此不必具有较小的瓶颈。但是,完全连接编码器和解码器会导致爆炸。参数的数量(超过100M!),以至于难以在当前GPU上进行有效训练。为了缓解此问题,我们使用通道级全连接层将编码器功能部件连接到解码器,下面将详细介绍。通道级全连接层该层实质上是成组的全连接层,旨在在每个要素图的激活范围内传播信息。如果输入层具有m个大小为n×n的特征图,则该层将输出m个大小为n×n的特征图。然而,与完全连接的图层不同,它没有连接不同要素图的参数,仅在要素图内传播信息。因此,与完全连接层中的m2n4m^2n^4m2n4参数相比(忽略偏置项),此通道方式完全连接层中的参数数量为mn4mn^4mn4。随后是步幅1卷积,以跨通道传播信息。解码器现在我们讨论流水线的后半部分,即解码器,它使用编码器功能生成图像的像素。 “编码器功能”使用通道方式的完全连接层连接到“解码器功能”。通道级完全连接层后面是一系列五个向上卷积的层[10、28、40],这些层具有学习的滤波器,每个滤波器都具有整流线性单元(ReLU)激活功能。向上卷积只是导致高分辨率图像的卷积。可以理解为先进行升采样再进行卷积(如[10]中所述),或进行带小步幅的卷积(如[28]中所述)。这背后的直觉很直接-一系列的向上卷积和非线性包括编码器产生的特征的非线性加权向上采样,直到我们大致达到原始目标大小为止。3.2损失函数我们通过回归缺失(丢失)区域的真值内容来训练上下文编码器。然而,通常有多种同样合理的方式来填充与上下文一致的缺失图像区域。我们通过具有解耦的联合损失函数来处理此行为,以处理上下文中的连续性和输出中的多个模式。重建(L2)损失负责捕获缺失区域的整体结构并就其上下文进行连贯,但往往会将预测中的多个模式平均在一起。另一方面,对抗性损失[16]试图使预测看起来真实,并具有从分布中选择特定模式的效果。对于每个真值图像xxx,我们的上下文编码器F产生输出F(x)F(x)F(x)。设M^\widehat{M}M为与丢弃的图像区域相对应的二进制掩码,在任何丢弃的像素处值为1,对于输入的像素为0。在训练期间,将针对每个图像和训练迭代自动生成这些蒙版,如第3.3节中所述。现在我们描述损失函数的不同组成部分重建损失我们使用masked L2距离作为我们的重建损失函数LrecLrecLrec,

Lrec(x)=∣∣M^⊙(x−F((1−M^)⊙x))∣∣2Lrec(x)= ||\hat{M} \odot (x-F((1-\hat{M})\odot x))||_2Lrec(x)=∣∣M^⊙(x−F((1−M^)⊙x))∣∣2​

其中,⊙\odot⊙是元素乘积运算。 我们对L1和L2损耗进行了实验,发现它们之间没有显着差异。 尽管这种简单的损失促使解码器生成了预测对象的粗略轮廓,但它常常无法捕获任何高频细节(见图1c)。 这是由于L2(或L1)的损失通常比模糊的纹理更倾向于模糊的解决方案。 我们相信,发生这种情况是因为L2损失预测分布的均值“更安全”,因为这会最小化平均像素方向的误差,但会导致平均图像模糊。 我们通过增加对抗性损失缓解了这个问题。对抗性损失我们的对抗性损失是基于生成对抗性网络(GAN)[16]。为了学习数据分布的生成模型G,GAN提议共同学习对抗性判别模型D,以为生成模型提供损失梯度。 G和D是参数函数(例如,深层网络),其中G:Z→X将样本从噪声分布Z映射到数据分布X。学习过程是一个两人游戏,对手辨别器D接受G样本和地面真实样本的预测,并试图区分它们,而G试图通过产生尽可能“真实”的样本来混淆D。判别目标是逻辑似然,指示输入是真实样本还是预测样本:

最近,这种方法在图像的生成建模中显示出令人鼓舞的结果[33]。因此,我们通过上下文编码器对生成器进行建模,从而使该框架适用于上下文预测。即G=FG =FG=F。为了为此任务定制GAN,可以以给定的上下文信息为条件。即遮罩M^⊙x\hat{M}\odot xM^⊙x。但是,条件GAN很难训练上下文预测任务,因为对抗性鉴别器D可以轻松利用生成区域和原始上下文中的感知不连续性轻松地对预测样本与真实样本进行分类。因此,我们通过在上下文中仅对生成器(而不是鉴别器)进行条件化来使用另一种表述。我们还发现,当发生器不以噪声矢量为条件时,结果会得到改善。我们的上下文编码器的GAN目标如下:因此,上下文编码器LadvLadvLadv的对抗损失为

在实践中,使用交替的SGD对F和D进行联合优化。 请注意,此目标鼓励上下文编码器的整个输出看起来逼真,而不仅仅是方程(1)中的缺失区域。

3.2区域遮罩

上下文编码器的输入是一幅图像,其中一个或多个区域“掉线”; 也就是说,假设输入为零,则将其设置为零。 删除的区域可以是任何形状,在此我们提出三种不同的策略:

中央区域最简单的这种形状是图像中的中央正方形斑块,如图3a所示。尽管这对于修复效果很好,但是网络学习的是低级图像特征,而不是锁定在中央蒙版的边界上。这些低级图像特征往往不能很好地推广到没有遮罩的图像,因此学到的特征不是很普遍。随机块为了防止网络在被遮罩区域的恒定边界上锁存,我们将遮罩过程随机化。与其在固定位置选择一个较大的遮罩,不如删除许多较小的可能重叠的遮罩,这些遮罩最多覆盖图像的1 4。这样的一个例子在图3b中示出。但是,随机块遮罩仍然具有明显的边界,卷积特征可能会锁定在其上。随机区域为了完全消除那些边界,我们尝试了从图像中删除任意形状,这些图像是从PASCAL VOC 数据集中的随机蒙版获得的[12]。我们将这些形状变形并粘贴到其他图像的任意位置(不是来自PASCAL),再次覆盖图像的1 4。请注意,我们完全随机化了区域遮罩过程,并且不希望或不希望源分割遮罩和图像之间有任何关联。我们仅使用这些区域来防止网络学习与删除的蒙版相对应的底层功能。参见图3c中的示例。在实践中,我们发现区域和随机块遮罩会产生相似的一般特征,同时明显优于中心区域特征。我们对所有基于特征的实验都使用随机区域缺失。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。