掌桥专利:专业的专利平台
掌桥专利
首页

评估业务预测模型鲁棒性的方法、装置及计算设备

文献发布时间:2023-06-19 16:08:01



技术领域

本说明书一个或多个实施例涉及机器学习领域,尤其涉及评估业务预测模型鲁棒性的方法、装置及计算设备。

背景技术

随着人工智能技术的发展,基于人工智能技术获得的人工智能模型获得了日益广泛的关注,被广泛的应用于各种业务场景中,比如图像处理、文本处理、语音信号处理等,这里,应用于业务场景中的人工智能模型可被称为业务预测模型。

与此同时,人工智能技术对于传统计算机安全领域的研究也产生了重大影响,攻击者除了利用人工智能技术来构建各种恶意检测、攻击识别系统外,也可能利用人工智能技术达到更精准的攻击,因此,迫切需要确保业务预测模型不会轻易地被攻击者影响而改变判断结果。

基于业务预测模型安全性的需求,为了防止模型存在识别漏洞被攻破,需要对业务预测模型进行安全评估。这里,安全评估的核心指标为业务预测模型的鲁棒性。

然而,目前主要通过样本的标签实现业务预测模型的鲁棒性评估,但是在实际场景中,样本的标签可能具有滞后性,亟需一种不依赖样本标签实现业务预测模型的鲁棒性评估的方法。

发明内容

本说明书一个或多个实施例描述了一种评估业务预测模型鲁棒性的方法、装置、计算机可读存储介质及计算设备,通过业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异,在不依赖样本标签和阈值的前提下,实现模型鲁棒性评估;同时,可采用相同的方式评价不同业务场景下业务预测模型的鲁棒性,以比对不同业务场景下业务预测模型的性能。

根据第一方面,提供了一种评估业务预测模型鲁棒性的方法,包括:

对于多个业务对象中任意的第一业务对象,获取业务预测模型对所述第一业务对象进行针对业务标签的预测结果,其中包括基于所述第一业务对象对应的第一业务样本预测得到的第一预测值和对应的第二业务样本预测得到的第二预测值,所述第二业务样本是对所述第一业务样本进行对抗处理后的样本;

基于各业务对象的第一预测值和各第一预测值形成的第一集合,计算所述多个业务对象各自对应的第一分位数;

基于各业务对象的第二预测值和所述第一集合,计算所述多个业务对象各自对应的第二分位数;

基于所述多个业务对象各自对应的第一分位数和第二分位数,确定所述多个业务对象各自针对所述业务标签的预测误差;

基于所述多个业务对象各自针对所述业务标签的预测误差,确定所述业务预测模型对抗攻击的鲁棒性得分。

根据一种可行的实施方式,所述计算所述多个业务对象各自对应的第一分位数,包括:对于任意的所述第一业务对象,基于所述第一集合中小于所述第一业务对象的第一预测值的预测值数目和所述第一集合中第一预测值的总数目,确定所述第一业务对象对应的第一分位数。

根据一种可行的实施方式,所述计算所述多个业务对象各自对应的第一分位数,包括:按照所述第一预测值的大小对所述多个业务对象进行排序,得到所述多个业务对象各自对应的第一排序编号;对于任意的所述第一业务对象,基于所述第一业务对象对应的第一排序编号和所述第一集合中第一预测值的总数目,计算所述第一业务对象对应的第一分位数。

根据一种可行的实施方式,所述基于各业务对象的第二预测值和所述第一集合,计算所述多个业务对象各自对应的第二分位数,包括:对于任意的所述第一业务对象,当存在目标业务对象,其对应的第一预测值与所述第一业务对象对应的第二预测值相同,将所述目标业务对象对应的第一分位数作为所述第一业务对象对应的第二分位数。

根据一种可行的实施方式,所述基于各业务对象的第二预测值和所述第一集合,计算所述多个业务对象各自对应的第二分位数,包括:对于任意的所述第一业务对象,基于所述第一集合中小于所述第一业务对象的第二预测值的预测值数目和所述第一集合中第一预测值的总数目,确定所述第一业务对象对应的第一分位数。

根据一种可行的实施方式,所述基于各业务对象的第二预测值和所述第一集合,计算所述多个业务对象各自对应的第二分位数,包括:对于任意的所述第一业务对象,按照大小对所述第一集合中的第一预测值和所述第一业务对象的第二预测值进行排序,确定所述第一业务对象的第二排序编号;基于所述第一业务对象的第二排序编号和所述第一集合中第一预测值的总数目,计算所述第一业务对象对应的第二分位数。

根据一种可行的实现方式,所述基于所述多个业务对象各自对应的第一分位数和第二分位数,确定所述多个业务对象各自针对所述业务标签的预测误差,包括:

基于所述第一业务对象对应的第一分位数和第二分位数,确定所述第一业务对象针对所述业务标签的分位数误差;基于预设缩放函数对所述分位数误差进行缩放,将缩放后的分位数差值作为所述第一业务对象的预测误差。

根据一种可行的实施方式,所述预测误差为对应的业务对象的第一分位数和第二分位数之间的差值。

根据一种可行的实施方式,所述鲁棒性得分至少基于所述多个业务对象各自针对所述业务标签的预测误差的均值、标准差或方差确定。

根据一种可行的实施方式,所述方法还包括:对于多个备选对象的各对象,利用所述业务预测模型,获取所述备选对象针对所述业务标签的预测结果,其中包括基于所述备选对象对应的第一业务样本预测得到的第一预测值和对应的第二业务样本预测得到的第二预测值,所述第二业务样本是对所述第一业务样本进行对抗处理后的样本;基于所述多个备选对象各自的第一预测值或第二预测值,从所述多个备选对象中确定出所述多个业务对象。

在一个例子中,所述基于所述多个备选对象各自对应的第一预测值,从所述多个备选对象中确定出所述多个业务对象,包括:按照所述多个备选对象各自对应的第一预测值的大小,对所述多个备选对象进行排序,确定所述多个备选对象各自的第三排序编号;基于所述多个备选对象各自的第三排序编号,确定所述多个业务对象。

示例地,所述多个业务对象为排序最前、排序最后、大于等于第一预设排序编号或者小于等于第二预设排序编号的多个备选对象。

根据一种可行的实施方式,所述业务标签为分类类别,所述第一预测值和所述第二预测值为概率值;或者,所述业务标签为参数,所述第一预测值和所述第二预测值为参数值。

根据一种可行的实施方式,所述业务预测模型为人脸识别模型,所述第一业务对象为用户,所述第一业务样本为用户的原始图像,第二业务样本是在所述原始图像上添加对抗噪声的扰动图像。

根据第二方面,提供了一种评估业务预测模型鲁棒性的装置,包括:

获取模块,被配置为对于多个业务对象中任意的第一业务对象,获取业务预测模型对所述第一业务对象进行针对业务标签的预测结果,其中包括基于所述第一业务对象对应的第一业务样本预测得到的第一预测值和对应的第二业务样本预测得到的第二预测值,所述第二业务样本是对所述第一业务样本进行对抗处理后的样本;

第一计算模块,被配置为基于各业务对象的第一预测值和各第一预测值形成的第一集合,计算所述多个业务对象各自对应的第一分位数;

第二计算模块,被配置为基于各第一业务对象的第二预测值和所述第一集合,计算所述多个第一业务对象各自对应的第二分位数;

误差确定模块,被配置为基于所述多个第一业务对象各自对应的第一分位数和第二分位数,确定所述多个第一业务对象各自针对所述业务标签的预测误差;

得分确定模块,被配置为基于所述多个第一业务对象各自针对所述业务标签的预测误差,确定所述业务预测模型对抗攻击的鲁棒性得分。

根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。

根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。

在本说明书的实施例中,通过业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异,在不依赖样本标签和阈值的前提下,实现模型鲁棒性评估;同时,可采用相同的方式评价不同业务场景下业务预测模型的鲁棒性,以比对不同业务场景下业务预测模型的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出在一个实施例中计算评估指标的方案的示意图;

图2示出在一个实施例中预测值和业务对象排序的示意图;

图3示出在一个实施例中的评估业务预测模型鲁棒性的方法的流程图;

图4示出在一个实施例中的评估业务预测模型鲁棒性的装置的结构示意图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

近年来,随着海量数据的积累、计算能力的发展、机器学习方法与系统的持续创新与演进,诸如图像识别、语音识别、自然语言翻译等人工智能技术得到普遍部署和广泛应用。与此同时,人工智能技术对于传统计算机安全领域的研究也产生了重大影响,攻击者除了利用人工智能技术来构建各种恶意检测、攻击识别系统外,也可能利用人工智能技术达到更精准的攻击;因此,迫切需要确保业务预测模型和数据的完整性与保密性,使其不会轻易地被攻击者影响而改变预测结果。

目前,基于业务预测模型安全性的需求,为了防止模型存在识别漏洞被攻破,需要对业务预测模型进行安全评估,进而指导业务预测模型的训练。这里,安全评估的核心指标为鲁棒性。

在一个方案中,采用对抗测试的方式评估业务预测模型的鲁棒性。对抗测试可以理解为通过对抗样本测试业务预测模型的鲁棒性;对应的,鲁棒性至少用于反映业务预测模型在对抗样本上的表现好坏。其中,对抗样本是指对原始样本(最初采集的用于业务预测模型测试的样本)进行对抗处理后的样本,该样本能够让业务预测模型预测错误即干扰业务预测模型的预测。对抗处理可以理解为在一定约束下对原始样本做微小的扰动,也可以理解为在原始样本中加入对抗噪声。例如:在人脸识别中,带上一个特殊花纹的眼镜就能突破人脸识别模型,这样的图片就是对抗样本。

评估鲁棒性所采用的评估指标通常可以为模型准确率波动差值、AUC(area underthe curve,曲线下的面积)波动差值。其中,曲线通常指的是受试者操作曲线(Receiveroperating characteristic,ROC)。

其中,准确率波动差值表示计算对抗训测试前后的模型准确率的差值。模型准确率指的是模型预测正确的样本除以总预测的样本数量。

示例地,业务预测模型在测试集下的模型准确率:0.98,加对抗噪声的对抗测试集下的模型准确率为:0.95,模型准确率波动差值为0.03,0.03可以形容模型的鲁棒性(越小越好)。这里,测试集指的是用于测试业务预测模型质量的原始样本形成的集合,也可称为原始样本集;对抗测试集指的是测试集中各原始样本所对应的攻击样本形成的集合。

采用模型准确率波动差值的方式,一方面需要使用样本的标签计算模型准确率;另一方面,在业务预测模型用于二分类时,需要明确阈值,比如使用0.9作为决策边界,大于0.9为1(表示正类),小于0.9为0(表示负类)。

其中,AUC波动差值表示计算对抗测测试前后的AUC差值。

示例地,业务预测模型在测试集下的AUC:0.98,加对抗噪声的对抗测试集下的AUC为:0.9,AUC波动差值为0.08,0.08可以形容模型的鲁棒性(越小越好)。

采用AUC波动差值的方式,一方面需要使用样本的标签计算AUC;另一方面,只能用于二分类,不能用于多分类,回归等业务预测模型的鲁棒性评估;再一方面,AUC考虑样本实际的类别(正类还是负类),以及业务预测模型针对该样本预测出的类别(正类还是负类),因此,二分类的业务预测模型预测出类别的概率时,需要设置阈值,比如,比如使用0.9作为决策边界,大于0.9为1(表示正类),小于0.9为0(表示负类)。

对于上述评估指标,一方面,依赖样本的标签,没有标签就无法评估业务预测模型的鲁棒性;另一方面,在不同业务场景下,无法采用统一的评估指标和阈值进行业务预测模型的鲁棒性评估,进而无法比对不同业务场景的业务预测模型的鲁棒性,缺乏一个统一的,可以跨场景的,有公信力的评估指标。

针对上述问题,本说明书实施例提供了基于业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异设计评估指标,不仅可以较好的评估业务预测模型的鲁棒性,而且不依赖阈值和业务对象的原始样本的标签,具有良好的拓展性和可比性,若采用相同的方式评价不同业务场景下业务预测模型的鲁棒性,可比对不同业务场景下业务预测模型的性能。

这里,业务预测模型可以为任意业务预测模型,本说明书实施例对业务预测模型的模型结构不做任何限定,具体可结合实际需求确定业务预测模型的模型结构。

另外,业务标签可以理解为业务预测模型的输出对象。举例来说,业务预测模型为分类模型,比如,用于车辆检测识别的模型,则输出对象可以为车辆类型,可以有多个,对应地,多个业务标签可以为小轿车、客运车、公交车、地铁、火车、面包车、货运车等。业务模型为回归模型,比如,用于确定工业设备异常得分的模型,则可以有一个输出对象可以为工业设备得分,对应的,业务标签为工业设备得分。

进一步地,当业务标签有多个时,业务预测模型输出针对各业务标签的预测值。但是在计算评估指标时,考虑到多个业务标签之间是相互独立的,因此,对于每个业务标签,均需要单独进行评估,以确定业务预测模型在该业务标签下的鲁棒性。这样,本说明书实施例提供的评估业务预测模型鲁棒性的方式,不受业务标签的数目的限制,任意数目的业务标签均可评价。在对业务预测模型进行鲁棒性评估时,为了可以较为准确的评估业务预测模型的鲁棒性,需要综合考虑所有业务标签的评估情况;比如,针对任一评估指标,对所有业务标签在该评估指标的指标值进行平均,得到业务预测模型在该评估指标下的评估值。这里,评估指标可以为分位数差值的数偏差(即均值)、数偏差方根(即标准差)。当然,本说明书的评估指标仅仅作为示例并不构成具体限定,具体可结合实际情况进行设计。

为了便于理解本说明书实施例的应用场景,下面进行应用场景示例。

在第一个示例性场景中,上述业务场景和业务对象可以分别为人脸识别场景和用户。对应的,业务预测模型可以为用于人脸识别的模型,也即基于人脸的信息判断用户的身份;则业务标签可以有多个,不同业务标签表示不同的用户,此时,业务预测模型为多分类模型。相应地,业务对象的原始样本为人脸数据。这里,人脸数据可以为拍摄的人脸图片。此外,对抗样本可以为对人脸图片添加干扰后(即对抗处理)的人脸图片,通常通过肉眼看不出这些人脸图片的差异,但是确会使业务预测模型无法准确判断用户的身份。

在第二个示例性场景中,上述业务场景和业务对象可以为车辆识别场景和车辆。对应的,业务预测模型可以为用于对车辆进行检测分类的模型;则业务标签可以有多个,不同业务标签表示不同的车辆类型,此时,业务预测模型为多分类模型。相应地,业务对象的原始样本为对车辆拍摄后的车辆图片。此外,对抗样本可以为对车辆图片添加干扰后(即对抗处理)的车辆图片,通常通过肉眼看不出这些车辆图片的差异,但是确会使业务预测模型无法准确判断车辆的类型。

在第三个示例性场景中,上述业务场景和业务对象可以分别为声纹识别场景和用户。对应的,业务预测模型可以为用于声纹识别的模型;则业务标签可以有多个,不同业务标签表示不同的用户,此时,业务预测模型为多分类模型。相应地,业务对象的原始样本为语音数据。这里,语音数据可以为麦克风采集用户的声音得到的数据。此外,对抗样本可以为对语音数据添加干扰后(即对抗处理)的语音数据,使得通过人耳不容易听出语音的差别。

在第四个示例性场景中,上述业务场景和业务对象可以分别为异常检测场景和工业设备。对应的,业务预测模型可以为用于异常检测的模型;则业务标签可以有1个,表示工业设备异常得分,此时,业务预测模型为回归模型。相应地,业务对象的原始样本可以为传感器采集的数据,原始样本的标签由工业设备发生异常而产生的告警数据确定。其中,传感器可以包括温度传感器、湿度传感器或压力传感器等,相应采集的数据可以包括温度、湿度或压力等。此外,对抗样本可以为对传感器采集的数据进行细微的扩大、缩小等后的样本。

在第五个示例性场景中,上述业务场景和业务对象可以分别为风险评估场景和商户。对应的,业务预测模型可以为用于商户经营风险评估的模型,也即判断商户是否存在经营风险;则业务标签可以有2个,一个业务标签表示有经营风险,另一个业务标签表示无经营风险,此时,业务预测模型为二分类模型。相应地,业务对象的样本可以为交易信息。这里的交易信息可以包括交易方、交易时间、交易金额、交易网络环境、交易商品信息等。此外,对抗样本可以为对交易金额进行细微的扩大、缩小,对交易网络环境进行替换等后的样本。

需要理解,以上场景仅作为示例,实际上,上述业务对象还可以包括访问事件等其他业务事件等。总的来说,上述业务预测模型可以为分类模型或回归模型,用于预测上述业务对象的分类或回归。在一个实施例中,上述业务预测模型可以基于神经网络实现。

为了更为清楚的说明本发明实施例提供的业务预测模型的鲁棒性评估,图1示出了一个实施例中计算评估指标的方案的示意图。如图1所示,获取样本集,样本集中包括多个业务对象各自的原始样本形成的原始样本集,以及,对原始样本集中各样本分别进行对抗处理后,得到多个业务对象各自的对抗样本形成的对抗样本集;然后,对于样本集中的各样本,将该样本输入业务预测模型进行针对业务标签的预测,得到该样本对应的预测值;进一步的,在预测完样本集中的各样本,这些样本对应的预测值形成样本集预测结果;然后,从原始样本集中选择部分或全部的原始样本(为了便于区别,称为第一样本)形成第一样本集;对应的,样本集预测结果中第一样本集中各第一样本对应的预测值(为了便于区别,称为第一预测值)形成第一预测值集;之后,计算各第一预测值在第一预测值集下的分位数(为了便于描述和区别,称为第一分位数),得到分位数计算结果(为了便于区别,称为第一分位数计算结果);然后,从对抗样本集中选择第一样本集中各第一样本的对抗样本(为了便于区别,称为第二样本),形成第二样本集;对应的,样本集预测结果中第二样本集中各第二样本对应的预测值(为了便于区别,称为第二预测值)形成第二预测值集;之后,计算各第二预测值在第一预测值集下的分位数(为了便于描述和区别,称为第二分位数),得到分位数计算结果(为了便于区别,称为第二分位数计算结果);最后,基于第一分位数计算结果和第二分位数计算结果,确定各业务对象的第一分位数和第二分位数之间的分位数差值,进而计算业务标签下业务预测模型的评估指标的指标值。

值得注意的是,在实际应用中,对于每个原始样本,对该原始样本进行对抗处理,得到一个或多个对抗样本。这里,原始样本的对抗样本的数目可结合实际需求确定,本说明书实施例对此不做具体限定;对应的,对于任一对抗样本,需要计算该对抗样本的第二分位数和原始样本的第一分位数之间的分位数差值。

在一个例子中,第一样本集为原始样本集,对应的,第二样本集为对抗样本集。

考虑到大部分样本的预测值的变化是比较平稳,通常只有少量样本的预测值的变化较为异常,而这些少量样本往往是业务预测模型容易被攻破的地方,因此需要重点关注。则在另一个例子中,第一样本集为原始样本集中的部分原始样本。

在该例中,作为一个实施方式,按照预测结果中第一预测值的大小,从1开始对原始样本集中的各原始样本进行排序,确定多个第一样本,这些样本形成第一样本;从对抗样本集中选取各第一样本对应的各对抗样本,形成第二样本集。

考虑到容易攻破业务预测模型的少量样本的预测值要么过大要么过小,即排序靠前或排序靠后。示例地,多个第一样本为排序最前的多个原始样本(比如,前10%的原始样本),排序最后的多个原始样本(比如,最后10%的原始样本)、大于等于第一预设排序编号的多个原始样本,或者小于等于第二预设排序编号的多个原始样本。需要说明的是,第一预设排序编号和第二预设排序编号需要集合原始样本集的样本数目确定,本说明书实施例对此不做具体限定,具体可结合实际需求确定,比如,第一预设排序编号可以为原始样本集的样本数目*90%,第二预设排序编号可以为原始样本集的样本数目*10%。

作为另一个实施方式,按照预测结果中第二预测值的大小对对抗样本集中的各对抗样本进行排序,以选取部分业务对象,这些业务对象各自的原始样本作为第一样本,对抗样本作为第二样本。

考虑到容易攻破业务预测模型的少量样本的预测值要么过大要么过小,即排序靠前或排序靠后。示例地,选取的业务对象为排序最前的多个对抗样本(比如,前20%的对抗样本),排序最后的多个对抗样本(比如,最后20%的对抗样本),大于等于第一预设排序编号的多个对抗样本,或者小于等于第二预设排序编号的多个对抗样本,所对应的业务对象。需要说明的是,第一预设排序编号和第二预设排序编号需要集合原始样本集的样本数目确定,本说明书实施例对此不做具体限定,具体可结合实际需求确定,比如,第一预设排序编号可以为对抗样本集的样本数目*80%,第二预设排序编号可以为对抗样本集的样本数目*20%。

根据一种可行的实现方式,基于第一分位数计算结果和第二分位数计算结果,确定各业务对象的第一分位数和第二分位数之间的分位数差值;基于各分位数差值,确定业务标签下业务预测模型的评估指标的指标值。

其中,分位数指示了在一定区间内的分布概率。举例来说,假如有1000个数字(正数),这些数字的5%,30%,50%,70%,99%分位数分别是[3.0,5.0,6.0,9.0,12.0],这表明有5%的数字分布在0-3.0之间,有25%的数字分布在3.0-5.0之间,有20%的数字分布在5.0-6.0之间,有20%的数字分布在6.0-9.0之间,有29%的数字分布在9.0-12.0之间,有1%的数字大于12.0。

下面以每个业务对象的第一样本对应m个第二样本为例进行描述,m大于等于1。

在一个例子中,具体可通过如下公式(1)计算第i个业务对象的第一样本和第j个第二样本之间的分位数差值D

D

其中,s

可选地,对于Q(s

可选地,对于Q(s

进一步地,在一个可行的方案中,评估指标为数偏差VOQ(Volatility ofquantile)。

具体可通过如下公式(2)计算数偏差VOQ。

其中,n表示第一样本集中的第一样本的数目;m表示第二样本集中的第二样本的数目。

在另一个可行的方案中,评估指标为数偏差均方根RMS-VOQ。具体可通过如下公式(3)计算数偏差均方根RMS-VOQ。

需要说明的是,上述评估指标仅仅作为示例,并不构成具体限定,任何基于分位数所设计的评估指标皆可。

针对本说明实施例提供的业务预测模型的评估方案,通过业务预测模型预测各样本针对业务标签的预测值,从而计算业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异,在不依赖样本的标签和阈值的前提下,基于此评价业务预测模型的鲁棒性;另外,该评价方式可以应用在不同业务场景下业务预测模型,从而对比不同业务场景下业务预测模型的性能。

接下来基于上述内容,介绍本说明书实施例提供的一种评估业务预测模型鲁棒性的方法。详见下文描述。

图3示出了在一个实施例中的评估业务预测模型鲁棒性的方法的流程图。了便于说明本说明书实施例中特定用语,比如业务对象、预测值、分位数,在特定用语前加上第一、第二、……以示不同,这里,第一、第二、……不具有特殊含义,仅仅是为了便于区别和描述。如图3所示,该方法包括以下步骤:

步骤31,对于多个业务对象中任意的第一业务对象,获取业务预测模型对第一业务对象进行针对业务标签的预测结果,其中包括基于第一业务对象对应的第一业务样本预测得到的第一预测值和对应的第二业务样本预测得到的第二预测值,第二业务样本是对第一业务样本进行对抗处理后的样本;步骤32,基于各业务对象的第一预测值和各第一预测值形成的第一集合,计算多个业务对象各自对应的第一分位数;步骤33,基于各业务对象的第二预测值和第一集合,计算多个业务对象各自对应的第二分位数;步骤34,基于多个业务对象各自对应的第一分位数和第二分位数,确定多个业务对象各自针对业务标签的预测误差;步骤35,基于多个业务对象各自针对业务标签的预测误差,确定业务预测模型对抗攻击的鲁棒性得分。

根据一种可行的实现方式,步骤31中的多个业务对象为用于评估业务预测模型的所有业务对象;对应的,多个业务对象的业务样本形成上述原始样本集和上述对抗样本集。

在该实现方式中,首先,在步骤31,为了便于描述和区别,下文将多个业务对象中的单个业务对象称为第一业务对象,则针对第一业务对象,获取该对象的多个业务样本;对于任一业务样本,将该样本输入业务模型中,业务模型对第一业务对象进行针对业务标签的预测,得到该业务样本的预测值;按照上述相同的方式处理其他的业务样本,得到各业务样本各自针对业务标签预测值,并将这些作为预测结果。具体地,该对象的多个业务样本包括第一业务样本(对应上述原始样本集中的原始样本,也即上述第一样本);对应的,预测结果包括第一业务样本对应的预测值(对应上述第一预测值);进一步地,还包括第一业务样本对抗处理后的第二业务样本(对应对抗样本集中的业务样本,也即上述第二样本),对应的,预测结果包括第二业务样本对应的预测值(对应上述第二预测值)。值得注意的是,若对第一业务样本进行多次对抗处理,则可以得到多个第二业务样本;对应的,预测结果包括各第二业务样本的第二预测值。需要说明的是,本说明书实施例无需通过业务样本的标签评估业务预测模型的鲁棒性,对业务样本是否具有标签不做具体限定。另外,业务样本需要结合具体的业务需求确定,比如可以为图片,语音数据,文本等,本说明书实施例对此不做具体限定。业务标签的详细内容参见上述,不再赘述。

以上描述了第一业务对象的预测过程,按照上述相同的方式处理其他的业务对象,即可得到所有业务对象各自针对业务标签的预测结果(至少包括第一预测值和第二预测值)。

接着,在步骤32中,对于第一业务对象,基于该第一业务对象的第一预测值以及多个业务对象的第一预测值形成的第一集合(上述第一预测值集),确定该第一业务对象对应的第一分位数。这里,第一分位数对应上述Q(s

根据一种可行的实施方式,首先,按照从小到大的顺序,对第一集合中各第一预测值进行排序;将第一预测值的排序编号作为其对应的业务对象的排序编号,得到多个业务对象各自对应的排序编号(为了便于描述和区别,可称为第一排序编号)。

其次,对于任意的第一业务对象,可基于第一业务对象对应的第一排序编号和第一集合的第一预测值的总数目,计算第一业务对象对应的第一分位数,对应上述Q(s

根据一种可行的实施方式,对于任意的第一业务对象,基于第一集合中小于该对象的第一预测值的预测值数目和第一集合中第一预测值的总数目,确定该对象的第一分位数;对应上Q(s

在步骤33中,对于第一业务对象,基于该第一业务对象的第二预测值以及第一集合,确定该第一业务对象对应的第一分位数;这里,第二分位数对应上述Q(s

具体可通过如下3种实现方式确定第一业务对象对应的第一分位数。

实现方式1:按照从小到大的顺序,对该第一业务对象对应的第二预测值和第一集合中各第一预测值进行排序,确定该第一业务对象对应的第二预测值的排序编号(为了便于描述和区别,称为第二排序编号),并将该第二排序编号作为该第一业务对象的第二排序编号;然后,可基于该第一业务对象的第二排序编号和第一集合中第一预测值的总数目,计算该第一业务对象对应的第一分位数,对应上述Q(s

实现方式2:基于第一集合中小于该第一业务对象的第二预测值的预测值数目和第一集合中第一预测值的总数目,确定该第一业务对象对应的第一分位数,对应上述Q(s

实现方式3;确定大于该第一业务对象对应的第二预测值的上限预测值,小于该第一业务对象对应的第二预测值的下限预测值;然后,利用上限预测值、下限预测值以及该第一业务对象对应的第二预测值,对上限预测值和下限预测值各自对应的第一分位数进行插值,确定该第一业务对象对应的第二分位数。

可选地,上限预测值为第一集合中与该第一业务对象对应的第二预测值差值最小,且大于该第一业务对象对应的第二预测值的第一预测值;下限预测值为第一集合中与该第一业务对象对应的第二预测值差值最小,且小于该第一业务对象对应的第二预测值的第一预测值。

其中,插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。插值的方法可以为线性插值,也可以为非线性插值。

示例地,对于线性差值,具体可通过如下公式(4)计算该第一业务对象对应的第二分位数Q。

其中,p

需要说明的是,上述插值的方法仅仅作为示例,关于插值的方法具体可结合实际的分位数差值的分布情况确定,本说明书实施例并不做具体限定。

另外,在一些可能的实现方式中,若多个业务对象中存在目标业务对象时,即第一集合中该目标业务对象对应的第一预测值和该第一业务对象对应的第二预测值相同。则将该目标业务对象的第一分位数作为该第一业务对象对应的第一分位数。若多个业务对象中不存在目标业务对象时,按照上述实现方式1至实现方式3中任一方式确定第一业务对象对应的第一分位数。

以上详细描述了第一业务对象对应的第一分位数的确定方式,按照上述方式处理完多个业务对象,即可得到多个业务对象各自的第二分位数,对应上述第二分位数计算结果。

然后,在步骤34中,对于第一业务对象,基于该第一业务对象对应的第一分位数和第二分位数,确定该第一业务对象针对业务标签的预测误差。

根据一种可行的实现方式,预测误差可以为第一分位数和第二分位数之差。

考虑到分位数误差中可能存在异常数据,导致无法较为准确评估业务预测模型的鲁棒性。因此,根据一种可行的实现方式,第一业务对象的预测误差为缩放后的分位数误差。具体地,基于预设缩放函数对第一业务对象针对业务标签的分位数误差进行缩放,归纳统一分位数差值,将缩放后的分位数差值作为第一业务对象的预测误差。

在一个例子中,预设缩放函数可以为用于归一化的函数。示例地,缩放函数可以为线性函数(将原始数据以线性化的方式转化到[0,1]的范围,实现等比例缩放,保持数据分布),参见如下公式(5)。

X

其中,X

示例地,缩放函数可以为对数函数。这里,对数函数的底数可以为10、也可以为e,具体可结合实际情况确定,本说明书实施例对此不做具体限定。

应当理解,上述缩放函数仅仅作为示例并不构成具体限定。

值得注意的是,以上描述了第一业务对象的单个第二预测值的预测误差,在实际应用中,第一业务对象可能具有多个第二业务样本,则具有多个第二预测值,对应地,第一业务对象针对业务标签具有多个预测误差。在后续进行业务预测模型的鲁棒性评估时,需要考虑第一业务对象针对业务标签的各预测误差。

以上详细描述了第一业务对象针对业务标签的各预测误差的确定方式,按照上述方式处理完多个业务对象,即可得到多个业务对象各自针对业务标签的各预测误差。

值得注意的是,结合步骤32至步骤35,具体可通过如下方式计算多个业务对象各自的预测误差。

示例1:先计算多个业务对象各自的第一分位数,再计算多个业务对象各自的第二分位数,最后,计算多个业务对象各自的预测误差。

示例2:先计算多个业务对象各自的第一分位数;然后,对于任意的第一业务对象,计算该第一业务对象对应的第一分位数后计算该第一业务对象的预测误差;按照上述方式处理完多个业务对象,得到多个业务对象各自的第二分位数和预测误差。

示例3:对于任意的第一业务对象,先计算该第一业务对象对应的第一分位数和第二分位数,在计算该第一业务对象的预测误差;按照上述方式处理完多个业务对象,得到多个业务对象各自的第一分位数、第二分位数和预测误差。需要注意的是,在该示例下,在计算第一业务对象对应的第一分位数时,若多个业务对象中存在目标业务对象时,即第一集合中该目标业务对象对应的第一预测值和该第一业务对象对应的第二预测值相同时,若已计算目标业务对象的第一分位数,则直接将该目标业务对象的第一分位数作为该业务对象的第二分位数即可;若未计算目标业务对象的第一分位数,则可按照确定第一业务对象对应的第一分位数的3种实现方式中任一方式计算第二分位数。

最后,在步骤35中,业务预测模型在业务标签下的鲁棒性得分可以为多个业务对象各自的预测误差的均值(对应上述数偏差)、标准差(对应上述数偏差方根)、或方差。具体地,假设预测误差对应D

以上说明了业务预测模型在单个业务标签下的鲁棒性得分。当业务分类模型针对多个业务标签进行预测时,进一步地,基于各业务标签下的业务预测模型对抗攻击的鲁棒性得分,综合评价业务预测模型对抗攻击的鲁棒性得分,比如,对各业务标签下的业务预测模型对抗攻击的鲁棒性得分进行加权平均。

根据一种可行的实现方式,步骤31中的多个业务对象为用于评估业务预测模型的部分业务对象;为了便于描述,将用于评估业务预测模型的所有业务对象分别称为备选对象。这里,多个备选对象的业务样本形成上述原始样本集和上述对抗样本集。则在步骤31之前还包括如下内容。

按照上述对第一业务对象的处理方式处理各备选对象,得到各备选对象各自的第一预测值和第二预测值;基于各备选对象各自的第一预测值或第二预测值,从多个备选对象中确定出多个业务对象。

在一个例子中,通过如下方式实现基于各备选对象各自的第一预测值,从多个备选对象中确定出多个第一业务对象。

按照由小到大的顺序,对各备选对象各自对应的第一预测值进行排序;然后,将第一预测值对应的排序编号作为其对应的第二业务样本的排序编号(为了便于描述和区别,称为第三排序编号),得到各备选对象各自的第三排序编号;之后,基于各备选对象各自的第三排序编号进行对象选取,将选取出的各备选对象分别作为第一业务对象。示例地,多个业务对象为排序最前的多个备选对象;示例地,多个业务对象为排序最后的多个备选对象;示例地,多个业务对象为大于等于第一预设排序编号的多个备选对象;示例地,多个业务对象为小于等于第二预设排序编号的多个备选对象。详细内容参见上文,此处不再赘述。

基于各备选对象各自的第二预测值,从多个备选对象中确定出多个业务对象,可以参见基于各备选对象各自的第一预测值,从多个备选对象中确定出多个业务对象的相关内容。

这里的详细内容可参见上文对形成第一样本集和第二样本集的描述,此处不再赘述。

回顾以上过程,在本说明书的实施例中,通过业务预测模型预测各样本针对业务标签的预测值,从而计算业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异,在不依赖样本的标签和阈值的前提下,基于此评价业务预测模型的鲁棒性;另外,该评价方式可以应用在不同业务场景下业务预测模型,从而对比不同业务场景下业务预测模型的性能。

根据另一方面的实施例,还提供了一种评估业务预测模型鲁棒性的装置。图4示出根据一个实施例的用于评估业务预测模型鲁棒性的装置的结构示意图,该装置可以部署在任何具有数据存储、计算、处理能力的设备、平台或设备集群中。如图4所示,该装置400包括:

获取模块41,被配置为对于多个业务对象中任意的第一业务对象,获取业务预测模型对所述第一业务对象进行针对业务标签的预测结果,其中包括基于所述第一业务对象对应的第一业务样本预测得到的第一预测值和对应的第二业务样本预测得到的第二预测值,所述第二业务样本是对所述第一业务样本进行对抗处理后的样本;

第一计算模块42,被配置为基于各业务对象的第一预测值和各第一预测值形成的第一集合,计算所述多个业务对象各自对应的第一分位数;

第二计算模块43,被配置为基于各第一业务对象的第二预测值和所述第一集合,计算所述多个第一业务对象各自对应的第二分位数;

误差确定模块44,被配置为基于所述多个第一业务对象各自对应的第一分位数和第二分位数,确定所述多个第一业务对象各自针对所述业务标签的预测误差;

得分确定模块45,被配置为基于所述多个第一业务对象各自针对所述业务标签的预测误差,确定所述业务预测模型对抗攻击的鲁棒性得分。

在各个实施例中,上述各个模块具体配置为,执行以上结合图3所述的方法中的各个步骤,在此不复赘述。

通过以上装置,通过业务预测模型预测各样本针对业务标签的预测值,从而计算业务对象的原始样本和对抗样本针对业务标签的预测值的分位数差异,在不依赖样本的标签和阈值的前提下,基于此评价业务预测模型的鲁棒性;另外,该评价方式可以应用在不同业务场景下业务预测模型,从而对比不同业务场景下业务预测模型的性能。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所述的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

相关技术
  • 评估业务预测模型鲁棒性的方法、装置及计算设备
  • 语义理解模型的鲁棒性评估方法、装置及计算机设备
技术分类

06120114718623