基于解码器迭代筛选的鲁棒噪声多标签图像学习方法

文档序号:32166688发布日期:2022-11-12 05:00阅读:34来源:国知局
基于解码器迭代筛选的鲁棒噪声多标签图像学习方法

1.本发明涉及一种基于解码器迭代筛选的鲁棒噪声多标记图像学习方法。


背景技术:

2.多标记分类旨在预测与输入图像中给定的对象、属性或其他动作相对应的一组标记,这通常依赖于一个相当大的、干净的多标记数据集。在实践中,为每张图像标注完全正确的多标记数据需要极高的成本,因此,标注中会包含大量噪声。传统的多标记分类通过学习标记共现去刻画标记关系图,利用标记关系图训练模型。虽然传统的多标记分类解决了图像预测信息匮乏的问题,然而却忽视了获取完全干净的数据集需要极大的成本。
3.目前新兴的偏多标记学习,即每个图像都带有一个候选标记集,包含所有相关的和一些不相关的标记,通过评估置信度来确定标记。部分缺失的多标记学习,只包含所有相关标记的一个子集,利用标记关系去恢复所有标记。它们虽然都考虑了数据集标注不可能完全正确的情况,但无法处理更复杂的噪声情况,即同时包含多标、漏标和错标的标记情况。


技术实现要素:

4.本发明的目的在于提出一种基于解码器迭代筛选的鲁棒噪声多标记图像学习方法,以进一步提升在多标记噪声,即同时包含多标、漏标和错标场景下的准确率。
5.本发明为了实现上述目的,采用如下技术方案:基于解码器迭代筛选的鲁棒噪声多标记图像学习方法,包括如下步骤:步骤1. 获取数据集d={(xi,yi)},d表示由通过网络平台获取的图像xi及其对应的包含噪声的多标记向量yi组成的训练数据集,yi=[ y
1i
, y
2i ,...,y
li
],i∈{1,n};y
mi
表示第i个样本对应于第m类的标记,m∈{1,l};其中,n表示数据集d中的样本总数,l表示数据集d中的类别总数;步骤2. 初始化各项参数,包括:迭代轮数τ=0、筛选噪声率r、伪标记阈值μ、预训练参数t
warm
、筛选参数tc、学习率η以及类的高维语义嵌入{vi},i∈{1,l};其中,vi表示第i类的高维语义嵌入,共l类;步骤3. 搭建深度学习模型即分类器c、二元交叉熵损失函数l
bce
以及正则化项;其中,正则化项包括标记语义正则化项l
lsr
以及标记关系正则化项l
lrr
;步骤4. 在warm-up训练阶段,将数据集d中图像xi及其对应的多标记向量yi送入分类器c中训练t
warm
轮,优化二元交叉熵损失函数l
bce
和标记语义正则化项l
lsr
来更新c;步骤5. 在迭代筛选阶段,调整模型状态,记录每个标记在调整过程中规范化损失以检测噪声;将规范化损失由大到小进行排序,并取排序的前r%的标记对应的样本为噪声样本集d
noisy
,剩余为干净样本集d
clean
;步骤 6. 使用分类器c依次为噪声样本集d
noisy
中每个样本xi进行类别预测,并取预测类别概率值大于伪标记阈值μ的类别作样本xi的伪标记,构成伪标记集d
pseudo

步骤 7. 统计数据集{d
pseudo
, d
clean
}中标记的共现概率;步骤 8. 将数据集{d
pseudo
, d
clean
}重新输入分类器c,优化二元交叉熵损失函数l
bce
和标记关系正则化项l
lrr
来微调分类器c;步骤 9. 判断当前迭代次数τ是否达到最大迭代次数t;若当前迭代次数τ未达到最大迭代次数t,则返回步骤5继续迭代训练,τ=τ+1;否则,转到步骤10;步骤10. 模型训练完成之后,得到能够在多标记数据集上完成可靠分类性能的分类器c;利用训练好的分类器c执行分类预测任务。
[0006]
本发明具有如下优点:如上所述,本发明述及了一种基于解码器迭代筛选的鲁棒噪声多标记图像学习方法,该方法每次迭代中,都会调整模型的状态以检测噪声标记,并通过模型预测对噪声标记作伪标记,经过多次调整模型状态能提供足够的标记信息,从而可靠地筛选出错误标记,做到有效过滤。此外,模型在训练早期学习多标记的语义关系,在训练后期拥有可信伪标记后,则学习多标记的共现关系,其中,依据多标记间的关系特性,在训练早期学习标记语义关系,使得模型能够初始化标记的分布,从而受到较少的噪声影响,而在模型训练后期学习标记共现关系,使得模型能够学习类分布情况,从而提升在噪声情况下多标记分类的鲁棒性。本发明方法专门为多标记噪声提供了一个基础框架,框架中的分类模型可以替换成任何多标记的常用模型,提高了多标记分类在噪声条件下方法的鲁棒性。本发明能够有效提升在多标记噪声,即同时包含多标、漏标和错标场景下的类别预测准确率。
附图说明
[0007]
图1为本发明实施例中基于解码器迭代筛选的鲁棒噪声多标记图像学习方法的流程图;图2为本发明实施例中基于解码器迭代筛选的鲁棒噪声多标记图像学习方法的模型图;图3为本发明实施例中分类器的结构示意图;图4为本发明实施例中多标记噪声的检测流程图。
具体实施方式
[0008]
在多标记数据集的收集过程中,使用众包平台是一种典型的方法,但由于标注者缺乏理论知识、观察不准确或主观性臆断错误,完全正确地注释每个图像是耗时且困难的。为了应对多标记数据集中的标记噪声问题,本发明提出一种基于解码器迭代筛选的鲁棒噪声多标记图像学习方法,该方法利用噪声样本在训练后期进行记忆,并且在开始具有较大损失的特性,提出对每个标记的损失分析,认为干净样本是具有小损失的一类。同时,由于传统网络训练时,网络状态在整个训练过程中仅发生一次由欠拟合到过拟合的过程,这将缺乏足够且可信的数据来完整地过滤噪声标记。因此,本发明考虑了循环筛选,即在循环过程中让模型循环地处于欠拟合和和过拟合状态之间,并在此变化期间记录标记的损失,从而达到过滤噪声标记的目的。为了进一步使用噪声标记的信息,本发明通过为噪声标记生成伪标记来学习样本信息,具体的,利用模型预测的概率结果来确定该噪声标记的伪标记。此外,与单标记学习不同的是,多标记具有可以利用和探索的标记相关性。由于训练早期模
型含有大量的噪声,此时的标记关系并不可靠,本发明考虑标记的语义关系,使用预训练的glove 提取每一类的语义表示,通过学习标记语义分布以编码标记相关性。在训练后期,模型过滤大部分的噪声标记,并为大部分噪声标记提供可信度高的伪标记,这时本发明考虑标记的共现性,分析数据集标记的共现关系,可以从正标记之间的相关性中学习更多的信息。这两种标签关系分别拟合标记语义分布和标记共现分布,从多标记中学习更多的标记信息。通过以上方法可以有效地解决在噪声条件下,多标记分类预测不准确的问题,提高多标记分类在噪声下的鲁棒性。
[0009]
下面结合附图以及具体实施方式对本发明作进一步详细说明:如图1所示,基于解码器迭代筛选的鲁棒噪声多标记图像学习方法,包括如下步骤:步骤1. 获取数据集d={(xi,yi)},d表示由通过网络平台获取的图像xi及其对应的包含噪声的多标记向量yi组成的训练数据集,yi=[ y
1i
, y
2i ,...,y
li
],i∈{1,n}。
[0010]ymi
表示第i个样本对应于第m类的标记,m∈{1,l}。
[0011]
其中,n表示数据集d中的样本总数,l表示数据集d中的类别总数。
[0012]
训练数据集能够很容易地通过网络公开标注平台获得,如众包标注平台,但是这种低成本的标记并不完全准确,因此,平台获得的标注含有噪声标记。
[0013]
对于任何一个从网络平台获取的图像,其对应的多个标记中可能有部分错误的标记,在这种场景下,训练较准确的多标记分类器是极具挑战性的。
[0014]
步骤2. 初始化各项参数,包括:迭代轮数τ=0、筛选噪声率r、伪标记阈值μ、预训练参数t
warm
、筛选参数tc、学习率η以及类的高维语义嵌入{vm},m∈{1,l}。
[0015]
其中,vm表示第m类的高维语义嵌入。
[0016]
μ和r为人为设置的超参数,其中,μ代表每次噪声检测时,判定是否为干净样本的最低阈值,r表在每轮迭代训练中划分为噪声标记的比率上限。
[0017]
为了更好的学习标记语义相关性,使用glove对每一类引入了类的高维语义嵌入{vm}。
[0018]
步骤3. 如图2所示,搭建深度学习模型即分类器c、二元交叉熵损失函数l
bce
以及正则化项;其中,正则化项包括标记语义正则化项l
lsr
以及标记关系正则化项l
lrr

[0019]
如图3所示,分类器c包括一个预训练过的残差网络构成的特征提取器和一个transformer的解码器。本实施例中分类器c的改进之处在于:为了更好的连接特征提取器和transformer的解码器,本发明将残差网络最后的全连接层替换成解码器,同时,为了节省计算开销,解码器删除了自注意力模块。
[0020]
残差网络用于提取图像特征,并将图像映射到高维特征空间。
[0021]
transformer解码器对映射后的特征进行预测概率,得到l维的预测结果向量。
[0022]
对于输入的图像xi,经过残差网络提取特征fi后,输入transformer解码器。解码器中首先经过交叉注意力模块,即对输入的键和查询作相似性计算,并以结果作值的权重。
[0023]
这里的键和值都为图片特征fi,查询为数据集类的语义嵌入。
[0024]
因此,交叉注意力模块按如下公式进行:s
i,j
=softmax([qjwq][fi·
wk]
t
)/;hi=si·fi
wv;
其中,fi为图像xi提取的特征,与解码器的输入维度一致。wq、wk、wv是查询、键和值可学习的权重参数,s
i,j
为查询j与键i的相似度值,d为特征维度。
[0025]
si代表类i的相似度值,此处作为提取特征的权重,hi为这一层的输出。随后将依次经过前馈层和全连接层,其中,前馈层负责改变嵌入的维度,全连接层负责最后的分类。
[0026]
h’i
=relu(hiw1+b1)w2+b2;=pool(h’i
)。
[0027]
其中,w1和w2为变换矩阵,b1和b2为偏移向量,relu为激活函数,pool为全连接层。解码器中起主要作用的是交叉注意力模块,能更好的学习图片的特征和标记之间的关联性。
[0028]
本实施例中分类器c的作用有如下两个:在噪声检测阶段,分类器c对数据集d中的噪声标记进行过滤,将d划分为噪声样本集d
noisy
和干净样本集d
clean
,并为检测出的噪声样本集d
noisy
预测伪标记,构成d
pseudo
,参与模型微调。在训练阶段,对于分类器c,用{d
pseudo
, d
clean
}的混合数据来训练,对于输入的一张图片和对应的一组标记(xi,yi),分类器c会对xi进行预测,最终得到l维的预测结果。
[0029]
步骤4. 在warm-up训练阶段,将数据集d中图像xi及其对应的多标记向量yi送入分类器c中训练t
warm
轮。warm-up训练指正式自训练之前,利用原始数据集d来更新模型的简单预训练,根据深度模型优先拟合干净样本后拟合噪声样本的特性,使得模型通过初期训练,作为以下迭代训练(即下述步骤5~下述步骤10)的预训练,从而能够对干净标记进行拟合,而不会对噪声标记拟合,起到对整个模型参数进行初始化的作用。
[0030]
在该步骤4中,优化二元交叉熵损失函数l
bce
和标记语义正则化项l
lsr
来更新c。
[0031]
二元交叉熵损失函数l
bce
的具体形式为:。
[0032]
每次迭代通过把全部数据均送入模型,并计算全部数据的损失函数。
[0033]
在训练早期,学习标记语义相关性,使用glove对每一类引入了类的高维语义嵌入{vm},m∈{1,l},并得到标记的语义相似性lc(m,n),如下公式所示:lc(m,n)=v
tm
vn。
[0034]
其中,vm和vn表示使用glove获得的对应于m,n类的高维语义嵌入,m,n∈{1,l}。
[0035]
标记语义正则化项l
lsr
的具体形式为:。
[0036]
其中,pm表示对于第i个样本标记的第m类预测,p为预测得到的正标记集合,n
p
是正标记集合的标记数量,i
p
∈p为正标记集合中的标记。
[0037]
lc(i
p
,m)表示标记语义相似度矩阵,即获得当前正标记i
p
与标记m之间的语义相似度值。
[0038]
σ是一个固定边界,为一固定常数值,(,)表示欧氏距离。
[0039]
标记语义正则化项l
lsr
目的是让模型的预测分布去拟合标记的语义关系分布,这有利于在训练早期学习正确的标记分布关系,减少噪声标记的干扰。
[0040]
步骤5. 在迭代筛选阶段,调整模型状态,记录每个标记在调整过程中的规范化损失以检测噪声;将规范化损失由大到小进行排序,并取排序的前r%的标记对应的样本为噪声样本集d
noisy
,剩余为干净样本集d
clean

[0041]
如图4给出了分类器c如何对噪声样本进行过滤,这是一个循环步骤,具体过程如下:步骤 5.1. 定义循环筛选轮数tc和最大循环轮数tc,初始化tc=0。
[0042]
步骤 5.2. 按照如下公式调整模型的学习率η,以改变模型的拟合状态:η=η
min
+1/2(η
max
-η
min
)(1+cos((tc·
π)/tc))。
[0043]
其中,η
min
和η
max
分别表示模型训练中最小学习率和最大学习率。
[0044]
步骤 5.3. 将数据集d中每个样本(xi,yi)输入分类器c,得到类别预测结果=c(xi);利用二元交叉熵损失函数l
bce
,计算每个样本(xi,yi)的预测结果的损失值ii。
[0045]ii
={i
1i
, i 2i ,..., i li
}。
[0046]
其中,i mi
表示在当前轮时第i个图像对应于第m类的损失值,m∈{1,l}。
[0047]
步骤 5.4. 记录当前tc轮每个样本的损失值ii,计算当前tc轮全部样本的平均损失。
[0048]
步骤 5.5. 通过步骤5.4得到的ii和,计算当前tc轮每个样本的规范化损失值。
[0049]
=ii-。
[0050]
在迭代筛选阶段,优化二元交叉熵损失函数l
bce
来更新分类器c。
[0051]
步骤 5.6. 判断当前循环筛选轮数tc是否达到最大循环轮数tc;若tc未达到最大循环轮数tc,则返回步骤5.2,继续循环训练,tc=tc+1;否则,转到步骤5.7。
[0052]
步骤 5.7. 计算每个样本在所有循环中的平均损失。
[0053]

[0054]
则样本xi对应的标记平均损失为。
[0055]
表示第i个图像对应于第m类的平均损失值,m∈{1,l}。
[0056]
根据标记的平均损失由大到小排序,并取排序的前r%标记对应的样本作为噪声样本集d
noisy
,剩余为干净样本集d
clean

[0057]
选取依据为在深度模型学习过程中,噪声标记往往具有较大的损失,而干净标记产生的二元交叉熵损失较小,模型具有优先拟合干净标记的特性。
[0058]
因此,训练时损失较大的标记更有可能是噪声标记,同时,为了降低模型自身错误的不断累积,设置了循环的学习率不断调整模型状态,以达到更好的过滤结果。
[0059]
步骤 6. 使用分类器c依次为噪声样本集d
noisy
中每个样本xi进行类别预测,并取
预测类别概率值大于伪标记阈值μ的类别作xi的伪标记,构成伪标记集d
pseudo

[0060]
伪标记集d
pseudo
的计算过程如下:对输入的图像xi,经过分类器c得到新的预测结果=c(xi)。
[0061]
其中,,表示第i个图像对应于第m类的预测结果。
[0062]
按照如下公式生成伪标记:yi=[≥μ]。
[0063]
其中,[
·
]为指示函数,如果条件成立,则伪标记为1,反之,伪标记为0。μ作为阈值,帮助排除潜在的负标记,对d
noisy
中所有样本重新预测后,可以得到伪标记集d
pseudo

[0064]
步骤 7. 统计数据集{d
pseudo
, d
clean
}中标记的共现概率。
[0065]
由于在经过步骤5的噪声检测后,大部分错误的标记在步骤6得到了恢复。因此,此处分析数据集{d
pseudo
, d
clean
}标记的共现模式,来更好的学习多标记之间的共现信息。
[0066]
标记共现概率矩阵l
p
(m,n)由以下公式计算:l
p
(m, n)=n
m,n /n
sum

[0067]
其中,l
p
即为包含所统计标记之间共现概率的矩阵。n
m,n
表示m类和n类标记的共现次数,n
sum
为所有标记的全部共现次数,m,n∈{1,l}。
[0068]
步骤 8. 经过步骤6得到的数据集d’={d
pseudo
, d
clean
}重新输入分类器c,优化二元交叉熵损失函数l
bce
和标记关系正则化项l
lrr
来微调分类器c。
[0069]
标记关系正则化项l
lrr
函数的具体形式为:。
[0070]
在训练后期大部分错误的标记得到了恢复,此时分析标记的共现模式,学习多标记之间的关系信息,l
p
(i
p
,m)为标记共现概率矩阵,即获得当前正标记i
p
与标记m之间的共现概率。
[0071]
标记关系正则化l
lrr
目的是让模型的预测分布去拟合标记的共现关系分布,由于在训练的后期,大部分噪声标记已被纠正,从正标记的共现关系里能学习到更多的标记信息。
[0072]
步骤 9. 判断当前迭代次数τ是否达到最大迭代次数t;若当前迭代次数τ未达到最大迭代次数t,则返回步骤5继续迭代训练,τ=τ+1;否则,转到步骤10;步骤10. 模型训练完成之后得到能够在多标记数据集上完成可靠分类的分类器c;执行分类预测任务,将预测图像输入分类器c进行类别预测。
[0073]
执行最终分类预测任务,本发明方法对于输入图像,直接输入分类器c进行多类别预测。
[0074]
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1