Learning a Deep ConvNet for Multi-label Classification with Partial Labels 论文笔记

Title: Learning a Deep ConvNet for Multi-label Classification with Partial Labels(2019)
Link: Paper

Abstract

深度卷积网络在单标签图像分类任务上表现良好(ImageNet),然而现实中有很多图像是多标签的,而且多标签标记成本很高。

为了减少标记成本,这篇文章提出一个只需要部分标签的模型(每幅图只有一些标签已知)

文章首先从经验上比较不同的标记策略,以显示在多标记数据集上使用部分标记的潜力。 然后,为了学习部分标签,文章介绍了一种新的分类损失,它利用每个示例中已知标签的比例。

1. Introduction

与单标签注释相比,收集多标签注释更难进行扩展。作为一种替代策略,可以使用部分标签。

In this work, we study the problem of learning a multi-label classifier with partial labels per image.

提升图像分类性能的两种策略:设计更好的架构;学习更多的 labled data。

与收集单个标签数据集相比,收集多标签数据集更加困难且可扩展性较低,因为为每个图像收集一致且详尽的标签列表需要大量的工作。

为了克服这个困难,之前的工作有:用网络监督的方法生成标签,缺点是 the annotations are noisy and not exhaustive,学习损坏的标签泛化性能差。所以可以使用部分标签作为替代策略。


本文的三点贡献

一、根据经验比较多标签数据集的几种标签策略。在给定固定标签预算的情况下,我们的实验表明,对所有图像进行部分注释要比完全注释一小部分更好。

二、提出了一种可扩展的方法来学习带有部分标签的ConvNet。 我们引入了一种损失函数,该函数通过利用标签比例信息来概括标准的二进制交叉熵损失。 这种损失会自动适应每个图像中已知标签的比例,并允许使用与学习所有标签时相同的训练设置。

三、提出预测丢失标签的方法。 我们表明,学习的模型是准确的,可用于预测缺失的标签。

2. Related Work

Learning with partial / missing labels.

用缺失标签进行多标签学习问题: multi-label learning with missing labels (MLML)

首先介绍已有的 MLML 问题的解决方法。

第一种也是最简单的方法:缺失标签当作负标签。缺点:这样把很多正标签初始化为负标签,性能不会很高。

第二种方法:Binary Relevance (BR),把每个标签都当作单独的二分类问题。缺点:标签变多不好扩展,忽视标签间和实例间的关联。

第三种方法:补全标签。为了克服第二种方法的缺点,有人提出一些方法挖掘标签间的关联。例如,利用标签矩阵上的标签排序相关性和实例-实例相关性以及低等级的正则化来完成实例标签矩阵。

但是,这些作品大多数都不能用来学习深入的ConvNet。

因为他们需要使用内存中的训练集来解决优化问题,因此不可能使用小批量策略来微调模型。 这是有限的,因为众所周知,微调对于转移预训练的体系结构很重要。 一些方法也是不可扩展的,因为它们需要解决大型数据集难以解决的凸二次优化问题。

与这些方法不同,我们提出了一种可扩展且端到端可学习的模型。

为了训练我们的模型,我们引入了一个新的损失函数,该函数使自身适应每个示例中已知标签的比例。 与某些MLML方法类似,我们还探索了几种使用学习到的分类器填充缺失标签的策略

局部标签学习与半监督学习不同。semi-supervised learning:部分数据有全部的标签,其余没有标签。partial labels:每个数据都有标签,但都不全。

Curriculum Learning / Never-Ending Learning.

为了预测标签缺失,我们提出了一种基于课程学习的迭代策略

Curriculum Learning 受人类学习启发:先学容易的例子,然后逐渐增加难度。

**课程学习的主要问题是如何测量样例的难度。**已有的方法:easy samples 是那些容易预测出正确结果的例子;MentorNet 从 noisy data 学习;
CurriculumNet 从 large-scale noisy web images 学习,但这个网络用于多类别图像分类,而不是多标签图像分类。

**这篇文章的方法与 Never-Ending Learning (NEL) paradigm 有关。**NEL的核心思想就是用之前学习的知识提升学习的模型。之前与NEL有关的方法:使用以前学习的模型从Web数据中提取知识,这篇文章使用学习的模型来预测丢失的标签。

3. Learning with Partial Labels

3.1. Binary cross-entropy for partial labels

multi-label classification 最流行的损失函数是 binary cross-entropy (BCE)

BCE 损失为了不受类别数目影响,用类别数目正则化。

对于部分标记的数据,这将成为一个缺点,因为反向传播的梯度会变小。

为了克服这个问题,我们提出了部分BCE损失,该损失可通过已知标记的比例对损失进行归一化(请注意,部分BCE丢失会忽略未知标签的类别 yc = 0):
在这里插入图片描述

Normalization function g

当所有标签都存在时,我们希望部分BCE丢失与BCE丢失具有相同的行为。

3.2. Multi-label classification with GNN

为了对类别之间的交互进行建模,我们在 ConvNet 的顶部使用了图形神经网络(GNN)。
GNN
图神经网络,包含节点和边,每个节点都有特征向量和隐藏表示。

一个节点使用邻居节点来更新它的隐藏状态,这个更新分为两步:信息更新(message update)和隐藏状态更新(hidden state update)。

message update(M是更新消息的函数):
在这里插入图片描述
hidden state update(F是更新隐藏状态的函数):
在这里插入图片描述
GNN for multi-label classification
多标签分类任务中,每个节点表示一个类别,每条边代表类别之间的联系。
Message update function M
在这里插入图片描述
Hidden state update function F
在这里插入图片描述

3.3. Prediction of unknown labels

文章提出了一种通过课程学习策略来预测一些缺失标签的方法。

目标是最优化下面这个函数:
在这里插入图片描述

其中 vic 代表第 i 个样本的第 c 个标签选中了。

文章探讨了不同的添加新标签的策略:
a: Score threshold strategy
该策略使用分类评分(即ConvNet)来估计配对类别示例的难度。 一个简单的例子的绝对分数很高,而一个困难的例子的分数接近0。
b: Score proportion strategy
此策略与策略[a]类似,但是我们不标记对类别高于阈值的示例,而是每个小批量标记对的固定比例θ。
c: Predict only positive labels
仅使用策略[a]预测正标签。
d: Ensemble score threshold strategy
该策略类似于策略[a],但是它使用模型集成来估计置信度得分。我们平均每个模型的分类得分,以估计最终的置信度得分。
e: Bayesian uncertainty strategy
估计每个配对类别示例的贝叶斯不确定性,简单对的类别示例具有较小的不确定性。

4. Experiments

Datasets:
多标签数据集,Pascal VOC 2007, MS COCO and NUS-WIDE.

Metrics:
mean Average Precision (MAP) , 0-1 exact match, Macro-F1, Micro-F1, per-class precision, per-class recall, overall precision, overall recall.

4.1. What is the best strategy to annotate a dataset?

这一小节研究三种标注策略,寻找最好的一种——

  • Partial labels:每幅图片都有标签,但每幅图像只有部分标签已知,每幅图像已知的标签也不同。——这也是这篇文章采取的标注策略
  • Complete image labels or dense labels:只有一部分图像有标签,且每幅图像的标签齐全。——半监督学习的标注策略
  • Noisy labels: 每幅图像都有标签,每幅图像的标签种类齐全但可能有错误。——类似于网络监督学习的标注策略

4.2. Learning with partial labels

这一小节比较 standard BCE 和 partial-BCE,分析 GNN 的重要性。
在这里插入图片描述

BCE vs partial-BCE:对于所有数据集,我们观察到使用部分BCE可以显着提高性能。(Table 3 的前两列)

GNN:从 Table 3 的后两列可以看出使用 GNN可以提升性能。
从 Figure 4 可以看出,对于每个标签比例,使用GNN都会提高性能。
在这里插入图片描述

4.3. What is the best strategy to predict missing labels?

这一小节分析预测缺失标签的策略。

总体而言,可以观察到两步的策略比基于课程的策略更糟糕。

对 3.3 节不同策略的结果分析:
在基于课程的策略中,我们观察到阈值策略[a]比比例策略[b]更好。 我们还注意到,使用模型集合[d]不会显着提高单个模型[a]的性能。 仅预测阳性标签[c]是一个差的策略。 贝叶斯不确定性策略[e]是最佳策略。

还观察到GNN对于该策略非常重要,因为它可以减少标签的不确定性。

4.4. Method analysis

5. Conclusion

提出了一种可扩展的方法来端到端学习带有部分标签的多标签分类器。

证明了使用贝叶斯不确定性的课程学习模型是标记缺失标签的准确策略。

原创文章 46 获赞 36 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_38673554/article/details/104993403