高效语义分割的知识适应
论文翻译
Abstract
准确性和效率对语义分割任务都具有重要意义。现有的深 Fcn 由于一系列为了保留密集估计中需要的细节知识而存在的高分辨率feature map。虽然通过下采样操作 (例如, 池化层和卷积strides) 降低要素图分辨率 (即应用较大的整体步幅) 可以立即提高效率, 但它会显著降低估计精度。为了解决这一难题, 我们提出了一种针对语义分割的知识蒸馏方法, 以提高具有大整体步长的紧凑型 Fcn 的性能。为了处理学生与教师网络特征之间的不一致, 我们利用预先训练的自动编码器, 优化了转移的潜在域中的特征相似性。此外, 还提出了一种affinity蒸馏模块, 通过计算整个图像中的非局部相互作用来捕获长期依赖关系。为了验证我们提出的方法的有效性, 在三个流行的基准上进行了广泛的实验: Pascal VOC、Cityscapes 和 Pascal 上下文。在高度竞争的基线基础上, 我们提出的方法可以将学生网络的性能提高 2.5% (城市景观测试集的 mIOU 从70.2 提高到 70.2), 并且可以训练一个更好的紧凑型模型, 只有8% 的浮动操作 (FLOPS) 的模型,实现了可比的性能。
1. Introduction
语义分割是图像理解的一项关键和具有挑战性的任务 [3、5、4、32、14、32、16、17]。它旨在预测输入图像的密集标记映射, 为每个像素分配一个唯一的类别标签。语义分割在自动驾驶和视频监控等许多应用中显示出巨大的潜力。近年来, 基于深完全卷积网络 (FCN) 的方法 [3, 5] 在语义分割方面取得了显著的效果。通过引入具有大量参数的复杂模型, 研究了广泛的方法来提高性能。为了在密集估计中保留详细的语义结构, 许多基于 FCN 的最先进的方法 [30, 3, 4, 5] 通过应用一个小的整体步幅来维护一系列高分辨率要素图 [5], 这将导致大量的计算并限制语义分割的实用性。例如, Chen 提出 Deeplabv3 + [5] 并且在许多开放基准上达到了最新状态表现, 如 Pascal VOC [8] 和 Cityscapes [7]。然而, 这是在一个大模型: Xcepop-65 [6], 其中包含超过 41.0 m 参数和 1857G FLOPS 和运行在 1.3 fps 上的一个 1080Ti GPU 卡上, 如果输出步幅设置为16。更糟糕的是, 6110G FLOPS 将需要和运行在 0.4 FPS ,在输出步幅为8的情况下。在轻量级模型中也可以找到类似的情况 (见图 1)。
解决这一限制的一种即时方法是通过下采样操作 (如池和卷积stride) 来降低一系列要素映射的分辨率。然而, 由于详细资料的大量损失, 估计精度会不令人满意。
长期以来, 人们一直在讨论如何解决这一难题, 并在准确性和效率之间找到更好的权衡。由hinton[11] 引入的知识蒸馏 (KD) 以其简单和高效而备受关注。[11] 中的知识被定义为来自大型教师网络的软标签输出, 其中包含比one-hot编码更有用的信息, 如类内相似性。学生网络同时由软标签和硬one-hot标签监督, 由超参数调节, 以调整损失重量。在 KD [11] 之后, 提出了许多方法 [20, 12, 29, 27, 13] 来调节中间特征。然而, 这些方法主要是为图像级分类任务而设计的, 而不考虑空间语境结构。此外, 在语义分割任务中, 教师和学生的特征映射通常具有不一致的上下文和不匹配的特征。因此, 这些方法不适合直接用于语义分割。
本文提出了一种新的面向语义分割的知识精馏方法。我们的目标是通过从准确但重量轻的教师中提炼出丰富而强大的知识, 以更大的整体步伐来学习高效的紧凑型 FCNs (即学生)。首先, 与其他迫使学生直接模仿教师网络输出值的方法不同, 我们将教师丰富的语义知识重新表述为紧凑的表示形式。学生接受了匹配此隐含信息的培训。知识翻译是依靠一个以无监督方式预先训练教师特征的自动编码器来实现的, 这种编码器将知识从教师重新调整为更容易被学生网络理解的紧凑格式。背后的直觉是相当简单的: 直接传输教师的输出忽略了两个模型之间网络体系结构的固有差异。另一方面, 紧凑的表示可以通过消除冗余知识和噪声信息来帮助学生专注于最关键的部分。此外, 我们还提出了一个affinity蒸馏模块, 以调节广泛分离的空间区域之间的关系教师和学生之间。与大型模型相比, 由于接受场有限, 参数较少的小模型很难捕获长期依赖关系, 而且在统计上可能很脆弱。提出的affinity模块通过显式计算整个图像的成对非局部相互作用来缓解这种情况。
总之, 我们的主要贡献如下。
·我们提出了一种新的知识蒸馏方法, 为语义分割量身定制, 将教师网络的输出重新解释为重新表示的潜在域, 这更容易被紧凑的学生模型所学习。
·我们提出了一个affinity蒸馏模块, 以帮助学生从教师网络捕获长期依赖关系。
·我们验证各种设置下的方法的有效性。(1) 我们的方法在不引入额外参数或计算的情况下, 大幅提高了学生模型的性能 (% 2)。(2) 与分辨率输出大的模型相比, 我们的模型至少可实现可比甚至更好的结果, 仅有8% 的 FLOPS。
2. Related Work
在这一节中, 我们回顾了与我们的工作最相关的文献, 包括关于语义分割的最新研究和知识提炼的相关方法。
Chen 等人提出了 DeepLab-CRF [3], 它应用密集的 CRF 作为后处理步骤, 以细化分割结果, 并在 CNN 顶部捕获更好的边界。此方法由 CRF-RNN [33] 扩展, 其中 CRF 作为嵌入到网络中的内部层进行了端到端学习。Lin 等人 [14]proposed multi-path RefineNet, 通过利用远程剩余模块在执行下采样操作时捕获所有信息, 输出高分辨率结果。最近, 陈等人提出了 DeepLabV3 [4] 和 Deeplabv3 + [5], 这些方法应用了空洞卷积操作, 有效地扩大了接收场, 获取了丰富的语义信息。这些方法通过输出高分辨率要素图来缓解细节和边界的丢失, 从而提高了性能。然而, 考虑到 GPU 资源的限制和计算效率, 1/8 甚至更密集的 1/4 大小的输入分辨率在目前的模型设计中并不现实。例如, 当 Resnet-101 [10] 使用空洞卷积输出16倍较小的feature map时, 将在最后9个卷积图层中使用更多的计算和存储。更糟糕的是, 如果需要比输入小8倍的输出要素, 将影响26个剩余块 (78 层!)。本文提出了一种新的方法, 成功地将教师网络中的这些密集信息压缩, 并将紧凑型知识提取到低分辨率输出的学生网络中。
知识蒸馏 [11] 的研究是利用知识蒸馏进行图像分类任务的开拓性工作。知识被定义为来自教师网络的软输出, 它提供的信息比one hot编码有用得多, 如类内相似性和类内多样性。软化程度受高参数温度 t 的控制。学生网络由两个损失监督由一个损失权重和解。尽管它在图像分类方面很有效果, 但它在语义分割任务中的应用存在一些局限性: (1) [20] 中的作者试图强迫学生在决策空间中模拟教师网络的输出分布, 其中有用的上下文信息级联。(2) 图像级分类所需的知识在两个模型之间相似, 因为这两个模型都捕获全球信息。但语义分割的决策空间可能不同, 因为根据网络体系结构的不同, 两种模型具有不同的捕获上下文和长期依赖关系的能力。(3) 超参数温度对任务敏感, 难以调整, 尤其是在大型基准上。在 [11] 之后, 还提出了许多其他知识蒸馏的方法。Romero 等人提出 FitNet [20], 目的是通过直接对齐要素图来学习中间表示, 这可能不是忽略两个模型之间固有差异的好选择, 如空间分辨率、通道号、和网络体系结构。同时, 两种模型之间的抽象能力明显不同, 可能会使这种情况变得很严重。注意力转移 [29] (AT) 旨在模仿学生和教师模型之间的注意力图。基于这样的假设, 即跨通道维度特征图的求和可以表示图像分类任务中的注意力分布。但是, 此假设可能不适合像素排序任务, 因为不同的通道表示不同类的激活, 而简单地跨通道进行汇总, 最终将使用混合注意力映射。在我们的工作中, 我们提出了一个新的affinity distill(亲和力提取)模块, 将这些广泛分离的空间区域之间的长期依赖关系从教师模型转移到学生模型。
3. Proposed Method
在无空洞卷积操作的帮助下, 具有较小整体输出步幅的网络通常优于具有较大总体输出步幅的网络, 用于捕获详细的信息, 如图1所示。在此的启发下, 我们提出了一种新的知识精馏方法, 为语义分割量身定制。如图2所示, 整个框架涉及两个独立的网络: 一个是教师网络, 它输出分辨率较大 (例如, 8 的整体步幅) 的功能, 另一个是学生网络, 它的输出较小 (例如, 16 的总体步长)。快速推理。知识被定义为两部分:
(1) 第一部分旨在将教师网络中的知识转化为信息更丰富的压缩空间。translator是通过训练自动编码器将知识压缩到一种紧凑的格式来实现的, 这种格式更容易被学生网络学习, 否则由于固有的结构差异要困难得多。
(2) 第二部分旨在从教师网络中捕获long-range依赖关系, 由于感受野和抽象能力有限, 这对于小模型来说是很难学习的。以下各节提供了更多详细信息。
3.1. Knowledge Translation and Adaptation
得益于空洞卷积卷积操作, FCNs 可以保持详细的信息, 同时捕捉一个大的接受场。尽管性能得到了改进, 但引入了较大的计算开销, 并且随着输出步幅的减小而呈指数级增长, 如图1所示。在本节中, 我们建议利用具有高功能分辨率的大型教师模型来教授具有低功能分辨率的轻量级学生网络。
自动编码器, 试图重建输入, 能够捕获有用和重要的信息。我们训练一个自动编码器, 用于挖掘隐含的结构信息, 并将知识转化为一种更容易被学生网络理解和复制的格式。与低、中级feature相比, 高级feture的功能更适合我们的情况, 这些功能要么在不同的模型中具有通用性, 要么由于固有的网络差异而难以传输。在我们的方法中, 自动编码器以教师模型的最后一个卷积特征为输入, 由三个stride卷积层和对称反卷积层组成。假设我们有两个网络 , 即学生网络 S 和教师网络 T , 这两个模型的最后一个要素图分别是_s和 _t 。培训过程是通过使用重建损失 (1) 完成的。
其中 E (·) 和 D (·) 分别代表编码器和解码器。训练自动编码器时的一个常见问题是, 模型可能只学习标识函数, 这意味着提取的结构知识更有可能与输入功能共享相同的模式。由于已知 l1 范数会产生稀疏表示, 因此通过对权重和重新表示的空间进行正则化来利用相似的策略 [1]。正则化损失α的重量设置为 10e-7, 适用于所有实验。为了解决特征不匹配问题, 减少两种模型固有网络差异的影响, 通过添加卷积层来利用特征适配器。
依靠预先训练的自动编码器, 在 Eq (2) 中形式化了传输过程,
其中 E 表示预先训练的自动编码器。我表示所有职位上所有师生对的指数。Cf 是学生功能的适配器, 它使用的是一个3x3 内核, 步长为 1, 填充为 1, BN 层和 Rlu 激活功能。在匹配之前, 将对要素进行规范化。p 和 q 是不同的规范化类型, 用于将知识规范化以实现稳定性
3.2. Affinity Distillation Module
捕获长期依赖关系是一个重要的问题, 可以为语义分割的任务提供好处。如 [25] 中所述, 它更容易被具有较大接受场的深堆叠卷积层捕获。另一方面, 由于抽象能力的不足, 小型网络学习这些知识的能力有限。我们提出了一个新的亲和力蒸馏模块, 明确提取长, 非局部依赖从大教师模型。详细信息如下所述。在学习的情况下, 有时通过提供额外的差异或亲和力信息来学习新知识会更有效率。在这一启发下, 我们通过直接计算任意两个位置之间的交互来定义网络中的相关性, 而不考虑它们的空间距离。因此, 具有不同标签的像素将为具有相同标签的像素生成较低的响应和较高的响应。让最后一层的地形图为 hxwxc 大小的 , 其中 h 、 w 和 c 分别表示高度、宽度和通道的数量。affinity矩阵 a 2 Rm *m 可以通过 Eq . ( 3 ) 计算 , 其中 m 等于 hxw , i 和 j 是矢量化的索引 :
其中 A ( ) 表示与光谱归一化的feature map相对应的亲affinity矩阵。我们使用 'L2 损失来匹配教师和学生模型之间的affinity矩阵, 它被定义为 Eq. (4)
其中 E ( t ) 是教师翻译的知识 , Ca 是学生亲和力的适配器 , i 是要素图的位置索引。
为了可视化亲和力蒸馏模块的效果, 图3中给出了一些示例。给定一个随机选择点, 此点与所有其他分离的空间区域之间的响应显示在 (b) 和 (c) 中。可以看出, 学生网络未能捕获这种远程依赖关系, 只突出显示本地类似模式。借助我们的方法, 捕获远程甚至全局信息, 并可用于做出更稳健的决策。
3.3. Training Process
我们提出的方法涉及教师网和学生网。如算法1所示, 在训练过程中, 对教师网络进行预训练, 并对参数进行冻结。学生网由三个损失监督: cross entropy loss Lce with groundtruth label, adaptation loss Ladapt。在我们的实验中, β和γ的损失权重分别设置为50和 1, 对三个损失进行了调节。WE、WD 和 WS 分别表示编码器、解码器和学生模型的参数。