多标签图像识别的任务是预测图像中存在的一组目标标签。由于对象通常同时出现在图像中,因此需要对标签依赖关系进行建模以提高识别性能。为了捕获和探索这些重要的依赖关系,我们提出了一种基于图卷积网络(GCN)的多标签分类模型。该模型在对象标签上构建有向图,其中每个节点(标签)由标签的词嵌入表示,GCN学会将这个标签图映射到一组相互依赖的对象分类器。这些分类器应用于另一个子网络提取的图像描述符,使整个网络具有端到端可训练性。在此基础上,我们提出了一种新的重加权方案,建立有效的标签相关矩阵来指导节点间的信息传播。在两个多标签图像识别数据集上的实验表明,我们的方法明显优于其他现有的最先进的方法。此外,可视化分析表明,我们的模型学习的分类器保持有意义的语义拓扑。
由于物体在物理世界中不经常同时出现,多标签图像识别的关键是对标签依赖关系进行建模,如图1所示。
本文提出了一种新的基于GCN的多标签图像识别模型(ML-GCN)。我们不将对象分类器作为一组需要学习的独立的参数向量,而是建议通过一个基于GCN的映射函数,从以前的标签表示(例如word embeddings)中学习相互依赖的对象分类器。下面,将生成的分类器应用于另一个子网生成的图像表示,以支持端到端培训。当嵌入到分类器的映射参数在所有类之间共享时(例如,,来自所有分类器的梯度影响基于GCN的分类器分类函数。这隐含地对标签相关性进行了建模。在此基础上,我们设计了一个有效的标签相关矩阵来指导节点间的信息传播,以明确地建模分类器学习的标签依赖关系。具体地,我们提出了一个重新加权的方案来平衡一个节点和它的邻域之间的权值进行节点特征更新,有效地缓解了过度拟合和过度平滑。在两个多标签图像识别数据集上的实验表明,我们的方法明显优于现有的最先进的方法。此外,可视化分析表明,我们的模型学习的分类器保持了有意义的语义结构。
1.提出了一种新颖的端到端可训练的多标签图像识别框架,该框架利用GCN将标签表示(如词嵌入)映射到相互依赖的对象分类器。
2. 我们对GCN的设计相关矩阵进行了深入的研究,提出了一种有效的重加权方案,同时解决了过拟合和过平滑问题。
3. 我们在两个基准的多标签图像识别数据集上对我们的方法进行了评估,我们提出的方法始终取得优于其他竞争方法的性能。
如何有效地捕获目标标签之间的相关性,并利用这些相关性来提高分类性能,对多标签图像识别具有重要意义。在本文中,我们使用一个图来模拟标签之间的相互依赖关系,这是一种灵活的方法来捕获标签空间的拓扑结构。
具体来说,我们将图的每个节点(标签)表示为标签的词嵌入,并建议使用GCN将这些标签嵌入直接映射到一组相互依赖的分类器中,这些分类器可以直接应用于图像特征进行分类。两个因素促使我们设计了基于GCN的模型。
首先,由于嵌入到分类器的映射参数是跨类共享的,学习的分类器可以保留词嵌入空间中的弱语义结构,**其中语义相关的概念相互接近。**同时,所有分类器的梯度都会影响分类器的生成函数,该函数隐式地对标签依赖关系进行建模。
其次,我们根据标签的共现模式设计了一个新的标签相关矩阵,利用GCN对标签依赖度进行显式建模,节点特征的更新将吸收相关节点(标签)的信息。
在[14]中引入了图卷积网络(GCN)进行半监督分类。其核心思想是通过在节点之间传播信息来更新节点表示。
与作用在欧式数据上的标准卷积不同,GCN的目的是学习一个函数。
每个GCN层都可以写成一个非线性函数:
采用[14]的卷积运算后,f(·,·)可表示为
是需要学习的变换矩阵。是标准的相关矩阵A,h是一个非线性操作,实验中用的LeakyReLU
因此,我们可以通过叠加多个GCN层来学习和建模节点之间复杂的相互关系。更多细节,我们建议有兴趣的读者参考[14]。
我们的ML-GCN是建立在GCN之上的。提出了半监督分类的GCN算法,其中节点级输出是每个节点的预测得分。与此不同的是,我们将每个GCN节点的最终输出设计为任务中对应标签的分类器。此外,图形结构(即通常在其他任务中预先定义相关矩阵,但是在多标签图像识别任务中没有提供。因此,我们需要从头开始构建相关矩阵。我们的方法的整体框架如图2所示,它由两个主要模块组成,即图像表示学习和基于GCN的分类器学习模块。
我们可以使用任何CNN基础模型来学习图像的特征。在我们的实验中,在[36,1,15,6]之后,我们使用ResNet-101[10]作为实验的基础模型。
:因此,如果输入图像的分辨率为448×448,我们可以从“conv5 x”层获得2048×14×14的特征图。然后,我们使用全局max-pooling来获得图像级的feature x:
我们学习相互依赖的对象分类器,
通过一个基于GCN的映射函数来表示标签,其中C表示类别的数量。
我们使用堆叠的GCNs,其中每个GCN层l从以前的层(H l)的节点表示作为输入和输出新的节点表示,即。H (l+1)。
对于第一层,输入为Z 属于R (C xd)矩阵,其中d为标签级词嵌入的维数。
对于最后一层,输出W∈R (C×D), D表示图像表示的维数。
将学习后的分类器应用于图像表示,得到的预测分数为
我们假设图像的真实标签为y属于R©,其中yi ={0,1}表示图像中是否出现标签 i。利用传统的多标签分类损失对整个网络进行训练,具体如下
GCN的工作原理是基于相关矩阵在节点之间传播信息。因此,如何建立相关矩阵A是GCN的一个关键问题。在大多数应用中,相关矩阵是预先定义的,然而,在任何标准的多标签图像识别数据集中都没有提供相关矩阵。本文采用数据驱动的方法建立了相关矩阵。也就是说,我们通过在数据集中挖掘标签的共现模式来定义它们之间的相关性。
我们以条件概率的形式对标签相关性依赖关系进行建模,即, P(lj | li),表示当标签li出现时,标签lj出现的概率。如图3所示,P(lj |L i)不等于P(li |L j)。因此,相关矩阵是不对称的。
为了构造相关矩阵,首先计算训练集中标签对的出现次数,得到矩阵M 属于R(CxC);具体来说,C是类别数,而M ij表示li与lj的重合次数。然后,通过使用这个标签共现矩阵,我们可以得到条件概率矩阵
其中,N i表示训练集中L i的出现次数。
然而,上述简单的相关性可能有两个缺点。首先,标签与其他标签之间的共现模式可能呈现长尾分布,其中一些罕见的共现可能是噪音。其次,从训练和测试中同时出现的绝对数量可能不完全一致。训练集的相关矩阵过拟合会影响训练集的泛化能力。因此,我们建议对相关P进行二值化。
具体来说,我们使用阈值 τ 过滤噪声边缘,和操作可以写成
由式(2)可知,在GCN之后,节点的特征是其自身特征与相邻节点特征的加权和。然后,二元相关矩阵的一个直接问题是它会导致过度平滑。也就是说,节点特性可能被过度平滑,使得来自不同集群的节点(例如,与厨房相关的节点和与客厅相关的节点)变得难以区分。为了缓解这个问题,我们提出以下重新加权的方案。
其中A’为重新加权的相关矩阵,p表示分配给节点本身和其他相关节点的权值。这样在更新节点特征时,节点本身的权值是固定的,相关节点的权值由邻域分布决定。当p趋向于1时,不考虑节点本身的特性。而另一方面,当p趋向0时,相邻信息往往被忽略。