没有合适的资源?快使用搜索试试~ 我知道了~
调整网络架构的迁移学习方法:NETTAILOR
3044NETTAILOR:调整架构,而不仅仅是权重PedroMorgadoNuno Vasconcelos加州大学圣地亚哥分校电气与计算机工程{pmaravil,nuno}@ ucsd.edu摘要对象识别的实际应用通常需要在单个平台中解决多个任务。在网络微调的标准范式下每个任务都会学习一个全新的CNN,最终的网络大小与任务的复杂性无关。这是浪费的,因为简单的任务比更复杂的任务需要更小的网络,并且限制了可以同时解决的任务的数量。 为了解决这些问题,我们提出了一个迁移学习过程,表示为NETTAILOR1,其中预先训练的CNN的层被用作通用块,可以与小的特定任务层组合以生成新的网络。除了最小化分类错误之外,新网络还被训练成模仿强无约束CNN的内部激活,并通过1)块上的软注意机制和2)复杂性正则化约束的组合来最小化其通过这种方式,NETTAILOR可以调整网络架构,而不仅仅是其权重,以适应目标任务。 实验表明,适应于简单任务(如字符或交通标志识别)的网络比适应于硬任务(如细粒度识别)的网络小得多。更重要的是,由于该过程的模块化性质,在不损害跨任务的参数共享或分类准确性的情况下实现了网络复杂性的降低。1. 介绍视觉机器学习实际应用通常涉及解决多个识别任务的能力。例如,机器人应该能够决定门是开着还是关着,物体是否可以被拾起,人脸上的表情是什么等等然而,试图为所有任务设计单个识别器通常是不切实际的,因为不同任务的数据集并不总是同时可用,并且最先进的模型使用这项工作的部分资金来自葡萄牙科学和教育部的研究生奖学金SFRH/BD/109135/2015 、 NRI Grants IIS-1546305 和 IIS-1637941 以 及NVIDIA GPU捐赠。1源代码和预训练模型可从以下网址获得:https://pedro-morgado.github.io/nettailor网站。图1:使用NETTAILOR进行架构微调。预先训练的块以灰色显示,特定于任务的块以绿色显示。左:预训练的CNN,增加了引入跳过连接的低复杂度块。中心:优化修剪了复杂性和对识别的影响之间权衡不佳的块右图:最终的网络是预先训练和特定任务块的组合不同的培训程序(例如,人脸识别通过嵌入方法解决[ 57 ],而对象识别使用分类损失[20])。相反,标准的解决方案是使用现成的卷积神经网络(CNN)在大型数据集上进行预训练,如ImageNet [9],MS-COCO [33]或MIT-Places [73],并将其微调到每个任务[70,27,15]。虽然微调经常在目标任务上实现良好的性能[70],但这种做法是相当浪费的。首先,微调会为每个任务产生一个大的网络,与任务的复杂性无关。因此,计算和存储需求随着任务数量的增加而线性增加,像光学字符识别(OCR)这样的简单任务与像细粒度识别这样的硬任务一样苛刻其次,虽然最终的网络是从一个共同的预训练模型中导出的,但它们的所有参数都不同因此,当机器人在任务之间切换时,需要重新加载大量参数,这可能会妨碍实时操作。 其他智能计算平台,如消费电子设备、移动设备或智能汽车,也面临类似的问题。在这项工作中,我们寻求解决这些问题的大型预训练神经网络的层被视为通用块,可以组合以生成新网络。通用块实现由所有任务共享的通用过滤器。他们是3045由特定于任务的模块补充,使其能够适应新的任务。给定一个新的目标任务,我们建议搜索最佳架构,该架构结合了任何数量的大型预训练块和小型任务特定块。 虽然预训练块负责大部分特征提取,但特定于任务的块用于1)构建最终(分类)层,2)在可能的情况下简化甚至替换预训练块,或3)调整网络激活以补偿源任务和目标任务之间的域差异。最近在[49]中提供了这一想法可行性的证据,其中预先训练的网络成功地适应了多个任务,而无需通过添加少量的剩余适应层来改变其参数。然而,在这项工作中,我们不仅仅是增加层,而是寻求调整网络架构,使网络适应新任务的复杂性因为这个过程类似于裁缝调整一套预先做好的衣服以适合新顾客,所以我们将过程称为NETTAILOR。主要思想如图所示。1.一、首先,我们用低复杂度的块来增强预训练的CNN,这些块在整个网络中引入跳过连接,以及控制选择使用哪些块的软然后,我们用一个损失来训练增强的CNN,这个损失会使分类错误和复杂性都趋于平衡。复杂度惩罚有利于小的任务特定块而不是大的预训练块,从而鼓励目标任务所需良好的分类性能通过交叉熵损失和模型蒸馏的变体的组合来提升[21],这鼓励简化的CNN与经典微调的CNN的性能相匹配。 这种优化消除了在复杂性和对识别性能的影响之间权衡不佳的块。总而言之,NETTAILOR寻求一种与标准微调的性能相匹配的架构,但该架构尽可能小,并且主要由许多任务共享的通用块组成这个过程有三个重要的特性。首先,它可以为不同的任务部署不同复杂性的网络。例如,在简单的识别问题中,如数字识别(SVHN数据集),NETTAILOR删除了73.4%的参数,而在高级任务中,如日常物体的识别(Pascal VOC数据集),只有36.1%的参数被删除。其次,由于每个任务所需的大多数参数属于共享的预训练块,因此NETTAILOR可以用相同的资源解决更多的任务平均而言,与预训练网络的大小相比,NETTAILOR每个任务仅引入8%的新任务特定第三,我们证明了预先训练的块可以被丢弃,而不会显著降低性能,实现了与以前的迁移学习技术相似的2. 相关工作NETTAILOR与CNN的各种主题有关迁移学习:CNN通常通过精细的-调音 NETT AILOR是一种灵活的传输过程,它可以调整网络架构(而不仅仅是权重),同时保持大部分参数不变。终身学习不忘学习智能系统随着时间的推移整合知识,利用他们所知道的这种能力被称为终身学习[62]或永无止境的学习[42],通常是渐进的,即。 任务是按顺序学习的 微调对终身学习有两个主要问题。首先,由于修改了原始权重,因此参数的数量随着任务的数量线性增加。这是一种浪费,因为低级和中级特征可以在非常不同的图像域中共享[58]。其次,在微调之后,网络性能可能会在源任务上大幅下降[16]。这种退化被称为第一组迫使CNN在对目标数据进行 这可以通过以下方式实现:1)防止源类别的网络响应在新任务的图像上发生显著变化[32,1],2)保持来自先前任务的图像的“情景记忆”[ 36,51 ],3)防止对源任务至关重要的特征的重建发生变化[ 48 ],或4)识别和保护对先前任务至关重要的权重[2 4,30]。第二组通过冻结源网络并添加少量参数以适应新任务来保留先前的任务知识例如,渐进神经网络[55]和动态可扩展网络[69]通过向每层添加隐藏单元来扩展原始网络,Rebuffi等人。[49,50]添加小的任务特定层,表示为剩余适配器,使源网络的激活适应目标任务。最后,Mallyaet al.[39,38]识别一小组可以修剪或重新训练的源权重,以提高目标任务的性能NETTAILOR与第二组有相似之处,因为它冻结了预先训练的层。此外,类似于第一组中的一些方法,NETTAILOR使用中间层的源激活作为新网络的激活的指导主要区别在于现有技术不寻求使网络复杂度适应任务要求,这导致当目标任务比源任务简单时浪费计算。多任务学习多任务学习(MTL)旨在通过利用任务之间的关系来提高泛化能力[6]。MTL被广泛用于对象检测等问题,其中对象位置和分类[15,52]甚至分割[19]之间的共享表示已经导致了显着的收益。成功的MTL的其他示例是头部方向和面部属性检测[72,47],场景几何形状,实例和语义分割[23,41]等。MTL和transfer技术之间的主要区别是MTL假设所有任务都在同一个域上执行,通常都在同一个映像上操作情况并非如此3046用于转移,其中目标任务属于不同的域,可能与源图像的域非常不同域自适应域自适应处理跨两个域的任务转移。当标签对 两 个 域 都 可 用 时 , 这 通 常 通 过 微 调 来 完 成NETTAILOR解决了这样一个问题,即根据域之间的差距,可能需要调整架构。然而,这与无监督域自适应不同[14,63,64],其中没有目标域的标记数据与NETTAILOR等一般传输技术不同,无监督域自适应旨在弥合具有完全相同类的两个数据集之间的差距,并最大限度地提高目标(无监督)数据集的性能,而无需考虑源域性能。网络压缩网络压缩旨在通过移除权重来减小神经网络的大小。早期的作品[29,18]推导出接近最优的策略,以识别和删除对网络性能影响较小的权重。然而,由于这些方法依赖于损失函数的二阶导数,因此它们对于深度网络是不切实际的。最近,使用更简单的程序已经显示出良好的结果,例如修剪低幅度的权重[17]或在训练期间引入稀疏性约束[74]。这些方法大大减少了模型的大小,但没有提高推理的速度,由于修剪权重的不规则稀疏性替代方法提倡 NETT AILOR采用迭代修剪的标准训练方法(预训练,修剪,重新训练),但更进一步采用结构化稀疏的概念,修剪整个层而不是权重或过滤器。然而,NETTAILOR不是一个网络压缩过程,因为层修剪仅在迁移学习中可行,特别是当目标任务比源任务简单时。现有的压缩方法也可以用于压缩预训练的网络,进一步降低用NETTAILOR微调的网络的复杂性。蒸馏模型蒸馏算法寻求用更简单、更小或更快的模型来模拟模型。在[4]中,强集成模型用于标记大型未标记数据集,然后用于训练模拟集成预测的更简单模型。 类似的想法已经被用于在具有不同特征的网络之间转移知识。例如,Baet al. [2]证明了浅层网络可以模仿更深的网络,同时使用相同数量的参数来实现更强的并行化,[21]和[53]用更小或更薄的网络复制复杂的网络,[7]将以前的网络转移到新的更深或更宽的网络,而无需重新训练以实现更快的开发工作流程。NETTAILOR使用的学生教师范例与FitNets [53]类似,因为在网络输出 和 内 部 激 活 时 都 添 加 了 教 师 监 督 。 然 而 ,NETTAILOR并没有从头开始训练一个新的网络,而是在不改变大部分权重的情况下调整了预先训练好的网络的架构级联分类器自适应推理图级联分类器[66]也可以通过快速拒绝简单的否定来显着加速推理。 最近的工作在深度学习框架内开发了这些想法,用于分类[61,22]和检测[5,68]。通过引入早期退出,网络可以在达到期望的置信度时对图像进行分类[22,61],或者在预期决策输出的任何时候[22]。更接近于NETTAILOR的是自适应推理图(AIG)[65,13]的工作,它在测试时仅以图像为条件动态因此,类似于NETTAILOR,级联和AIG方法都可以为每个图像选择评估网络的哪些部分。然而,这些方法不能有效地解决多域分类问题。 当网络独立训练时,每个任务都会生成不同的网络。联合培训网络需要同时访问所有数据集。这极大地限制了不同开发人员在不同时间针对不同任务对网络的训练,因为不同的开发人员1)可能无法访问彼此的数据,并且2)通常缺乏资源和愿望来训练除了他们自己的任务之外NETTAILOR通过重用跨数据集共享的一组通用块来解决这个问题,允许每个开发人员专注于感兴趣的单个任务它减少了推理时间和空间需求,而无需对所有数据集进行联合训练神经架构搜索(NAS)致力于以数据驱动的方式学习新的网络架构。通常情况下,这是通过加强学习或进化算法来更新负责生成架构的模型,以最大化性能[75,76]。由于可能的架构空间非常大,NAS可能非常慢,最近的发展集中在加速搜索过程[34,35]。NETT AILOR可以被看作是一个可区分的NAS过程,因为网络架构针对给定的任务进行了优化。然而,与一般的NAS不同,我们寻求一种解决方案,该解决方案重用一组预训练的块,以解决与多域迁移学习问题相关的存储和计算效率低下的问题。课程学习课程学习技术使用各种反向传播来提高学习效率。这可以通过控制引入示例的顺序来实现[3]。其他方法使用教师网络来增强学生网络的学习[12,40]。NETTAILOR使用源网络的副本,在目标任务上进行微调,作为简化网络学习的老师3. 方法在本节中,我们将介绍NETTAILOR。3.1. 任务转移CNN实现了一个函数f(x)=(GL<$GL−1<$··<$G1)(x).(一)通过构成L个计算块G1(x),该计算块G1(x)包括简单的操作,例如卷积,空间池化,3047pppppp=1pp1818p p=1正常化等。 对于对象识别,x是来自类别y ∈ {1,.,C},并且f(x)∈ [0,1]C对后验类概率P(y| X)。虽然块Gl(x)与CNN模型不同,但它们通常很大,无论是在术语上还是在术语上都是如此。计算和存储。例如,在ResNet模型下,每个Gl(x)由两个3×3卷积形成,或者在12������−1更深的版本是一个一个3×3卷积[20]。由于CNN训练需要大数据集,例如ImageNet [9],Places [73]或COCO [33],不适用于大多数应用程序,CNN很少从头开始学习相反,在大型数据集上预训练的CNN在新任务上进行微调。在这种情况下,原始任务被表示为源任务,新任务被表示为目标任务。微调调整(1)的块的权重,同时保持网络架构。因此,与新任务的复杂性无关,计算和存储复杂性仍然很大。这对于比源任务简单的目标任务是不期望的,特别是对于具有计算或存储约束的应用,诸如移动设备。3.2. NetTailor为了避免这些问题,任务转移理想地应该具有两个属性。首先,它应该重用网络块,而不是重用整个特别是,应该可以添加或删除块,以使架构最好地适应新任务,而不仅仅是它的权重。 这样,如果目标任务比源任务简单得多,网络大小可以显著减小。其次,新网络应该尽可能地重用现有的预训练块,以最大限度地减少图2:在具有多个代理层Al的层I处的预训练块Gl的增强。xi表示层i之后的网络激活。使用任何能够产生保留预训练网络架构的教师的传输技术。我们专注于微调,因为它在大多数任务中的流行和高性能,其中合理大小的数据集可用于训练[27,70]。层修剪(步骤4和5)使用网络压缩文献[17,74]中常见的操作执行,并在第3.5节中简要描述。我们现在详细讨论步骤2和33.3. 学生网络的架构这项工作中引入的主要架构组件是预训练网络f(x)=(G L<$GL−1<$ ··<$G1)(x)的增强,具有复杂性-图2的warepoolingblockk。 从预先训练的模型开 始 , 每 个 层 Gl 被 增 强 为 lean_prox_y_layers{Al(·)}l-1,其在层p和l之间引入跳过连接。为顾名思义,代理层旨在尽可能地近似和替换预先训练的块SG1(·)。然后,通过将预训练的块Gl(·)和代理Al(·)的输出进行池化来计算层l的输出激活xl。x=αl G(x )+l−1αl Al(x),(2)ll ll−1p=1ppp需要学习的参数重复使用块是partic-这对于存储器受限的实现是至关重要的(例如,机器人或移动设备),因为它允许跨任务共享块。在这种情况下,由于每个任务只需要切换和存储一小部分(特定于任务的)参数,因此任务切换和模型存储的成本都很低。在这项工作中,我们介绍了一种新的传输技术,表示NETTAILOR , 旨 在 实 现 这 些 目 标 。 图 1 所 示 的NETTAILOR程序1可以总结如下。1. 通过针对目标任务微调预训练网络来训练教师网络2. 通过使用特定于任务的低复杂度代理层来增强预训练网络,从而定义学生网络。3. 在目标任务上训练学生网络的特定于任务的参数,以模仿教师的内部激活,同时施加复杂性约束,鼓励在高复杂性的预训练块上使用低复杂性的代理层其中{α l}l∈[0,1]是启用或禁用不同网络路径的标量集合。采取两个步骤来减少特定于任务的参数的数量。第一种是使用低复杂度的代理层具体地,Al(·)由以下组成:1)将激活从空间分辨率Xp转换为空间分辨率Xl的空间最大池化块,以及2)将输入特征图Xp投影到针对Xl的期望数量的通道中的1×1卷积(具有批量归一化)。因此,与包含两个3×3卷积的标准ResNet块相比,每个代理Al(·)仅包含1个参数s并且仅执行1、浮点运算。第二,代理层被迫相互竞争,以最小化冗余信息通过网络的传播。 这是通过引入一组辅助参数al并计算αl作为合并到层l中的所有路径上的softmaxaLα l=ep .(三)帕扎勒4. 修剪对网络性能影响较小的层5. 微调剩余的任务特定参数。虽然我们只对通过微调学习的教师网络进行了实验(步骤1),但也可以使用NETTAILOR基e克最后,虽然上面的描述暗示了一组密集的低复杂度代理,将所有层i l的输出连接到层l的输出,但我们发现这通常是不必要的(参见第4.1节)。因此,我们限制代理的数量1 Max池 ∗最大BN12∗BN2���−1 最大 ∗BN���−1+[]+……3048111���−1���−1������−1联系我们+自我我KL自我出来我我我我我自我我我我Jjj+1=l(一)(b)第(1)款图3:块删除标准。(a)自我排斥。(b)投入排除。(c)产出排除。.Σ(2)最接近k,并使用 Σj输出 )=Pk>jRj,kj+1,j+1自我xl=αlGl( xl−1)+l−1α lA l(xp).(四)j+1,j+1Qj,kl p=max(l−k,1)p p=P(Rself)·k>jP(Rself)。(八)图1展示了k=3时的初始学生架构。最后,通过对自我排斥的概率进行建模,3.4. 为学生量身定制目标任务P(Ri,j)=rj=1-αj,则(5)变为学生网络寻求两个目标的权衡:低自我Σ ΣJ我J.jQij+1Qk复杂性和性能与教师相似。ECi=Ci 1−ri−k≤irk−rj+1k>jrj、(9)3.4.1限制学生的复杂性以及预期的网络复杂性Σ ΣJ在图1的复杂度感知池化块2、标量{αl}l作为一种软注意机制,E[C]=i,jECi.(十)p p=1虽然排除事件可能不是不相交或不相交的,阻止使用该任务。LetBj(·)denotethecom-ij待定,(10)的最小化仍然提供期望假设l块 k与 h块 hi→j关联,即,Bi(·)=Gi(·)ifi=j或Bj(·)=Aj(·),否则。那么,块kBj(·)可以是鼓励使用低复杂度代理。因此,我们明确地使用(10)作为可微复杂度惩罚如果满足以下三个条件之一,则删除• 自我排斥(Fig.3a):排除路径i→j,即aj=0;• 输入排除(图3b):所有路径合并到节点i被排除在外,即αi=0,αk≤i;• 输出排除(图3c):从节点出发的所有路径不包括贾尔,即, αk=0,αk>j且dαj+1=0。请注意,虽然自排除只允许删除单个块,但输入和输出排除都可以同时删除多个块。例如,如果所有合并到节点i的路径都被排除,则所有离开该节点的块都没有可行的输入并且可以被移除。类似地,如果从节点j出发的所有路径都被排除,则合并到该节点的所有块将最终被忽略并且也可以被移除为了根据目标任务定制架构,标量集在训练中实施。3.4.2模仿老师教师网络是通过对目标任务的预训练网络进行微调而获得的为了将这些知识传递给学生网络,鼓励后者通过添加L2正则化器来匹配教师的内部激活ΣL其中,xt是教师网络的第l块的激活,xl是由(2)给出的学生网络的相应激活,并且总和也在所有内部块上进行作为网络输出(在softmax之前)。{αl}l应该能够实现高性能,但最大限度地减少p p=13.4.3损失函数预期的网络复杂性。令Ri,j国际新闻社Rj表示分别与条件1、2和3相关联的事件NETTAILOR优化了和Cj块Bj的复杂度。 然后,预期的学生网络端到端要满足三个目标:1)最小化块Bj的复杂度为Σ Σ目标任务上的分类损失,2)最小化网络通信,最大限度地减少教师的近似误差E、C、j =Cj 1−P(Ri,j国际新闻社i、jout)我.(五)J+…联系我们联系我日本+1日本+1+日本+1(c日本+1+1……P(REURR,REURREURRΣ3049自我)=(InP出来网络 给定图像xi和标签yi的目标数据集D={xi,yi},这通过最小化损失函数来实现假设事件Rself、Rinp和Rout是不相交,事件Ri,k都是独立的,概率ΣL=iLcls (f(xi),yi)+γ1E[C]+γ2E,(12)(5)由下式给出其中f(·)表示学生网络的输出,P(Ri,j自我国际新闻社RJ出来P Ri,j自我)+P(Ri)+P(Rj)(6)Lcls(f(x),y)是网络预测f(x)和地面实况标签y之间的交叉熵损失,E[C]是期望的与国际新闻社)=P.k≤ik,iselfQQ=k≤ik,iself)(7)网络复杂度的(9)和(10),是老师约-(11)的模拟损失,以及γ1和γ2两个控制每个项重要性的超参数EURR∪P(RRP(R3050我我我我我我我我数据集精度降低复杂性建筑学VOC微调NETTAILORM:百万36.1%(770万)82.82%82.90%B:数十亿10.3%(0.4亿)16.7%(3层)花百分之九十五点八四95.51%64.6%(13.8万人)35.5%(1.3B)38.9%(9层)SVHN996.59%96.53%73.4%(15.6百万)45.8%(1.6亿)50.0%(9层)删除的参数数浮点数移除删除的层数预先训练的块特定于任务的块图4:使用NETTAILOR将ResNet34适配到三个数据集后,网络复杂性和最终架构的降低。3.5. 修剪和微调训练学生网络后,标量αj的大小反映了每个块的重要性,接近零的值表示对网络性能的影响很小鉴于这一观察结果,我们对标量αj进行阈值化,并使用上面概述的三个排除条件来删除所有不必要的块。 为了能够更好地控制性能和复杂度之间的权衡,使用不同的修剪方案去除代理和预训练块。由于代理层很小,而且对于适应目标任务至关重要,因此我们定义了一个非常低的阈值θ(通常为0.05),并且只删除具有αj θ的代理。 对于预训练层,我们首先根据αi的值对其重要性进行排名,并删除k个最不重要的块。最后,为了从网络组件的移除中恢复,所有剩余的特定于任务的层都被微调,以在没有复杂性约束(γ1=0)的情况下最小化(12)的损失。4. 评价我们进行了一系列实验来评估我们现在描述NETTAILOR的标准实现,除非另有说明,否则在我们的实验中使用NETT AILOR。全局块是 通 过 在 ImageNet ( 在 我 们 的 大 多 数 实 验 中 是ResNet34)上预先训练一个大型CNN模型来获得的,之后保持不变,以便在任务之间共享它们对于每个目标任务,教师通过微调预训练的网络进行训练学生是通过增加预先训练的块,每层有三个跳过连接,以及所有任务特定的参数(即, 最终分类器、代理层和标量α)被训练以最小化(12)的损失,其中γ1=0。3(复杂性约束)和γ2= 10(教师损失)。在(9)的复杂度约束中,复杂度Cj被定义为通过预先训练的网络的FLOP的总数归一化的每个块的FLOP的数量。这个定义使得预训练层比代理层贵20倍一个关键的细节是标量α的初始化,以最初支持预训练而不是特定于任务的块。这种初始化为学习提供了一个良好的起点(即, 类似于单独的预先训练的网络)和减少的过拟合。具体来说,我们将所有i的初始值设置为2(即,预先训练的块),NETTAILOR程序。 第4.1节提供了深入的分析重要变量的影响,例如anddajtoo−2foralli=我j(即,代理)。在培训学生之后,目标任务的复杂性、预训练网络的深度、教师的重要性以及学生网络中的跳过次数然后,为了证明所提出的过程的有效性,第4.2节将NET-TAILOR与先前在几个数据集上的工作进行了4.1. 分析我们使用三个不同特征的分类数据集来分析NET-TAILOR:SVHN,VGG-Flowers和Pascal VOC 2012。SVHN [45]是一个大型数字识别数据集,包含10万张街景门牌号图像。VGG-Flowers [46]是一个小的细粒度数据集,由分布在102种花卉中的8 k个图像PASCALVOC 2012 [11]是一个用于检测少量(20)的共同对象。虽然VOC是为对象检测而设计的,但我们仅在分类任务上测试了我们的方法我们使用地面实况边界框以20%的边缘裁剪所有对象,并对数据集进行重新采样,以避免大的类不平衡。我们在所有情况下都使用标准训练集和测试集网络中,我们删除所有α j为<0的代理。05和k个最不重要的预训练块(按αi的值排序)。最后,我们微调剩余的特定于任务的参数,以在没有复杂性约束γ1=0的情况下最小化(12)的损失。修剪和再训练步骤在不同的k值下重复多次,并选择最精简的模型作为最终架构,该模型的目标精度在教师网络的0.5%以内。所有超参数值都是基于早期实验选择的,并用于所有三个数据集,因为它们往往在准确性和网络复杂性之间提供良好的权衡。下文提供了对其中一些参数的研究。与分类问题一样,我们在所有训练步骤中使用了带有动量的随机梯度下降NETTAILOR在各种数据集上的有效性:研究数据集复杂性的影响,我们调整了ResNet34架构使用NETTAILOR和测量的最大可实现的减少网络复杂性,保留perfor-曼斯类似的微调。结果示于图四是三个不同的数据集。我们列出层的总数3051花20100959085807570ResNet50N100959085807570ResNet50e精度#参数触发次数块数微调96.59% 21.29 M 3.58 B 181-跳过96.60% 5.13 M 1.79 B 93-跳过96.53% 5.65 M 1.94 B 95-跳过96.79% 6.14 M 1.62 B 7Dense-Skip 96.13%4.01 M 1.22 B 5微调95.84% 21.29 M 3.58 B 181-跳过96.05% 8.06 M 2.66 B 133-跳过95.51%6.07 M 1.85 B 9258111417202326参数数(百万)0 1 2 3 4 5浮点数(亿)5-跳过95.56% 7.12 M 2.45 B 9图5:准确度与模型的复杂性日益加深。菱形表示微调模型,并与用NETTAILOR获得的模型交叉。这些线路将微调后的模型与经过调整的对应模型连接起来。微调NETTAILOR没有老师SVHN花VOC微调82.82% 21.29 M 3.58 B 183-跳过82.33% 13.54 M 2.98 B 14Dense-Skip 82.56% 14.85 M 3.30 B 15表1:初始学生架构的影响。100959085100959085输出,这个块架构不允许使用代理定义在图。2,因为高维空间中的1×1卷积仍然是昂贵的。相反,为了保持80 80每个代理的复杂度约为1的预训练块,750 5 10 15 2025参数数(百万)750 1 2 3 4浮点数(亿)我们也对代理采用瓶颈结构,即,我们使用两个连续的1×1卷积与batch-norm。第一个将输入投影到低维空间(4次图6:精度与发现的模型的复杂性有老师和没有老师的情况下,我们都是不一样的。最右边的点表示未修剪的网络,随后的网络具有越来越多的删除层。参数(全局和特定于任务的)和FLOP由NETTAILOR从预训练的网络中删除。我们还显示了每个任务的最终学习架构图图4显示,为更简单的任务(如SVHN)训练的网络是最严重的修剪,18个预训练块中有9个被删除。这导致总参数大幅减少73.4%,FLOP减少45.8%对于更简单的任务,大多数残留块是不必要的,微调可能会将它们转换为接近身份的转换,这些转换可以由低复杂度的代理替代NETTAILOR还获得了更复杂的Flowers和VOC数据集的显着减少总的来说,图的结果4表明,对于许多应用程序,大型预训练网络可以在大小和速度上显着减少,而不会损失性能。此外,由于预先训练的块保持不变,每个任务只引入少量的新参数:1.90M(百万)用于VOC ,1.88M 用于花,1.85M 用于SVHN(预训练的ResNet34块总共有21.29M参数)。预训练模型的深度:为了了解NETTAILOR应用于深度不断增加的网络时的有效性,我们使用了ResNet模型家族:ResNet18、ResNet34和ResNet50。与ResNet18和ResNet34不同,ResNet50块具有瓶颈架构,其中输入映射通过1×1卷积投影到低维空间然后通过3×3卷积处理,投影回将高维空间通过1×1卷积,并加入残差链接。由于高维度的小于预训练块的瓶颈),第二个恢复输入维度。图1中描绘的结果。5表明,NETTAILOR可以产生实现更大CNN性能的架构(例如,ResNet50)与 较小的ResNet18)具有相同或更少的参数。这对于更复杂的问题尤其重要,因为网络深度对性能的影响更大例如,对于VOC数据集,N ET T AILOR能够将ResNet50减少到仅11.7M个参数,仅比ResNet18多0.5M,但性能要高得多(83.2% vs 79.6%的准确率)。然而,对于VOC数据集,推理速度的降低并不那么剧烈,因为NETTAILOR主要删除了包含大部分参数但仅占少量操作的高级层教师监督:图6显示了使用微调网络作为教师的优势。图中的每一行图6示出了模型在移除不同数量的块k之后所实现的性能(k的值越小,模型的复杂度越高)。 可以看出,删除教师会导致性能的显著损失,无论删除的块的数量如何,学生网络永远不会达到与微调相同的性能。这种趋势的例外是SVHN数据集,它是一个包含大量图像的简单数据集。这表明,图1的跳过架构1在较小的数据集中容易过拟合,但教师监督提供了一个有效的解决方案。学生建筑:我们还比较了不同的学生架构,通过增加ResNet34与1,3,5或一组密集的跳过代理。表1所示的结果表明,使用密集的代理集来增强学生架构对于SVHN等简单数据集是有益这Dense-Skip 95.58% 6.45 M 2.29 B 1134etResNT18ResNET34ResET18ResN5-跳过82.56% 12.94 M2.89 B 131-跳过82.42%12.81 M 3.13 B 15准确度[%]准确度[%]准确度[%]准确度[%]SVHNVOC微调NETTAILORSVHN花VOC3052古巴[67]ACCParamsFLOPs汽车[25]ACCParamsFLOPs鲜花[46]维基艺术[56]素描[10]平均平均ACCParamsFLOPsACCParamsFLOPsACCParamsFLOPsACC参数FLOPs特色[38]70.0323.94.1152.8023.94.1185.9923.924.055.6023.94.1150.8623.94.1163.0523.94.11PackNet →[39]80.3123.94.1186.1123.94.1193.0423.94.1169.4023.94.1176.1723.94.1181.0123.94.11[39]第三十九话71.3823.94.1180.0123.94.1190.5523.94.1170.3123.94.1178.7023.94.1178.1923.94.11骑背[38]81.5924.34.1189.6224.34.1194.7724.34.1171.3324.34.1179.9124.34.1183.4424.34.11NETTAILOR82.5213.73.3190.5612.93.3195.798.52.3772.9815.43.5580.4815.13.4484.4713.13.20表2:五个数据集中先验迁移学习方法的准确性和模型复杂性PackNet的性能对数据集的呈现顺序很敏感→表示以下顺序:CUB,汽车,花卉,WikiArt和素描。←表示反向顺序。国际货币基金组织[9][37]第三十七话C100 [26][44]第四十四话DTD [8]GTSR [60]Flwr [46]奥格利特[28]SVHN [45]UCF[59]是说评分平均参数平均浮点数LwF [32,49]59.8761.1582.2392.3458.8397.5783.0588.0896.1050.0476.9325155.860.87骑背[38]57.6965.2979.8796.9957.4597.2779.0987.6397.2447.4876.6028386.040.87丹麦[54]57.7464.1280.0791.3056.5498.4686.0589.6796.7749.3877.0128516.540.97[50]第五十话60.3264.2181.9194.7358.8399.3884.6889.2196.5450.9478.0734126.440.96NETTAILOR61.4275.0781.8494.6861.2899.5286.5390.0996.4449.5479.6437443.670.61表3:视觉十项全能挑战的几种方法的准确性和模型复杂性是因为准确的数字分类很大程度上取决于较低级别的特征,这些特征被跳过大量块的代理直接旁路到分类层相比之下,对于较硬的数据集(如Flowers或VOC),密集跳过是不必要的,NETTAILOR删除了大多数长距离代理。此外,如表1所示,直接对每层的代理数量施加限制,对于相同的性能水平,可以更显著地降低复杂4.2. 与先前工作的最后,我们将NETTAILOR与为多个域的有效分类而设计的先验迁移学习方法进行了我们遵循两个实验方案。[38]中描述的第一个协议由五个数据集组成:CUB[67],斯坦福汽车[25],牛津花卉[46],WikiArt [56]和草图[10]。在[38]之后,我们使用相同的训练/测试集分割,并将NETTAILOR过程应用于相同的骨干网络ResNet50,输入大小为224 x224。 第二个协议是视觉十项全能基准[49],由十个不同的数据集组成,包括ImageNet,Omniglot,德国交通标志等。我们使用[49]中提供的相同训练/验证/测试集,其中包含大小调整为72像素的常见分辨率的与[50]类似,我们还使用了一个宽残差网络[71],其中26层在ImageNet上进行了预训练。结果使用前1名的准确性和“十项全能得分”来报告表2比较了NETTAILOR与几种方法的结果。特征提取从预先训练的网络中计算特征,然后用于构建简单的分类器。虽然特征提取在数据集之间共享大部分权重,但源域和目标域之间的差异无法纠正,因此性能较低更精细的方法,如PackNet [39]和Piggyback [38],尝试选择性地调整网络权重以记住以前的任务,或者冻结骨干网络并学习一小部分特定于任务的参数(在Piggyback的情况下是一组掩码权重),用于弥合源任务和目标任务之间的差距所有这些方法都忽略了一个事实,源数据集和目标数据集在难度方面可能不同,因此架构本身应该根据目标任务进行调整如表2所示,这些方法与NETT AILOR没有竞争力,NETTAILOR可以在模型 大 小 和 推 理 速 度 方 面 显 着 降 低 网 络 复 杂 度NETTAILOR在所有数据集中的性能都优于所有方法,在五分之四的数据集中提高了第二好方法的分类精度,同时平均需要减少46%的参数和22%的FLOPS。Visual Decathlon基准的比较显示了类似的结果。除了Piggyback [38],我们还比较了无遗忘学习(LwF)[32],深度适应网络(DAN ) [54]和并行残差适配器(ResAdapt)[50]。LwF为每个任务学习一个新的网络,保留原始ImageNet模型的响应因此,类似于微调,LwF中的参数数量也随着任务数量线性 ResAdapt和DAN都通过引入少量额外参数来使源网络适应目标任务来解决这个问题。这是通过调整每个层的激活(在ResAdapt的情况下)或直接调整其参数(在DAN的情况下)来实现的虽然这两种方法都可以在任务之间共享大块 如表3所示,NETTAILOR的性能比ResAdapt高1。在10个数据集上达到57%,在十项全能得分上高出332分。更重要的是,
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)