基于标签相关性的图像多标签学习算法
摘要
针对图像多标签分类中样本标签类别数量较多,对应的多标签分类输出空间⢆指数劶增楱,且训练数据不足的问题,本文提出一种基于标签相关性的残差网络‐树模型的图像多标签学习算法。该算法基于残差网络‐树模型,对样本中的每个标签类别对应一个分支,并独立训练一个分类器;利用样本中标签之间的语义相关性为分类器选取训练数据,避免样本中缺失标签对分类器的干扰,同时结合残差网络‐树模型进行训练。实验在大规模多标签数据集 Pascal VOC 2007图像上进行,结果表明,本文提出的算法在实验数据集的分类效果上优于主流的多标签分类算法。
关键词 - 多标签分类;残差网络树;标签相关性
I. Introduction
在现实应用中,多标签图像存在标签缺失导致分类困难的问题,在进行图像多标签分类时,因标签数量及标签间相关性的复杂性,难以直接对图像进行分类,而标签之间的相关性在多标签分类中至关重要且具有重要作用,对提升多标签分类的性能有重要意义。
传统上,多标签分类问题的主要解决思路包括问题转化法、算法改造法与集成学习法。问题转化法将多标签图像多标签分类问题转化为单标签分类问题,常用的方法包括二元关联(Binary Relevance, CC)[1]、标签幂集(Label Powerset, LP)[2]等方法。CC方法训练独立的二元分类器对每个标签进行预测,但忽略了标签之间的相关性,分类效果有限。LP方法将问题转化为多分类问题,将每个样本中存在的标签集合组合成一个新的单一标签,该方法需要引入大量新标签,增加了训练的复杂性[3]。
算法改造法则是直接进行多标签分类,主要基于多标签k近邻(ML-kNN)[4]等多标签分类方法。ML-kNN算法是一种解决多标签问题的有效方法。该算法考虑了每个实例中出现的每个独立标签的数量,但未充分考虑多个标签之间实际存在的相关性。集成学习法主要是为了实现更优的分类效果,常结合问题转化方法与算法适应策略,典型方法包括RAkEL标签集分类器(RAkEL)[5]、集成分类器链(Ensemble of Classifier Chains, ECC)[6],以及“Pruned Sets”(Pruned Sets)[7]算法。RAkEL算法是LP方法的一种扩展,通过引入标签子集来考虑标签之间的相关性,弥补了LP方法在处理数据不平衡时的不足。然而,该算法需要大量样本才能取得较好效果,并且需要对参数设置进行细致调整以获得最优参数。ECC方法采用CC作为基础分类器进行集成,该方法继承了CC方法对分类困难样本的敏感性缺陷。“Pruned Sets”算法是一种改进的分类器,直接将k个可能相关的标签之一分配给每个样本,该算法考虑了标签之间的相关性[8]。
针对图像多标签分类问题,结合提升分类效果与标签相关性指导建模的需求,本文提出一种基于相关性残差网络‐树模型的图像多标签学习算法。该算法基于残差网络‐树模型,针对样本中的每个标签类别对应一个分支,并独立训练一个分类器;利用样本中标签之间的语义相关性为分类器选取训练数据,避免样本中缺失标签对分类器造成干扰,同时利用标签间的语义相关性,对残差网络‐树模型进行协同训练。
II. Related Work
A. 图像多标签分类问题定义
设 $ Z = {l_1, l_2, \dots, l_c} $ 为一组预定义的语义标签,$ l_j \in Z $ 为其中一个标签,表示某种语义属性。设 $ X = {x_1, x_2, \dots, x_n} $ 为一组图像的集合,对于 $ x_i \in X $,存在一组标签 $ \text{label}(x_i) $,用于描述该图像的语义属性。令 $ Y = {y_1, y_2, \dots, y_c} $,其中 $ y_{ij} \in {0,1} $ 为一个二值变量,若 $ l_j \in \text{label}(x_i) $,则 $ y_{ij} = 1 $,否则 $ y_{ij} = 0 $。称 $ Y $ 为图像 $ x_i $ 的标签向量,所有可能的标签向量构成标签空间,记为 $ \mathcal{Y} $,显然,$ |\mathcal{Y}| = 2^c $。给定一个数据集 $ D = {(x_i, Y_i) \mid x_i \in X, Y_i \in \mathcal{Y}} $,图像多标签分类的目标是从图像输入空间 $ X $ 到输出空间 $ \mathcal{Y} $ 构建一个映射 $ f: X \to \mathcal{Y} $。通常,模型 $ f $ 不直接预测 $ Y $ 的具体值,而是输出对应的概率分布。
对于样本集 $ D = {(x_i, Y_i) \mid x_i \in X, Y_i \in \mathcal{Y}} $,令矩阵 $ B = (b_{ij}) $ 为关于数据集 $ D $ 的标签矩阵,$ n $ 和 $ c $ 分别为矩阵 $ B $ 的 $ n \times c $ 行数和列数,其中
$$
b_{ij} =
\begin{cases}
1, & \text{若 } l_j \in \text{label}(x_i) \
0, & \text{否则}
\end{cases}
$$
本文基于残差网络构建一种树状网络模型,并针对样本中的每个标签类别训练一个分类器,称为残差网络树(Residual Network Tree, RNT)模型,旨在实现映射 $ f: X \to Y $。在给定的数据集 $ D = {(x_i, Y_i) \mid x_i \in X, Y_i \in Y} $ 中,对于不同标签类别构成的标签 $ Y = {l_1, l_2, \dots, l_c} $,通常具有相同的输入特征空间,并在语义空间中表现出相关性。本文利用样本中标签之间的语义相关性,针对标签空间 $ \mathcal{Y} $ 中的每个标签类别,构造相应的专属训练数据集,并将其输入到RNT模型中进行训练。
B. 标签相关性
标签集 $ Z $ 中任意两个标签用于衡量语义相关性,共有 $ \frac{c(c-1)}{2} $ 种组合。数据集 $ D $ 的标签矩阵 $ B $ 计算如下:
$$
P(l_k | l_j) = \frac{\sum_{i=1}^{n} b_{ik} \cdot b_{ij}}{\sum_{i=1}^{n} b_{ij}}
$$
其中,$ w_j $ 表示矩阵 $ B $ 的第 $ j $ 行数据,$ C_{jk} $ 表示标签 $ l_j $ 与 $ l_k $($ 1 < k < c $)共现的频次,$ P(l_k | l_j) $ 表示在标签 $ l_j $ 存在的前提下,标签 $ l_k $ 同时出现的概率,$ P(l_j | l_k) $ 表示标签 $ l_j $ 与 $ l_k $ 在标签 $ l_k $ 的前提下同时出现的概率,由此构建一个反映不同标签之间相关性的相关性矩阵 $ S \in R^{c \times c} $,其对角线元素为1(表示标签与自身完全相关)。
根据相关标签矩阵 $ S $,选取与标签 $ l_j $ 相关性最高的标签 $ l_k $,构造对应的专属训练数据集 $ D_j $ 如下:
$$
D_j = {(x_i, y_{ij}) \mid x_i \in X, y_{ij} \in {0,1}, \text{且 } P(l_k | l_j) \text{ 较高}}
$$
将构造的 $ c $ 个专属数据集输入RNT模型进行训练。训练完成后对不同标签的数据集 $ D_j $ 进行预测,得到图像 $ x_i $ 具有所属标签的预测概率值:
$$
p = f(x_i; l_j)
$$
其中,$ p $ 为预测样本 $ x_i $ 具有标签 $ l_j $ 的预测概率值。
III. Correlation-based RNT Model
A. 标签相关性
原始标签矩阵在标签属性不同时难以有效揭示样本特征与标签类别之间的关系。利用相关性标签矩阵 $ S \in R^{c \times c} $ 对原始标签矩阵 $ B $ 进行加权修正,并推导出一个能够体现潜在多语义属性的修正标签矩阵 $ \tilde{B} $。
在修正标签矩阵 $ \tilde{B} $ 中,每个元素 $ \tilde{b} {ij} $ 的含义是预测第 $ i $ 个样本在第 $ j $ 个标签上的置信度。具体而言,$ \tilde{b} {ij} $ 表示当模型预测样本 $ x_i $ 具有第 $ j $ 个标签时的置信程度。
计算过程如下:
设在标签矩阵 $ B $ 中,第 $ j $ 列对应标签 $ l_j $,若某样本 $ x_i $ 在标签 $ l_j $ 上的标注为1(即 $ b_{ij} = 1 $),则说明该样本在训练集中被标记为此标签。进一步考察该样本是否同时拥有其他标签 $ l_k $,并通过共现频率评估其语义关联强度。
若在标签矩阵 $ B $ 中,某一组样本中同时出现的多个标签具有较强的相关性,则这些标签的联合出现模式可用于增强模型对缺失标签的推断能力。因此,在修正后的标签矩阵 $ \tilde{B} $ 中,即使某个标签未被显式标注,只要其与已标注标签高度相关,也可赋予一定的置信度。
根据 $ \tilde{B} $ 计算每个标签的预测概率得分 $ P_{\text{UK}} $ 与 $ P_v $,其中 $ \tilde{B}_{ij} $ 越大,相应的预测概率得分越高,反之亦然。即:
$$
P_j = f(x_i; l_j), \quad A_j = P_j + \lambda \tilde{B}_j - F
$$
其中,$ \lambda $ 为调节系数,$ F $ 为偏置项,$ A_j $ 表示样本 $ x_i $ 在标签 $ l_j $ 上的综合激活值。
将对应于 $ A_j $ 的数据输入RNT模型进行训练,并持续迭代直至标签矩阵 $ B $ 不再显著变化为止。
B. 算法描述
根据上述对图像多标签分类模型与标签相关性的分析,该算法流程如下所示:
算法1 相关性RNT模型(C-RNT)
输入 : 训练数据集 $ D = {(x_i, Y_i)} $,标签集合 $ Z = {l_1, l_2, …, l_c} $,原始标签矩阵 $ B \in R^{c \times n} $,$ w_j $ 表示矩阵第 $ j $ 行数据,超参数 $ \lambda $
输出 : 训练完成的C-RNT模型
- For $ j = 1, 2, …, c $, $ k = 1, 2, …, c $ do
- 计算 $ C_{jk} $, $ P(l_j) $, $ P(l_k | l_j) $
- 计算相关性矩阵 $ S = [P(l_k | l_j)] $
- 选取最高相关性($ P(l_k | l_j) $ 最高)的标签构建专属数据集 $ D_j $
- 将 $ D_j $ 输入RNT模型进行训练
- 预测数据集 $ D $ 得到 $ p_j = f(x_i; l_j), l_j \in \text{label}(x_i) $
- End for
- Compute 修正标签矩阵 $ \tilde{B} = B^T \times S $
- For each label $ l_j $: 计算其激活值 $ A_j = P_j + \lambda \tilde{B}_j - F $
- 更新RNT模型参数并继续训练
- Until $ \tilde{B} $ 收敛(不再明显变化)
C. 模型架构
如图1所示,RNT模型由多个并行分支组成,每个分支对应一个标签类别,并共享底层特征提取层(基于残差网络结构)。每个分支包含独立的全连接层和sigmoid输出单元,用于输出该标签的预测概率。整个模型通过联合优化所有分支的损失函数进行端到端训练。
如图2所示,算法整体流程包括:
- 输入原始图像与标签矩阵
- 构建标签相关性矩阵 $ S $
- 生成各标签专属训练集 $ D_j $
- 输入至RNT模型进行训练
- 输出最终预测结果,并更新标签置信度矩阵
- 迭代优化直至收敛
IV. Experimental Results and Analysis
在验证C-RNT模型的分类性能并与主流算法ML-kNN、RAkEL、ECC、Pruned Sets进行对比时,采用大规模标准多标签数据集Pascal VOC 2007进行实验。该数据集包含20个物体类别的9963/2510训练/测试图像。在目标数据集中,通常为每幅图像人工标注多个分属不同类别的标签,并据此构建一个完整的标注数据集[10]。
在C-RNT模型与其他算法的对比实验中,采用了7种评价指标。
基于整体样本的评价指标有:宏平均精确率(Macro-P)、宏平均召回率(Macro-R)、宏平均F1分数(Macro-F1);
基于标签的评价指标有:微平均精确率(Micro-P)、微平均召回率(Micro-R)、微平均F1分数(Micro-F1);
反映c个标签类别分类性能综合表现的指标为:平均精确率(Average-Precision, AP)。
上述7个评价指标中,精确率、召回率、F1分数与AP的取值范围均为[0,1],越大表示性能越好;排序损失(Ranking Loss)的值越小越好。表*为各算法在多标签图像数据集上的对比实验结果。
实验结果
实验采用10折交叉验证方法,其中“↑”表示该指标越大性能越好,“↓”表示该指标越小性能越好,加粗表示最佳结果。
| 评价指标 | 算法 | C-RNT | RAkEL | ML-kNN | ECC | Pruned Sets |
|---|---|---|---|---|---|---|
| Macro-P ↑ | 0.7774±0.0107 | 0.7774±0.0107 | 0.7234±0.0132 | 0.6931±0.0114 | 0.6331±0.0135 | 0.6634±0.0190 |
| Macro-R ↑ | 0.7511±0.0121 | 0.7511±0.0121 | 0.7137±0.0121 | 0.7034±0.0107 | 0.6257±0.0113 | 0.6431±0.0159 |
| Macro-F1 ↑ | 0.7683±0.0073 | 0.7683±0.0073 | 0.7143±0.0139 | 0.6955±0.0069 | 0.6314±0.0231 | 0.6504±0.0135 |
| Micro-P ↑ | 0.7631±0.0093 | 0.7631±0.0093 | 0.7231±0.0160 | 0.7159±0.0111 | 0.6431±0.0155 | 0.6536±0.0117 |
| Micro-R ↑ | 0.7732±0.0133 | 0.7732±0.0133 | 0.7132±0.0191 | 0.6921±0.0125 | 0.6236±0.0137 | 0.6443±0.0125 |
| Micro-F1 ↑ | 0.7716±0.0122 | 0.7716±0.0122 | 0.7211±0.0117 | 0.6812±0.0137 | 0.6339±0.0111 | 0.6327±0.0176 |
| AP ↑ | 0.7626±0.0101 | 0.7626±0.0101 | 0.7112±0.0102 | 0.6921±0.0121 | 0.6217±0.0113 | 0.6557±0.0131 |
实验分析
为验证RNT模型的多标签分类性能与标签相关性有效结合的效果,本文引入条件概率向量以刻画标签间的依赖关系。从表 可以看出,在与RAkEL、ML-kNN、ECC、Pruned Sets算法的对比分析中,C-RNT模型的整体分类性能最优。其中,Pruned Sets与ECC明确考虑了标签相关性;ML-kNN仅统计每个实例中各个标签的出现次数,未充分建模标签间的内在关联;而C-RNT模型与RAkEL均利用了多个标签之间的相关性。从表 可见,利用标签相关性有助于提升分类性能。图3(文中未提供)表明,采用标签相关性可有效提升模型分类性能,且当调节参数 $ \lambda $ 在0.5~0.7之间时,对提升模型性能效果最佳。
V. Conclusion
在图像多标签分类中,标签相关性至关重要,本文基于RNT模型解决多标签分类问题。该方法充分利用标签之间的相关性,引入条件概率评分机制计算标签的共现概率,从而有效提升模型的分类性能。实验结果表明,基于相关性残差网络‐树模型的图像多标签学习方法能有效应对图像多标签分类任务,在Pascal VOC 2007数据集上优于主流多标签分类算法。
18万+

被折叠的 条评论
为什么被折叠?



