Multi-Label Image Recognition with Graph Convolutional Networks
Paper PDF
Intorduction
问题描述->现状->想法->实验->对比->结论
多标签图像识别(multi-label)(博主认为本篇论文中的识别和分类是一回事,所以下文中的分类和识别可能会混用)目的是预测图像中存在的一组目标,是计算机视觉领域中一项基本任务。与多类别图像分类(multi-class)相比,多标签任务由于输出空间的多样性变得更具挑战。正如现实世界中物体的存在方式,对标签之间的相关性进行建模是提高多标签识别性能的关键。
解决多标签识别问题,一个最简单的想法就是分别对每个标签建立一个二分类模型,显然,这种方法很难解决标签数量大的问题,并且没有考虑标签之间的拓朴结构。现在也有利用概率图模型以及RNN的方式对标签依赖关系进行显示建模,但前者计算量过大,后者会受到标签预测顺序的影响(也有orderless的方式)。还有一些利用注意力机制的方法隐式学习标签相关性,这种方式考虑了图像区域之间的关系,可以看作局部相关性,但仍然忽略了标签之间的全局相关性。
本论文提出一种利用GCN(Graph Convolutional Network)对标签之间的相关性进行建模的方式。具体来说,将图中的每个节点(标签)表示为标签的word embedding,并提出使用GCN直接将这些标签嵌入映射到一组相互依赖的分类器中,这些分类器可以直接应用于图像特征进行分类。模型利用另一个子网学习图像特征,并使得学习到的分类器作用在该图像特征上以获得最终的多标签分类结果。在训练过程中,该模型通过共享分类器的参数来隐式的学习标签之间的相关性;同时为了显式地建立标签依赖关系模型,设计了一个有效的标签相关矩阵来指导GCN中节点之间的信息传播。不仅如此,论文提出了一种re-weighted 的方案来平衡节点与其邻域之间的权值,从而有效地缓解了节点特征更新的过拟合和过平滑问题。
在MS-COCO和VOC 2007两个多标签图像识别数据集上的实验表明,本方法明显优于现有的SOTA方法。
Innovation
- 利用GCN学习inter-dependent的标签分类器组。每一个分类器对应一种标签,但分类器之间又相关影响。
- 通过二值化和re-weighted的方式改进标签相关矩阵。
Method
Graph Convolutional Network
GCN的目标是在图
(
G
)
\mathfrak(G)
(G)上学习上一种映射函数
f
(
⋅
)
f(\cdot)
f(⋅),该函数以特征描述
H
l
∈
R
n
×
d
H^l \in \mathbb{R}^{n×d}
Hl∈Rn×d和相应的节点间的相关矩阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n×n}
A∈Rn×n作为输入(其中
n
n
n表示节点个数和
d
d
d表示节点特征的维数),并将节点特征更新为
H
l
+
1
∈
R
n
×
d
H^{l + 1} \in \mathbb{R}^{n×d}
Hl+1∈Rn×d。 每个GCN的
H
l
+
1
H^{l + 1}
Hl+1可以将描述为:
H
l
+
1
=
f
(
H
l
,
A
)
(1)
H^{l + 1} = f(H^l, A) \tag{1}
Hl+1=f(Hl,A)(1)
进一步表示为:
H
l
+
1
=
h
(
A
^
H
l
W
l
)
(2)
H^{l + 1} = h(\hat{A}H^lW^l) \tag{2}
Hl+1=h(A^HlWl)(2)
其中,
W
l
W^l
Wl属于需要学习的参数矩阵,
A
^
\hat{A}
A^是标准化的变化矩阵A,
H
(
⋅
)
H(\cdot)
H(⋅)代表一种非线性变换。
GCN for Multi-label Recognition
Image representation learning
论文使用的是RestNet-101来提取图像特征,并通过global max-pooling来获得最终的一个一维的特征向量。如下式所示:
x
=
f
G
M
P
(
f
c
n
n
(
I
;
θ
c
n
n
)
)
∈
R
D
(3)
x = f_{GMP}(f_{cnn}(I; \theta_{cnn})) \in \mathbb{R}^D \tag{3}
x=fGMP(fcnn(I;θcnn))∈RD(3)
在本文中,
D
=
2018
D=2018
D=2018代表获得图片特征的维度。
GCN based classifier learning
论文通过GCN来学习inter-dependent的目标分类器组 W = { w i } i = 1 C W=\{w_i\}_{i=1}^C W={wi}i=1C。论文从采用了两层GCN网络,第一层的输入格式为 Z ∈ R C × d Z \in \mathbb{R}^{C \times d} Z∈RC×d矩阵。其中 C C C为标签个数, d d d为标签的word embedding维数(如果标签含有多个单词,则取所有单词的average embedding)。最后一层的输出为 W ∈ R C × D W \in \mathbb{R}^{C \times D} W∈RC×D矩阵。
将所学的分类器应用到图像表示中,得到的预测分数为:
y
^
=
W
x
(4)
\hat{y} = Wx \tag{4}
y^=Wx(4)
假设一幅图像的ground truth labels是
y
∈
R
C
y \in \mathbb{R}^C
y∈RC,其中
y
i
=
{
0
,
1
}
y_i =\{0,1\}
yi={0,1}表示label
i
i
i是否出现在图像中。利用传统的多标签分类Loss方法对整个网络训练:
L
=
∑
c
=
1
C
y
c
l
o
g
(
σ
(
y
^
c
)
)
+
(
1
−
y
c
)
l
o
g
(
1
−
σ
(
y
^
c
)
)
(5)
\mathfrak L = \sum_{c=1}^Cy^clog(\sigma(\hat y^c)) + (1-y^c)log(1-\sigma (\hat y^c)) \tag{5}
L=c=1∑Cyclog(σ(y^c))+(1−yc)log(1−σ(y^c))(5)
σ
(
⋅
)
\sigma(\cdot)
σ(⋅) 是sigmoid 函数。
Correlation Matrix of ML-GCN
GCN的工作原理是基于相关矩阵在节点之间传播信息。因此,如何建立相关矩阵A是GCN的一个关键问题。我们以条件概率的形式建立标签之间的相关性矩阵
P
P
P。
P
i
j
=
P
(
L
j
∣
L
i
)
P_{ij}=P(L_j|L_i)
Pij=P(Lj∣Li),表示标签
L
i
L_i
Li出现时标签
L
j
L_j
Lj出现的概率。如所示,
P
(
L
j
∣
L
i
)
P(L_j|L_i)
P(Lj∣Li)不等于
P
(
L
i
∣
L
j
)
P(L_i|L_j)
P(Li∣Lj)。因此,相关矩阵A是不对称的。
Over-fit
然而,一个标签与其他标签的共现模式可能呈现长尾分布,其中一些罕见的共现可能是噪声。其次,训练和测试中共现的数量不可能完全一致。过度拟合训练集的相关矩阵会降低泛化能力。为此,提出了对相关矩阵进行二值化处理并,使用阈值分割来过滤噪声,操作如下所示:
A
i
j
=
{
0
,
if
P
i
j
<
τ
1
,
otherwise
(6)
A_{ij} = \left\{\begin{matrix} 0, & \text{if } P_{ij} < \tau \\ 1, & \text{otherwise } \end{matrix}\right. \tag{6}
Aij={0,1,if Pij<τotherwise (6)
Over-smoothing
由式(2)可知,经过GCN后,节点的特征是自身特征与相邻节点特征的加权和。然后,二值相关矩阵的一个直接问题是它会导致过度平滑Over-smoothing。也就是说,节点之间的联系变得“僵硬”,即非0即1。为缓解这一问题,我们采用以下re-weighted方案:
A
i
j
′
=
{
1
−
p
,
if
i
=
j
p
∑
j
=
1
,
i
≠
j
C
A
i
j
,
otherwise
(7)
{A}'_{ij} = \left\{\begin{matrix} 1 - p, & \text{if } i = j \\ \frac{p}{\sum_{j=1, i\neq j}^C A_{ij} }, & \text{otherwise } \end{matrix}\right. \tag{7}
Aij′={1−p,∑j=1,i=jCAijp,if i=jotherwise (7)
其中,参数p决定节点的自相关性和与相邻节点的相关性。当
p
→
1
p → 1
p→1时,不考虑节点本身的特性。当
p
→
0
p→0
p→0时,邻近信息往往被忽略。
Experiment
Comparisons with State-of-the-Arts
Ablation Studies
- ML-GCN under different types of word embeddings
根据下图所示,word embedding的方式并没有对结果造成较大影响,这表明该模型的进步并不依赖word embedding的语义信息。
- Effects of different threshold values
τ
\tau
τ
- Effects of different
p
p
p for correlation matrix re-weighting
- The deeper, The Better?
Classifier Visualization
论文采用t-SNE来可视化提出的ML-GCN学习的分类器,以及通过vanilla ResNet学习的分类器:
根据图显示结果,GCN模型学习的分类器很好的学习到了标签之间语义拓朴结构,即相同语音的标签所在位置更加接近,这同样显示该模型更具泛化能力。
Performance on image retrieval
论文进行了图像检索实验来进一步评估模型是否能学习更好的图像表征。具体来说,使用k-NN算法来执行基于内容的图像检索。结果如下图所示:
结果表明,ML- GCN不仅能够有效地捕获标签依赖关系来学习更好的分类器,而且对于多标签识别的图像表示学习也有提升。