System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于原型对比学习的开放集识别方法及系统技术方案_技高网

一种基于原型对比学习的开放集识别方法及系统技术方案

技术编号:40663756 阅读:6 留言:0更新日期:2024-03-18 18:57
本发明专利技术属于机器学习技术领域,公开了一种基于原型对比学习的开放集识别方法及系统,包括:S1,为预训练阶段,首先在训练集中按一定比例划分出已知类样本集与未知类样本集;然后,对其中的已知类样本进行数据增强,将增强得到的样本输入预训练模型中进行训练;S2,分类器训练阶段,冻结训练好的预训练模型的参数,使用交叉熵损失训练分类器;S3,测试阶段,使用训练好的分类器对新样本进行测试,得到分类结果。本发明专利技术引入类原型思想,构建原型对比学习模型,设计原型对比损失函数来训练模型,促使样本在特征空间中向相应类原型靠近,使得每个已知类被限制在更紧凑的特征空间内。

【技术实现步骤摘要】

本专利技术属于机器学习,尤其涉及一种基于原型对比学习的开放集识别方法及系统


技术介绍

1、目前机器学习分类方法已经成功应用到图像识别、自然语言处理、语音视频处理等领域,取得了良好效果。传统机器学习的分类方法基于封闭世界假设,默认训练数据和测试数据都来自于相同的类集合。但当传统机器学习的分类方法应用于现实世界时,由于训练集很难覆盖所有类别且实际运行中可能发生意外情况,这些分类方法往往难以达到封闭世界环境下的分类效果。为了解决复杂的现实环境中的分类问题,scheirer等人提出了开放集识别问题(open-set recognition,osr)。osr基于开放世界假设,要求分类模型不仅能对训练集中已知类(known class)的样本进行分类,对未知类(unknown class)的样本也可以识别并拒绝将其分类为已知类。相比基于封闭世界的传统分类方法,osr方法在处理具有复杂的数据和各种未知情况的现实世界分类任务时具有更大的优势。

2、现有osr方法主要分为两类:基于判别模型的osr方法、基于生成模型的osr方法。

3、(1)基于判别模型的osr方法

4、此方法可以分为两类:基于传统机器学习的方法、基于深度学习的方法。在深度学习兴起之前,为了将传统机器学习方法从封闭环境迁移到开放环境,研究者已经提出了一些解决osr问题的方法。scheirer等人基于支持向量机(svm)提出1-vs-set方法,在线性核svm中引入开放空间风险项,通过添加与svm超平面平行的另一个超平面来解决已知类过度占用特征空间的问题,但该方法只能相对减小已知类占用的特征空间,已知类占用的空间仍然是无界的。bendale等人扩展最近类均值分类器,提出了最近非离群值(nearestnon-outlier,nno)方法,根据测试样本与已知类均值之间的距离进行分类。但该方法中多个分类器使用共同的阈值进行分类,忽略了样本分布的问题。zhang等人提出基于稀疏表示(sparse representation)的开放集识别模型(srosr),将osr转化为稀疏表示学习问题,并尝试将重构误差分布与极值理论(evt)相匹配。该方法虽然能够处理未知类的情况,但是对训练集的分布范围有较高要求。

5、近年来,深度神经网络(deep neural network,dnn)因其强大的特征提取能力而受到越来越多关注。然而,当直接将dnn应用于开放集的分类任务时,dnn却倾向于对未知类样本给出高置信度的输出,不能很好地区分已知类和未知类,从而dnn影响识别未知类样本的效果。为解决此问题,bendale等人使用openmax替代dnn的softmax层,通过计算训练样本与对应类的平均激活向量(mav)间的距离来拟合每个类的weibull分布,进而计算已知类和未知类的概率。prakhya等人继续遵循openmax的思路探索开放集识别问题,将其应用于文本分类方向,采用卷积神经网络(convolutional neural network,cnn)和词嵌入方法来处理文本分类任务中的未知类。但openmax容易受到生成对抗技术的影响。shu等人提出深度开放分类器模型,使用1-vs-rest层代替softmax层,使每一类形成一个合理的边界,但该方法对于压缩已知类占用特征空间的能力有限。yoshihashi等人提出crosr方法,结合了分类和重建学习的思想,同时考虑样本的分类准确性和重建准确性,提高了模型对已知类和未知类的区分能力。但已知类与未知类间信息差异较大,训练过程中缺乏未知类信息使模型区分能力的提升有限。zhou等人提出proser算法,通过学习目标类和非目标类之间的不变信息作为已知类和未知类之间的类特定边界,使模型提高区分已知类与未知类的能力。但该方法中没有压缩已知类占用的特征空间,未知类样本很容易被分类器模型划分到已知类的特征空间中。

6、(2)基于生成模型的osr方法

7、该方法可以显式地建模和评估未知类。gan结合生成和判别模型的策略,通过生成模型来生成新的样本并欺骗判别模型,使其无法区分生成样本和原始样本。这种特性启发研究者使用gan来模拟未知类。ge等人提出生成openmax(g-openmax)方法,利用条件gan来生成未知类样本。该算法能够对生成的未知类样本提供明确的未知类概率估计,使分类器能够根据已知类和生成未知类的知识来确定决策边界。然而,这些生成的未知类仅局限于已知类的子空间中。lawrence等人提出基于反事实图像样本的开放集识别方法(osrci),生成处于决策边界的图像,使其接近已知类但不属于任何已知类,作为未知类样本帮助模型训练。pramuditha等人更进一步提出gfrosr方法,使用自监督生成模型学习更丰富的特征以增强类间差异,实现了对已知类和未知类的区分。但上述两种方法非常依赖生成样本的质量,如何生成更高质量的样本依然是一个问题。

8、通过上述分析,现有技术存在的问题及缺陷为:

9、1)现有osr方法忽视了已知类过度占用特征空间的问题,导致未知类样本很容易被分类器模型划分到已知类的特征空间中。

10、2)判别式osr模型的训练过程只使用已知类样本,缺乏来自未知类的信息。

11、3)虽然gan模型可以生成用于osr训练的未知类样本,但是需要大量的计算资源,因此如何高效生成未知类样本是osr问题面临的一个挑战。


技术实现思路

1、针对现有技术存在的问题,本专利技术提供一种基于原型对比学习的开放集识别方法及系统。

2、本专利技术是这样实现的,一种基于原型对比学习的开放集识别方法,包括:

3、s1,为预训练阶段,首先在训练集中按一定比例划分出已知类样本集与未知类样本集;然后,对其中的已知类样本进行数据增强,将增强得到的样本与原样本一起输入预训练模型中进行训练;

4、s2,分类器训练阶段,冻结训练好的预训练模型的参数,使用交叉熵损失训练分类器;

5、s3,测试阶段,使用训练好的分类器对新样本进行测试,得到分类结果。

6、进一步,预训练阶段由5个模块组成:数据增强模块、编码器模块、投影网络模块、类原型更新模块、原型对比损失函数模块;

7、(1)数据增强模块,用于将训练样本转换为数据增强后的样本,可以选用多种增强方式:将图像样本按随机长宽比裁剪并进行填充,与原样本保持大小一致;随机水平翻转;随机修改亮度、对比度和饱和度;随机将图片转换为灰度图;

8、(2)编码器模块,使用resnet50作为基础结构,用于将增强样本x'转换成特征向量r,对向量r进行归一化操作,使其位于单位超球面上,其中de=2048表示向量维度;

9、(3)投影网络模块,用于将编码器网络得到的特征向量r映射到一个新空间,输出用于计算对比损失的向量z;投影网络模块由2048×2048隐藏层和2048×128输出层组成;对向量z进行归一化,使其位于单位超球面上,使用内积来测量映射空间中的距离,本文档来自技高网...

【技术保护点】

1.一种基于原型对比学习的开放集识别方法,其特征在于,包括:

2.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,预训练阶段由5个模块组成:数据增强模块、编码器模块、投影网络模块、类原型更新模块、原型对比损失函数模块;

3.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,为了在模型预训练阶段补充未知类信息,使用样本混合方法OSR-Mix,将不同类的图像样本进行混合来扩充训练数据集,生成用于模型预训练的未知类样本;具体步骤如下:

4.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,综合原型对比损失函数、OSR-Mix对比损失函数,PCLOSR方法的原型对比学习预训练阶段的最终对比损失函数可表示为

5.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,分类器训练阶段将预训练阶段学习到的特征提取能力迁移到下游分类任务中:在预训练完成后,为了保留预训练模型的特征提取能力,冻结编码器模块的参数,用分类器模块代替投影模块,用训练集样本独立训练分类器模块。

6.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,分类器训练阶段由3个模块组成:编码器模块、分类器模块和损失函数模块:

7.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,测试阶段将使用训练好的PCLOSR模型对测试集样本进行测试;其中,PCLOSR模型包括编码器和分类器,测试集包括已知类样本与未知类样本;将样本输入经过训练的PCLOSR模型中,得到它们被分类为各类的概率;然后,将最大概率与阈值进行比较;如果概率高于阈值,将该样本分类为已知类,并标记为对应的已知类;否则,将其标记为未知类。

8.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,S3具体步骤包括:

9.一种应用如权利要求1~8任意一项所述基于原型对比学习的开放集识别方法的基于原型对比学习的开放集识别系统,其特征在于,包括:

10.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~8任意一项所述的基于原型对比学习的开放集识别方法的步骤。

...

【技术特征摘要】

1.一种基于原型对比学习的开放集识别方法,其特征在于,包括:

2.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,预训练阶段由5个模块组成:数据增强模块、编码器模块、投影网络模块、类原型更新模块、原型对比损失函数模块;

3.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,为了在模型预训练阶段补充未知类信息,使用样本混合方法osr-mix,将不同类的图像样本进行混合来扩充训练数据集,生成用于模型预训练的未知类样本;具体步骤如下:

4.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,综合原型对比损失函数、osr-mix对比损失函数,pclosr方法的原型对比学习预训练阶段的最终对比损失函数可表示为

5.如权利要求1所述的基于原型对比学习的开放集识别方法,其特征在于,分类器训练阶段将预训练阶段学习到的特征提取能力迁移到下游分类任务中:在预训练完成后,为了保留预训练模型的特征提取能力,冻结编码器模块的参数,用分类器模块代替投影模块,用训练集样本独立训练分类器模块。

6...

【专利技术属性】
技术研发人员:孙晋永王雪纯董志伟
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1