Taskonomy: Disentangling Task Transfer Learning

【2】Zamir A, Sax A, Shen W, et al. Taskonomy: Disentangling Task Transfer Learning[J]. 2018.

           

目录

摘要:

1. 介绍

2.相关工作

3. 方法

3.1. 第一步:特定任务建模Task-Specific Modeling

3.2. 第二步:迁移模型

3.3. 第三步:使用层次分析法(Analytic Hierarchy Process,AHP)进行序数归一化Ordinal Normalization

3.4. 第四步:Computing the Global Taxonomy(没看懂)

4. 实验

4.1.解决一组任务

4.2.解决新任务

5. 结构的显着性检验

5.1.Evaluation on MIT Places & ImageNet

5.2.结构的普遍性

5.3.任务相似树

6. 局限与讨论

 

文中的任务:

CVPR 2018 Best Paper Taskonomy 作者解读


                                 

Deep Residual Learning for Image Recognition用于图像识别的深度残差学习(The encoder is modified based on ResNet-50),此篇论文是ResNet-50。

运行代码的过程见:https://blog.csdn.net/infinita_LV/article/details/81431380

理顺任务迁移学习

摘要:

       视觉任务之间是否有关系? 例如,表面法线可以简化估算图像的深度吗? 直觉回答了这些问题,暗示了视觉任务之间存在结构。 了解这种结构具有显着的价值; 这是迁移学习的基本概念,并提供了一种原则性的方法来识别任务之间的冗余,例如,无缝地重复用相关任务之间的监督或在一个系统中解决许多任务而不会增加复杂性。

       我们提出了一种完全计算的方法来建模视觉任务空间的结构。这是通过在潜在空间中的二十六个2D,2.5D,3D和语义任务的字典中发现的(第一和更高阶)迁移学习依赖性来完成的。 该产品是用于任务迁移学习的计算分类地图。 我们研究了这种结构的后果,例如: 非平凡(nontrivial emerged)关系,并利用它们来减少对标签数据的需求。 例如,我们表明,解决一组10个任务所需的标记数据点总数可以减少大约2/3(与独立训练相比),同时保持性能几乎相同。 我们提供了一套用于计算和探测这种分类结构的工具,用户可以用来为其 用例(use cases) 设计有效监督政策的求解器。

1. 介绍

       物体识别,深度估计,边缘检测,姿态估计等是被研究界认为有用和解决的常见视觉任务的示例。 它们中的一些具有相当清晰的关系:我们理解表面法线和深度是相关的(一个是另一个的衍生物),或者房间中的消失点对于定向是有用的。 其他关系不太清楚:关键点检测和房间中的阴影如何一起执行姿态估计。

       计算机视觉领域确实走得很远,但没有明确地使用这些关系。 我们通过开发先进的机器学习(例如ConvNets)取得了显着的进步,当有多对(x,y)s.t. x∈X,y∈Y作为训练数据给出时,机器学习能够发现从X到Y的复杂映射。这通常被称为完全监督学习,并且经常导致孤立地解决问题。 独立任务使训练新任务或综合感知系统成为无休止的挑战,每项任务都需要从头开始单独学习。 这样做会忽略它们之间的有用关系,从而导致需要大量的标记数据。

       或者,了解任务之间关系的模型需要较少的监督,使用较少的计算,并以更可预测的方式行事。 结合这样的结构是开发可证明有效的综合/通用感知模型的第一个踏脚石[34,4],即在监督或计算需求变得棘手之前可以解决大量任务的模型。 但是,这个任务空间结构及其影响仍然很大程度上未知。 这种关系是非平凡的,由于我们的学习模型和优化器是不完善的,因此找到这种关系很复杂。 在本文中,我们试图揭示这个底层结构,并提出一个映射视觉任务空间的框架。 这里我们所说的“结构”是一组计算发现的关系,它指定哪些任务为另一个提供有用的信息,以及提供多少(见图1:由计算任务分类法(taskonomy)发现的示例任务结构。 它发现,例如,通过组合曲面法线估计器和遮挡边缘检测器的学习特征,可以用很少的标记数据快速训练用于reshading和点匹配(point matching)的良好网络。)

       为此目的,我们采用完全计算方法,神经网络作为采用的计算功能类。 在前向传播网络中,每个层相继形成有更多抽象表示的输入,其包含将输入映射到输出所需的信息。 然而,这些表示可以传输对解决其他输出(任务)有用的统计数据,推测任务之间以某种形式相关[83,19,58,46]。 这是我们方法的基础:我们在任务之间估算一个affinity matrix(关联矩阵), 基于一个任务的解决方案是否能足够容易的从另一个任务训练的表示中读出来。 这种迁移被彻底抽样,利用BIP (Binary Integer Programming)公式从中提取全局有效的迁移策略。 我们展示这个模型来解决数据远少于独立学习应有数据的任务,并且得到的结构保存在常见的数据集上(ImageNet [78]和Places [104])。

       所提出的方法是完全计算和representation-based的,这避免对任务空间施加先前(可能不正确的)假设。 这是至关重要的,因为关于任务关系的先验通常来自人类的直觉或分析知识,而神经网络不需要按照相同的原则运作[63,33,40,45,102,88]。 例如,我们期望depth to transfer to surface normals better(求导很容易),但相反的是我们发现 a computational framework会获得更好的方向(即更适合神经网络)。

       http://taskonomy.vision/上提供了一个交互式分类求解器,它使用我们的模型来建议有效数据的课程,现场演示,数据集和代码。

2.相关工作

       任务之间存在结构的断言可以追溯到现代计算机科学的早期,例如,与图灵争论使用学习元素[95,98]而不是最终结果,或Jean Piaget的work在发展阶段使用以前学过的阶段作为来源[74,39,38],并扩展到最近的work[76,73,50,18,97,61,11,66]。在这里,我们尝试实际找到这个结构。我们承认这与广泛的主题有关,例如成分建模[35,10,13,23,55,92,90],同态密码学[42],终身学习[93,15,85,84],功能图[71],贝叶斯推理的某些方面和Dirichlet过程[54,91,90,89,37,39],少数学习[81,25,24,70,86],迁移学习[75, 84, 29, 64, 67, 59],un / semi /self监督学习[22,8,17,103,19,83],这些在各个领域进行研究[73,94,12]。我们在空间限制内审查与视觉最相关的主题:

     Self-supervised learning(自我监督学习)方法利用任务之间的固有关系,通过cheap surrogate(例如 colorization)[68, 72, 17, 103, 100, 69]来学习所需的expensive one(例如物体检测)。 具体而言,他们在任务空间中使用手动输入的结构的本地部分(因为surrogate task是手动定义的)。 相比之下,我们的方法是以计算方式模拟这个大的任务空间,并且可以发现模糊的关系。

     Unsupervised learning(无监督学习)涉及输入域中的冗余并利用它们来形成紧凑的representations,这通常对downstream任务是不可知的[8, 49, 20, 9, 32, 77]。 我们的方法is not unsupervised by definition,因为它对tasks是可知的。 相反,它模拟所属的空间任务,并以某种方式利用任务之间的功能冗余。

        Meta-learning(元学习)通常寻求在比传统学习发生的水平更高的水平上进行学习,例如, 用于强化学习[21,31,28],优化[2,82,48]或某些建筑机制[27,30,87,65]。 元学习背后的动机与我们的相似,我们的结果可以看作是任务空间的计算元结构。

        Multi-task learning(多任务学习)的目标是开发能够在一次运行中为输入提供多个输出的系统[50, 18]。多任务学习经历了最近的进展,并且报告的优点是对任务中存在有用结构的另一种支持[93, 100, 50, 76, 73,50,18,97,61,11,66]。 与多任务学习不同,我们明确地模拟任务之间的关系并提取元结构。 我们考虑的大量任务也使得开发one multi-task network for all变得不可行。

        Domain adaption(域自适应)旨在提供在适用于另一个域的某个域上开发的函数[44, 49, 5, 80, 52, 26, 36]。 它经常解决输入域的shift,例如: 摄像头图像到D-SLR [47],而任务保持不变。 相反,我们的框架关注输出(任务)空间,因此可以视为task/output adaptation。 我们还在许多元素之间的更大空间中进行适应,而不是两个或几个。

       在我们的跨任务迁移学习建模方法的背景下:

      Learning Theoretic(学习理论)方法可能与上述任何主题重叠,通常侧重于提供泛化保证(generalization guarantees)。 它们的方法各不相同:例如:modeling transferability with the transfer family,需要将一个任务的假设映射到另一个任务的假设[7],通过基于信息的方法[60],或通过建模归纳偏差[6]。 对于这些保证,学习理论方法通常依赖于难以处理的计算,或通过限制模型或任务来避免这种计算。 我们的方法从理论方法中汲取灵感,但目前为了使用现代神经机制而避免理论保证。

3. 方法

        首先,我们来定义我们想要解决的问题。我们想在有限的监督预算r(监督预算表达了我们所面对的金钱、计算力和时间上的限制)下最大化我们在一组目标任务 (target tasks)Τ={t1,...,tn} 上的表现。同时,我们有一组起始任务S(source tasks) ,其定义为我们可从零学习的任务。监督预算γ 定义为起始任务的最大允许数量。我们称V=T∪S为任务字典(task dictionary),T是要解决的任务集,S是能被训练的数据集。T-T∩S代表了我们感兴趣但不能从零学习的任务,比如一个只能有少量数据的任务(“只有目标”),T∩S代表了我们感兴趣也能从零学习的任务,但因为从零学习会消耗监督预算,我们希望从中选择出符合预算的一组从零学习,余下的通过少量数据的迁移学习来实现。S-T∩S代表了我们不感兴趣但可以从零学习(用来选择性的使用以帮助我们更好的学习T)的任务,如jigsaw puzzle、colorization等自我监督的视觉任务。

      任务分类(taskonomy)是计算上发现的有向超图(directed hypergraph),它捕获了任务字典体现的任务可迁移性。 一组源任务和目标任务之间的边缘表示可行的转移案例(transfer case),权重是对其性能的预测。 我们使用这些边缘来估计解决T的全局最优迁移策略。分类法生成一系列此类图表,通过可用的监督预算、所选任务、迁移订单、迁移函数的表达性进行参数化。

        图2表示此方法过程,分4步。第一步,对于每个起始任务, 为其从零开始训练一个神经网络。第二步,训练任务之间的关联性。包括一阶关联(任务之间一对一的关联)和高阶关联(任务之间多对一的关联)。第三步:用一个 affinity matrix 量化任务之间的关联。第四步:我们合成了一个hypergraph,它可以预测迁移策略的性能并对其进行优化。

        视觉任务是从原始图像中提取出抽象图像。用ft作为任务t的标注,这表示将图像I映射到ft(I)。D表示数据集,为每个任务包含一组训练对(I,ft(I) ),例如:(image, depth)

       任务字典:我们的任务空间映射是通过字典中包含的(26)任务完成的,因此我们确保它们涵盖计算机视觉(2D,3D,语义semantics等)中的常见主题,以阐明任务空间的细化结构fine-grained structures。 有关一些任务,请参见图3,其中详细定义了补充材料中提供的每项任务。 我们包括具有各种抽象级别的任务,范围从可通过在图像(例如边缘检测)上卷积的简单内核解决到需要基本理解场景几何scene geometry的任务(例如消失点)和涉及语义的更抽象的任务(例如场景分类)。

       值得注意的是,任务字典不是一个详尽的列表,而是一个采样集,它来自所有可想象的视觉任务/抽象的密集空间。采样为我们提供了一种对密集空间进行稀疏建模的易处理方法,并且假设(经过适当的抽样)衍生模型derived model可以推广到字典外的任务。 空间越有规律、越好的采样,其泛化性generalization越好。 我们用了4.2秒评估出支持结果。 为了评估results w.r.t the choice of dictionary的鲁邦性,请参见补充材料。

      数据集:我们需要一组每个图像上都有任务注释的数据集。 在完全相同的像素上训练我们的所有任务,来消除观察到的可迁移性会被不同输入数据特性及任务固有特性 intrinsics影响的可能性。 由于没有真实图像的比例数据集,因此我们从大约600座建筑物中创建了400万张室内场景图像数据集。 每个图像都有一个每个任务的注释。 这些图像在类似于[3,101,14]的建筑物网格上注册并与之对齐,使我们能够以编程方式计算许多任务的ground truth,而无需人工标记。 对于仍然需要标签的任务(例如场景类),我们从已知方法[104,57,56,78]使用Knowledge Distillation【43】生成它们。 有关该过程的完整详细信息,以及对使用Knowledge Distillation生成标签的最终质量的研究(显示<7%错误),请参阅补充材料。

3.1. 第一步:特定任务建模Task-Specific Modeling

       我们为S中的每个任务训练一个完全受监督的 task-specific network。 所有任务在task-specific network中都具有相同的编码 - 解码架构,其中编码器足以提取强大的表示representations,解码器比编码器小得多但足以实现良好性能。

论文作者解读:对于每个起始任务, 我们为其从零开始学习一个神经网络。为了能更好地控制变量从而比较任务关联,每个任务的神经网络具有相似的encoder decoder结构。所有的encoder都是相同的类ResNet 50结构。因为每个任务的output维度各不相同,decoder的结构对不同的任务各不相同,但都只有几层,远小于encoder的大小。(注:CVPR poster session期间有人问起,decoder泛指readout functions,比如classification的FC Layers也算为decoder )

3.2. 第二步:迁移模型

如图4所示,对于一个起始任务s∈S和一个目标任务t∈T,我们将以 s 的representation作为输入来学习 t 。我们将freeze任务 s 的encoder 参数,并基于encoder的输出 (representations) 学习一个浅层神经网络readout function。

式子中      Ft(I)表示I图像中t的ground truth,也就是标注

Es(I)表示s 的encoder输出的对图像I的representation,

Ds→t表示readout function,也就是学习目标

Lt表示t的loss函数

I∈D表示图片和迁移训练集

D 表示要迁移学习的浅层神经网络

对于所有 s 和 t 组合,我们均训练了一个Ds→t。如下图所示,对于 t ,不同的Es(I)会对Ds→t 的performance造成不同的影响。更具关联的 s 会为 t 提供更有效的statistic,从而仅用1/60的训练数据(相较于从零学习)就能取得不错的结果;相反不具备关联的 s 则并不能有此表现。因此,我们认为Ds→t很好地代表了 s 之于 t 的关联性。

图5:两种迁移结果,来自5个不同的起始任务。在不同来源之间的可迁移性是显而易见的,在本例下,在表现最好的几个之间进行了重新调整。 用60x数据训练task-specific network。 “Scratch”从头开始训练,没有转学习。

       可访问性Accessibility:为了使迁移成功,起始任务的潜在表示 latent representation应该包括求解目标任务的足够信息,并且可以访问信息have the information accessible,即易于提取(否则,原始图像或其基于压缩的 representations 将是最优的)。 因此,对于我们来说,采用低容量(小)架构作为使用少量数据训练的传递函数是至关重要的,以便以高度可访问性为条件来测量可转移性。 我们使用浅的全卷积网络并用很少的数据训练它(比特定任务网络少8到120倍)。

     Higher-Order Transfers高阶关联: 几个任务之间可能具有互补性,结合几个起始任务的representations会对解决目标任务起到帮助。在这种情况下,我们将几个起始任务的representation结合起来当作目标任务的输入,其余细节跟一阶关联类似。

       因为高阶的任务组合数量太大,我们采用了一种抽样程序,其目标是在不进行训练的情况下过滤掉结果不好的高阶迁移,我们基于一阶表现选择了一部分的组合进行迁移学习。对于小于五阶的高阶,我们根据一阶的表现,将最好的五个起始任务和他们的所有种组合作为输入。对于n>5阶, we use a beam of size 1 and compute the transfer from the top k sources, 我们选择结合一阶表现前n的起始任务作为输入。

      传递性转移Transitive Transfers:我们检查了传递性任务转移(s→t1→t2)是否可以改善其直接对应物的性能(a→t2),但发现两者在高数据和低数据的几乎所有情况下都具有相同的性能。实验在补充材料中提供。 因此,我们不需要考虑在搜索最佳传输路径时存在分支的情况。

3.3. 第三步:使用层次分析法(Analytic Hierarchy Process,AHP)进行序数归一化Ordinal Normalization

      这一步的目标为用一个 affinity matrix 量化任务之间的关联。虽然从上步习得的迁移网络中我们获得了许多的loss值 Ls→t,但因这些loss值来自于不同的loss 函数,它们的值域有很大差别。如果我们把这些loss值直接放入一个矩阵(上图左,纵轴为目标任务、横轴为起始任务),那么这个矩阵内的值及其不均匀,并不能有效反应任务之间的关联。同时,简单的线性规范化也并不能解决问题,因为任务的loss值和表现并不构成线性关系(0.01的 l2  loss并不代表其表现两倍好于0.02的loss)。由此,我们采用Ordinal Normalization(基于序数的规范化)来将loss值转换为关联度。该方法基于运筹学中的 AHP (Analytic Hierarchy Process)。概括来讲,affinity matrix中的第 (i,j) 个值为利用第 i 个起始任务迁移后,其网络有多大的几率表现好于用第 j 个网络(我们在下文称其为 i 对于 j 的胜率)。

对于每个目标任务 t ,我们构建pairwise tournament矩阵 Wt ,其纵轴和横轴均对应所有的起始任务及我们计算过的高阶组合。给定一个测试集 Dtest, Wt 的 (i,j) 项为 si 在 Dtest的所有图片输入中有多大的几率表现好于 sj 。在将 Wt 的值clip到 [0.001,0.999] (如何clip的?),计算 W'_t = W_t / W_t^T , W'_t 的 (i,j) 项 w'_{i,j} 现在代表着 s_i 表现好于 s_j 几倍。在把 W'_t 规范化成数值和为1的矩阵后,我们将 s_i 相对于 t 的关联性(抑或可迁移性)定义为 W'_t 的第 i 项principal eigenvector。将所有目标任务的 W'_t 合并起来,我们获得最终的affinity matrix P。这种方法源自Analytic Hierarchy Process [79],这是一种在运筹学中广泛使用的方法,用于基于多个成对比较创建总订单。

 https://wenku.baidu.com/view/29ee2b19998fcc22bdd10dba.html这个PPT中讲解了用和法求正互反阵的最大特征值和特征向量,不知道本文作者是否用此方法。因为没看懂作者此步具体运算方法。AHP方法我看懂了,笔记上有,但不知作者用了哪部分。

3.4. 第四步:Computing the Global Taxonomy(没看懂)

最后一步,我们要基于affinity matrix求得如何最有效地学习一组我们感兴趣的任务。我们可以这个问题想象成一个subgraph selection的问题:选择一些任务从零学习,剩下的任务用少量数据进行迁移学习,具体迁移学习的策略由subgraph中的edge来决定(对一条directed edge,起始点代表我们从零学习的一个任务,终点代表要进行迁移的目标任务)。基于此,我们可以通过解如下BIP最优化问题来得到最优解:

为给出归一化的任务关联矩阵,我们需要设计一个全局迁移策略,最大限度地提高所有任务的集体性能,同时最大限度地减少使用监督。 这个问题可以表示为子图选择,其中任务是节点,传输是边。 最优子图选择理想的初始任务节点和从这些节点到目标的最佳边缘,同时满足源节点的数量不超过监督预算。 我们使用Boolean Integer Programming(BIP)来解决这个子图选择问题,它可以最佳和有效地解决[41,16]。

我们定义了返回目标和边缘源的运算符通过完全监督解决的任务t,表示为( {t},  t ),我们也用 j 来索引目标 T ,因此在这一节中,i 是边,j 是目标。

参数是:监督预算(r); 对目标的每个迁移性能的测量(p_{i}),来自P。 我们还可以选择包括以下附加参数:r_{j} 指定为每个目标任务的相对重要性,以及 l_{i} 指定为每个任务获取标签的相对成本。

BIP由向量x参数化,其中每个迁移和每个任务由二进制变量表示; x表示选择哪些节点作为源,以及选择哪些迁移。 BIP的规范形式是:

迁移的每个元素c_{i}是其目标任务的重要性和迁移性能的乘积:,因此,所有目标的集体表现是他们各自的AHP表现pi的总和,由用户指定的重要性ri加权。

这个最优问题有三个限制条件:

  1. 如果我们选择了一个迁移,那么迁移的起始任务(可能为高阶起始集)和目标任务均要出现在subgraph中;
  2. 每个目标任务有且仅有一个迁移(我们将从零学习在途中定义为从自己到自己的迁移,即一条自己到自己的edge);
  3. 不超过监督预算。

这三个限制条件的具体数学表达如下:

上面未定义的元素设置为0。这个问题现在是一个有效的BIP,并且可以在第二部分[ 41 ]中最佳地解决。BIP解X对应于最优子图,这是我们的分类法。

4. 实验

该方法适用于任意的字典分割成T和S。交互式求解器网站允许用户指定任何所需的分区。

网络体系结构:我们尽可能均匀地保存任务中的体系结构和训练细节,以避免注入任何偏倚。编码器架构在所有任务特定网络上是相同的,并且是没有汇集的完全卷积RESNET-50。所有的传递函数包括具有2个CONV层的相同的浅层网络(如果高阶级联信道)。然而,丢失(LT)和解码器的架构必须依赖于任务,因为不同任务的输出结构是不同的;对于所有像素到像素的任务,例如正常估计,解码器是一个15层完全卷积网络;对于低维任务,例如消失点,它包括:2-3个FC层。不管任务和完全相同的输入图像,所有网络都使用相同的超参数来训练。具有多个输入的任务,例如相对摄像机姿态,在编码器塔之间共享权重。传输网络都使用与任务特定网络相同的超参数来训练,除了我们更早地对学习速率进行退火,因为它们训练得快得多。在辅助材料中可以找到结构、训练过程和不同编码器的实验的详细定义。

数据拆分:我们的数据集包括400万张图像。 我们公开了在完整数据集上训练的模型,但是对于主要论文中报告的实验,我们使用数据集的一个子集作为提取的结构稳定,并且在使用更多数据时没有改变(在5.2节中解释)。 使用的子集被划分为训练(120k),验证(16k)和测试(17k)图像,每个图像来自非重叠的建筑物集合。 我们针对任务特定的网络在训练集上进行训练,并且传输网络在验证集的子集上进行训练,范围从1k图像到16k,以便在不同数据体系下对传输模式进行建模。 在主要文件中,我们报告了16k转移监督制度下的所有结果(约占拆分的10%),并将其他规模推迟到补充材料和网站(见5.2节)。 在测试装置上评估传递函数。

受过训练的任务专用网络有多好? 获胜率(%)是基线被打败的测试集图像的比例。 表1提供了任务特定网络与两个基线的获胜率。 随机测试样本的视觉输出如图3所示。表1中的高赢率和定性结果表明网络训练有素且稳定,可以依赖于对任务空间进行建模。 请在此处查看在YouTube视频中逐帧应用网络的结果。 此处提供了用户上传查询的实时演示。

为了了解我们的网络质量与最先进的任务特定方法,我们比较了我们的深度估计与[53]的发布模型,这导致了表现优于[53] 获胜率为88%,损失为0.35对0.47(补充材料中的进一步详情)。 总的来说,我们发现特定于任务的网络在执行许多任务方面的表现与最新技术相当或更好,尽管我们没有正式对此进行基准测试或声明。

4.1.解决一组任务

图8(上图)示出了为解决完整字典而优化的计算分类法,即所有任务都放在T和S中(除了4个仅在S中的源仅任务)。 这是针对各种监督预算(列)和最大允许订单(行)约束而完成的。 当预算为26(完全字典)时,仍然会看到某些目标的转移意味着某些转移变得比完全监督的任务特定对应物更好。

虽然图8显示了结构和连通性,但图9通过增益和质量指标量化了分类推荐转移政策的结果,定义如下:迁移获利 (Gain) :使用相同的训练数据,迁移网络与对从头开始训练的网络的获胜率(%)。 也就是说, 如果我们不进行迁移学习,我们只能基于少量的数据从零学习。迁移获利是指迁移学习相较于从零学习的胜率(见Ordinal Normalization部分)。迁移质量 (Quality) : 使用120k图像(金标准)训练的完全监督网络的胜率(%)。也就是说,用少量数据迁移学习相较于用大量数据从零学习的胜率。

红色(0)表示在所有测试集图像上都输于参考方法和蓝色(1)表示在所有测试集图像上都胜过参考方法(因此转换红色→白色→蓝色是合乎需要的。白色(.5)表示与参考相同的性能)。

图9中的每列显示监督预算。 显而易见,即使监督预算明显小于已解决任务的数量,也可以取得良好的结果,随着预算的增加,结果也会得到改善(预期)。 结果显示2个最大允许orders。

作者解读:Taskonomy的迁移获利 (左) 和质量 (右) 的图表。两图的纵轴为所有目标任务,横轴为监督预算,胜率在0-1之间。可见,对于一个26个任务的目标集,在只有一半甚至1/3的监督预算时,Taskonomy 计算出的监督分配会使整体表现远远打败从零学习(迁移获利),并近似于(胜率超过40%)大量数据完全监督学习(迁移质量)。

4.2.解决新任务

第二节4.1中的分类法用于优化解决字典中的所有任务。 在许多情况下,从业者对单个任务感兴趣,此任务甚至可能不在字典中。 在这里,我们评估分类法如何通过少量数据迁移到一个新的字典外的任务。

这是在一对一的情况下完成的,我们将一个任务放在T中,将所有其他任务放在S中。T中的任务 是target-only,没有 task-specific 网络。 其有限的数据(16k)用于对sources训练小型迁移网络。 这基本上定位了目标在分类中的位置。

图10(左)显示了BIP为每项任务找到的转移策略的 Gain and Quality。 图10(右)比较了分类标准建议的政策与一些最好的现有自我监督方法[96,103,68,100,1],ImageNet FC7特征[51],从头开始训练和完全监督网络(黄金标准)。

图10(右)中的结果值得注意。 taxonomy的巨大胜利表明,根据目标仔细选择迁移策略优于固定的迁移,例如自我监督方法所采用的迁移策略。 ImageNet特征是视觉中最受欢迎的现成的特征,也胜过这些策略。 此外,尽管在大多数情况下 taxonomy迁移策略逊于完全监督的网络(黄金标准),但赢率结果往往接近40%。 这些观察结果表明,空间具有相当可预测和强大的结构。 有关一对一taxonomy策略的图形可视化,请参阅补充材料。  The solver website allows generating the taxonomy for arbitrary sets of target-only tasks.

作者解读:对于解决新任务,我们可以把我们任务词典里的目标任务当作一个新任务,模拟只有少量数据的情况。实验结果如下,可以发现Taskonomy的表现超过了现有的行业pretrained features(包括imagenet fc7)。

5. 结构的显着性检验

之前的评估显示在Gain and Quality方面有良好的迁移结果,但使用我们的taxonomy法选择智能迁移而不只是随意选择迁移,这有多重要? 换句话说,这个任务空间结构有多重要/强大? 图11通过显示我们的taxonomy法与具有随机连通性的大量分类法的表现来量化这一点。 我们的分类法在很大程度上超越了所有其他的连通性,表明了空间中存在强大的结构以及通过我们的方法对其进行了良好的建模。 完整的实验细节可在补充材料中找到。

5.1.Evaluation on MIT Places & ImageNet

我们的研究结果在多大程度上依赖于数据集,如果在另一个数据集上完成,分类标准会发生变化吗? 我们通过查找所有任务的排名来检查这一点,这些任务用于迁移到我们数据集上的对象分类和场景分类的两个目标任务。 然后,我们在其他数据集(用于场景分类的MIT Places [104],用于对象分类的ImageNet [78])上微调我们的task-specific网络,并在它们各自的测试集和度量上评估它们。 图12显示了结果如何与我们的数据集中的分类法排名相关联。 Spearman在分类排名和Top-1排名之间的rho在地方上是0.857,在ImageNet上是0.823,显示出显着的相关性。 有关完整的实验细节,请参阅补充材。

5.2.结构的普遍性

我们采用了具有各种设计选择的计算方法。研究此结构how specific是很重要的。 我们通过计算  输出方差 when making changes
in one of the following system choices来进行稳定性测试:1)task-specific网络的结构;2)迁移函数网络的结构;3)可用于训练迁移网络的数据量;4) 数据集;5)数据分裂(splits);6)字典的选择。 总体而言,尽管注入了大的变化(例如,将迁移函数的训练数据的增大16倍,将 task-specific网络和迁移网络的结构增大4倍),我们发现输出非常稳定,导致在顶部计算的输出分类法几乎没有变化。补充材料中报告了每个测试的详细结果和实验设置。

5.3.任务相似树

到目前为止,我们展示了任务空间有一个结构,测量了这个结构,并通过设计转移政策提出了转移学习的效用。该结构也可以以其他方式呈现,例如,通过跨任务的相似度量。图13显示了我们字典中任务的相似性树。这是基于它们的转出行为从任务的聚合集群中获得的,即使用归一化亲和度矩阵P的列作为任务的特征向量。该树显示了如何将任务分层定位w.r.t.基于提供解决其他任务的信息进行测量时彼此之间的关系;两个任务越接近,它们在转移到其他任务中的作用就越相似。请注意,3D,2D,低维几何和语义任务使用完全计算方法聚集在一起,这与任务空间结构的直观期望相匹配。 BIP设计的转移分类法与此树一致,因为BIP以一种方式选择来源,所有这些模式都是定量最佳覆盖的,受给定预算和设计的目标集的限制。

6. 局限与讨论

我们提出了一种通过转移学习对视觉任务空间进行建模的方法,并展示了它在减少监督需求方面的实用性。 任务空间本身就是一个有趣的研究对象,我们在这方面只是略有不足。 我们还在框架中做了一些应该注意的假设。

模型依赖性:我们使用计算方法并采用神经网络作为我们的函数类。 虽然我们在各种结构和数据集中验证了研究结果的稳定性,但应该注意的是,结果在原则上是模型和数据特定的。 当前模型也不包括处理不确定性或概率推理的原则机制。

组合性:我们通过一组常见的人为定义的视觉任务进行建模。考虑进一步的组合方法是很自然的,在这种方法中,这些常见任务被视为观察样本,这些样本由计算上发现的潜在(子)任务组成。

空间规律性:我们通过采样字典对密集空间进行建模。虽然我们表现出了良好的宽容度。为了选择字典和转移到字典外的任务,这个结果依赖于对空间的适当采样作为其规律性的函数。需要对计算空间的属性进行更正式的研究,以便在一般情况下得到证明。

转移到非视觉和机器人任务:考虑到视觉任务空间的结构以及对新任务的可转移性,值得质疑如何利用它来开发一个感知模块来解决不完全可视化的下游任务,例如机器人操纵,但需要解决一组(先验未知的)视觉任务。

终身学习:我们一次性完成了建模。 在许多情况下,例如 终身学习,系统不断发展,掌握的任务数量不断增加。 这种情况需要利用基于新信念的扩展机制来扩充结构。

 

文中的任务:

1. Autoencoding【12】自动编码

PCA是一种广泛使用的方法,通过查找一个低维度的潜在表示来理解数据。自动编码是PCA的一种非线性概括,它最初是在迁移学习中提出的:通过自动编码预先训练来提高下游性能。

2. Colorization【43】着色

着色需要拍摄灰度图像并预测原始颜色。 这是一项无人监督的任务,但也是一种语义感知的任务[5]。 例如,一旦确定了水果,预测水果的颜色就很简单。

3. Context Encoding 上下文编码

背景编码首先由Pathak等人介绍[26]并且是自动编码的一种形式,其中大部分输入被掩盖在模型中。 为了填充遮挡区域,模型必须推断场景几何和语义。 与着色类似,它是一种无监督但仍然是语义的任务。

4. Content Prediction (Jigsaw)【25】 内容预测

Context Encoding的一个有辨别力的版本,Jigsaw [25]要求网络解密输入图像的置换平铺(permuted tiling)。

5. Curvature Estimation 曲率估计

基于曲率的特征非常适合识别,因为它们在刚性变换下是不变的。 曲率在视觉处理中非常重要 - 因此猕猴(Macaque)视觉皮层具有专用的曲率处理区域[41]。

6. Denoising 降噪

对于类似的输入进行去燥来获得相似的representations,但是通过自动编码学习的representations对输入中的扰动过于敏感。降噪【36】(自动编码)通过将微扰动输入映射到未扰动输入,来鼓励有限的不变性。

7. Depth Estimation, Euclidean 欧几里得深度估计

深度估计是一项重要任务,可用于检测与障碍物和感兴趣物品的接近程度。 It is also a useful intermediate step for agents to localize themselves in 3D space(在3D空间定位物体的有用一步)。 欧几里得深度是指从每个像素到相机光学中心的距离。

8. Depth Estimation, Z-Buffer

与欧几里德深度估计相反,研究人员通常使用Z-Buffer深度,其被定义为到相机平面的距离。 这不是人类通常感知深度的方式,应用它是因为这是标准公式,我们所有深度派生的任务都是从Z-Buffer派生的。

9. Edge Detection(2D)边缘检测

边缘检测在历史上是计算机视觉中的基本任务。 边缘通常用作中间representations或作为较大处理管道(a larger processing pipeline)中的特征。 我们包括没有非极大值抑制的Canny边缘检测器的输出(以使任务可以通过神经网络学习)。

10. Edge Detection(3D)

与2D边缘相反,我们将3D边缘定义为“遮挡边缘”,或者前景中的对象遮挡其后面的东西的边缘。 2D边缘响应纹理的变化,但3D边缘是仅依赖于3D几何体和对颜色、光照不变的特征。

11. Keypoint Detection (2D)关键点检测

关键点检测在计算机视觉中具有悠久的历史,并且对许多任务都很有用。 关键点算法通常由两部分组成,包括关键点检测器和一些局部补丁描述符,它们在多个图像中是不变的[20,3,28]。 2D关键点检测鼓励网络识别图像的本地重要区域,并且点匹配鼓励网络学习特征描述符。 在更大的视觉管道中识别关键点通常仍是第一步。 我们使用SURF [3]的输出(在非最大抑制之前)作为我们的ground-truth。

12.  Keypoint Detection (3D)

3D关键点类似于2D关键点,除了它们是从3D数据派生的,因此考虑了场景几何。它们通常对纹理等信息(but possibly distracting)没反应[44, 45, 21, 42, 14]。 我们使用NARF的输出[35]算法(在非最大抑制之前)作为我们的3D关键点ground-truth。

13. Point Matching

为点匹配训练的深度网络学习特征描述符,证明对downstream tasks有用。 点匹配应用于细粒度分类[39]和物体识别[19],多视图重建[32]和运动结构[23],宽基线匹配[37],SLAM [31]和视觉测距[46]]。

14. Relative Camera Pose Estimation, Non-Fixated 相对相机姿态估计,非固定

Held和Hein [10]著名的“小猫旋转木马(Kitten Carousel)”实验表明,采取行动对强烈的感知至关重要。 虽然最近的作品将最初的结论称为问题[27],但本地化自身的能力对于运动仍然很重要。 对于具有相同光学中心的两个不同视图,我们尝试预测它们之间的6-DOF相对相机姿态(偏航,俯仰,滚动,xyz平移)。

15. Relative Camera Pose Estimation, Triplets (Egomotion)

视频是计算机视觉中常见的研究对象(例如视觉测距[8,24]),它们提供具有高冗余度的密集数据。 因此,我们包括具有固定中心点的输入三元组的相机姿态匹配。 通过三个图像,模型具有更高的匹配点的能力,以实现精确定位。

16. Reshading
推断场景几何的一种方法是使用固有图像分解I = A·S的“阴影形状”[2],其中S是通过光照和深度参数化的阴影函数。 这种分解被认为在人类视觉感知中很有用[1]。 我们按如下方式定义Reshading:给定RGB图像,标签是the shading function S,其由在相机原点处具有单个点光而得到,并且S乘以恒定的固定反照率。

17. Room Layout Estimation 房间布局估算

估计和对齐3D边界框是一个中级任务,包括消失点估计这个子问题,并且具有机器人导航[34],场景重建[13]和增强现实[7]的应用。 在LSUN房间布局挑战[40]中使用了房间布局估计的变体,但是当存在相机滚动或者没有房间角落时,该formulation是不适合的。 相反,我们提供了一个无论相机的姿势和视野如何都保持well-defined的formulation。 该任务包括一些语义信息,例如“什么构成房间”,同时还包括场景几何。

18. Segmentation, Unsupervised (2D)) 分割,无监督

格式塔(Gestalt)心理学家提出了将分组作为一种机制的原则,通过这种机制,人类学会将世界视为一组连贯的对象[38]。 规范化切割[33]是将图像分割成感知相似组的一种方法,我们在字典中包含这个格式塔任务。

19. Segmentation, Unsupervised (2.5D))

Segmentation2.5D使用与2D相同的算法,但是标签是从RGB图像,对齐的深度图像和对齐的表面法线图像联合计算的。 因此,2.5D分割不仅适用于the world as it seems(在RGB图像中),而且适用于the world as it is(ground-truth 3D)。 2.5D分割包含关于场景几何的信息,该场景几何不直接存在于RGB图像中,但是人类容易推断。

20. Surface Normal Estimation 表面法线估计

表面法线估计被认为对空间认知至关重要。 例如,对象只能放置在具有向上法线的表面上。 即使对于运动,具有水平面法线的点表示它不容易穿过。 曲面法线直接从3D网格计算。

21. Vanishing Point Estimation 消失点估计

透视(perspective)的结果是,消失点提供了关于场景几何的有用信息[22,15]并且得到了很好的研究。 消失点证明在曼哈顿世界[6,43,4]特别有用,其中有三个主要的消失点对应于X,Y和Z轴。 这种假设通常在城市环境中得到满足。 对于每个模型,我们分析地找到这三个消失点并将它们作为标签包含在内。

22. Semantic Learning through Knowledge distillation 通过知识蒸馏进行语义学习
虽然我们的数据集不包含语义注释,但语义理解是现代计算机视觉的一个重要组成部分。 因此,我们通过知识蒸馏添加伪语义注释[11]。 我们从ImageNet [29]和MS-COCO [17]培训的最先进模型[9,16]中提取知识,通过使用它们来注释我们的数据集,然后使用这些注释监督模型。

CVPR 2018 Best Paper Taskonomy 作者解读

A和B相关(由线性代数想到求相关的参数)

现有方法大多尝试将视觉任务逐一击破。这种方法造成了两个问题:

  第一, 逐一击破需要为每一项任务收集大量数据,随着任务数量的增多,这将会是不可行的;

  第二,逐一击破会带来不同任务之间的冗余计算和重复学习。

  基于上述两个问题,我们希望能有效测量并利用视觉任务之间的关联来避免重复学习,从而用更少的数据学习我们感兴趣的一组任务。

Taskonomy是一项量化不同视觉任务之间关联、并利用这些关联来最优化学习策略的研究。

猜你喜欢

转载自blog.csdn.net/infinita_LV/article/details/80952240