基于标签图叠加的多标签分类
摘要
图像或视频总是包含多个对象或动作。由于深度学习技术的快速发展,多标签识别已经实现了良好的性能.近年来,图卷积网络(GCN)被用来提高多标签识别的性能,然而,标签相关建模的最佳方式是什么,以及如何通过标签系统感知来改进特征学习,目前还不清楚.本文提出了一种标签图叠加框架,从以下两个方面对传统的多标签识别GCN+CNN框架进行改进.首先,通过将基于统计共现信息构建的标签图叠加到根据标签知识先验而构建的图中,对标签相关性进行建模,然后将多层图卷积应用于最终的叠加图以进行标签嵌入抽象。其次,我们建议利用整个标签系统的嵌入来更好地学习表示。 详细地,在浅层,中间层和深层添加GCN和CNN之间的横向连接,以将标签系统的信息注入到主干CNN中,以在特征学习过程中进行标签感知。在MSCOCO和Charades数据集上进行了大量的实验,结果表明我们提出的解决方案可以极大地提高识别性能,并取得了新的先进的识别性能。
1、介绍
多标签是图像或视频的自然属性,通常情况下,图像或视频包含多个对象或动作,在计算机视觉领域,多标签识别是一项基础性和实践性的任务,越来越受到人们的关注,鉴于深卷积网络给单标签图像/视频分类带来的巨大成功,多标签识别通过天真地将每个标签作为一个独立的个体,运用多重二值分类来预测标签是否出现,可以达到很好的效果。然而,我们认为,这一任务应考虑以下两个方面。
首先,标签和先验在图像或视频中同时出现。如图1所示,很有可能,运动球和网球拍同时出现,一个男人“坐在沙发上”同时“看电视”。,那么,一个问题自然提出了,如何建模标签之间的变化,以利用这样的先验,以获得更好的性能?其次,给定输入
X
X
X,预测其标签的常见做法可以表述为两阶段映射
y
=
F
1
∘
F
0
(
X
)
y=F_1 \circ F_0(X)
y=F1∘F0(X),其中
F
0
:
X
→
f
F_0:X\to f
F0:X→f表示CNN特征提取过程,
F
1
:
f
→
y
F_1:f\to y
F1:f→y表示从特征空间到标签空间的映射,标签只在训练阶段的最后阶段明确参与,因此,进一步的问题是,对于一个特定的多标签分类任务,相互关联的标签空间是否以及如何能够显式地帮助特征学习过程
F
0
F_0
F0?
图1表示多标签数据集中的标签关系示例。(a)举例说明了MS-COCO数据集上运动球和网球的共现率,我们可以看到网球和运动球共现的频率高达0.42。类似地,(b)展示了一个坐在沙发上看电视的例子,共现概率也有0.2
最近,图卷积网络,又名GCN,在图的顶点之间的关系建模方面取得了巨大成功。(Chen et al. 2019)利用该工具对多标签识别的标签系统之间的关系进行建模。同时利用标签共现的频率简单地构建标签图。另一个方向是通过对图像局部区域的关注来隐式地建立模型标签相关性,如(Learningspatial regularization with image-level supervisions for multi-label image classification.),此外,上述解决方案都遵循传统的两阶段映射实践,在学习特征空间时忽略了标签系统的整体结构。
本文试图为这两个问题找到可能的答案。为此,我们提出了一种称为KSSNet的标签图叠加深度卷积网络。叠加意味着在我们的框架中有以下两个折叠:(1)为了按照GCN范式对标签共现的先验进行建模,我们提出将基于知识的图叠加到基于统计的图中来构建最终的标签系统关系图,而不是单独使用标签共现的统计量来构建标签系统关系图,(2)为了更好地学习锚定在标签结构上的特定多标签识别任务的特征表示,我们设计了一种新的CNN和GCN叠加网络来提取标签结构感知描述符.具体来说,我们构造两个邻接矩阵
A
S
∈
R
N
×
N
A_S ∈ R^{N × N}
AS∈RN×N和
A
K
∈
R
N
×
N
A_K ∈R^{N × N}
AK∈RN×N,分别由共现统计和一个名为ConceptNet的知识图(An open multilingual graph of general knowledge)构造,所有节点(即标签)的初始嵌入是从ConceptNet中提取的,最后的邻接矩阵是一个叠加的版本。然后在最终的叠加图上应用多层图卷积来建模标签相关性,此外,有别于传统图像增强CNN标签的解决方案,利用信息系统在最终的识别阶段,我们增加横向联系GCN在CNN和浅,中间和深度层注入信息标签的系统骨干CNN标签意识为目的的功能学习。此外,与在最终识别阶段利用标签系统信息的传统图扩展CNN解决方案不同(传统方法是先进行CNN提取特征,然后用图训练一个标签分类器,再将特征与分类器进行矩阵乘积最终得到一个标签分数的预测),我们在浅层,中层和深层添加了CNN和GCN之间的横向连接,以将标签系统的信息注入到主干CNN中,以进行特征学习中的标签感知.结果表明,我们的解决方案在MS-COCO和Charades中获得了6.4%和12.0%的绝对mAP改进,并且计算成本非常有限,与普通CNN相比。我们的模型实现了新的最先进的技术,并在MS-COCO的mAP和Charades中分别比当前的最先进的解决方案高出1.3%和2.4%.
2.相关工作
许多已有的多标签分类研究都提出了捕捉标签关系以提高分类性能的方法。标签的共现可以用概率图模型很好地表述,在文献中,基于这一数学理论有很多方法对标签进行建模,为了解决概率图模型的计算代价负担问题,基于神经网络的求解方法近年来越来越流行,有一些工作是通过利用注意力机制来建立标签关系,在(Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification)中,使用图像区域级空间注意图或注意语义级标签相关建模来提高最终识别性能。
图被证明是标签结构建模的有效方法,我们的工作主要与(Chen et al. 2019)中提出的方法有关,该方法使用GCN在标签之间传播信息,并在最终的分类阶段将标签信息与CNN特征合并,与此不同的是,我们的工作是通过将统计共现信息构建的图叠加到使用知识先验构建的图中来构建GCN。将标签信息吸收到骨干网络中,以便更好地学习特征
3、方法
在本文中,我们提出了一种用于多标签分类的知识和标签图叠加框架。 我们提供了一种新的标签相关建模方法,即叠加统计标签图和知识先验标签图。通过在主干CNN的浅层,中层和深层吸收GCN生成的标签结构信息,设计出更好的特征学习网络架构,我们称我们的模型为KSSNet(知识和统计叠加网络),以具有用于多标签视频分类的Inception-I3D骨干的KSSNet为例,我们在图2中显示了其框图。当涉及到多标签图像分类时,通过将GCN与先进的2D CNN(如ResNet)叠加,可以很容易地构建出框架,在接下来的小节中,我们首先详细介绍标签图是如何构造和叠加的,然后展示我们提出的GCN和CNN叠加是什么。
图2:具有Inception-I3D骨干的KSSNet概述。 “ LC”是我们提出的横向连接,“ S”和“ L”分别表示Sigmoid和LeakyReLU操作。 “INc.” 是I3D中的Inception块(增加网络深度和宽度的同时减少参数)。 KSSNet将视频和初始标签嵌入作为输入,并输出这些视频的预测标签。 “ GConv”是“ Graph Convolution”的缩写
图解: 首先输入原始的图片
x
(
0
)
x^{(0)}
x(0),通过卷积池化获得特征
x
(
1
)
x^{(1)}
x(1),同时输入一个初始标签嵌入矩阵(标签映射成具有潜在关系的词向量矩阵)
E
(
0
)
E^{(0)}
E(0),然后通过一个图卷积网络获得
E
(
1
)
E^{(1)}
E(1),将
x
(
1
)
x^{(1)}
x(1)与
E
(
1
)
E^{(1)}
E(1)通过LC进行横向连接获得图片特征与标签特征融合的输出
y
(
1
)
y^{(1)}
y(1),接着将此输入扔进池化层和Inception层获得输出
x
(
2
)
x^{(2)}
x(2),同时又将图网络中获得的
E
(
1
)
E^{(1)}
E(1)经过LeakyReLU操作后与
x
(
2
)
x^{(2)}
x(2)进行LC操作,后续操作类似,最终获得GCN网络中的
E
(
4
)
E^{(4)}
E(4)以及CNN网络中的
x
(
4
)
x^{(4)}
x(4),并对
x
(
4
)
x^{(4)}
x(4)进行平均池化(对局部接受域中的所有值求均值),对
E
(
4
)
E^{(4)}
E(4)通过sigmoid函数归一化到[0,1]之间,然后相乘,将相乘获得的结果与平均池化后卷积获得的结果进行相加,最终获得标签的预测。
3.1图架构
最终的图是通过将统计标签图叠加到知识先验图中来构造的。由标签共现频率和不同标签的条件概率等统计信息构成的图在本文中称为统计图。统计信息取决于训练集中样本的分布。 统计图可能会受到噪声和干扰的明显影响。同时,诸如ConceptNet(An open multilingual graph of general knowledge)之类的知识图是通过人类知识通过多种方法构建的,例如专家创建的资源和有目的的游戏。尤其对于小尺度数据集,它能更真实地表示标签之间的关系, 但是它有三个缺点:首先,图太密集了,以至于它代表了太多的琐碎关系。 当应用到更深层次的GCNs中,与稀疏图相比,过度平滑的标签嵌入会导致更严重的负面影响,其次,它是独立的数据集,忽略了特定任务的特征。 第三,由于知识图几乎不能包含数据集中的所有标签,因此这些标签的边缘会丢失。 我们提出的方法将统计信息和人类知识相结合,可以在一定程度上克服它们的缺点。 我们正式介绍其细节如下。
图通常表示为
G
=
(
V
,
E
,
A
)
G=(V,E,A)
G=(V,E,A),
V
,
E
,
A
V,E,A
V,E,A分别表示节点集、边集和邻接矩阵,
A
A
A是一个
N
×
N
N×N
N×N的矩阵,其中
(
i
,
j
)
(i, j)
(i,j)项等于节点
V
i
V_i
Vi和
V
j
V_j
Vj之间边的权值,也就是相关性矩阵,权值越大,相关性越强。
N
=
∣
V
∣
N = |V|
N=∣V∣是顶点的数量.
E
∈
R
N
×
F
E∈R^{N×F}
E∈RN×F表示所有
N
N
N个节点的特征(本例中为标签嵌入)矩阵。
我们将统计图表示为
G
S
=
(
V
,
E
S
,
A
S
)
G_S = (V, E_S, A_S)
GS=(V,ES,AS),知识图表示为
G
K
=
(
V
,
E
K
,
A
K
)
G_K = (V, E_K, A_K)
GK=(V,EK,AK),其中
A
S
A_S
AS和
A
K
A_K
AK分别是统计信息和知识先验获得的邻接矩阵,
A
S
A_S
AS则是根据公式:(标签
i
.
j
i.j
i.j共现个数/标签
i
i
i出现的次数)来获得的,
A
K
A_K
AK是根据人类创造的知识图概念网而获得的,具体如下:
S
i
j
S_{ij}
Sij是从ConceptNet中提取的节点
V
i
V_i
Vi和
V
j
V_j
Vj之间的一组关系(如“used for”和“is a”),
w
r
w_r
wr为关系
r
r
r的权重,
∣
S
i
j
∣
|Sij |
∣Sij∣是
S
i
j
S_{ij}
Sij中的元素数
A
S
′
A'_S
AS′和
A
k
′
A'_k
Ak′分别为
A
S
A_S
AS和
A
K
A_K
AK的归一化版本,
A
S
′
=
D
S
−
1
/
2
A
S
D
S
−
1
/
2
A'_S=D_S^{-1/2}A_SD_S^{-1/2}
AS′=DS−1/2ASDS−1/2,其中
D
S
D_S
DS是对角线并且
[
D
S
]
i
i
=
∑
j
[
A
S
]
i
j
[D_S]_{ii}=\sum_j[A_S]_{ij}
[DS]ii=∑j[AS]ij.类似地对
A
S
A_S
AS进行标准化,使用
A
S
′
A'_S
AS′和
A
K
′
A'_K
AK′的加权平均值将先验知识叠加到统计图中,并对得到的新邻接矩阵进行归一化。
λ
∈
[
0
,
1
]
\lambda∈[0,1]
λ∈[0,1]为权重系数
同时,由于
A
S
′
A'_S
AS′和
A
K
′
A'_K
AK′的元素是非负的,所以
A
A
A的非零元素比
A
S
A_S
AS和
A
K
A_K
AK多,即用
A
A
A构造的图比
G
S
G_S
GS或
G
K
G_K
GK有更多的冗余边,如图3所示.:
图3:在MS-COCO上有五个节点的子图。每条边上的数字表示其权重。当阈值为0.2时,附近带有红色数字的黄色虚线突出了冗余的边缘,因为这些边权值都小于0.2,且
A
A
A为
A
S
′
A'_S
AS′和
A
K
′
A'_K
AK′之和,肯定会在原本为0的位置出现数值,这些值很可能恰好比阈值小,所以就冗余了,因此这些值很小没用要用阈值去除。
为了抑制这些边,我们使用一个阈值
τ
∈
R
τ∈R
τ∈R来过滤
A
A
A的元素.
我们知道,当GCN层的数量增加时,在某些任务中模型的性能会下降。原因可能是深层GCN层的过度平滑,受此启发,我们进一步调整叠加图邻接矩阵中的项,得到最终的矩阵
A
K
S
A_{KS}
AKS:
I
N
I_N
IN是一个
N
×
N
N×N
N×N单位矩阵(对角线为1),
η
∈
R
η ∈ R
η∈R是一个权重系数,利用邻接矩阵,我们构造的边集为:
(
V
i
,
V
j
)
(V_i, V_j)
(Vi,Vj)表示节点
V
i
V_i
Vi和
V
j
V_j
Vj的边(有向或无向边)。我们提出的图定义为
G
K
S
=
(
V
,
E
K
S
,
A
K
S
)
G_{KS} = (V, E_{KS}, A_{KS})
GKS=(V,EKS,AKS),称为
K
S
KS
KS图。
3.2 GCN和CNN的叠加
与传统的卷积不同,GCN是为非欧几里得拓扑结构设计的,在GCN中,每个节点的标签嵌入是其上一层邻居的混合嵌入。我们遵循的是应用图的卷积。每个GCN层都可以表述为一个非线性函数:
A
K
S
′
A'_{KS}
AKS′表示标准化的邻接矩阵,
E
(
l
)
∈
R
N
×
C
(
l
)
E^{(l)}∈R^{N×C{(l)}}
E(l)∈RN×C(l)表示所有
N
N
N个节点嵌入到第
l
l
l层的标签.注意,
E
(
0
)
E^{(0)}
E(0)是嵌入的初始标签,它是从像ConceptNet这样的语义网络中提取的,
W
(
l
)
∈
R
C
(
l
)
×
C
(
l
+
1
)
W^{(l)}∈R^{C^{(l)}×{C^{(l+1)}}}
W(l)∈RC(l)×C(l+1)是一个变换矩阵,在训练阶段是可以学习的,
σ
(
⋅
)
σ(·)
σ(⋅)表示非线性激活操作
我们建议通过横向连接(LC操作)在不同阶段将标签信息注入到主干2D / 3D CNN中,而不是仅在最终识别阶段叠加标签关系信息。图4显示了我们提议的LC操作的2D和3D版本。2D版本主要是用于输入单纯的一张图片的,而3D则输入的是一个视频截取出来的帧数
图4表示LC操作框图。
R
,
(
⋅
)
T
,
×
和
+
R,(·)^T,×和+
R,(⋅)T,×和+分别表示矩阵的变换维度、转置、乘法和加和运算。
x
(
l
)
x^{(l)}
x(l)和
E
(
l
)
E^{(l)}
E(l)分别是GCN第
l
l
l层的CNN特征和GCN 特征。每个张量的形状用灰色标注
以2D版本为例,网络的主要目的是将原始的图片特征和经过变换后的图片特征与原始特征的融合来结合在一起:首先输入第
l
l
l层的
x
(
C
×
H
×
W
)
x(C×H×W)
x(C×H×W),(通道数,特征长,特征宽),通过变形为
H
×
W
×
C
H×W×C
H×W×C(特征长,特征宽,通道数),同样输入GCN的隐藏标签嵌入,(标签个数,映射成嵌入向量的大小,与CNN中特征的通道数保持一致都为C),接着通过转置变为
C
×
N
C×N
C×N,然后相乘得到
H
×
W
×
N
H×W×N
H×W×N的矩阵,接着变形为
N
×
H
×
W
N×H×W
N×H×W的矩阵,大小是(标签数,特征长,特征宽),这时候就是获得每个标签与每个图片特征点之间的关系了,再通过一个
g
g
g卷积网络将其标签数变为特征通道数大小,此时的大小与输入的图片特征大小相符,这样进行相加就可以既获得标签的信息也可以获得图片的信息,从而将两者进行融合提高网络的分类性能。
以3D版本为例,我们将深度神经网络中的LC操作定义为:
其中
x
∈
R
C
×
T
×
H
×
W
x∈R^{C×T×H×W}
x∈RC×T×H×W是CNN特征,
C
C
C表示通道数,
T
,
H
,
W
T,H,W
T,H,W分别表示特征张量的帧数、高度和宽度。
N
N
N表示标签的个数,
E
∈
R
N
×
C
E∈R^{N×C}
E∈RN×C指示GCN的隐藏标签嵌入。
g
g
g表示一个
1
×
1
×
1
1×1×1
1×1×1的卷积:
g
:
R
N
×
T
×
H
×
W
→
R
C
×
T
×
H
×
W
g:R^{N×T×H×W }\to R^{C×T×H×W }
g:RN×T×H×W→RC×T×H×W,其参数在下游任务中需要学习,
⊗
⊗
⊗表示矩阵乘法且
(
⋅
)
T
(·)^T
(⋅)T是转置操作,
σ
(
⋅
)
σ(·)
σ(⋅)表示非线性激活操作,
R
N
×
T
×
H
×
W
(
⋅
)
R_{N×T×H×W}(·)
RN×T×H×W(⋅)和
R
T
H
W
×
C
(
⋅
)
R_{THW×C}(·)
RTHW×C(⋅)都作为矩阵变维操作,将输入数组重新排列为其下标所示的形状
LC的动机是推动CNN网络学习标签系统锚定的特征表示以更好地进行识别。如(7)所示,首先计算CNN特征与标签嵌入的相互关系,然后给出每个CNN特征点与标签嵌入的相关性,然后通过1x1x1卷积将相关张量映射到一个隐藏空间,来编码CNN特征与标签嵌入的关系,最后,将
1
×
1
×
1
1×1×1
1×1×1卷积生成的关系张量加入到原始CNN特征张量中。通过横向连接,对标签系统与CNN特征图之间的关系进行建模,并将学习到的CNN特征作为标签系统锚定的一种。
我们的KSSNet不仅在分类层而且还在隐藏层将标签嵌入叠加到CNN功能中。 此策略有几个优点:1)GCN中的隐藏嵌入可以帮助CNN的特征学习过程,使隐藏的CNN特征了解标签关系,(2)关于隐藏嵌入的学习过程,来自LC操作的额外梯度可以看作是特殊的正则化,这迫使隐藏嵌入更加适应CNN特征,它可以在一定程度上克服较深GCN的过平滑问题.
4.实验
在本节中,我们通过实验证明我们提出的解决方案在图像和视频多标签识别任务中都能取得很好的性能。然后,我们在我们的KSSNet中进行消融研究,以评估所提出的图构造方法的有效性。主要介绍图像:
数据集和评估指标
MS-COCOMS-COCO 是一个静态图像数据集,广泛应用于多标签图像识别、目标定位和语义分割等任务。它包含大约82K图像用于训练,41K图像用于验证,41K图像用于测试。在多标签图像识别任务中,所有图像涉及80个目标标签。平均每个图像有2.9个标签。我们对验证集上的所有方法进行评估,因为测试集的底真值标签是不可用的
评价指标 为了MS-COCO全面评估模型,为便于与其他解决方案相比,我们报告的平均每个类精度(CP)、召回(CR), F1 (CF1),平均总体精度(OP),整体召回OR或),整体F1(OF1),和平均精度均值(mAP),对于字谜游戏,我们使用mAP对所有模型进行评估,以显示其有效性。此外,我们还报告了每个模型消耗的FLOPs值来描述模型的复杂性
实现细节
在MS-COCO上的实验 对于图像识别,我们选择了最先进的ResNet101作为我们KSSNet的骨干,它是在ImageNet上预先训练的。KSSNet的GCN由四个连续的图卷积层构建,其输出的通道数分别为256、512、1024和2048,为了解决“死ReLU”问题,我们使用LeakyReLU作为图卷积层的激活操作,其斜率为负0.2。使用GCN与主干ResNet101之间的三个2D版本LC操作,将四个图卷积层的标签嵌入到ResNet101的res2、res3、res4、res5中,LC操作中的激活函数设置为Tanh.
我们采用300维GLove文本模型生成标签的初始标签嵌入,对于名称中包含多个词且没有对应键的标签,通过对所有词的嵌入量进行平均得到标签表示,我们将(2)中的
λ
λ
λ设置为0.4,将(3)中的
τ
τ
τ设置为0.02,将(4)中的
η
η
η设置为0.4。在训练过程中,采用与(Chen et al. 2019)相同的数据预处理过程.Adam作为优化器动力为0.9,权重衰减为
1
0
−
4
10^{-4}
10−4。Adam的初始学习率是0.01。所有模型总共训练100个epoch。
与baseline的比较
在这一部分中,我们分别与MS-COCO和Charades的几个现状进行比较,以显示我们提出的解决方案的有效性。
MS-COCO上的结果
我们将我们的KSSNet与最先进的方法进行比较,包括CNN-RNN 、SRN 、ResNet101、Multi-Evidence和MLGCN 。表1记录了所有模型在MS-COCO验证集上的定量结果。ML-GCN是一个基于统计标签图的GCN+CNN框架,是目前最先进的,可以观察到,我们的KSSNet在几乎所有的评估矩阵中都获得了最好的性能,特别的是,与ML-GCN相比,其mAP提高了1.3%,整体精度从85.8%提高到87.8%,整体召回率提高了1.7%,达到了新的顶级F1总分81.5%,结果证明了我们的KSSNet框架的有效性。KSSNet及其骨干网ResNet101的比较表明,mAP的绝对改善高达6.4%,并且证明了GCN的标签嵌入可以显式利用标签关系,这是普通的CNN很难学会的,甚至是被很多框架忽略的。
消融实验
在本节中,我们进行消融研究以评估我们的KS图的有效性,并分析在KSSNet框架中GCN深度的影响。
KSSNet中GCN深度的影响 我们知道,传统的GCN存在过度平滑的问题。在这一部分中,我们进行了多标签图像和视频识别实验,以证明我们的KSSNet框架能够有效地处理这个问题
KSSNet的主干分别是MS-COCO的ResNet101和Charades的Inception - I3d。在本次实验中,我们将KSSNet的GCN路径修改为具有三个和两个图的卷积层,修改可以简单地分为两个步骤:1)从GCN路径中删除前一个或两个图形卷积层及其对应的LC操作;2)然后调整其余图的第一个卷积层,通过将其输入通道C的数量调整为
E
(
0
)
E^{(0)}
E(0)的通道数,将初始标签嵌入
E
(
0
)
E^{(0)}
E(0)作为输入
实验结果如表4所示。很明显,使用我们的KSSNet,更多的GCN层会导致更好的分类结果,但代价是计算成本和模型大小的增加很少。KSSNet(3层)比KSSNet(2层)在MS-COCO和Charades上的绝对地图改进了0.6%和1.9%,KSSNet(4层)在图上的表现优于KSSNet(3层)0.2%和1.1%。根据ML-GCN 的描述,当GCN不小于2层时,随着图卷积层数的增加,传统的GCN+CNN解的性能就会下降。我们的模型的表现与此相反。这是因为(1)更多的GCN层带来更多的LC操作,引导CNN在浅层、中层和高层CNN层学习到更好的标签结构感知特征。(2) LC操作额外的梯度可以使GCN中标签嵌入的学习规范化。(3)我们提出了冗余删除等策略来解决GCN的过平滑问题。
5.结论
标签关系的获取在多标签识别中占有重要地位。为了更好地建模这些信息,我们提出通过将知识图叠加到统计图中来构建用于标签相关建模的KS图,然后提出LC操作,将GCN嵌入到CNN特征中,形成一个新的神经网络KSSNet,LC操作作为标签-特征关联建模,帮助模型学习标签锚点特征表示。对于基于标签关系的特定多标签识别任务,KSSNet被证明能够学习更好的特征表示。