论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

前言:

多标签分类问题通常要考虑标签之间的依赖关系,因为有依赖关系的一组标签通常同时出现图片中。基于此此篇文章提出了一种基于图卷积神经网络(GCN)的多标签分类模型,模型在标签上构建有向图借此表达出标签之间的依赖关系同时应用传统卷积神经网络(CNN)用于图像特征的提取。并由GCN将类别标记映射(mapping)为对应类别分类器。这些分类器应用于另一个子网络提取到的图像描述。从而使整个网络可以端到端的训练

1.多标签图像识别应用及挑战

多标签图像识别有很多应用领域,例如医学图像诊断,行人\人类属性识别,零售识别等领域等

相较于传统多类别图像分类的挑战在于:其输出空间随着类别数目的加增而呈指数增大

2.传统解决方法局限性及新的思考

传统解决方法:分离看待目标对象,将多标签问题转换成一组二分类问题,检测感兴趣的目标物体是否存在,随着CNNs的发展,二分类的性能大幅度提升,使得此种方法可以作为一种多标签分类的解决方法,但是这些方法忽视了物体之间复杂的拓扑结构,具有局限性。基于此产生了两种解决方案

方案一:基于概率图模型或循环神经网络(RNN),显式地对标签依赖性进行建模
方案二:通过注意力机制对标签之间的全局相关性进行隐式建模,该方法考虑的是图像中被注意区域之间的关系(可视为局部相关性)。不过即便如此,该方法还是忽略了图像中标签之间的全局相关性(全局相关性需要通过单张图像之外的知识才能推断出来)

3.ML-GCN

基于此提出了基于图卷积网络(GCN)的全新模型,即 ML-GCN(Multi-Label Graph Convolutional Network),用于建立多标签之间的相关性,该方法有其它方法无法具备的扩展性和灵活性。
通过建立有向图的形式分析标签之间出现的逻辑关系
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

除了将目标分类器视为一组待学习的独立参数向量外,还提出一种可从标签的先验特征(如词嵌入向量)学习相互依赖的目标分类器方法,它通过一个基于 GCN 的映射函数来实现。随后,生成的分类器再被应用于由另一个子网络生成的图像特征,以实现端到端训练

重点

  • 1.由于这些从词嵌入向量到分类器的映射参数是在所有类别(如图像标签)之间共享,因此来自所有分类器的梯度都会影响这个基于 GCN 的分类器生成函数。这可以对标签的相关性进行隐式建模
  • 2.由于分类器的学习涉及到对标签相关性的建模,因此本文设计了一个有效的标签相关系数矩阵,来引导信息在 GCN 各个节点之间的传递。

此篇文章主要贡献

  • 1.提出了一种新颖的端到端可训练多标签图像识别框架,该框架采用GCN 将标签标签表示形式(例如单词嵌入)映射到相互依赖的对象分类器。
  • 2.对相关设计进行深入研究GCN矩阵,并提出有效的重新加权同时缓解过度拟合和过度平滑的问题。
  • 3.在两个基准多标签上评估此方法,始终比以前的竞争方法具有更高的性能。

4.GCN优势

建立标签之间的联系,相较于RNN方法,图的方法更有优势,因为图结构的特点意味着它包含了更多标签之间的依赖关系,并且从全局角度出发,可以收集到更加丰富的信息来预测结果信息。因此在此篇文章中利用图结构的相关依赖性来捕获和浏览标签。具体来说,利用GCN在每个图像标签之间通过学习建立一个相互依存的分类器,这些分类器从标签图中吸收信息,进一步应用于全局。最终多标签预测的图像表示。 它是评估标签共现的更明确方法。实验结果证明了此方法是有效的,并且可以以端到端的方式训练模型。

5.重点:ML-GCN方法

5.1ML-GCN方法动机

如何有效获取目标标签之间的相关性?如何利用这些标签相关性提升分类表现?这是多标签图像识别的两个重要问题。本文使用图(graph)来对标签之间的相互依赖关系进行建模。这种方法能够灵活地获取标签空间中的拓扑结构。

图中的每个节点(标签)都表示为该标签的词嵌入向量,并提出使用 GCN 直接将词嵌入向量映射到一组互相依赖的分类器上,这些分类器进一步又可直接应用于图像特征以进行分类。基于 GCN 的模型有两个设计动机:

  1. 由于从词嵌入向量到分类器的映射参数在所有类别中是共享的,所以习得的分类器能够在词嵌入空间中(语义相关的概念在词嵌入空间中彼此临近)保留较弱的语义结构。与此同时,对于可以对标签依赖性进行隐式建模的分类器函数,所有分类器的梯度都会对它产生影响。

  2. 基于标签的共现模式,该方法设计了一个全新的标签相关系数矩阵,可显式地用 GCN 建模标签相关性,让节点的特征在更新时也能从相关联的节点(标签)吸收信息。

5.2GCN简述

图卷积网络可用于进行半监督分类任务,其核心思想是通过节点之间的信息传播来更新节点的表示。

不同于在一张图像局部欧氏结构之上进行操作的标准卷积方法,GCN 的目标是学习一个图 G 的函数
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
相应变量注释如下:

  • 1.HlϵRnxd{H^l}{\epsilon}{\mathbb{R}}^{nxd}
    H作为特征描述
    n代表着图中节点的数量,也就对应于标签的个数
    d代表每个节点的特征向量的维度,也就是词嵌入的维度
  • 2.AϵRnxn{A}{\epsilon}{\mathbb{R}}^{nxn}
    A代表着对应的相关系数矩阵
  • 3.Hl+1ϵRnxd{H^{l+1}}{\epsilon}{\mathbb{R}}^{nxd^{\prime}}
    dd^{\prime}代表着转换后的特征向量维度
  • 4.A^:ϵRnxn\hat{A}:{\epsilon}{\mathbb{R}}^{nxn}:
    归一化的相关系数矩阵
  • 5.WlϵRdxd{W^{l}}{\epsilon}{\mathbb{R}}^{dxd^{\prime}}
    需要学习的转换矩阵
  • 6.h()h()
    非线性变换在此文中代表LeakyReLu

5.3GCN用于多标签识别

GCN 的设计初衷是半监督分类,其节点层面的输出结果是每个节点的预测分数。不同的是,在 ML-GCN 中,每个 GCN 节点的最终输出都被设计成与标签相关的分类器。此外,不同于其它任务,这里的多标签图像分类任务没有提供预定义的图结构(即相关系数矩阵)。这需要从头构建相关系数矩阵。

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

图像特征学习:原则上可使用任意基于 CNN 的模型学习图像特征。本文在实验中使用 ResNet-101 作为实验基础模型;然后应用全局最大池化获取图像层面的特征 x:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

GCN 分类器学习:通过一个基于 GCN 的映射函数从标签特征学习相互依赖的目标分类器W={wi}i=1CW=\{w_i\}_{i=1}^C.使用堆叠 GCN,其中每个 GCN 层 I 的输入都取前一层HlH^l的节点特征作为输入,然后输出新的节点特征Hl+1H^{l+1},第一层的输入是词嵌入向量ZϵRCxdZ{\epsilon}{\mathbb{R}}^{Cxd},矩阵最后一层的输出是分类器WϵRCxDW{\epsilon}{\mathbb{R}}^{CxD}此处的特征维度DD对应于图像特征提取的特征维度DD
通过将所学到的分类器应用于图像特征,得到预测分数:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

假设一张图像的真实标签是yϵRCy{\epsilon}{\mathbb{R}}^{C},那么整个网络可使用传统多标签分类的损失函数来训练,如下:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

5.4ML-GCN中的相关系数矩阵

基于相关系数矩阵,GCN 可在节点之间进行信息传递,因此如何构建相关系数矩阵 A 就成了GCN 模型中一个非常重要的问题。本文中以数据驱动的方式构建了一个相关系数矩阵,换句话说,相关性可以通过挖掘标签在数据集中的共现模式而来定义。
本文以条件概率的形式P(LjLi)P(L_j|L_i)对标签的相关依赖性进行了建模。
不等于P(LiLj)P(L_i|L_j)因此相关系数矩阵不是对称的如图所示

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

为构建相关系数矩阵,本文首先统计了训练数据集中标签对的出现次数,得到矩阵MϵRCxCM{\epsilon}{\mathbb{R}}^{CxC},然后使用这个标签共现矩阵得到条件概率矩阵:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

其中NiN_i代表训练中LiL_i的出现次数组
然而,上面这种简单的相关性可能有两个缺陷。首先,一个标签和其它标签的共现模式可能表现为长尾分布,其中某些罕见的共现可能是噪声;其次,训练和测试*现的绝对数可能并不完全一致。因此,本文提出对相关系数矩阵进行二值化处理。具体而言,将阈值 T 用于过滤噪声边,其中 A 是二值相关系数矩阵:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

过度平滑问题:经过 GCN 后,一个节点的特征是其自身特征和相邻节点特征的加权和。而二值化相关系数矩阵的一个直接问题是其可能导致过度平滑。为了缓解这一问题,本文提出以下二次加权方法:

论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks

通过这种做法,在更新节点特征时,节点本身的权重是固定的,相关节点的权重则由邻近分布确定。当 p→1 时,不考虑节点本身的特征;当 p→0 时,往往忽略相邻信息。

6.实验

MS-COCO实验结果

对于 ML-GCN,给出了基于二值相关系数矩阵与基于二次加权相关系数矩阵两个版本的结果,后者的分类表现更好,可以有效缓解上述问题,从而在几乎所有指标上领先其它方法,这证明了新提出的网络与二次加权法的有效性
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
表1:在MS-COCO数据集上ML-GCN与之前最佳方法的比较

VOC 2007实验结果

为公平对比,给出了以 VGG 为基本模型的结果。由表 2 可知,使用权重更新方案的 ML-GCN 模型在 mAP 指标上得到 94% 的分数,高出先前最优方法 2%。此外,即使以 VGG 为基础模型,仍然超出先前最佳水平 0.8%。
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
在VOC 2007数据集上ML-GCN与之前最佳方法的AP与mAP比较

分类器可视化

对采用 ML-GCN 模型习得的分类器与由 vanilla ResNet(即最后一个全连接层的参数)得到的基本分类器进行了可视化分析。结果如图 8 所示。可以清楚看到,由新提出的方法学习到的分类器能够维持语义的拓扑结构。
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
图8:在MS-COCO上新模型学习到的互相依赖型分类器与ResNet的基本分类器的可视化

在图像检索上的表现

进一步,考察了新模型在图像特征上的学习能力,通过使用 k-NN 算法执行基于内容的图像检索验证由新模型习得的图像特征的鉴别能力,结果表明(见图 7),ML-GCN 不仅能通过有效获取标签依赖性学习更好的分类器,而且还能有助于多标签的图像特征学习。
论文笔记:Multi-Label Image Recognition with Graph Convolutional Networks
使用查询图像得到的排名前五的结果

7.结论

标签相关性建模是多标签图像识别的一大关键问题。为建模和利用这种重要信息,提出基于 GCN 的模型来根据先验的标签特征(比如词嵌入向量)学习互相依赖的目标分类器。

为了对标签相关性进行显式建模,文中设计了一种全新的二次加权方法,可通过平衡节点与其相邻节点来为 GCN 构建一个相关系数矩阵,以更新节点特征,从而有效缓解了妨碍 GCN 性能的两大问题:过拟合与过度平滑。定量和定性实验结果都表明新方法的优越性。