一种基于对抗网络的冗余去除主动学习方法与流程

    专利2022-07-08  104


    技术领域:

    本发明涉及主动学习领域,尤其涉及一种基于对抗网络的冗余去除主动学习方法。



    背景技术:

    近几年,基于深度学习的图像处理任务已取得巨大成功,但这主要依赖于大量的标注数据集。现实中,在很多领域中大量的标记数据集的获取是十分困难甚至不现实的,而且必然会耗费大量人力。为减轻此类问题造成的影响,有研究者提出了主动学习。主动学习的目的是在未标记数据集中选取对模型训练最有用的样本,然后利用人工对所选样本进行标记,最终把标记后的样本加入到标记池中,从而对任务模型进行更新训练。重复以上过程直到任务模型的性能达到要求或标记预算用尽。目前,主动学习已广泛应用于图像分类任务,且已取得一定成就。

    目前流行的主动学习方法大致可分为:查询合成方法、基于流的方法和基于池的方法。本发明所提出的方法属于基于池的方法。基于池的方法又可分为基于不确定性的方法和基于数据分布的方法。

    基于不确定性的方法在每次迭代中都会选择模型最不确定的样本。例如,在贝叶斯框架中,高斯过程被用于评估样本的不确定性,在非贝叶斯框架中,与决策边界的距离和期望风险被用于评估样本的不确定性。基于不确定性的方法往往依赖于任务模型的性能,所选择的样本与任务模型直接相关。

    基于分布的方法倾向于选择那些可以增加标记池的多样性的样本。例如核心集利用图像距离在未标记数据集中选择一组数据点,使得在所选子集上训练的模型相比剩余数据更具竞争力。variationaladversarialactivelearning(vaal)利用变分自编码器与判别器对抗学习,来学习标记样本和未标记样本的特征表示,然后利用两者之间的差异性进行样本选择。该方法实质上是以多样性为依据进行样本选择,而多样性并不等同于样本所含信息量,故此方法的结果可能不可靠。

    最近提出的state-relabelingadversarialactivelearning(sraal)利用注释信息和状态信息进行样本选择,此方法充分考虑了样本的分布和不确定性。对此方法选取的样本进行可视化分析发现,某些样本间具有极高的相似性。本发明把相似样本称为“冗余样本”。“冗余样本”会增加标注成本,而对模型性能的提升贡献很小。除此之外,sraal为未标记样本设置了贡献度函数,以计算此样本对模型的贡献度。此分数充分考虑了概率向量的最大概率值和方差对不确定性的影响,但这个贡献度函数可能是不符合实际的。例如,假设srral中的在线不确定指示器对样本xi的所预测的类别向量为其中而xi的真实类别编码不论是vi=[1,0,0,…,0]还是vi=[0,1,0,…,0]以及其他情况,用此函数计算得到的贡献度都是唯一确定的,这显然是不合实际的。相对的,损失预测模块在对样本损失进行预测时,隐式的考虑了样本的实际标签,故不会存在此问题。



    技术实现要素:

    本发明的目的是克服现有基于池的主动学习方法的不足,提出一种基于对抗网络的冗余去除主动学习方法,以解决基于深度学习的图像分类任务中数据集的标注成本过高的问题。

    一种基于对抗网络的冗余去除主动学习方法,其特征在于,包括如下步骤:

    步骤1:把标记数据和未标记数据输入到表示生成器中,表示生成器为每个样本生成特征表示;

    步骤2:鉴别器在损失预测模块的指导下预测未标记样本的状态值;

    步骤3:把未标记样本依据预测值的降序排列为[x1,x2,x3,…],然后把此序列输入到冗余去除模块进行样本选择,最终得到需要标记的样本组合,在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。

    所述步骤1包括如下步骤:

    步骤1.1:本发明设计了一种表示生成器,其以vae为基础,编码器用于学习样本的特征表示,解码器用于重建样本。其编解码过程中的目标函数为:

    其中是未标记样本的目标函数,是标记样本的目标函数,z是潜在变量,φ为参数化的解码器pφ,θ为参数化的编码器qθ。

    步骤1.2:表示生成器通过重构标记和未标记样本来学习丰富的表示。最终,我们把编码器产生的特征表示与任务模型分类层之前的全连接层所输出的特征向量进行拼接,然后把拼接后的向量作为最终的图像表示。

    所述步骤2包括如下步骤:

    步骤2.1:本发明设计了损失预测模块用于损失预测,损失预测模块通过计算一对样本的损失预测值之间的差异进行训练,损失预测模块的损失函数为:

    其中ξ是预定义的正余量,li和lj为实际损失,为预测损失。例如,对于一对样本(xi,xj),当li>lj时,该函数表明只有当大于时,模块才没有损失,否则模块会有损失,迫使它增加并且减少目标模型和损失预测模块的联合损失函数为:

    训练后的损失预测模块将对未标记样本的损失值进行预测。

    步骤2.2:本发明中把损失预测模块的输出归一化到[0,1],并把归一化后的数值作为未标记样本的状态值。判别器的目标函数为:

    ld=-e[log(d(qθ(zl|xl)))]-e[log(state(xu)-d(qθ(zl|xl)))]

    其中state(xu)表示未标记样本的状态值。表示生成器在与判别器的对抗学习过程中的目标函数为:

    ladv=-e[log(d(qθ(zl|xl)))]-e[log(d(qθ(zu|xu)))]

    表示生成器的总目标函数最终定义如下:

    lg=λ2lvae λ3ladv

    其中λ2和λ3为控制函数比例的超参数。

    所述步骤3包括如下步骤:

    步骤3.1:本发明把未标记样本依据预测值的降序排列为[x1,x2,x3,…],之后利用表示生成器学习到的特征表示计算样本之间的相似度,一对样本(xi,xj)之间的相似度定义为:

    其中分别表示xi和xj的特征向量的第i个分量。

    步骤3.2:基于贪心算法进行冗余去除。算法中设置超参数d控制样本之间的特征距离,本发明依据[x1,x2,x3,…]序列进行相似度度量,舍弃与已有样本相似度小于d的样本。

    步骤3.3:在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。

    本发明的有益效果:目前基于深度学习的图像分类任务的性能严重依赖于大规模的标注样本,而许多领域中标记样本的获取十分困难,甚至不可能大规模获得。本发明设计了一种基于对抗网络的冗余去除主动学习方法,该方法既考虑了任务相关性又考虑了样本的多样性。该方法包括表示生成器、状态鉴别器和冗余去除模块。表示生成器的目的是生成样本的特征表示,之后本发明将样本的特征表示与注释信息进行拼接,状态鉴别器对拼接后的特征向量的状态进行预测,冗余去除模块用于降低所选样本之间的冗余度。最终该方法利用样本的分布、样本的不确定性以及样本之间的冗余度选择对任务模型最有益的样本。

    附图说明:

    图1是一种基于对抗网络的冗余去除主动学习方法的流程图;

    图2是基于对抗网络的冗余去除主动学习方法的模型结构图;

    图3是以本发明为基础的任务模型与以基准方法为基础的任务模型的性能在三个数据集上的对比图。

    具体实施方式:

    下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    图1是本发明实施的具体流程示意图,该方法包括如下步骤:

    步骤1:把标记数据和未标记数据输入到表示生成器中,表示生成器为每个样本生成特征表示;

    步骤2:鉴别器在损失预测模块的指导下预测未标记样本的状态值;

    步骤3:把未标记样本依据预测值的降序排列为[x1,x2,x3,…],然后把此序列输入到冗余去除模块进行样本选择,最终得到需要标记的样本组合,在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。

    具体的,图2为本发明提出的主动学习方法的整体结构图,所述步骤1包括如下步骤:

    步骤1.1:本发明设计了一种表示生成器,其以vae为基础,编码器用于学习样本的特征表示,解码器用于重建样本。其编解码过程中的目标函数为:

    其中是未标记样本的目标函数,是标记样本的目标函数,z是潜在变量,φ为参数化的解码器pφ,θ为参数化的编码器qθ。

    步骤1.2:表示生成器通过重构标记和未标记样本来学习丰富的表示。最终,我们把编码器产生的特征表示与任务模型分类层之前的全连接层所输出的特征向量进行拼接,然后把拼接后的向量作为最终的图像表示。

    所述步骤2包括如下步骤:

    步骤2.1:本发明设计了损失预测模块用于损失预测,损失预测模块通过计算一对样本的损失预测值之间的差异进行训练,损失预测模块的损失函数为:

    其中ξ是预定义的正余量,li和lj为实际损失,为预测损失。例如,对于一对样本(xi,xj),当li>lj时,该函数表明只有当大于时,模块才没有损失,否则模块会有损失,迫使它增加并且减少目标模型和损失预测模块的联合损失函数为:

    训练后的损失预测模块将对未标记样本的损失值进行预测。

    步骤2.2:本发明中把损失预测模块的输出归一化到[0,1],并把归一化后的数值作为未标记样本的状态值。判别器的目标函数为:

    ld=-e[log(d(qθ(zl|xl)))]-e[log(state(xu)-d(qθ(zl|xl)))]

    其中state(xu)表示未标记样本的状态值。表示生成器在与判别器的对抗学习过程中的目标函数为:

    ladv=-e[log(d(qθ(zl|xl)))]-e[log(d(qθ(zu|xu)))]

    表示生成器的总目标函数最终定义如下:

    lg=λ2lvae λ3ladv

    其中λ2和λ3为控制函数比例的超参数。

    所述步骤3包括如下步骤:

    步骤3.1:本发明把未标记样本依据预测值的降序排列为[x1,x2,x3,…],之后利用表示生成器学习到的特征表示计算样本之间的相似度,一对样本(xi,xj)之间的相似度定义为:

    其中分别表示xi和xj的特征向量的第i个分量。

    步骤3.2:基于贪心算法进行冗余去除。算法中设置超参数d控制样本之间的特征距离,本发明依据[x1,x2,x3,…]序列进行相似度度量,舍弃与已有样本相似度小于d的样本。

    步骤3.3:在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。图3展示了以本发明为基础的任务模型与以基准方法为基础的任务模型的性能在三个数据集上的对比结果。

    应当理解的是,本说明书未详细阐述的部分均属于现有技术。

    以上结合附图所述,仅为本发明的具体实施方式及流程,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员应当理解,此仅为举例说明,可以对此实施方式做出多种变化和替换,而不背离本发明的实质内容。本发明的范围仅由所附权利要求书限定。

    本发明通过参考附图描述的实施方式是示例性的,仅用于对本发明进行解释,不能理解为对本发明的限制,本发明的实施例具体范围不受此限制,相反,本发明的所有实施例包括落入所附权利要求书的精神和内涵范围内的所有变化和修改。


    技术特征:

    1.一种基于对抗网络的冗余去除主动学习方法,其特征在于,包括如下步骤:

    步骤1:把标记数据和未标记数据输入到表示生成器中,表示生成器为每个样本生成特征表示;

    步骤2:鉴别器在损失预测模块的指导下预测未标记样本的状态值;

    步骤3:把未标记样本依据预测值的降序排列为[x1,x2,x3,…],然后把此序列输入到冗余去除模块进行样本选择,最终得到需要标记的样本组合,在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。

    2.根据权利要求1所述的基于对抗网络的冗余去除主动学习方法,其特征在于,所述步骤1包括如下步骤:

    步骤1.1:本发明设计了一种表示生成器,其以vae为基础,编码器用于学习样本的特征表示,解码器用于重建样本。其编解码过程中的目标函数为:

    其中是未标记样本的目标函数,是标记样本的目标函数,z是潜在变量,φ为参数化的解码器pφ,θ为参数化的编码器qθ。

    步骤1.2:表示生成器通过重构标记和未标记样本来学习丰富的表示。最终,我们把编码器产生的特征表示与任务模型分类层之前的全连接层所输出的特征向量进行拼接,然后把拼接后的向量作为最终的图像表示。

    3.根据权利要求1所述的基于对抗网络的冗余去除主动学习方法,其特征在于,所述步骤2包括如下步骤:

    步骤2.1:本发明设计了损失预测模块用于损失预测,损失预测模块通过计算一对样本的损失预测值之间的差异进行训练,损失预测模块的损失函数为:

    其中ξ是预定义的正余量,li和lj为实际损失,为预测损失。例如,对于一对样本(xi,xj),当li>lj时,该函数表明只有当大于时,模块才没有损失,否则模块会有损失,迫使它增加并且减少目标模型和损失预测模块的联合损失函数为:

    训练后的损失预测模块将对未标记样本的损失值进行预测。

    步骤2.2:本发明中把损失预测模块的输出归一化到[0,1],并把归一化后的数值作为未标记样本的状态值。判别器的目标函数为:

    ld=-e[log(d(qθ(zl|xl)))]-e[log(state(xu)-d(qθ(zl|xl)))]

    其中state(xu)表示未标记样本的状态值。表示生成器在与判别器的对抗学习过程中的目标函数为:

    ladv=-e[log(d(qθ(zl|xl)))]-e[log(d(qθ(zu|xu)))]

    表示生成器的总目标函数最终定义如下:

    lg=λ2lvae λ3ladv

    其中λ2和λ3为控制函数比例的超参数。

    4.根据权利要求1所述的基于对抗网络的冗余去除主动学习方法,其特征在于,所述步骤3包括如下步骤:

    步骤3.1:本发明把未标记样本依据预测值的降序排列为[x1,x2,x3,…],之后利用表示生成器学习到的特征表示计算样本之间的相似度,一对样本(xi,xj)之间的相似度定义为:

    其中分别表示xi和xj的特征向量的第i个分量。

    步骤3.2:基于贪心算法进行冗余去除。算法中设置超参数d控制样本之间的特征距离,本发明依据[x1,x2,x3,…]序列进行相似度度量,舍弃与已有样本相似度小于d的样本。

    步骤3.3:在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。

    技术总结
    本发明涉及一种基于对抗网络的冗余去除主动学习方法。包括如下步骤:1:把标记数据和未标记数据输入到表示生成器中,表示生成器为每个样本生成特征表示;2:鉴别器在损失预测模块的指导下预测未标记样本的状态值;3:把未标记样本依据预测值的降序排列为[x1,x2,x3,…],然后把此序列输入到冗余去除模块进行样本选择,最终得到需要标记的样本组合,在每次迭代结束后,对任务模型和整个主动学习模型进行更新训练。本发明在主动学习模型中设置了对抗学习机制,使生成特征表示的生成器与状态鉴别器进行对抗训练。本发明还设计了冗余去除模块,其以判别器预测的状态值为基础,依据特征距离去除冗余样本,以减少人工标记成本。

    技术研发人员:郭继峰;庞志奇;孙海龙;朱泳
    受保护的技术使用者:东北林业大学
    技术研发日:2020.11.02
    技术公布日:2021.03.12

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

    最新回复(0)