CVPR2022 | 浙大、蚂蚁集团提出基于标签关系树的层级残差多粒度分类网络,建模多粒度标签间的层级知识(1)

简介: CVPR2022 | 浙大、蚂蚁集团提出基于标签关系树的层级残差多粒度分类网络,建模多粒度标签间的层级知识

来自浙江大学和蚂蚁集团 - 大安全 - 数字身份及安全生态的研究者提出了一种基于标签关系树的层级残差多粒度分类网络 HRN。


基于有监督式深度学习的图像识别任务中一个方面要求是构建整理大规模、高质量的标注数据,这就对图像质量和标注人员的背景知识有比较高的要求。例如,在细粒度分类任务中,标注人员需要依赖大量的领域知识去区分各种种类的鸟以及不同型号的舰船,如图 1 所示。

   

图 1: 不同种类的信天翁以及不同型号的航母

在图 1 中,标注人员需要借助鸟类专家的知识才能辨认黑脚信天翁与黑背信天翁,拥有一般鸟类知识的人员或许会将这两种鸟类归类为信天翁,而缺乏鸟类知识的人员可能只会将这两种鸟类归类为鸟。类似地,标注人员需要借助军事舰船专家的知识才能有效区分尼米兹级航母与企业级航母,而缺乏相关背景知识的人员可能会将这两类舰船归类为航母。也就是说,同一张图片会被拥有不同背景知识的标注人员标注到不同层级粒度的类别上。

除了背景知识对标注产生的影响,诸如鸟类辨别中的关键区域被遮挡、图像分辨率较低、或者图像比较模糊等图像质量因素也会干扰标注人员对于图像目标属于层级多粒度标签中的哪一类的判断,如图 2 所示。

图 2: 由于遮挡、分辨率等图像质量的变化与专家背景知识的差异,导致目标可能被标注到不同层级上

但是,传统的图像识别数据集类别设定中,针对某个特定任务例如通用图像分类任务或者细粒度分类任务,类别标签往往只位于同一层级中,无法鲁棒地利用标注到不同层级上的图片,对标注的要求较高。为了降低图像质量以及背景知识等带来的对标注数据的高要求、充分利用具有不同层级粒度标签的样本,设计建模目标层级语义结构的层级多粒度识别算法对于提升深度神经网络的鲁棒性具有十分重要的作用。为此,浙江大学联合蚂蚁集团提出了一种基于标签关系树的层级残差多粒度分类网络,收录到 CVPR2022 中。



算法介绍
我们从三点观察出发构建我们的层级多粒度分类算法:(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 曲线下的面积。



相关文章
|
14天前
|
网络协议
计算机网络的分类
【10月更文挑战第11天】 计算机网络可按覆盖范围(局域网、城域网、广域网)、传输技术(有线、无线)、拓扑结构(星型、总线型、环型、网状型)、使用者(公用、专用)、交换方式(电路交换、分组交换)和服务类型(面向连接、无连接)等多种方式进行分类,每种分类方式揭示了网络的不同特性和应用场景。
|
12天前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
25 3
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
79 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
26天前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习入门案例:运用神经网络实现价格分类
深度学习入门案例:运用神经网络实现价格分类
|
13天前
|
存储 分布式计算 负载均衡
|
13天前
|
安全 区块链 数据库
|
15天前
|
机器学习/深度学习 API 算法框架/工具
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
30 0
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
3月前
|
算法 前端开发 数据挖掘
【类脑智能】脑网络通信模型分类及量化指标(附思维导图)
本文概述了脑网络通信模型的分类、算法原理及量化指标,介绍了扩散过程、路由协议和参数模型三种通信模型,并详细讨论了它们的性能指标、优缺点以及在脑网络研究中的应用,同时提供了思维导图以帮助理解这些概念。
44 3
【类脑智能】脑网络通信模型分类及量化指标(附思维导图)
|
3月前
|
数据采集 量子技术 双11
【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现
本文提供了2023年第十三届MathorCup高校数学建模挑战赛C题的详细建模方案及代码实现,针对电商物流网络中的包裹应急调运与结构优化问题,提出了包括时间序列分析在内的多种数学模型,并探讨了物流网络的鲁棒性。
59 2
【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现