基于伪标签的重加权半监督图像分类方法
未命名
07-12
阅读:89
评论:0

1.本发明涉及半监督学习技术、图像分类领域,具体涉及基于伪标签的重加权半监督图像分类方法。
背景技术:
2.近年来,深度学习领域取得了巨大成就,深度学习快速发展的一个关键因素是能够获得大量的训练数据。然而,在实际应用中,给数据集打标签是昂贵的。由于获取无标签数据比较简单,所以我们经常能够获得部分带标签数据和大量的无标签数据。半监督学习专注于如何有效利用大量未标记数据,旨在减少对标记数据的需求。目前,半监督学习已成功应用于各种现实任务(例如,图像分类、目标检测和语义分割),并受到越来越多的关注。
3.图像分类是计算机视觉领域基础课题之一,也是实现目标检测、人脸识别等应用的重要基础。因此,图像分类技术具有较高的研究和应用价值。顾名思义,图像分类就是给定一副图像,模型通过挖掘图像内包含的特征信息预测图像的标签信息,从而实现对图像的分类。图像分类已经成功应用于人类生活的各个领域。深度学习快速发展的一个关键因素是拥有大型的数据集。传统的深度学习可以分为有监督学习、无监督学习和半监督学习。在实际应用中,虽然我们可以容易地获取大量的数据,但是有监督学习所需的高质量标记数据仍然昂贵,需要花费大量的人物物力,例如在垃圾邮件分类中,邮件的数量十分庞大,用户无法一一查看邮件并判断是否为垃圾邮件。有标签数据带有十分珍贵的标签信息,无标签数据也含有待挖掘的丰富信息,因此开发相对丰富的未标记数据是非常重要的,并且已经引起了越来越多的关注。由于标记数据集的成本很高,多数据集是由少量标记数据和大量未标记数据组成的数据集,基于这样的数据训练模型的方式称为半监督学习,其目的是通过充分利用大量未标记数据来减少对标记数据的需求。
4.在半监督分类任务中,有两种在算法中广泛使用的有效技术:伪标记和一致性正则化。基于伪标记的模型,也称为自训练,是半监督学习中常用的策略。它旨在通过模型本身为未标记的数据生成伪标签,以指导训练过程。通常,基于伪标记的模型选择具有高置信度的预测作为监督信息来加入训练过程。基于一致性正则化的模型假设在向数据添加干扰后,预测不会改变。这两种技术都取得了相当好的性能。最近,一些先进的算法,例如mixmatch和fixmatch,集成了上述技术并实现了最先进的性能。
5.这些半监督分类模型的一个共同特点是,它们仅依赖于预定义的阈值来选择高置信度伪标签。这些算法的一个固有问题是,它们忽略了不同类别中所选伪标签的类别分布,尤其是在训练过程的初始阶段,其中只有少数伪标签的置信度高于预定义阈值。对于学习不足的类,因为模型对这些类的预测结果的置信度较低,所以这些类别中保留的伪标签数量较少,这就导致保留的伪标签的类分布不平衡。此外,尽管不同的类别在学习困难方面存在差异,但大多数现有的半监督模型对所有类别都一视同仁。
技术实现要素:
6.为克服现有技术的不足,本发明旨在提出一种基于伪标签的重加权半监督图像分类技术,利用在学习过程中,每个类对于模型的重要性不同,充分地学习不同的类。为此,本发明采取的技术方案是,基于伪标签的重加权半监督图像分类方法,步骤如下:
7.101:对用于训练的图像数据集进行处理,将整个数据集分成带标签数据集和无标签数据集随机从每个类别中抽出相同数量的数据,这些数据和其标签构成有标签数据,剩余的数据组成无标签数据集,意味着这些数据的标签没有被加入到无标签数据集中;
8.102:利用有标签的数据计算第e次迭代中有监督损失l
(e,s)
;
9.103:利用无标签的数据计算第e次迭代中无监督损失l
(e,u)
;
10.104:计算模型第e次迭代中的整体损失le11.le=l
(e,s)
+λl
(e,u)
12.其中λ是用于平衡监督损失和非监督损失的贡献的超参数;
13.105:利用梯度下降法对模型参数更新;
14.106:根据第e次迭代过程中模型生成的伪标签的情况计算各个类别的权重系数;
15.107:在测试时,将原始样本送入训练完成的模型f()中,模型输出对样本的预测结果,其中概率最高的类别即为样本的类别。
16.步骤101中的预处理过程主要包括以下步骤:
17.1011:从原始数据集中随机地从每个类别中抽取相同数量的样本保留其标签,将抽取出的样本及其标签作为有标签的数据集;
18.1012:剩余未被抽取的样本均舍弃其标签,单独保留样本作为无标签的数据集;
19.1013:有标签的数据集和无标签的数据集共同构成训练模型使用的数据集。
20.其中,步骤102中的计算有监督损失过程主要包括以下步骤:1021:随机抽取有标签样本数n
l
个有标签样本组成数据集{(xi,yi):i=1,...,n
l
},对样本xi进行弱增强操作w()生成弱增强函数w(xi),其中w()为标准的翻转和移位增强策略,以0.5的概率对原始图像进行随机翻转;
21.1022:将w(xi)送入神经网络f()中,网络输出预测分布pi=f(w(xi)),有监督损失l
(e,s)
为pi与yi之间的交叉熵:
[0022][0023]
其中ce()为交叉熵函数。
[0024]
其中,步骤103中的计算无监督损失过程主要包括以下步骤:
[0025]
1031:随机抽取nu个无标签样本组成数据集对样本进行弱增强操作生成
[0026]
1032:将送入神经网络f()中,网络输出预测分布
[0027]
1033:基于qi为无标签数据生成伪标签,具体地,如果预测结果中最可能类的概率高于阈值τ,即max(qi)≥τ,则保留其伪标签
[0028]
1034:对于保留了伪标签的无标签数据对原始数据进行强增强操作s()生成
s()是一种自动数据增强的方法,其设定了一个包括14种操作的操作集,其中有:identity、autocontrast、equalize、rotate、solarize、color、posterize、contrast、brightness、sharpness、shearx、sheary、translatex、translatey。randaugmmt,在每次进行强增强操作时随机在上述操作集中选择2种进行使用,使用时的幅度为10;
[0029]
1035:将送入神经网络f()中,网络输出预测分布
[0030]
1036:根据权重系数计算第e次迭代中带有加权的无监督损失l
(e,u)
:
[0031][0032]
其中ω
e-1
(c)为上一轮各个类别的权重系数,在每轮迭代训练完成后进行更新。
[0033]
其中,步骤106中的计算各个类别的权重系数过程主要包括以下步骤:
[0034]
1061:根据模型生成的伪标签情况计算模型对各个类别的学习状态,例如,模型对于类别c的学习状态σe(c)为:
[0035]
σe(c)=>i(max(qi)≥τ)
·
i(arg max(qi))=c
[0036]
其中i()为指示函数,即当输入为真值时输出为1,否则输出为0;
[0037]
1062:根据学习状态σe(c)计算各个类别的相对学习状态因子,例如,类别c的学习状态因子βe(c)为:
[0038][0039]
1063:根据学习状态因子βe(c)计算各个类别的权重系数,例如,类别c的权重系数为ωe(c)为:
[0040]
ωe(c)=k-βe(c)
[0041]
其中k是用于缩放ωe(c)范围的超参数。
[0042]
本发明的特点及有益效果是:
[0043]
1.本发明是一种基于伪标签的重加权半监督图像分类技术,它考虑了半监督分类中不同类别之间的学习难度。
[0044]
2.本发明鼓励模型在学习阶段更加关注伪标签较少的类别,并且可以与任意基于伪标记的半监督算法相结合,并提高提高半监督学习的性能。
[0045]
3.本发明在多个标准数据集(如cifar-10,cifar-100,svhn和stl-10)上取得了最优的结果。
附图说明:
[0046]
图1为本发明训练模型以及使用模型预测分类结果的流程图。
具体实施方式
[0047]
本发明的目的是:针对目前半监督分类任务中伪标签分布不均衡的问题,提出一种基于伪标签的重加权半监督图像分类技术,本发明考虑了半监督分类中不同类别之间的学习难度。具体而言,根据模型的当前学习状态,动态调整学习过程,鼓励模型更加关注伪标签较少的类,而不是平等对待每个样本。具体地说,在学习过程中,每个类对于模型的重
要性不同,因此模型可以充分地学习不同的类。
[0048]
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
[0049]
本发明实施例针对以上问题,提出了一种基于伪标签的重加权半监督图像分类方法,该方法考虑了半监督分类中不同类别之间的学习难度。具体而言,根据模型的当前学习状态,本发明动态调整学习过程,鼓励模型更加关注伪标签较少的类,而不是平等对待每个样本。
[0050]
实施例1
[0051]
一种基于伪标签的重加权半监督图像分类方法,该方法包括如下步骤:
[0052]
101:对用于训练的图像数据集进行处理,将整个数据集分成有标签数据集和无标签数据集具体地,随机从每个类别中抽出相同数量的数据,这些数据和其标签构成有标签数据。剩余的数据组成无标签数据集,意味着这些数据的标签没有被加入到无标签数据集中;
[0053]
其中,步骤101中的预处理过程主要包括以下步骤:
[0054]
1011:从原始数据集中随机地从每个类别中抽取相同数量的样本保留其标签,将抽取出的样本及其标签作为有标签的数据集;
[0055]
1012:剩余未被抽取的样本均舍弃其标签,单独保留样本作为无标签的数据集;
[0056]
1013:有标签的数据集和无标签的数据集共同构成训练模型使用的数据集。
[0057]
102:利用有标签的数据计算第e次迭代中有监督损失l(e,s);
[0058]
其中,步骤102中的计算有监督损失过程主要包括以下步骤:
[0059]
1021:随机抽取n
l
个有标签样本组成数据集{(xi,yi):i=1,...,nl},对样本xi进行弱增强操作w()生成w(xi),其中w()为标准的翻转和移位增强策略,以0.5的概率对原始图像进行随机翻转。
[0060]
1022:将w(
xi
)送入神经网络f()中,网络输出预测分布pi=f(w(
xi
)),有监督损失l(
e,s
)为pi与yi之间的交叉熵:
[0061][0062]
其中ce()为交叉熵函数;
[0063]
103:利用无标签的数据计算第e次迭代中无监督损失l(e,u);
[0064]
其中,步骤103中的计算无监督损失过程主要包括以下步骤:
[0065]
1031:随机抽取nu个无标签样本组成数据集对样本进行弱增强操作生成
[0066]
1032:将送入神经网络f()中,网络输出预测分布
[0067]
1033:基于qi为无标签数据生成伪标签,具体地,如果预测结果中最可能类的概率高于阈值τ,即max(qi)≥τ,则保留其伪标签
[0068]
1034:对于保留了伪标签的无标签数据对原始数据进行强增强操作s()生成s()是一种自动数据增强的方法,其设定了一个包括14种操作的操作集,其中有:
identity、autocontrast、equalize、rotate、solarize、color、posterize、contrast、brightness、sharpness、shearx、sheary、translatex、translatey。randaugmrnt,本发明在每次进行强增强操作时随机在上述操作集中选择2种进行使用,使用时的幅度为10;
[0069]
1035:将送入神经网络f()中,网络输出预测分布
[0070]
1036:根据权重系数计算第e次迭代中带有加权的无监督损失l
(e,u)
:
[0071][0072]
其中ω
e-1
(c)为上一轮各个类别的权重系数,在每轮迭代训练完成后进行更新;
[0073]
104:计算模型第e次迭代中的整体损失le:
[0074]
le=l
(e,s)
+λl
(e,u)
[0075]
其中λ是用于平衡监督损失和非监督损失的贡献的超参数;
[0076]
105:利用梯度下降法对模型参数更新;
[0077]
106:根据第e次迭代过程中模型生成的伪标签的情况计算各个类别的权重系数;
[0078]
其中,步骤106中的计算各个类别的权重系数过程主要包括以下步骤:
[0079]
1061:根据模型生成的伪标签情况计算模型对各个类别的学习状态,例如,模型对于类别c的学习状态σe(c)为:
[0080]
σe(c)=∑i(max(qi)≥τ)
·
i(arg max(qi))=c
[0081]
其中i()为指示函数,即当输入为真值时输出为1,否则输出为0;
[0082]
1062:根据学习状态σe(c)计算各个类别的相对学习状态因子,例如,类别c的学习状态因子βe(c)1为:
[0083][0084]1第e轮类别c的学习状态1063:根据学习状态因子βe(c)计算各个类别的权重系数,例如,类别c的权重系数为ωe(c)为:
[0085]
ωe(c)=k-βe(c)
[0086]
其中k是用于缩放ωe(c)范围的超参数;
[0087]
107:在测试时,将原始样本送入训练完成的模型f()中,模型输出对样本的预测结果,其中概率最高的类别即为样本的类别;
[0088]
108:在cifar-10、cifar-100、svhn和stl-10数据集上的实验详情如下:
[0089]
1081:实验环境。硬件配置为4 x titan x pascal gpu,编程语言及版本为python3.8,开源环境及版本为anaconda3,深度学习框架为pytorch,torch和torchvision的版本分别为1.4和0.5。
[0090]
1082:实验背景。在图像分类的实际应用中,给数据集打标签是昂贵的。由于获取无标签数据比较简单,所以我们经常能够获得部分带标签数据和大量的无标签数据。半监督图像分类就是利用上述数据集训练模型,目的是在少量有标签数据的帮助下充分挖掘和利用无标签数据含有的信息,从而使模型能够学到更好的语义信息,提高分类性能。
[0091]
1083:数据来源。实验中所使用的cifar-10、cifar-100、svhn和stl-10均为公开
rgb图像数据集,深度学习框架pytorch提供了这些数据集的接口,在实验中可以利用torch.utils.data.dataset类加载数据集。
[0092]
1084:实验过程。首先获取硬件计算资源和软件开发环境,包括gpu、anaconda环境等。然后基于pytorch深度学习框架进行代码开发,包括搭建网络结构、读取训练数据、对数据进行预处理、设置训练参数等。最后对训练好的模型利用测试集进行评估并于对比方法进行比较。
[0093]
1085:对比方法。我们挑选目前比较先进的半监督分类算法fixmatch作为基准方法进行比较。
[0094]
1086:实验结果。本发明及对比方法的在cifar-10、cifar-100、svhn和stl-10数据集上的评估结果如下表所示。表中展示的数据为分类正确率,其中“labels”表示数据集中含有的有标签数据的数量。从实验结果可以看出,本发明实施例的半监模型(bpl)的分类准确率高于对比方法。
[0095][0096][0097]
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
[0098]
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0099]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于伪标签的重加权半监督图像分类方法,其特征是,步骤如下:101:对用于训练的图像数据集进行处理,将整个数据集分成带标签数据集d
l
和无标签数据集d
u
:随机从每个类别中抽出相同数量的数据,这些数据和其标签构成有标签数据,剩余的数据组成无标签数据集,意味着这些数据的标签没有被加入到无标签数据集中;102:利用有标签的数据(x,y)∈d
l
计算第e次迭代中有监督损失l
(e,s)
;103:利用无标签的数据x
u
∈d
u
计算第e次迭代中无监督损失l
(e,u)
;104:计算模型第e次迭代中的整体损失l
e
l
e
=l
(e,s)
+λl
(e,u)
其中λ是用于平衡监督损失和非监督损失的贡献的超参数;105:利用梯度下降法对模型参数更新;106:根据第e次迭代过程中模型生成的伪标签的情况计算各个类别的权重系数;107:在测试时,将原始样本送入训练完成的模型f()中,模型输出对样本的预测结果,其中概率最高的类别即为样本的类别。2.如权利要求1所述的基于伪标签的重加权半监督图像分类方法,其特征是,步骤101中的预处理过程主要包括以下步骤:1011:从原始数据集中随机地从每个类别中抽取相同数量的样本保留其标签,将抽取出的样本及其标签作为有标签的数据集;1012:剩余未被抽取的样本均舍弃其标签,单独保留样本作为无标签的数据集;1013:有标签的数据集和无标签的数据集共同构成训练模型使用的数据集。3.如权利要求1所述的基于伪标签的重加权半监督图像分类方法,其特征是,步骤102中的计算有监督损失过程主要包括以下步骤:1021:随机抽取有标签样本数n
l
个有标签样本组成数据集{(x
i
,y
i
):i=1,...,n
l
},对样本x
i
进行弱增强操作w()生成弱增强函数w(x
i
),其中w()为标准的翻转和移位增强策略,以0.5的概率对原始图像进行随机翻转;1022:将w(x
i
)送入神经网络f()中,网络输出预测分布p
i
=f(w(x
i
)),有监督损失l
(e,s)
为p
i
与y
i
之间的交叉熵:其中ce()为交叉熵函数。4.如权利要求1所述的基于伪标签的重加权半监督图像分类方法,其特征是,步骤103中的计算无监督损失过程主要包括以下步骤:1031:随机抽取n
u
个无标签样本组成数据集对样本进行弱增强操作生成1032:将送入神经网络f()中,网络输出预测分布1033:基于q
i
为无标签数据生成伪标签,具体地,如果预测结果中最可能类的概率高于阈值τ,即max(q
i
)≥τ,则保留其伪标签
1034:对于保留了伪标签的无标签数据对原始数据进行强增强操作s()生成s()是一种自动数据增强的方法,其设定了一个包括14种操作的操作集,其中有:identity、autocontrast、equalize、rotate、solarize、color、posterize、contrast、brightness、sharpness、shearx、sheary、translatex、translatey。randaugmrnt,在每次进行强增强操作时随机在上述操作集中选择2种进行使用,使用时的幅度为10;1035:将送入神经网络f()中,网络输出预测分布1036:根据权重系数计算第e次迭代中带有加权的无监督损失l
(e,u)
:其中ω
e-1
(c)为上一轮各个类别的权重系数,在每轮迭代训练完成后进行更新。5.如权利要求1所述的基于伪标签的重加权半监督图像分类方法,其特征是,步骤106中的计算各个类别的权重系数过程主要包括以下步骤:1061:根据模型生成的伪标签情况计算模型对各个类别的学习状态,例如,模型对于类别c的学习状态σ
e
(c)为:σ
e
(c)=∑i(max(q
i
)≥τ)
·
i(arg max(q
i
))=c其中i()为指示函数,即当输入为真值时输出为1,否则输出为0;1062:根据学习状态σ
e
(c)计算各个类别的相对学习状态因子,例如,类别c的学习状态因子β
e
(c)为:1063:根据学习状态因子β
e
(c)计算各个类别的权重系数,例如,类别c的权重系数为ω
e
(c)为:ω
e
(c)=k-β
e
(c)其中k是用于缩放ω
e
(c)范围的超参数。
技术总结
本发明涉及半监督学习技术、图像分类领域,为提出一种基于伪标签的重加权半监督图像分类技术,利用在学习过程中,每个类对于模型的重要性不同,充分地学习不同的类,本发明,基于伪标签的重加权半监督图像分类方法,步骤如下:对用于训练的图像数据集进行处理;利用有标签的数据计算第e次迭代中有监督损失;利用无标签的数据计算第e次迭代中无监督损失;计算模型第e次迭代中的整体损失;利用梯度下降法对模型参数更新;根据第e次迭代过程中模型生成的伪标签的情况计算各个类别的权重系数;在测试时,将原始样本送入训练完成的模型中,模型输出对样本的预测结果,其中概率最高的类别即为样本的类别。本发明主要应用于图像分类场合。场合。场合。
技术研发人员:张长青 王凯
受保护的技术使用者:天津大学
技术研发日:2023.04.09
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/