一种基于双重主动查询的标签带噪图像学习方法与流程

专利2022-05-09  11


本发明属于图像学习技术领域,涉及一种基于双重主动查询的标签带噪图像学习方法。



背景技术:

深度卷积神经网络图像分类器模型需要大量的标签,但是实际收集到的标签往往包含着大量噪声,而深度神经网络又很容易对噪声数据过拟合,这限制了分类器模型的泛化性能。

已有的学习理论表明,通过对噪声建立模型,如果噪声模型估计是准确的,那么在噪声数据上的最优分类器,等价于真实标签数据上的最优分类器。

噪声转移矩阵是一类常用的噪声模型,它包含图像各个类别之间的翻转概率,以此来实现真实标签概率分布和噪声标签概率分布之间的映射。而估计噪声转移矩阵仅需要少量的真实标签。

另外,传统的主动学习算法挑选分类器预测最不确定的图像,向专家询问它们的真实标签,然而,这样会使得噪声转移矩阵的估计带有偏差。



技术实现要素:

本发明的目的在于提出一种基于双重主动查询的标签带噪图像学习方法,以解决现有的深度神经网络容易对噪声标签过拟合的问题以及传统主动查询偏好导致的噪声转移矩阵估计偏差,在节省标注成本的同时最大化提高分类器的学习准确率。

本发明为了实现上述目的,采用如下技术方案:

一种基于双重主动查询的标签带噪图像学习方法,包括如下步骤:

步骤1.获取图像集x和噪声标签集y,组成带噪数据集d=(x,y);

步骤2.搭建深度卷积神经网络分类器f以及基于噪声转移矩阵t的深度卷积神经网络分类器g,使用带噪数据集d预训练深度卷积神经网络分类器f、g;

步骤3.根据预训练好的深度卷积神经网络分类器g对图像集x的预测结果,设计双重主动挑选指标,并挑选第一图像集xh和第二图像集xg;

获取第一图像集xh的真实标签yh组成第一数据集dh=(xh,yh),以及第二图像集xg的真实标签yg组成第二数据集dg=(xg,yg);从带噪数据集d中移除(dh∪dg);

步骤4.使用步骤2中预训练好的深度卷积神经网络分类器f、以及步骤3中得到的第一数据集dh和第二数据集dg更新噪声转移矩阵t;

步骤5.初始化基于噪声转移矩阵t的深度卷积神经网络分类器g;

步骤6.构建损失函数l,包括真实标签上的损失函数l1和噪声标签上的损失函数l2;

步骤7.基于随机梯度下降最小化损失函数l,更新深度卷积神经网络分类器g的参数;

步骤8.设定最大迭代次数k,重复执行上述步骤3-步骤7,直至达到最大迭代次数k,至此完成深度卷积神经网络分类器g的训练;

步骤9.使用训练完成的深度卷积神经网络分类器g进行分类预测任务。

本发明具有如下优点:

如上所述,本发明述及了一种基于双重主动查询的标签带噪图像学习方法,该方法针对深度神经网络容易过拟合噪声标签的问题,使用噪声转移矩阵建立噪声模型,并引入真实标签估计噪声转移矩阵及改善分类器;此外,通过双重主动查询方法,避免了传统主动查询偏好导致的噪声转移矩阵估计偏差,在节省标注成本的同时最大化提高分类器学习准确率。

附图说明

图1为本发明实施例中基于双重主动查询的标签带噪图像学习方法的流程示意图;

图2为本发明实施例中基于噪声转移矩阵的深度卷积神经网络的结构示意图;

图3为本发明实施例中预训练深度卷积神经网络分类器的流程图;

图4为本发明实施例中双重主动标签挑选算法的流程示意图。

具体实施方式

本实施例述及了一种基于双重主动查询的标签带噪图像学习方法。

如图1所示,该方法包括如下步骤:

步骤1.获取图像集x和噪声标签集y,组成带噪数据集d=(x,y)。

图像集x的标签可通过人工标记的方式获取,比如询问专家或者众包等;也可通过自动收集的方式获取,比如爬虫。然而这些方式实际收集到的标记y中包含着大量错误标签。

如果直接在这些真实数据集上学习一个深度神经网络分类器模型,它将会对噪声数据过拟合,导致自身泛化性能的降低。已有的学习理论表明:

通过噪声转移矩阵对噪声建立模型,在噪声转移矩阵估计准确的情况下,在噪声数据上的最优分类器等价于真实标签数据上的最优分类器,模型的性能表现也能够提高。

步骤2.搭建深度卷积神经网络分类器f以及基于噪声转移矩阵t的深度卷积神经网络分类器g,使用带噪数据集d预训练深度卷积神经网络分类器f、g。

首先使用带噪数据集d直接训练一个深度卷积神经网络分类器f。

由于深度神经网络很容易过拟合噪声数据,因此,可以将深度卷积神经网络分类器f的输出概率分布f(x;φ)近似看成图像噪声标签的概率分布。

然后,搭建基于噪声转移矩阵t的深度卷积神经网络分类器g,估计噪声转移矩阵t,预训练深度卷积神经网络分类器g。

如图2给出了基于噪声转移矩阵t的深度卷积神经网络g的结构示意图。

由图2可知,噪声转移矩阵t的表达形式如下:ti,j=p(y=j|y=i)。

其中,y表示真实标签,y表示噪声标签。

噪声转移矩阵t是一个c×c的矩阵,c表示类别的总数;ti,j是噪声转移矩阵t第i行、第j列的元素,表示一张真实标签是类别i的图像被标记为类别j的概率。

噪声转移矩阵t将真实标签概率分布p(y=i|x=x)映射为噪声标签概率分布p(y=j|x=x),其具体形式为:p(y=j|x=x)=∑ci=1ti,jp(y=i|x=x)。

其中,对于单张图像x,真实标签概率分布p(y=i|x=x)表示其真实标签为类别i的概率,噪声标签概率分布p(y=j|x=x)表示其噪声标签为类别j的概率。

如图3所示,步骤2的具体实施过程如下:

步骤2.1.输入带噪数据集d

步骤2.2.初始化深度卷积神经网络分类器f,构建噪声标签上的损失函数l’1,此处,使用交叉熵作为损失函数。

对于单张图像x及其噪声标签y,(x,y)∈d,其损失值l’1(x,y)的具体形式如下:

l’1(x,y)=-ylogf(x;φ);

其中,f(x;φ)表示深度卷积神经网络分类器f对于图像x的输出,φ表示网络参数;l’1(x,y)表示图像x的损失值。

深度卷积神经网络分类器f是为了近似拟合带噪数据集d中的噪声标签分布,所以这里将噪声标签直接作为学习目标来使用。

步骤2.3.基于随机梯度下降对损失函数l1进行最小化,并更新深度卷积神经网络分类器f的网络参数φ。

步骤2.4.对于每一种标签类别,从深度卷积神经网络分类器f的所有预测结果为该类别的图像中按照预测概率由大到小的顺序挑选出前k张图像组成图像集x’。

步骤2.5.从深度卷积神经网络分类器f的预测结果中获取图像集x’的真实标签y’,组成数据集d’,d’=(x’,y’)。

步骤2.6.初始化噪声转移矩阵t。

使用数据集d’和f(x’;φ)估计噪声转移矩阵t;这里将深度卷积神经网络分类器f对于数据集d’中所有图像的输出f(x’;φ)近似看成图像噪声标签的概率分布。

具体计算过程如下:

ti,j=1/|di|·∑(x,y)∈dip(y=j|x=x)=1/|di|·∑(x,y)∈dif(x;φ);

其中,di∈(d’)表示所有真实标签为i的图像及其真实标签的集合;

对于单张图像x,p(y=j|x=x)表示其噪声标签为类别j的概率;此处,p(y=j|x=x)使用深度卷积神经网络分类器f的输出f(x;φ)代替。

步骤2.7.初始化基于噪声转移矩阵t的深度卷积神经网络分类器g,构建噪声标签上的损失函数l’2;此处,使用交叉熵作为损失函数。

对于单张图像x及其标签y,(x,y)∈(x,y),其损失值l’2(x,y)的具体形式如下:

l’2(x,y)=-ylogttg(x;θ);

其中,g(x;θ)是深度卷积神经网络分类器g对单张图像x的输出概率,θ是网络参数;l’2(x,y)表示图像x的损失值。

步骤2.8.基于随机梯度下降对损失函数l’2最小化,并更新深度卷积神经网络分类器g的网络参数θ。

步骤2.9.输出预训练好的深度卷积神经网络分类器f、g。

其中,预训练好的深度卷积神经网络分类器f用于步骤4中噪声转移矩阵t的更新,预训练好的深度卷积神经网络分类器g用于步骤3中图像集的挑选。

步骤3.根据预训练好的深度卷积神经网络分类器g对图像集x的预测结果,设计双重主动挑选指标,并挑选第一图像集xh和第二图像集xg。

获取第一图像集xh的真实标签yh组成第一数据集dh=(xh,yh),以及第二图像集xg的真实标签yg组成第二数据集dg=(xg,yg);从带噪数据集d中移除(dh∪dg)。

其中,挑选出的第一图像集xh为有助于提升分类器的图像集,挑选出的第二图像集xg为有助于估计噪声转移矩阵的图像集,以此缓解噪声转移矩阵的估计偏差。

这里采取不放回的采样方式,即每当从带噪数据集d中挑选一部分图像后,不将这些图像放回带噪数据集d中,而是将所挑选的部分从带噪数据集d中移除,以避免下一次采样时挑选到这些图像。

在该步骤3中,设计的双重主动挑选指标为深度卷积神经网络分类器g对图像预测概率的熵,记为entropy,对于单张图像x,其具体计算过程为:

entropy(x)=-∑ci=1g(x;θ)·logg(x;θ);

其中,g(x;θ)是深度卷积神经网络分类器g对图像x的输出概率。

在双重主动查询算法,挑选熵最大的图像集xh,这一部分是分类器预测最难确定的图像,通过询问专家获取它们的真实标签yh将会显著提升分类器的性能表现;然而,假如只依靠第一图像集xh将会使得噪声转移矩阵的估计产生偏差。

近年来的研究发现,深度神经网络有着一个内在特性:

在一个包含着大量图像标记噪声的数据集上,深度神经网络会先学习到其中正确的信息,之后再学习到错误的信息,其关键点在于训练停止的时间。

因此,在适当的时候提前停止训练过程,来阻止模型进一步拟合数据集中错误的信息;然后,选取模型预测结果中最为确信的部分作为图像的真实标签。

因此,本实施例还挑选熵最小的图像集xg,这一部分是分类器预测最为确定的图像,而分类器对这些图像的预测结果也很可能是正确的。

针对该部分图像,本实施例从分类器自身的预测结果中获取图像集xg的真实标签yg。

这些标记非常可能是真实标签,而这些图像也是最容易被分类正确的一部分,以此缓解噪声转移矩阵的估计偏差,在节省标注成本的同时最大化提高分类器学习准确率。

如图4所示,步骤3的具体实施过程如下:

步骤3.1.输入带噪数据集d以及预训练好的深度卷积神经网络分类器g。

步骤3.2.根据深度卷积神经网络分类器g对带噪数据集d的图像集x中所有图像的预测概率,计算它们的熵entropy(x)。

步骤3.3.按照熵由大到小的顺序挑选前n个图像组成第一图像集xh;通过询问专家的方式,获取第一图像集xh的真实标签yh,组成第一数据集dh。

需要说明的是,本实施例中询问专家指的是,将图像交给有经验的标注者进行标注;比如将ct图像交给医生,而不是普通人来判断图像中是否包含肿瘤。

步骤3.4.按照熵由小到大的顺序挑选前m个图像组成第二图像集xg;根据深度卷积神经网络分类器g对第二图像集xg的预测获取第二图像集的真实标签yg,组成第二数据集dg。

步骤3.5.从带噪数据集d中移除(dh∪dg)。

步骤3.6.输出第一数据集dh、第二数据集dg、移除(dh∪dg)之后的带噪数据集d

步骤4.使用预训练好的深度卷积神经网络分类器f、第一数据集dh、第二数据集dg更新噪声转移矩阵t。估计噪声模型仅需要少量的真实标签。

深度卷积神经网络分类器f是步骤2中预训练完成的分类器,代表噪声标签的概率分布。

其中,更新噪声转移矩阵t的具体计算过程如下:

ti,j=1/|di|·∑(x,y)∈dip(y=j|x=x)=1/|di|·∑(x,y)∈dif(x;φ)。

其中,di∈(dh∪dg)表示所有真实类别为i的图像及其真实标记的集合;

对于单张图像x,p(y=j|x=x)表示其噪声标签为类别j的概率。

此处,p(y=j|x=x)使用深度卷积神经网络分类器f的输出f(x;φ)代替。之后,基于噪声转移矩阵t搭建深度卷积神经网络g来从噪声标签中学习到图像的真实标签概率分布。

步骤5.初始化基于噪声转移矩阵t的深度卷积神经网络分类器g。

在每次迭代中,深度卷积神经网络分类器g都会重新进行初始化,这是为了阻断可能产生的错误传播问题,即上一轮学习过程中产生的错误会传播到下一轮的学习过程。

步骤6.构建损失函数l,包括真实标签上的损失函数l1和噪声标签上的损失函数l2。

针对挑选出的数据集(dh∪dg),由于包含的都是真实标签,所以构建真实标签上的损失函数l1;针对于图像集d,由于包含噪声标签,所以本实施例构建噪声标签上的损失函数l2。

这里的损失函数l1、l2与步骤2中的损失函数l’1、l’2在形式上是一样的。

对于单张图像x,损失函数l1和损失函数l2的具体形式分别如下:

l1(x,y)=-ylogg(x;θ);l2(x,y)=-ylogttg(x;θ)。

对于单张图像x,y表示其真实标签,y表示其噪声标签。

如果x是数据集(dh∪dg)中的一张图像,则使用其真实标签y,同时使用真实标签上的损失函数l1计算,其损失值为l1(x,y)。

如果x是带噪数据集d中的一张图像,由于真实标签是未知的,使用其噪声标签y,同时使用噪声标签上的损失函数l2计算,其损失值为l2(x,y)。

对于整个数据集(dh∪dg∪d),其总损失值l的具体计算方式如下:

l=∑(x,y)∈(dh∪dg)l1(x,y) ∑(x,y)∈dl2(x,y)。

步骤7.基于随机梯度下降最小化损失函数l,更新深度卷积神经网络分类器g的参数。

本实施例中使用sgd或者adam优化器对l进行优化并更新g的网络参数θ。

步骤8.设定最大迭代次数k,重复执行上述步骤3-步骤7,直至达到最大迭代次数k,至此完成深度卷积神经网络分类器g的训练。

步骤9.使用训练完成的深度卷积神经网络分类器g进行分类预测任务。

当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。

转载请注明原文地址:https://doc.8miu.com/read-250138.html

最新回复(0)