近日,来自 CMU、Petuum 等机构的研究者提出一种新型语义分割模型动态结构化语义传播网络 DSSPN,通过将语义概念层次明确地结合到网络中来构建语义神经元图。实验证明 DSSPN 优于当前最优的分割模型。
引言
随着卷积神经网络的不断进步,目标识别和分割作为计算机视觉的主要研究方向取得了巨大的成功。然而,目前使用更深、更宽网络层的分割模型 [24,5,40,37,22] 在对分割注释有限的大型概念词汇的识别方面表现欠佳。原因在于它们忽略了所有概念的固有分类和语义层次。例如,长颈鹿、斑马和马同属于有蹄类动物,这个大类描绘了它们的共同视觉特征,使得它们很容易与猫/狗区分开来。此外,由于专业水平和应用目的不同,语义分割的目标概念集本质上可以开放化和高度结构化,以适应特定的任务/数据集。然而,一些技术还通过在最终预测分数上采用复杂图形推断 [7]、层级损失 [31] 或词嵌入先验 [39] 来探索视觉识别的语义层次。它们的损失约束只能间接地将视觉特征引导为可被层次感知,与通用的 CNN 模型相比,结果难以得到保证,甚至往往会得到更差的结果。
此外,模型语义层次的缺乏也阻碍了对一次性解决所有概念分割的通用分割模型的研究。现有研究 [24,5,40,37] 通常致力于训练特定任务的模型,因为数据集之间存在标签差异且数据集的注释有限。这种方法很大程度上限制了模型的泛化能力,并且偏离了通过结合概念层次来识别并关联所有概念的人类感知。如果想通过充分利用具备不同标签集的注释来改进一项任务,那么以前的模型必须移除分类层,并且仅共享中间表征。学习通用分割模型的目标与最近将不同视觉任务 [18, 36] 或多模态任务 [17] 整合进一个模型的研究有一定关联,这些研究通常使用几个固定的、具备特定损失函数的网络架构来整合所有的任务。
这篇论文旨在将语义概念层次显式地集成到动态网络优化中,称为动态结构化语义传播网络 (Dynamic-Structured Semantic Propagation Network,DSSPN)。本着课程学习(curriculum learning)的精神 [2] 逐步提高目标难度,并利用以前学过的知识学习新的细粒度的概念,DSSPN 首先遵从语义概念层次结构逐步构建语义神经元图(semantic neuron graph),其中每个神经元负责分割单词层次结构中一个概念的区域。然后每个神经元学得的特征被传播到它的子神经元中进一步学习特征,以便识别更细粒度的概念。对于每个图像或数据集,DSSPN 在激活的语义神经元子图上执行动态结构语义传播,且子图只选择当前概念及其 ancestors。得益于有序语义网络模块和动态优化策略的优点,DSSPN 学得的视觉表征可在不同概念之间自然地嵌入丰富的语义相关性。这种显式的神经元定义机制使得这篇论文提出的 DSSPN 是一种语义可解释的动态网络架构,同时具备优秀的内存和计算效率。
图 1. 根据语义概念层次结构显式构建动态网络结构的 DSSPN。基本的卷积特征被传播到动态结构化语义神经元图中,用于层级的像素级识别。在训练过程中,DSSPN 只激活语义神经元的一个子图(语义神经元涉及每个图像的目标标签),引起动态结构化的前馈传播和反向传播。这意味着 DSSPN 只需要在训练过程中将具备同一父神经元的易混淆概念进行层级分类。为了厘清概念,这里只显示部分语义神经元。
不同于只将每个神经元的父神经元的特征传递进来,受 DenseNets [16] 影响,本研究引入了一种新型密集语义增强神经块,它紧密地集成了所有 ancestor 神经元的特征来深化学习每个神经元的特征表示。通过将所有 ancestor 神经元习得的知识广播到每个子神经元中,DSSPN 可以更有效地利用语义相关性和继承性来进行特征学习。正如最近的信息瓶颈理论 [35] 所解释的那样,深层网络往往倾向于通过瓶颈来汲取信息,并只保留与目标最相关的特征。这种密集的语义连接可以通过显性地强制 ancestor 神经元保存用于识别更细粒度概念的鉴别特征,从而缓解更深层上的信息损失情况。
请注意,DSSPN 在训练期间会激活每个样本的动态计算图。为了提高可扩展性,研究者提出了动态批量优化方案,通过配置用于在每一步中学习不同神经模块的样本的动态数量优化一个 batch 中的多个计算图。
研究者在四个流行的语义分割数据集(即 Coco-Stuff [4]、ADE20k [41]、Cityscape [6] 和 Mapillary [27])上进行了实验,证明了将 DSSPN 整合进当前最优的基础分割网络的高效性。因此,研究者展示了其动态结构化传播机制是实现分割大量内在结构化概念所需的语义可解释性方式的有效方法。此外,实验表明,在多个模型上学习统一的 DSSPN 模型能够提升性能,优于常见的利用多个领域注释的精细调整(fine-tuned)方案。
图 2. 密集语义增强模块。对于每个激活的语义神经元 v_i,它级联整个路径中的神经元特征(橙色虚线箭头)以获得增强表征 h_i,然后将 h_i 通过动态像素级预测层 P_i,以区分其子节点。每个模块的输出维度(例如 48)和像素级预测层的输出维度(例如 27)显示在括号中。
图 3. DSSPN 可以学习一个统一的分割模型,以适应不同的注释策略。为了对具有不同标签粒度的多种注释进行训练,DSSPN 激活每个图像的动态结构语义传播图。例如,Ade20k 只为所有动物类别标注单个「动物类别」标签,而 Cocostuff 精心分类每个细粒度概念,例如猫或大象。对应目标标签的语义神经元未激活(灰色实心圆圈)。因此它充分利用了语义层次中共享的概念模式和概念关系。为简洁起见,此图只显示了目标标签及其 ancestor 概念。
表 1. 在 ADE20K 验证集 [41] 上进行的现有语义分割模型对比(%)。 PSPNet (101)+DA+AL [40] 使用了其他数据增强方案和辅助损失函数。从 [39] 可知,「Conditional Softmax (VGG) [31]」、「Word2Vec(VGG) [10]」和「Joint-Cosine (VGG) [39]」表明现有方法也尝试了层级分类。
图 4. 在 Coco-Stuff 数据集上的视觉对比。对于每个图像,研究者按序显示其真值标注、「DSSPN (ResNet-101)」的预测和「DSSPN (ResNet-101) Universal」的预测。
论文:Dynamic-structured Semantic Propagation Network
论文链接:https://arxiv.org/abs/1803.06067
摘要:语义分割的语义概念层级仍处于探索阶段,因为将结构推断整合进密集预测仍然低效且优化过程复杂。数据集之间的标签不尽相同和建模语义相关性的缺乏使得之前的研究必须针对每个任务调整相应的模型。这极大地限制了分割模型泛化至开放集合概念词汇和注释的能力。本论文提出一个动态结构语义传播网络(DSSPN),它通过将语义概念层次明确地结合到网络中来构建语义神经元图。每个神经元表示用于识别特定实体类型的实例化模块,实体类型包括大类(例如食物)或特定概念(例如披萨)。在训练阶段,DSSPN 理论上通过仅仅激活每个图像的神经元子图来执行动态结构化神经元计算图。我们提出了一种密集的语义增强神经模块,将所有 ancestor 神经元学到的知识传播到每个细粒度子神经元中以学习特征。这种语义可解释结构的另一个优点是可以在每一步选择性地为每个注释激活不同的神经元子图,进而在不同数据集上同步学习一个统一模型。我们在四个公开语义分割数据集(即 ADE20K、COCO-Stuff、Cityscape 和 Mapillary)上进行了大量实验,证明 DSSPN 优于当前最优的分割模型。此外,我们还展示了一个通用的分割模型,它在不同的数据集上进行联合训练,性能优于利用多领域知识的常见精细调整方案。