来自浙江大学和蚂蚁集团 - 大安全 - 数字身份及安全生态的研究者提出了一种基于标签关系树的层级残差多粒度分类网络 HRN。
基于有监督式深度学习的图像识别任务中一个方面要求是构建整理大规模、高质量的标注数据,这就对图像质量和标注人员的背景知识有比较高的要求。例如,在细粒度分类任务中,标注人员需要依赖大量的领域知识去区分各种种类的鸟以及不同型号的舰船,如图 1 所示。
图 1: 不同种类的信天翁以及不同型号的航母
在图 1 中,标注人员需要借助鸟类专家的知识才能辨认黑脚信天翁与黑背信天翁,拥有一般鸟类知识的人员或许会将这两种鸟类归类为信天翁,而缺乏鸟类知识的人员可能只会将这两种鸟类归类为鸟。类似地,标注人员需要借助军事舰船专家的知识才能有效区分尼米兹级航母与企业级航母,而缺乏相关背景知识的人员可能会将这两类舰船归类为航母。也就是说,同一张图片会被拥有不同背景知识的标注人员标注到不同层级粒度的类别上。
除了背景知识对标注产生的影响,诸如鸟类辨别中的关键区域被遮挡、图像分辨率较低、或者图像比较模糊等图像质量因素也会干扰标注人员对于图像目标属于层级多粒度标签中的哪一类的判断,如图 2 所示。
图 2: 由于遮挡、分辨率等图像质量的变化与专家背景知识的差异,导致目标可能被标注到不同层级上
但是,传统的图像识别数据集类别设定中,针对某个特定任务例如通用图像分类任务或者细粒度分类任务,类别标签往往只位于同一层级中,无法鲁棒地利用标注到不同层级上的图片,对标注的要求较高。为了降低图像质量以及背景知识等带来的对标注数据的高要求、充分利用具有不同层级粒度标签的样本,设计建模目标层级语义结构的层级多粒度识别算法对于提升深度神经网络的鲁棒性具有十分重要的作用。为此,浙江大学联合蚂蚁集团提出了一种基于标签关系树的层级残差多粒度分类网络,收录到 CVPR2022 中。
- 论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Chen_Label_Relation_Graphs_Enhanced_Hierarchical_Residual_Network_for_Hierarchical_Multi-Granularity_CVPR_2022_paper.pdf
- 代码地址:https://github.com/MonsterZhZh/HRN
算法介绍
我们从三点观察出发构建我们的层级多粒度分类算法:(1)由于细粒度类别可以根据不同层次的抽象向上不停迭代归类形成树形类别结构,我们构建对应的标签关系树建模层级类别间的语义关系;(2) 基于标签关系树设计复合损失函数,使得具有不同层级粒度标注的样本在学习时可以传递层级间的知识;(3)现实世界中位于低层级的子类除了拥有自己的独特属性还会进一步继承来自父类的属性,我们首先为每个层级设置专有的特征提取层,根据主干网 络输出的特征提取各个层级相关的特征。然后我们参考深度残差网络中经典的残差连接 设计,实现为所有父类层级的特征以残差连接的方式融合到子类层级专有的特征中,进而用于当前层级类别分类的层级残差网络(HRN)。
标签关系树
标签关系树由节点集合、有向边集合、以及无向边集合组成。每个节点对应到层级中的一个类别标签,图中的节点个数 n 等于层级中所有标签的个数。一条有向边代表节点间具有父子关系,及类别 i 是类别 j 的父类。一条无向边代表节点与为互斥关系。层级中每个类别标签取值为二元值,即,代表目标是否具有这个类别标签。图中每条边限制了相连节点的取值:对于具有父子关系边相连的两个节点的赋值是违法的(是拉布拉多却不是狗);对于具有互斥关系边相连的两个节点的赋值是违法的(既是柯基又是拉布拉多)。图中所有边约束了层级多标签中相邻类别节点的合法取值,对于层级中所有标签的一个全局合法赋值为一个二元标签向量。所有全局合法赋值向量的集合构成标签关系树 G 拥有的合法赋值空间。
层级残差网络
图 3: 层级残差网络结构图
基于残差跨层级连接的层级残差网络 (HRN) 由一个主干特征提取网络、层级特征 交互模块、以及两个并行的输出通道构成,如图 3 所示。任何常用的网络都可以作为主干网络用来提取输入图像的特征,我们选用广泛使用的深度残差网络 ResNet-50 作为 HRN 网络的主干网络。层级特征交互模块包括每个层级专有的特征提取层与残差连接部分。层级专有特征提取层网络结构一致,都包含两层卷积层后接两层全连接层 (FC)。层级专有特征提取层根据主干网络产生的共享输入特征提取每个层级专有的特征。残差连接部分首先线性组合来自粗粒度父类层级的特征与细粒度子类层级的特征,反映子类不仅具有属于自己的独特属性还继承了来自父类的属性。父类层级专有特征提取层可以视为残差连接将属于自己层级的特征逐层向下结合到子类层级的特征中。
然后,我们对组合后的特征应用非线形变换(ReLU) 后送入后续网络层。网络最后依然设置两路并行的输出通道。第一路输出通道用来基于标签关系树计算概率分类损失函数,通道中的 sigmoid 节点一一对应层级中的每个类别标签,所有 sigmoid 节点按照标签关系树进行组织。第二路输出通道中的 softmax 节点对应最后一层级中彼此互斥的细粒度类别,形成多类交叉熵损失函数让网络在优化时关注细粒度分类的误差。
复合损失函数
给定一幅输入图像通道中对应赋值向量的所有 sigmoid 节点的联合输出概率可以计算为:
- ,代表层级中第 i 个节点的 sigmoid 输出
- ,代表由标签关系树定义的层级约束
- 用作概率归一化,求和标签关系树上所有的合法赋值
如果输入图像 x 被标注到树中的第 i 个标签上,即,我们可以计算标签 i 的边缘概率:
分析边缘概率的计算公式,我们可以发现:(1)图中某个标签 的边缘概率依赖于该标签所有的父类节点分数值之和,因为该标签赋值为 1 则其所有的 父节点都应该赋值 1 才能满足层级约束关系。因此,边缘概率的计算可以使得父节点的 分数值影响子节点的预测值。(2)计算层级中间标签的边缘概率时需要包含其所有子类标签对应的联合概率,即可以聚集来自子类的知识。最后,给定 m 个训练样本,我们最大似然边缘概率得到概率分类损失函数:
- 代表赋值的标签向量,为标注到标签关系树中的标签下标。
为了进一步加强网络对于细粒度叶子节点的区分能力,我们进一步结合多类交叉熵损失函数,形成最后的复合损失函数优化整个网络:
即根据样本是否被标注叶子节点,选择性地结合交叉熵损失函数与概率分类损失函数。
实验
数据集
我们在常用的三套细粒度分类数据集:CUB-200-2011、FGVC-Aircraft、Stanford Cars。依据维基百科为每个数据集设定层级标签关系树,其中 CUB-200-2011 包含 38 orders, 38 families, 200 species 三个层级;FGVC-Aircraft 具有 30 makers, 70 families, 100 models 三个层级;以及 Stanford Cars 具有 9 car types, 196 car makers 两个层级。
实验指标
我们采用两套实验指标进行评价:衡量每个层级的准确率(OA)以及层级分类中的常用指标,即首先计算各个类别上平均的 precision-recall (PRC)曲线,通过某个阈值,获得平均 PRC 曲线中的一点:
通过设定不同的阈值得到平均 PRC 曲线,为平均 PRC 曲线下的面积。