一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

歧视性样本生成方法和电子设备与流程

2021-11-26 21:52:00 来源:中国专利 TAG:


1.本技术实施例涉及人工智能领域,尤其涉及一种歧视性样本生成方法和电子设备。


背景技术:

2.深度神经网络(deep neural network,dnn)作为一种重要的人工智能技术,已被广泛应用于包括欺诈检测、面部识别、自动驾驶和医疗诊断等多种领域。尽管dnn在许多应用中都表现出优异的性能,然而,其可靠性仍然有待提高。其中,与dnn的可靠性相关的一项重要特性是公平性(即,非歧视性)。
3.由于用于生成模型的样本数据集中可能存在社会偏见,因此利用该样本数据集得到的dnn模型可能会引入歧视。为了检测dnn模型中可能存在的歧视性问题,并且对dnn模型进行修正以强化公平性,需要生成歧视性样本。
4.在相关技术中,生成歧视性样本的方法需要依赖于第三方算法,例如,依赖于模型解释方法和约束求解器,该方法的运算量较大,性能较低,使得歧视性样本生成效率也较低。


技术实现要素:

5.本技术实施例提供一种歧视性样本生成方法和电子设备,电子设备通过基于样本的梯度的扰动处理来生成歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。
6.为达到上述目的,本技术实施例采用如下技术方案:
7.一方面,本技术技术方案提供了一种歧视性样本生成方法,该方法包括:根据样本a
i
的属性集合中的第一属性判断样本a
i
是否是歧视性样本,其中,样本a
i
包括多个属性,i为大于等于0的整数;当样本a
i
不是歧视性样本,且i≤n,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
;其中,n为预设的扰动门限值,样本a
i
为对第一样本a0进行了i次第一扰动处理后的样本;当样本a
i 1
是歧视性样本,根据样本a
i 1
生成多个歧视性样本;其中,歧视性样本为:在样本的第一属性发生改变且除第一属性以外的其他属性不变时,输入模型后得到的模型输出结果发生改变的样本。
8.在该方案中,电子设备通过基于样本的梯度的扰动处理来生成歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。并且,由于电子设备根据样本数据生成歧视性样本,生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。另外,根据样本的梯度进行有指导性的扰动处理,相比于相关技术中的随机生成方法,效率更高;而且指导基于样本,而非基于历史数据,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
9.在一种可能的实现方式中,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰
动后的样本a
i 1
,包括:根据样本a
i
获取至少一个参考样本b
i
;其中,每个参考样本b
i
包括多个属性,多个属性包括第一属性;在样本a
i
与参考样本b
i
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同;从至少一个参考样本b
i
中获取目标参考样本b
i’,其中,在至少一个参考样本b
i
中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大;根据样本a
i
的梯度和目标参考样本b
i’的梯度,从不包括所述第一属性的所述属性集合中确定第一扰动属性和第一扰动方向;根据第一扰动属性和第一扰动方向,对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1

10.也就是说,电子设备基于样本a
i
得到目标参考样本b
i’,并且通过样本a
i
的梯度和目标参考样本b
i’的梯度来进行有指导性的第一扰动处理,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,效率高,并且指导是根据样本数据本身,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
11.在一种可能的实现方式中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大,包括:在至少一个参考样本b
i
中,目标参考样本b
i’和样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大。
12.也就是说,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大,指的是:目标参考样本b
i’是选自至少一个参考样本b
i
中的输入模型后得到的模型输出结果所对应的置信值与样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大的参考样本b
i

13.在一种可能的实现方式中,根据样本a
i
的梯度和目标参考样本b
i’的梯度,确定第一扰动属性和第一扰动方向,包括:从不包括所述第一属性的所述属性集合中确定样本a
i
的梯度和目标参考样本b
i’的梯度中符号相同的属性为第一扰动属性;若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为正,则确定第一扰动属性的第一扰动方向为使得第一扰动属性的值增大的方向;若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为负,则确定第一扰动属性的第一扰动方向为使得第一扰动属性的值减小的方向。
14.也就是说,第一扰动属性和第一扰动方向均顺应样本a
i
的梯度和目标参考样本b
i’的梯度,使得第一扰动处理更加符合实际样本数据的扰动规律,从而有助于生成更符合实际样本数据的歧视性样本。
15.在一种可能的实现方式中,在根据第一扰动属性和第一扰动方向,对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
之后,方法还包括:若样本a
i 1
中的属性的值不在预设输入范围内,则将样本a
i 1
中的属性的值设置在预设输入范围内。
16.也就是说,电子设备可以对扰动后的样本a
i 1
的超出预设范围的属性的值进行修剪,将超出预设范围的属性的值设置在预设范围内,以使得修剪后的样本a
i 1’的属性的值不会偏离真实样本数据的范围。
17.在一种可能的实现方式中,模型是根据样本数据集训练获得的,第一样本a0选自样本数据集。
18.也就是说,电子设备可以根据来自用于构建模型的样本数据集的样本数据,通过第一扰动处理,生成歧视性样本。由于该歧视性样本是基于构建模型的样本数据集生成的,因此所生成的歧视性样本能够更准确地反映模型的歧视情况。
19.在一种可能的实现方式中,方法还包括:对样本数据集进行聚类,使得样本数据集
分为多个组;从多个组中依次循环获取多个样本;其中,第一样本a0为多个样本中的一个。
20.也就是说,电子设备通过从聚类获得的多个组中依次循环获取多个样本,保证了可以均匀地从样本数据集中抽取样本,增加了所抽取的样本的多样性,使得所抽取的样本能够更好地反映样本数据集中的数据分布情况。
21.在一种可能的实现方式中,根据样本a
i 1
生成多个歧视性样本,包括:步骤1、根据样本a
i 1
的梯度对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1
;步骤2、若检测到样本c
i 1
为歧视性样本,则确定生成一个歧视性样本;步骤3、重复执行步骤1和步骤2直至生成多个歧视性样本;其中,在不同的第二扰动处理中,第二扰动处理的参数不同,参数包括第二扰动属性、第二扰动方向或第二扰动幅度中的一个或多个。
22.也就是说,电子设备根据为歧视性样本的样本a
i 1
的梯度,通过改变第二扰动处理的参数,可以对该样本a
i 1
进行多次第二扰动处理,以生成多个歧视性样本。从而,电子设备根据多个歧视性样本的梯度,通过第二扰动处理可以生成大量歧视性样本,歧视性样本生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况,并且无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好。
23.在一种可能的实现方式中,根据样本a
i 1
的梯度对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1
,包括:根据样本a
i 1
获取至少一个参考样本b
i 1
;其中,每个参考样本b
i 1
包括多个属性,多个属性包括第一属性;在样本a
i 1
与参考样本b
i 1
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同;从至少一个参考样本b
i 1
中获取辅助参考样本b
i 1”;其中,在至少一个参考样本b
i 1
中,辅助参考样本b
i 1”和样本a
i 1
输入模型后得到的模型输出结果不同;根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度,从不包括所述第一属性的所述属性集合中确定第二扰动属性;根据第二扰动属性,对样本a
i
进行第二扰动处理,得到扰动后的样本c
i 1

24.也就是说,电子设备根据样本a
i 1
获取辅助参考样本b
i 1”,并且根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度来进行有指导性的第二扰动处理无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,效率高,并且指导是根据样本数据本身,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
25.在一种可能的实现方式中,根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度确定第二扰动属性,包括:对样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和进行归一化;根据归一化的结果,从不包括第一属性的属性集合中确定第二扰动属性。
26.也就是说,第二扰动属性的选择是根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的指导确定的,使得第二扰动处理更加符合实际样本数据的扰动规律,从而有助于根据被确定为是歧视性样本的样本a
i 1
生成更符合实际样本数据的多个歧视性样本。
27.在一种可能的实现方式中,在根据第二扰动属性,对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1
之后,方法还包括:若样本c
i 1
中的属性的值不在预设输入范围内,则将样本c
i 1
中的属性的值设置在预设输入范围内。
28.也就是说,电子设备可以对扰动后的样本c
i 1
的超出预设范围的属性的值进行修剪,将超出预设范围的属性的值设置在预设范围内,以使得修剪后的样本的属性的值不会偏离真实样本数据的范围。
29.在一种可能的实现方式中,方法还包括:根据生成的多个歧视性样本对模型进行
修正。
30.也就是说,在生成大量歧视性样本后,电子设备可以根据生成的大量歧视性样本对模型进行修正,以强化模型的公平性。
31.另一方面,本技术方案提供了一种电子设备,包括:判断单元、处理单元和生成单元;判断单元,用于根据样本a
i
的属性集合中的第一属性判断样本a
i
是否是歧视性样本,其中,属性集合包括多个属性,i为大于等于0的整数;处理单元,用于当样本a
i
不是歧视性样本,且i≤n,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
;其中,n为预设的扰动门限值,样本a
i
为对第一样本a0进行了i次第一扰动处理后的样本;生成单元,用于当样本a
i 1
是歧视性样本,根据样本a
i 1
生成多个歧视性样本;其中,歧视性样本为:在样本的第一属性发生改变且除第一属性以外的其他属性不变时,输入模型后得到的模型输出结果发生改变的样本。
32.在一种可能的实现方式中,处理单元,具体用于:根据样本a
i
获取至少一个参考样本b
i
;其中,每个参考样本b
i
包括多个属性,多个属性包括第一属性;在样本a
i
与参考样本b
i
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同;从至少一个参考样本b
i
中获取目标参考样本b
i’,其中,在至少一个参考样本b
i
中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大;根据样本a
i
的梯度和目标参考样本b
i’的梯度,从不包括所述第一属性的所述属性集合中确定第一扰动属性和第一扰动方向;其中,第一扰动属性与第一属性不同;根据第一扰动属性和第一扰动方向,对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1

33.在一种可能的实现方式中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大,包括:在至少一个参考样本b
i
中,目标参考样本b
i’和样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大。
34.在一种可能的实现方式中,处理单元,还具体用于:从不包括所述第一属性的所述属性集合中确定样本a
i
的梯度和目标参考样本b
i’的梯度中符号相同的属性为第一扰动属性;若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为正,则确定第一扰动属性的第一扰动方向为使得第一扰动属性的值增大的方向;若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为负,则确定第一扰动属性的第一扰动方向为使得第一扰动属性的值减小的方向。
35.在一种可能的实现方式中,处理单元,还用于:若样本a
i 1
中的属性的值不在预设输入范围内,则将样本a
i 1
中的属性的值设置在预设输入范围内。
36.在一种可能的实现方式中,模型是根据样本数据集训练获得的,第一样本a0选自样本数据集。
37.在一种可能的实现方式中,处理单元,还用于:对样本数据集进行聚类,使得样本数据集分为多个组;从多个组中依次循环获取多个样本;其中,第一样本a0为多个样本中的一个。
38.在一种可能的实现方式中,生成单元,具体用于执行以下步骤:步骤1、根据样本a
i 1
的梯度对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1
;步骤2、若检测到样本c
i 1
为歧视性样本,则确定生成一个歧视性样本;步骤3、重复执行步骤1和步骤2直至生成多个歧视性样本;其中,在不同的第二扰动处理中,第二扰动处理的参数不同,参数包括第二扰
动属性、第二扰动方向或第二扰动幅度中的一个或多个。
39.在一种可能的实现方式中,处理单元,还具体用于:根据样本a
i 1
获取至少一个参考样本b
i 1
;其中,每个参考样本b
i 1
包括多个属性,多个属性包括第一属性;在样本a
i 1
与参考样本b
i 1
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同;从至少一个参考样本b
i 1
中获取辅助参考样本b
i 1”;其中,在至少一个参考样本b
i 1
中,辅助参考样本b
i 1”和样本a
i 1
输入模型后得到的模型输出结果不同;根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度,从不包括所述第一属性的所述属性集合中确定第二扰动属性;根据第二扰动属性,对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1

40.在一种可能的实现方式中,处理单元,还具体用于:对样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和进行归一化;根据归一化的结果,从不包括第一属性的属性集合中确定第二扰动属性。
41.在一种可能的实现方式中,处理单元,还具体用于:若样本c
i 1
中的属性的值不在预设输入范围内,则将样本c
i 1
中的属性的值设置在预设输入范围内。
42.在一种可能的实现方式中,处理单元,还用于:根据生成的多个歧视性样本对模型进行修正。
43.另一方面,本技术方案提供了一种电子设备,包括:处理器和存储器;存储器用于存储计算机指令,当处理器执行计算机指令时,使电子设备执行上述任一方面任一项可能的实现中的歧视性样本生成方法。
44.另一方面,本技术方案提供了一种计算机可读存储介质,包括指令,当指令在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现中的歧视性样本生成方法。
45.另一方面,本技术方案提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的设计中的歧视性样本生成方法。
附图说明
46.图1为本技术实施例提供的一种电子设备的硬件结构示意图;
47.图2为本技术实施例提供的一种歧视性样本生成方法的流程图;
48.图3为本技术实施例提供的另一种歧视性样本生成方法的流程图;
49.图4为图3所示的流程图的一个步骤的具体过程的流程图;
50.图5为图4所示的流程图的一个步骤的具体过程的流程图;
51.图6为图2所示的流程图的一个步骤的具体过程的流程图;
52.图7为图3所示的流程图的另一个步骤的具体过程的流程图;
53.图8为图7所示的流程图的一个步骤的具体过程的流程图;
54.图9为图8所示的流程图的一个步骤的具体过程的流程图;
55.图10为本技术实施例提供的又一种歧视性样本生成方法的流程图;
56.图11为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其
中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
58.dnn模型在多种人工智能相关领域得到了广泛应用。然而,用于生成dnn模型的样本数据集中可能存在社会偏见(即,可能存在或隐含存在歧视),因此利用该样本数据集得到的dnn模型可能会引入歧视,从而需要生成歧视性样本以检测dnn模型中可能存在的歧视性问题,并且对dnn模型进行修正以强化公平性。相关技术中用于生成歧视性样本的方法需要依赖于模型解释方法和约束求解器等第三方算法,这些第三方算法通常都是运算量较大的重量级算法,因此,使得生成歧视性样本的方法的运算量较大,运行时间长,性能较低,歧视性样本生成效率也较低。另外,生成歧视性样本的方法受限于第三方算法的能力,使得该方法的扩展能力差,效果不佳。
59.其中,上述样本数据集可以包括训练数据集和测试数据集。训练数据集可以用于对模型进行训练,得到训练后的模型;测试数据集可以对训练后的模型的性能进行测试。训练数据集和测试数据集分别包括多个样本,每个样本可以包括多个属性。
60.对于样本数据集中的一个样本(即,原始样本),可以枚举其某一测试属性(比如,年龄、种族或性别等)的取值,同时保持其余属性值不变,得到多个样本,若多个样本中的至少一个样本输入模型后得到的模型输出结果与原始样本输入模型后得到的模型输出结果不同,那么将该原始样本标示为歧视性样本,上述测试属性即为歧视性属性。其中,模型输出结果是指样本输入模型后模型给出的预测结果,因此,模型输出结果也可以称为模型决策结果。另外,样本输入模型后,模型除了给出模型输出结果以外,还可以给出与该模型输出结果对应的置信值,置信值用于表示模型输出结果的准确率。
61.本技术实施例提供了一种歧视性样本生成方法,可以应用于电子设备。该方法包括:首先,根据样本a
i
的属性集合中的第一属性判断样本a
i
是否是歧视性样本,其中,属性集合包括多个属性,i为大于等于0的整数。当样本a
i
不是歧视性样本,且i≤n,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
;其中,n为预设的扰动门限值,样本a
i
为对第一样本a0进行了i次第一扰动处理后的样本。当样本a
i 1
是歧视性样本,根据样本a
i 1
生成多个歧视性样本。其中,歧视性样本为:在样本的第一属性发生改变且除第一属性以外的其他属性不变时,输入模型后得到的模型输出结果发生改变的样本。
62.其中,对样本进行扰动处理指的是,对样本做一些改变,例如,加入噪声信号,诱导扰动后的样本输入模型后产生错误的模型决策结果。比如,以样本为简单数字图片为例,对标示为“3”的简单数字图片加入噪声信号,人类一般会忽略噪声影响得到识别结果“3”,而根据dnn的模型可能会得到错误的识别结果“5”。因此,在dnn模型等神经网络模型的构建中,可以通过对样本的扰动来提高模型的鲁棒性。在本技术实施例提供的上述歧视性样本生成方法中,对根据第一属性确定为不是歧视性样本的第一样本循环执行第一扰动处理,直至扰动后的第一样本为歧视性样本或者直至第一扰动处理的次数达到预设的扰动门限值。从而,根据第一属性确定为不是歧视性样本的第一样本,经过第一扰动处理后,可能会得到是歧视性样本的扰动后的第一样本。也就是说,本技术实施例中,可以通过第一扰动处理确定出第一样本中可能隐含存在的歧视。
63.本技术实施例提供的上述歧视性样本生成方法采用了根据梯度的扰动处理来生成歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。
64.另外,本技术实施例提供的歧视性样本生成方法根据样本数据集,相比于一些相关技术中不依赖于样本数据的歧视性样本随机生成方法,生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。并且本技术实施例提供的上述歧视性样本生成方法根据样本的梯度对样本进行扰动处理,也就是说,根据梯度进行有指导性的扰动处理,相比于相关技术中的随机生成方法,效率更高。
65.此外,另一些相关技术中,对随机生成的歧视性样本进行有指导性的扰动(也可称为搜索)以获取大量歧视性样本。然而,该方法中采用的指导是根据历史数据的,即,历史上通过哪些扰动参数能够较容易获得大量歧视性样本,则优先选择这些扰动参数来进行扰动。因此,该方法中根据历史数据而非样本数据进行指导,容易出现收敛情况,使得搜索空间较小,导致生成的歧视性样本数量有限。本技术实施例提供的歧视性样本生成方法是根据样本的梯度进行有指导性的扰动处理,即,指导是根据样本数据本身,因此,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
66.本技术实施例提供的歧视性样本生成方法可以应用于欺诈检测设备、面部识别设备、自动驾驶车辆、医疗诊断设备、机器导航设备、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等采用了dnn技术的电子设备上,本技术实施例对电子设备的具体类型不作任何限制。
67.示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括至少一个处理器101,通信总线102,存储器103以及至少一个通信接口104。
68.处理器101可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application specific integrated circuit,asic),或一个或多个用于控制本技术方案程序执行的集成电路。
69.通信总线102可以包括一通路,在上述组件之间传送信息。
70.通信接口104,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
71.存储器103可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
72.其中,存储器103用于存储执行本技术方案的应用程序代码,并由处理器101来控
制执行。处理器101用于执行存储器103中存储的应用程序代码,以控制电子设备100实现本技术下述实施例提供的歧视性样本生成方法。可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
73.在本技术的实施例中,通信接口可以用于从其他设备或通信网络接收样本数据。存储器可以用于存储样本数据。处理器可以对样本数据进行根据梯度的指导性扰动处理以生成大量歧视性样本。
74.在具体实现中,作为一种实施例,处理器101可以包括一个或多个cpu,例如图1中的cpu0和cpu1,每个cpu可以支持多个虚拟cpu,虚拟cpu又称vcpu。
75.在具体实现中,作为一种实施例,电子设备100可以包括多个处理器,例如图1中的处理器101和处理器107。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
76.在具体实现中,作为一种实施例,电子设备100还可以包括输出设备105和输入设备106。输出设备105和处理器101通信,可以以多种方式来显示信息。例如,输出设备105可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备106和处理器101通信,可以以多种方式接受用户的输入。例如,输入设备106可以是鼠标、键盘、触摸屏设备或传感设备等。
77.上述的电子设备100可以是一个通用通信设备或者是一个专用通信设备。本技术实施例不限定电子设备100的类型。在具体实现中,如前所述,电子设备100可以是欺诈检测设备、面部识别设备、自动驾驶车辆、医疗诊断设备、机器导航设备、台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备等;或者,电子设备100也可以是具有图1中类似结构的其他设备。电子设备100中的各个部件可以同时部署在同一个计算机设备中,也可以部署在位于分布式系统中的不同计算机设备中。
78.为了便于理解,本技术以下实施例将以电子设备为具有图1所示结构的电子设备为例,结合附图对本技术实施例提供的应用于电子设备的歧视性样本生成方法进行具体阐述。
79.参见图2,本技术实施例提供的歧视性样本生成方法可以包括:
80.201、电子设备根据样本a
i
的属性集合中的第一属性判断样本a
i
是否是歧视性样本。
81.其中,i为大于等于0的整数。属性集合包括多个属性,即,多个属性包括第一属性。第一属性可以为预期可能是歧视性属性的任何属性,比如,年龄、种族或性别等。第一属性的数目可以有一个或多个。
82.其中,歧视性样本为:在样本的第一属性发生改变且除第一属性以外的其他属性不变时,输入模型后得到的模型输出结果发生改变的样本。即,对于一个样本(即,原始样本),若将只改变该样本的第一属性得到的新的样本与该样本分别输入模型后,得到的模型输出结果不同,即判定该样本为歧视性样本。
83.模型可以为dnn模型,例如可以为6层全连接dnn模型。当然,模型还可以具有其他
结构,本技术实施例对模型的具体结构不作限定。
84.其中,样本a
i
为模型的受众样本。例如,样本a
i
可以为已经构建成功的模型的输入样本;再例如,样本a
i
可以为用于对构建前的模型进行构建(例如,用于训练模型或测试模型)的样本。
85.在一些实施例中,模型是根据样本数据集训练获得的,第一样本a0选自样本数据集。
86.也就是说,可以根据来自用于构建模型的样本数据集的样本数据,通过第一扰动处理,生成歧视性样本。由于该歧视性样本是基于构建模型的样本数据集生成的,因此所生成的歧视性样本能够更准确地反映模型的歧视情况。
87.示例性地,样本数据集可以包括训练数据集和测试数据集。其中,训练数据集可以用于对模型进行训练,得到训练后的模型。测试数据集可以对训练后的模型的性能进行测试。训练数据集和测试数据集分别包括多个样本,每个样本可以包括上述多个属性。其中,不同的样本数据集中的每个样本可以包括不同种类和数量的属性。例如,在一种人口收入调查样本数据集中,每个样本可以包括年龄、性别、人种、受教育程度、国籍、居住地、工作年限、每周工作时长等属性。
88.例如,假设上述人口收入调查样本数据集包括13个属性,在样本数据集为上述人口收入调查样本数据集的情况下,第一样本a0可以包括13个属性,每个属性具有相应的属性值,从而样本a
i
可以包括13个属性。示例性地,样本a
i
可以如下所示:
89.a
i
:[4,0,6,6,0,1,2,1,1,0,0,40,100]
[0090]
其中,a
i
中的每个数字表示每种属性的值。加粗显示的数字“1”可以表示第一属性的值。第一属性可以为年龄、性别、人种等。其中,为了便于描述,样本a
i
以第一属性的数目为一个进行了示例性说明。例如,在第一属性为性别的情况下,假设数字“1”表示男性,数字“0”表示女性。
[0091]
202、当样本a
i
不是歧视性样本,且i≤n,电子设备根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1

[0092]
其中,n为预设的扰动门限值,样本a
i
为对第一样本a0进行了i次第一扰动处理后的样本。
[0093]
例如,在第一属性为性别的情况下,根据歧视性样本的定义,基于前述样本a
i
的示例,样本a
i
的第一属性发生改变且除第一属性以外的其他属性不变,得到的样本b
i
可以如下所示:
[0094]
b
i
:[4,0,6,6,0,1,2,1,0,0,0,40,100]
[0095]
若样本a
i
和样本b
i
输入模型后得到的模型输出结果相同,则电子设备可以确定样本a
i
不是歧视性样本。
[0096]
其中,第一扰动处理是对第一样本进行的改变,例如,是对第一样本中的部分属性的值的改变。第一扰动处理可以用于确定出第一样本中可能隐含存在的歧视。
[0097]
预设的扰动门限值n为预先设定的值,例如,n可以为10、12、15、20、50等,本技术实施例对预设的扰动门限值n的大小不作限定。
[0098]
203、当样本a
i 1
是歧视性样本,电子设备根据样本a
i 1
生成多个歧视性样本。
[0099]
在步骤201-步骤203描述的方案中,电子设备根据样本a
i
的第一属性判断样本a
i

否是歧视性样本。当样本a
i
不是歧视性样本,且i≤n,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
。当样本a
i 1
是歧视性样本,根据样本a
i 1
生成多个歧视性样本。从而,电子设备可以基于多个第一样本a0生成多个歧视性样本,并且再基于多个歧视性样本中的每个歧视性样本,生成多个歧视性样本,从而可以生成大量歧视性样本。该方案采用了基于样本a
i
的梯度的第一扰动处理来生成歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。
[0100]
另外,该方案中,电子设备根据样本数据生成歧视性样本,生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。并且该方案根据样本a
i
的梯度对样本a
i
进行第一扰动处理,也就是说,该方案根据样本的梯度进行有指导性的扰动处理,相比于相关技术中的随机生成方法,效率更高;并且指导基于样本,而非基于历史,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0101]
在另一实施例中,参见图3,该方法还可以包括:
[0102]
301、电子设备对样本数据集进行聚类,使得样本数据集分为多个组。
[0103]
其中,电子设备通过对样本数据集进行聚类,可以将具有相似特征的样本归为一组。通过对样本数据集进行聚类得到的多个组也可以称为多个簇。
[0104]
302、电子设备从多个组中依次循环获取多个样本;其中,第一样本a0为多个样本中的一个。
[0105]
电子设备通过从聚类获得的多个组中依次循环获取多个样本,保证了可以均匀地从样本数据集中抽取样本,增加了所抽取的样本的多样性,使得所抽取的样本能够更好地反映样本数据集中的数据分布情况。
[0106]
根据前述步骤202可知,当样本a
i
不是歧视性样本,且i≤n,根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1

[0107]
示例性地,参见图4,电子设备根据样本a
i
的梯度对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
,可以包括:
[0108]
401、电子设备根据样本a
i
获取至少一个参考样本b
i

[0109]
其中,每个参考样本b
i
包括多个属性,多个属性包括第一属性;在样本a
i
与参考样本b
i
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同。
[0110]
402、电子设备从至少一个参考样本b
i
中获取目标参考样本b
i’。
[0111]
其中,在至少一个参考样本b
i
中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大。
[0112]
在一些实现方式中,目标参考样本b
i’的第一属性的值与样本a
i
的第一属性的值的差异值最大,可以包括:在至少一个参考样本b
i
中,目标参考样本b
i’和样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大。
[0113]
如前所述,每个样本输入模型后可以得到模型输出结果以及与该模型输出结果对应的置信值。由于电子设备根据样本a
i
对样本a
i
进行第一扰动处理的前提是:每个参考样本b
i
输入模型后得到的模型输出结果与样本a
i
输入模型后得到的模型输出结果相同(即,样本a
i
不是歧视性样本),因此,此时的每个参考样本b
i
和样本a
i
输入模型后得到的模型输出结果相同,区别仅在于与每个参考样本b
i
和样本a
i
输入模型后得到的模型输出结果对应的置信值可能不同。目标参考样本b
i’为从至少一个参考样本b
i
中获取的样本,并且目标参考样
本b
i’和样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大。
[0114]
也就是说,目标参考样本b
i’是选自至少一个参考样本b
i
中的输入模型后得到的模型输出结果所对应的置信值与样本a
i
输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大的参考样本b
i
。从而,目标参考样本b
i’为至少一个参考样本b
i
中与样本a
i
关于模型输出结果的置信值的差异最大的参考样本b
i

[0115]
若以上述样本a
i
为例,在第一属性为年龄的情况下,假设第一属性的值可以为0-100中的任一个。由于样本a
i
中第一属性的值为“0”,则参考样本b
i
可以为其他属性的值与样本a
i
相同且第一属性的值不为“0”的样本。例如,此时参考样本b
i
可以如下所示:
[0116]
b
i
:[4,0,6,6,0,1,2,1,0,0,0,40,100]
[0117]
b
i
:[4,0,6,6,0,1,2,1,8,0,0,40,100]
[0118]
b
i
:[4,0,6,6,0,1,2,1,20,0,0,40,100]
[0119]
b
i
:[4,0,6,6,0,1,2,1,51,0,0,40,100]
[0120]
b
i
:[4,0,6,6,0,1,2,1,73,0,0,40,100]
[0121]
可以理解的是,上述仅以举例方式给出了在第一属性为年龄的情况下的参考样本b
i
的可能的示例,参考样本b
i
可以为其他属性的值与样本a
i
相同且第一属性的值不为“0”的任何样本,本技术实施例对样本b
i
中的第一属性的值不作限定。
[0122]
另外,若以上述样本a
i
为例,在第一属性为性别的情况下,第一属性的值为“0”或“1”,参考样本b
i
只有一个,此时的目标参考样本b
i’即为参考样本b
i
。即,此时的目标参考样本b
i’为:
[0123]
b
i’:[4,0,6,6,0,1,2,1,0,0,0,40,100]
[0124]
403、电子设备根据样本a
i
的梯度和目标参考样本b
i’的梯度,从不包括第一属性的属性集合中确定第一扰动属性和第一扰动方向。
[0125]
也就是说,第一扰动属性与第一属性不同。即,第一扰动属性是从除了第一属性以外的多个属性中确定的。上述多个属性包括第一扰动属性,第一扰动属性的数量可以为一个或多个。第一扰动方向为对第一样本的第一扰动属性进行扰动的方向。
[0126]
在一些实现方式中,参见图5,步骤403可以包括:
[0127]
501、电子设备从不包括第一属性的属性集合中确定样本a
i
的梯度和目标参考样本b
i’的梯度中符号相同的属性为第一扰动属性。
[0128]
其中,样本a
i
的梯度包括模型关于样本a
i
中的多个属性的偏导数。目标参考样本b
i’的梯度包括模型关于目标参考样本b
i’中的多个属性的偏导数。也就是说,样本a
i
的梯度关于多个属性中的每个属性均具有偏导数,目标参考样本b
i’的梯度关于多个属性中的每个属性均具有偏导数。样本a
i
的梯度和目标参考样本b
i’的梯度中符号相同的属性,即为样本a
i
的梯度和目标参考样本b
i’的梯度中的偏导数的符号相同(例如,符号均为正,或者符号均为负)的属性。
[0129]
502、若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为正,则电子设备确定第一扰动属性的第一扰动方向为使得第一扰动属性的值增大的方向。
[0130]
其中,使得第一扰动属性的值增大的方向也可以称为正方向。即,第一样本的梯度和第二样本的梯度的符号均为正的第一扰动属性的第一扰动方向为正方向。
[0131]
503、若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为负,则电子设备确定第
一扰动属性的第一扰动方向为使得第一扰动属性的值减小的方向。
[0132]
其中,使得第一扰动属性的值减小的方向也可以称为负方向。即,第一样本的梯度和第二样本的梯度的符号均为负的第一扰动属性的第一扰动方向为负方向。
[0133]
也就是说,样本a
i
的梯度和目标参考样本b
i’的梯度中符号相同的属性为第一扰动属性,并且样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为正的第一扰动属性的第一扰动方向为正方向,样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为负的第一扰动属性的第一扰动方向为负方向,从而第一扰动属性和第一扰动方向均顺应样本a
i
的梯度和目标参考样本b
i’的梯度,使得第一扰动处理更加符合实际样本数据的扰动规律,从而有助于生成更符合实际样本数据的歧视性样本。
[0134]
仍以上述样本a
i
为例,在第一属性为性别的情况下,在上述13个属性中,若样本a
i
的梯度和目标参考样本b
i’的梯度的符号相同的属性为第2个、第5个、第6个、第7个、第12个和第13个属性,则可以确定第一扰动属性为第2个、第5个、第6个、第7个、第12个和第13个属性。另外,若样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为正的属性为第2个、第6个和第12个属性,样本a
i
的梯度和目标参考样本b
i’的梯度的符号均为负的属性为第5个、第7个和第13个属性,则可以确定第2个、第6个和第12个属性的第一扰动方向为正方向;第5个、第7个和第13个属性的第一扰动方向为负方向。从而,此时的第一扰动方向dir可以如下所示:
[0135]
dir:[0, ,0,0,-, ,-,0,0,0,0, ,-]
[0136]
其中,“ ”表示该属性的扰动方向为正方向,
“-”
表示该属性的扰动方向为负方向,“0”表示该属性不进行扰动处理。
[0137]
示例性地,参见图4,在步骤403之后,该方法还可以包括:
[0138]
404、电子设备根据第一扰动属性和第一扰动方向,对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1

[0139]
其中,第一扰动属性和第一扰动方向均为第一扰动处理的参数。
[0140]
在一些实现方式中,除了第一扰动属性和第一扰动方向以外,第一扰动处理的参数还可以包括第一扰动幅度。
[0141]
示例性地,第一扰动幅度可以是预先设置的扰动幅度。例如,第一扰动幅度可以为0.5、1、1.3、2等,本技术实施例对第一扰动幅度的具体数值不作限定。示例性地,若第一扰动幅度为1,则结合了该第一扰动幅度的第一扰动方向dir’可以进一步表示为:
[0142]
dir’:[0,1,0,0,-1,1,-1,0,0,0,0,1,-1]
[0143]
然后,电子设备可以根据上述dir’对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
。示例性地,扰动后的样本a
i 1
可以如下所示:
[0144]
a
i 1
:[4,1,6,6,-1,2,1,1,1,0,0,41,99]
[0145]
其中,以示例方式示出的扰动后的该样本a
i 1
实际上就是将上述样本a
i
与dir’的对应属性的值相加得到的。
[0146]
再示例性地,第一扰动幅度也可以是随机选择的扰动幅度。例如,第一扰动幅度可以在0.3、1、1.5、2等中随机选择,当然,第一扰动幅度还可以在其他数值中选择,本技术实施例对电子设备随机选择第一扰动幅度的方式不作限定。
[0147]
在步骤401-步骤404所述的方案中,电子设备先根据样本a
i
获取至少一个参考样本b
i
,再从至少一个参考样本b
i
中获取目标参考样本b
i’。然后,电子设备根据样本a
i
的梯度
和目标参考样本b
i’的梯度,从不包括第一属性的属性集合中确定第一扰动属性和第一扰动方向。最后,电子设备根据第一扰动属性和第一扰动方向,对样本a
i
进行第一扰动处理,得到扰动后的样本a
i 1
。由于至少一个参考样本b
i
是根据样本a
i
获得的,因此,该方案本质上仍然是根据样本a
i
、通过梯度计算来进行有指导性的扰动处理,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,效率高,并且指导是根据样本数据本身,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0148]
另外,扰动后的样本a
i 1
中的属性的值可能会从超出该属性值的预设范围。例如,假设第13个属性的值的预设范围为0-39,而上述扰动后的样本a
i 1
中的第13个属性的值为数字“99”,显然,数字“99”已经超出了第一属性的值的预设范围。因此,可能还需要对扰动后的样本a
i 1
中的属性的值进行设置,以使得扰动后的样本a
i 1
中的属性的值在预设范围内。
[0149]
示例性地,在一些实施例中,参见图4,在步骤404之后,该方法还可以包括:
[0150]
405、若样本a
i 1
中的属性的值不在预设输入范围内,则电子设备将样本a
i 1
中的属性的值设置在预设输入范围内。
[0151]
其中,预设输入范围为歧视性样本中的多个属性中的每个属性的值的预设范围。例如,在属性为性别的情况下,该属性的值的预设范围可以为0或1。再例如,在属性为年龄(例如,单位为岁)的情况下,该属性的值的预设范围可以为0-100。再例如,在属性为每周工作时长(例如,单位为小时)的情况下,该属性的值的预设范围可以为0-80。
[0152]
示例性地,可以通过修剪(clip)将扰动后的样本a
i 1
中的多个属性的值设置在预设输入范围内。
[0153]
例如,在一种实现方式中,clip函数可以将大于预设范围中的最大值的值设置为最大值,将小于预设范围中的最小值的值设置为最小值。假设上述扰动后的样本a
i 1
中的第5个和第13个属性的值超过相应的预设范围,并且第5个属性的值的预设范围分别为大于或者等于0,第13个属性的值的预设范围为0-39。则利用clip函数对扰动后的样本a
i 1
得到的修剪后的样本a
i 1’可以如下所示:
[0154]
a
i 1’:[4,1,6,6,0,2,1,1,1,0,0,41,39]
[0155]
当然,clip函数不限于上述示例,可以根据样本的具体情况来选择合适的clip函数进行修剪。
[0156]
通过步骤405,电子设备可以将扰动后的样本a
i 1
的超出预设范围的属性的值进行修剪,将超出预设范围的属性的值设置在预设范围内,以使得修剪后的样本a
i 1’的属性的值不会偏离真实样本数据的范围。
[0157]
上述通过图4和图5及其相关描述对图2中的步骤202中涉及的电子设备根据样本a
i
的梯度对样本a
i
进行第一扰动处理得到扰动后的样本a
i 1
的过程进行了详细说明。
[0158]
从而,结合图4和图5及其相关描述,电子设备根据来自样本数据集的第一样本a0通过第一扰动处理获取歧视性样本的具体过程可以如图6所示。
[0159]
参见图6,首先,电子设备可以对样本数据集进行聚类,使得样本数据集分为多个组。然后,从该多个组中依次循环获取多个样本。多个样本中的每个样本包括多个属性,多个属性包括第一属性,第一属性可以为预期可能是歧视性属性的任何属性,比如,年龄、种族或性别等,第一样本a0为多个样本中的任一样本。然后,根据第一属性对第一样本a0进行
歧视检测,确定该第一样本a0是否为歧视性样本。若根据第一属性确定第一样本a0是歧视性样本,则找到一个歧视性样本。若根据第一属性确定第一样本a0不是歧视性样本,则电子设备计算第一样本a0与第一目标参考样本b0’
的梯度。其中,第一目标参考样本b0’
选自至少一个第一参考样本b0,至少一个第一参考样本b0是根据第一样本a0获得的,每个第一参考样本b0包括多个属性,多个属性包括第一属性;在第一样本a0与第一参考样本b0的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同。在至少一个第一参考样本b0中,第一目标参考样本b0’
和第一样本a0输入模型后得到的模型输出结果所对应的置信值的差值的绝对值最大,模型是根据样本数据集训练获得的。然后,电子设备根据第一样本a0的梯度和第一目标参考样本b0’
的梯度,确定第一扰动参数,第一扰动参数包括第一扰动属性和第一扰动方向。其中,第一样本a0的梯度和第一目标参考样本b0’
的梯度中符号相同的属性为第一扰动属性。若第一样本a0的梯度和第一目标参考样本b0’
的梯度的符号均为正,则第一扰动属性的第一扰动方向为使得第一扰动属性的值增大的方向;若第一样本a0的梯度和第一目标参考样本b0’
的梯度的符号均为负,则第一扰动属性的第一扰动方向为使得第一扰动属性的值减小的方向。然后,根据第一扰动属性的第一扰动方向,对第一样本a0进行第一扰动处理,得到第二样本a1。之后,电子设备通过修剪将第二样本a1中的多个属性的值设置在预设输入范围内,得到修剪的样本a1’
。最后,对修剪的样本a1’
进行歧视检测,确定修剪的样本a1’
是否为歧视性样本,若修剪的样本a1’
是歧视性样本,则找到一个歧视性样本;若该修剪的样本a1’
不是歧视性样本,则对该修剪的样本a1’
继续重复上述处理,直到找到歧视性样本或者直到第一扰动处理的次数达到预设的扰动门限值。
[0160]
从而,通过图6所示的上述处理过程,电子设备可以根据第一样本a0的梯度进行有指导性的扰动处理以生成歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。并且,相比于相关技术中的随机生成方法,效率更高,生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况;而且指导根据样本,而非根据历史,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0161]
上述处理过程中的第一扰动处理本质上是在多个属性中寻找具有相同梯度符号的属性进行扰动,具有相同梯度符号的属性可能有多个,因此,图6所示的上述处理过程也可以称为全局搜索。全局搜索的伪代码可以如下所示。
[0162]
全局搜索:
[0163]
[0164][0165]
通过上述全局搜索,电子设备根据来自样本数据集中的多个第一样本a0的梯度,通过有指导性的第一扰动处理可以生成歧视性样本。
[0166]
在通过全局搜索得到歧视性样本的基础上,电子设备可以进一步根据全局搜索得到的歧视性样本生成大量歧视性样本。即,如图2中的步骤203所述,当样本a
i 1
是歧视性样本,电子设备可以根据样本a
i 1
生成多个歧视性样本。
[0167]
在一实施例中,如图7所示,电子设备根据样本a
i 1
生成多个歧视性样本,可以包括:
[0168]
701、电子设备根据样本a
i 1
的梯度对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1

[0169]
702、若电子设备检测到样本c
i 1
为歧视性样本,则电子设备确定生成一个歧视性样本。
[0170]
703、电子设备重复执行步骤701和步骤702直至生成多个歧视性样本。
[0171]
其中,在不同的第二扰动处理中,第二扰动处理的参数不同,参数包括第二扰动属性、第二扰动方向或第二扰动幅度中的一个或多个。
[0172]
也就是说,电子设备根据一个歧视性样本(即,被确定为是歧视性样本的样本a
i 1
)的梯度,通过改变第二扰动处理的参数,可以对该歧视性样本进行多次第二扰动处理,以生成多个歧视性样本。从而,电子设备根据多个歧视性样本的梯度,通过第二扰动处理可以生成大量歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。
[0173]
另外,在上述方案中,歧视性样本(即,被确定为是歧视性样本的样本a
i 1
)是根据第一样本a0得到的,因此,歧视性样本生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。并且该方案根据歧视性样本的梯度进行有指导性的扰动处理,相比于相关技术中的随机生成方法,效率更高;并且指导根据样本,而非根据历史,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0174]
在一些实现方式中,参见图8,步骤701可以包括:
[0175]
801、电子设备根据样本a
i 1
获取至少一个参考样本b
i 1

[0176]
其中,每个参考样本b
i 1
包括多个属性,多个属性包括第一属性;在样本a
i 1
与参考样本b
i 1
的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同。
[0177]
802、电子设备从至少一个参考样本b
i 1
中获取辅助参考样本b
i 1”。
[0178]
其中,在至少一个参考样本b
i 1
中,辅助参考样本b
i 1”和样本a
i 1
输入模型后得到的模型输出结果不同。
[0179]
803、电子设备根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度,从不包括第一属
性的属性集合中确定第二扰动属性。
[0180]
其中,第二扰动属性与第一属性不同。即,第二扰动属性是从除了第一属性以外的上述多个属性中确定的。多个属性包括第二扰动属性,第二扰动属性的数量可以为一个或多个。
[0181]
在一些实现方式中,参见图9,步骤803可以包括:
[0182]
901、电子设备对样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和进行归一化。
[0183]
其中,样本a
i 1
的梯度包括模型关于样本a
i 1
中的多个属性的偏导数。辅助参考样本b
i 1”的梯度包括模型关于辅助参考样本b
i 1”中的多个属性的偏导数。也就是说,样本a
i 1
的梯度关于多个属性中的每个属性均具有偏导数,辅助参考样本b
i 1”的梯度关于多个属性中的每个属性均具有偏导数。样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和,即为样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度中的各个属性的偏导数的大小之和。样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度中的各个属性的偏导数的大小之和,指的是样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度中的各个属性的偏导数的绝对值之和,而不涉及梯度方向。
[0184]
电子设备在得到样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和的结果后,对该结果进行归一化。其中,归一化就是将该结果中每种属性所对应的值映射到[0,1]范围内。通过归一化得到的归一化结果中每种属性所对应的值即为每种属性被选择为第二扰动属性的概率。
[0185]
仍以人口收入调查样本数据集为例,假设确定前述对扰动后的样本a
i 1
进行修剪得到的修剪后的样本a
i 1’为歧视性样本(即,此时的被确定为是歧视性样本的样本a
i 1
),则根据修剪后的样本a
i 1’(即,此时的被确定为是歧视性样本的样本a
i 1
)得到的辅助参考样本b
i 1”可以如下所示:
[0186]
b
i 1”:[4,1,6,6,0,2,1,1,0,0,0,41,39]
[0187]
然后,电子设备对样本a
i 1
(即,前述的修剪后的样本a
i 1’)和辅助参考样本b
i 1”的梯度的大小之和进行归一化后,得到的归一化结果p可以为:
[0188]
p:[0.030,0.019,0.057,0.075,0.002,0.009,0.020,0.015,0,0.002,0.027,0.612,0.131]
[0189]
其中,归一化结果p中的每种属性所对应的值为每种属性被选择为第二扰动属性的概率。
[0190]
902、电子设备根据归一化的结果,从不包括第一属性的属性集合中确定第二扰动属性。
[0191]
电子设备根据归一化的结果,从不包括第一属性的属性集合中确定第二扰动属性,即为,电子设备根据不包括第一属性的属性集合中的每种属性被选择为第二扰动属性的概率确定第二扰动属性。
[0192]
也就是说,电子设备对被确定为是歧视性样本的样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的大小之和进行归一化,得到每种属性被选择为第二扰动属性的概率,然后根据该概率确定第二扰动属性。从而,第二扰动属性的选择是根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度的指导确定的,使得第二扰动处理更加符合实际样本数据的扰动规律,从而有助于根据被确定为是歧视性样本的样本a
i 1
生成更符合实际样本数据的多个歧视性样
本。
[0193]
在上述步骤803之后,该方法还可以包括:
[0194]
804、电子设备根据第二扰动属性,对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1

[0195]
其中,第二扰动处理的参数可以包括第二扰动属性、第二扰动方向和第二扰动幅度。其中,在确定第二扰动属性后,第二扰动方向和第二扰动幅度可以随机选择。
[0196]
示例性地,电子设备可以以各50%的概率随机选择正方向或负方向作为第二扰动方向。其中,正方向为使得第二扰动属性的值增大的方向,负方向为使得第二扰动属性的值减小的方向。当然,随机选择第二扰动方向的方式不限于此,本技术实施例对随机选择第二扰动方向的方式不作限定。
[0197]
示例性地,第二扰动幅度可以在0.3、1、1.5、2等中随机选择,当然,第二扰动幅度还可以在其他数值中选择,本技术实施例对电子设备随机选择第二扰动幅度的方式不作限定。
[0198]
从而,步骤804具体可以包括:电子设备根据第二扰动属性、以及随机选择的第二扰动方向和第二扰动幅度,对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1

[0199]
示例性地,假设电子设备根据上述归一化结果p选择了第12个属性(即,上述归一化结果p中的数值0.612所对应的属性)作为第二扰动属性,并且随机选择负方向作为第二扰动方向,1作为第二扰动幅度,则对样本a
i
进行第二扰动处理,得到的扰动后的样本c
i
可以如下所示:
[0200]
c
i
:[4,1,6,6,0,2,1,1,0,0,0,40,39]
[0201]
在步骤801-步骤804所示的方案中,电子设备先根据样本a
i 1
获取至少一个参考样本b
i 1
,再从至少一个参考样本b
i 1
中获取辅助参考样本b
i 1”。然后,电子设备根据样本a
i 1
的梯度和辅助参考样本b
i 1”的梯度确定第二扰动属性,并且根据第二扰动属性,对样本a
i 1
进行第二扰动处理,得到扰动后的样本c
i 1
。由于样本a
i 1
是根据第一样本a0获得的,因此,该方案本质上仍然是根据第一样本a0、通过梯度计算来进行有指导性的扰动处理,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,效率高,并且指导是根据样本数据本身,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0202]
示例性地,在一些实施例中,参见图8,在步骤804之后,该方法还可以包括:
[0203]
805、若样本c
i 1
中的属性的值不在预设输入范围内,则电子设备将样本c
i 1
中的属性的值设置在预设输入范围内。
[0204]
其中,预设输入范围为歧视性样本中的多个属性中的每个属性的值的预设范围。示例性地,可以通过修剪(clip)将样本c
i 1
中的属性的值设置在预设输入范围内。
[0205]
例如,在一种实现方式中,clip函数可以将大于预设范围中的最大值的值设置为最大值,将小于预设范围中的最小值的值设置为最小值。
[0206]
当然,clip函数不限于上述示例,可以根据样本数据的具体情况来选择合适的clip函数进行修剪。
[0207]
通过步骤805,电子设备可以将扰动后的样本c
i 1
的超出预设范围的属性的值进行修剪,将超出预设范围的属性的值设置在预设范围内,以使得修剪后的样本的属性的值不会偏离真实样本数据的范围。
[0208]
上述通过图8和图9及其相关描述对图2中的步骤203中涉及的电子设备根据所述样本a
i
生成多个歧视性样本的过程进行了详细说明。
[0209]
根据前述可知,在全局搜索得到多个歧视性样本后,需要对每个歧视性样本重复进行第二扰动处理以生成多个歧视性样本,从而通过全局搜索得到的多个歧视性样本可以获得大量歧视性样本。
[0210]
结合图8和图9及其相关描述,电子设备对全局搜索后得到的多个歧视性样本进行第二扰动处理以生成大量歧视性样本的具体过程可以参见图10。
[0211]
如图10所示,首先,电子设备可以计算歧视性样本的梯度和与该歧视性样本相对应的样本的梯度的大小之和。其中,与该歧视性样本相对应的样本是根据歧视性样本得到的。歧视性样本和与该歧视性样本相对应的样本均包括多个属性,在歧视性样本与该歧视性样本相对应的样本的多个属性中,第一属性的值不同且除第一属性以外的其他属性的值相同,并且在与歧视性样本的第一属性的值不同且除第一属性以外的其他属性的值相同的所有样本中,该歧视性样本相对应的样本的第一属性的值与歧视性样本的第一属性的值的差异值最大。然后,电子设备对歧视性样本的梯度和与该歧视性样本相对应的样本的梯度的大小之和进行归一化。
[0212]
然后,电子设备根据归一化的结果,从不包括第一属性的属性集合中确定第二扰动属性。根据第二扰动属性,对歧视性样本进行第二扰动处理,得到扰动后的歧视性样本。之后,通过修剪将扰动后的歧视性样本中的多个属性的值设置在预设输入范围内。将修剪后得到的新的歧视性样本进行目标检测,确定该样本是否为歧视性样本,若该样本是歧视性样本,则找到一个歧视性样本。重复上述步骤,直至根据该歧视性样本生成多个歧视性样本。例如,参见图10,若找到的歧视性样本的数量小于预设数量,则重复上述步骤,直至找到的歧视性样本达到预设数量。
[0213]
从而,通过图10所示的上述处理过程,电子设备可以根据全局搜索得到的歧视性样本的梯度进行有指导性的扰动处理以生成大量歧视性样本,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。并且,相比于相关技术中的随机生成方法,效率更高;而且指导根据样本,而非根据历史,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。另外,歧视性样本是根据样本数据得到的,生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。
[0214]
上述处理过程中的第二扰动处理本质上是通过对非歧视性属性(即,除第一属性以外的属性)的扰动来获取大量歧视性样本。其中,第二扰动处理的参数可以包括第二扰动属性、第二扰动方向和第二扰动幅度。
[0215]
电子设备通过改变第二扰动处理的参数,可以对一个歧视性样本进行多次第二扰动处理,以生成多个歧视性样本。从而可以根据全局搜索得到的多个歧视性样本,生成大量歧视性样本。
[0216]
图10所示的上述处理过程也可以称为局部搜索。示例性地,本技术实施例提供的局部搜索的伪代码可以如下所示。
[0217]
局部搜索:
[0218][0219]
在上述局部搜索中,电子设备根据全局搜索得到的歧视性样本,通过有指导性的第二扰动处理以可以生成大量歧视性样本。
[0220]
从而,在本技术实施例提供的歧视性样本生成方法中,电子设备根据选自样本数据集的样本,先通过全局搜索得到歧视性样本,然后再根据全局搜索得到的歧视性样本,通过局部搜索生成大量歧视性样本。其中,全局搜索和局部搜索均是根据样本的梯度的有指导性的搜索,无需依赖于重量级的第三方算法,运行时间短,性能较高,扩展能力好,歧视性样本生成效率能够得到显著提升。并且样本来自样本数据集,因此生成结果与实际样本数据分布之间的偏离较小,能够较好地反映实际样本数据分布情况。并且该方案根据样本的梯度进行有指导性的扰动处理,相比于相关技术中的随机生成方法,效率更高;同时指导根据样本数据,而非根据历史数据,不会出现收敛情况,搜索空间较大,能够提升生成的歧视性样本的数量。
[0221]
示例性地,以样本来自人口普查收入(census income)数据集(样本数据集为census income数据集)为例对本技术实施例提供的歧视性样本生成方法进行了测试。其中,census income数据集是一种分类数据集,包含32561条训练数据集以及16281条测试数据集。该census income数据集总共有13个属性,其中包含年龄、种族以及性别三个歧视性属性(即,歧视属性),测试时选择性别作为歧视性属性。模型为根据census income数据集、使用6层全连接模型得到的模型,该模型在上述测试数据集上的准确率为88.15%。通过测试发现:本技术实施例提供的歧视性样本生成方法,相比于现有技术,可以提高9倍搜索空间,25倍歧视性样本,1/7运行时间。
[0222]
示例性地,上述歧视性样本生成方法还可以包括:电子设备根据生成的所述多个歧视性样本对所述模型进行修正。
[0223]
也就是说,在通过全局搜索和局部搜索生成大量歧视性样本后,电子设备可以根据生成的大量歧视性样本对模型进行修正,以强化模型的公平性。
[0224]
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或
硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0225]
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0226]
在采用对应各个功能划分各个功能模块的情况下,图11示出了上述实施例中涉及的电子设备1100的一种可能的组成示意图,如图11所示,该电子设备1100可以包括:判断单元1101、处理单元1102和生成单元1103。
[0227]
其中,判断单元1101可以用于支持电子设备1100执行上述步骤201等,和/或用于本文所描述的技术的其他过程。
[0228]
处理单元1102可以用于支持电子设备1100执行上述步骤202、步骤301、步骤302、步骤401、步骤402、步骤404、步骤405、步骤403、步骤501、步骤502、步骤503、等,和/或用于本文所描述的技术的其他过程。
[0229]
生成单元1103可以用于支持电子设备1100执行上述步骤203、步骤701、步骤702、步骤703、步骤801、步骤802、步骤803、步骤804、步骤805、步骤901、步骤902等,和/或用于本文所描述的技术的其他过程。
[0230]
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0231]
本实施例提供的电子设备1100,用于执行上述歧视性样本生成方法,因此可以达到与上述实现方法相同的效果。
[0232]
在采用集成的单元的情况下,电子设备1100可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备1100的动作进行控制管理,例如,可以用于支持电子设备1100执行上述判断单元1101、处理单元1102和生成单元1103执行的步骤。存储模块可以用于支持电子设备1100存储程序代码和数据等。通信模块,可以用于支持电子设备1100与其他设备的通信,例如与无线接入设备的通信。
[0233]
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,dsp)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、wi-fi芯片等与其他电子设备交互的设备。
[0234]
本技术的实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的歧视性样本生成方法。
[0235]
本技术的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子设备执行的歧视性样本生成方法。
[0236]
另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中电子设备执行的歧视性样本生成方法。
[0237]
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0238]
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0239]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0240]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0241]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0242]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。根据这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0243]
以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献