CN112433952A - 深度神经网络模型公平性测试方法、***、设备及介质 - Google Patents
深度神经网络模型公平性测试方法、***、设备及介质 Download PDFInfo
- Publication number
- CN112433952A CN112433952A CN202011403188.6A CN202011403188A CN112433952A CN 112433952 A CN112433952 A CN 112433952A CN 202011403188 A CN202011403188 A CN 202011403188A CN 112433952 A CN112433952 A CN 112433952A
- Authority
- CN
- China
- Prior art keywords
- sample
- current
- seed
- cluster
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于机器学***性测试方法、***、设备及介质,包括获取若干样本,并查询待测试神经网络模型得到各样本的预测结果,利用已知预测结果的样本进行聚类为样本簇,并分别训练替代模型,在每个样本簇上基于对应的替代模型,生成新的种子样本集合,并对取出的种子施加扰动,进而使其在很大概率上变成违反公平性条件的样本,并基于对当前发现的违反公平性的样本施加多次扰动,来发现更多的违反公平性条件的样本,用来充分验证深度神经网络模型公平性。该方法使用限制少,充分满足了现实应用中模型不可获取,访问次数受限,且只能获得输出的预测结果的实际限制,整体性能高效,很好的实现黑盒公平性测试的任务。
Description
技术领域
本发明属于机器学***性测试方法、***、设备及介质。
背景技术
目前,深度神经网络(DNN)逐渐被广泛应用与生活中的各个领域,如人脸识别、自动驾驶、医疗诊断和推荐***等,并且表现出令人惊叹的性能和潜能。尽管如此,其可靠性和安全性仍然存在缺陷。在一些具有社会影响的应用背景下,如信用评估、犯罪预测等,DNN的一个理想属性是公平性,即不存在歧视性的预测行为,实际应用中DNN对公平性的违背,轻则对个别使用者产生真实的影响,重则会使整个社会更加偏离大众对公平的期待。对DNN的公平性检测已经成为一个逐渐受关注的研究方向。这是由于一方面,公平性具有至关重要的社会意义,是大众对于技术本身应当具有属性的期待,歧视行为会对社会发展产生负面作用;另一方面,当前还缺乏构建完全公平性DNN的途径,也缺少***地检测DNN公平性的方法,如何更加高效、普适的测试DNN公平性和检测存在歧视行为的输入用例正吸引着研究者的关注。
现有的DNN公平性测试主要集中在基于输入空间搜索的歧视性用例生成技术,分为白盒方法和黑盒方法两个切入角度。白盒方法能够较好地利用DNN模型预测概率分布及梯度信息等,具有较好的性能,但是其要求目标模型本身或多种信息可获取,在现实场景下,除对于模型提供者本身外,这些需求往往是不可实现的。黑盒方法无须访问模型本身,仅需获取模型预测结果,但是现有的黑盒方法是低效的,为了生成歧视性实例需要大量查询目标模型,而受限于模型查询代价等制约,低效的黑盒方法很多情况下也无法满足需求。
因此,现有的DNN公平性测试方法无法很好地满足在模型受限访问,既包括模型访问次数有限,也包括查询到的信息有限的现实约束下的公平性测试。
发明内容
本发明的目的在于克服上述现有技术中现有的DNN公平性测试方法无法很好地满足在模型受限访问,既包括模型访问次数有限,也包括查询到的信息有限的现实约束下的公平性测试的缺点,提供一种深度神经网络模型公平性测试方法、***、设备及介质。
为达到上述目的,本发明采用以下技术方案予以实现:
本发明第一方面,一种深度神经网络模型公平性测试方法,包括以下步骤:
S1:获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果;
S2:将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别进行S4;
S3:将预设簇数量加1并进行S2;
S4:根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别进行S5;
S5:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行预设次数的S7;否则,进行预设次数的S6;
S6:根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,进行S5;
S7:根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,进行S8;
S8:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行S7;否则,进行S7;
S9:输出输出列表中的种子样本,以种子样本的数量表征待测试神经网络模型的公平性。
本发明深度神经网络模型公平性测试方法进一步的改进在于:
所述S1的具体方法为:在待测试神经网络模型合法的输入空间内,随机获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果。
所述将若干样本聚类为预设簇数量的样本簇的具体方法为:通过k均值聚类算法将若干样本聚类为预设簇数量的样本簇。
所述根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本的具体方法为:当第一次进行S2后,采用当前簇中样本的备份作为种子样本,得到种子样本集合;否则,将当前簇中的各样本的各维度属性值随机施加预设值的扰动,并以第一预设概率留校原样本和扰动后的样本作为种子样本,或者以第二预设概率留校扰动后的样本作为种子样本,或者保留原样本作为种子样本,得到种子样本集合;将种子样本集合中的种子样本聚类为若干种子簇,循环访问每一个种子簇,每一次从当前种子簇里随机抽取1个种子样本。
所述确定当前种子样本是否违反公平性条件的具体方法为:当当前种子样本的预测结果与当前种子样本对应的样本的预测结果不相同时,当前种子样本违反公平性条件;否则,当前种子样本不违反公平性条件。
所述S6的具体方法为:根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;枚举第一梯度向量和第二梯度向量的每一维度,当二者符号相同时,将当前维度的方向分量值赋值为与当前符号相同方向的单位向量;通过单位向量与预设的扰动步长向量,得到扰动向量;将扰动向量施加到当前种子样本上更新当前种子样本,进行S5。
所述S7的具体方法为:根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;在各非保护属性维度上计算梯度分量绝对值的和的倒数,得到概率值,并对所有非保护属性维度上的概率值进行归一化,得到用于选择扰动属性的概率向量;通过概率向量从当前种子样本的各属性中选择一个非受保护属性,并在该非受保护属性上施加一个随机方向的单位步长的扰动,更新当前种子样本,进行S8。
本发明第二方面,一种深度神经网络模型公平性测试***,包括样本获取模块、聚类模块、样本处理模块、第一判别模块、第一扰动模块、第二扰动模块、第二判别模块、管理模块以及输出模块;其中,样本获取模块,用于获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果;聚类模块,用于将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别触发样本处理模块;样本处理模块,用于根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别触发第一判别模块;第一判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发预设次数的第二扰动模块;否则,触发预设次数的第一扰动模块;第一扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,触发第一判别模块;第二扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,触发第二判别模块;第二判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发第二扰动模块;否则,触发第二扰动模块;管理模块,用于将预设簇数量加1并触发聚类模块;输出模块,输出输出列表中的种子样本,以种子样本的数量表征待测试神经网络模型的公平性。
本发明第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行上述深度神经网络模型公平性测试方法的步骤。
本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述深度神经网络模型公平性测试方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明深度神经网络模型公平性测试方法,通过利用已知预测结果的样本进行聚类并分别训练替代模型,在每个聚类簇上基于对应的替代模型,生成新的种子数据集并启发生成策略,对取出的种子,通过施加基于梯度的扰动,使其在很大概率上变成违反公平性条件的用例,并进一步基于鲁棒性对当前发现的违反公平性的用例施加多次进一步的基于梯度的小扰动,从而进一步发现更多的违反公平性条件的用例。生成过程中扩充了已知标签数据集,通过不断重复上述过程来获得更精确的替代模型同时生成更多的违反公平性的用例。同时,该方法使用限制少,充分满足了现实应用中模型不可获取,访问次数受限,并且只能获得输出的预测结果的实际限制,并且整体性能高效,能很好的实现黑盒公平性测试的任务,更加贴近真实场景需求,一方面克服了现有先进白盒方法在使用场景及条件下的限制,无需获取目标模型,仅需获得查询模型获取模型预测标签;另一方面克服了现有黑盒方法效率低、为获取一定数量违反公平性条件样本需大量访问目标模型的缺点,仅需少量查询即可激活高效的用例生成过程。从方法性能来看,其性能已经大幅度超过现有黑盒方法,并接近了最先进的白盒方法的性能。
附图说明
图1为本发明一实施例中的深度神经网络模型公平性测试方法流程图;
图2为本发明一实施例中的S5和S6的流程示意图;
图3为本发明一实施例中的S7和S8的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明一实施例中,提供一种深度神经网络模型公平性测试方法,通过基于替代模型和梯度引导的全局搜索与局部搜索相结合的违反公平性用例生成,具体的,通过训练替代模型,来获取待测试神经网络模型近似的梯度信息与预测概率分布信息,进而引导高效的生成方法,通过全局搜索寻找新的违反公平性的用例,进而基于待测试神经网络模型的鲁棒性在局部范围内多次微弱扰动来生成更多的违反公平性的用例,该方法可以在最接近真实要求的黑盒限制下,高效地实现公平性测试的目标。具体的,包括以下步骤。
S1:获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果。
具体的,在待测试神经网络模型合法的输入空间内,随机获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果,本实施例中,采样的预设数量为3000个。
S2:将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别进行S4。
具体的,通过K-Means(k-means clustering algorithm,k均值聚类)方法对当前已知标签的样本集进行聚类,本实施例中,首次执行到S2过程预设的聚类簇数为1,并随着迭代而不断增加;之后对每一个样本簇Ci,训练初始替代模型Ti,初始替代模型的结构设置预设为含4个隐层的全连接网络,具体使用中需要根据具体的问题场景结合经验知识来调整网络的深度、宽度及训练次数等,对于每一个样本簇Ci,以及训练好的替代模型Ti,执行后续过程。
其中,K-Means是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类,每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算,这个过程将不断重复直到满足某个终止条件,终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
S3:将预设簇数量加1并进行S2。
此步骤的目的是,通过不断重复上述步骤,直至达到待测试神经网络模型的预测上限,以增强结果的准确性和说服力。
S4:根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别进行S5。
具体的,针对于当前簇和当前替代模型来生成一组供S5过程使用的种子集合,分为两种情况:P1:若是第一次执行S2,种子集合无需额外生产,直接使用当前簇中样本的备份即可。P2:若是第二次及多次执行过S2后,种子集合由当前簇经过突变产生,具体为对当前簇中每一个样本,对每一维度属性值随机施加一个小的范围内的扰动,并以一定的概率β1同时留校原样本和突变后的样本,否则以概率β2留下突变样本,再否则则保留原样本,以上三个过程为了保证突变的多样性,同时种子样本集合的扩增速度。其中,本实施例中,预设的β1为0.6,β2为0.5。在获取种子集合之后,对种子集合利用K-Means方法进行聚类,预设簇数为4,然后循环访问每一个簇,每一次随机从当前种子簇里随机抽取1个种子样本执行S5。
S5:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行预设次数的S7;否则,进行预设次数的S6。
公平性条件检验的方法为对于给定的输入样本,保证其非受保护属性不变,枚举其他受保护属性取值的可能情况,如果存在至少一种情况下其产生的样本经过待测试神经网络模型预测的标签与给定的输入样本经过待测试神经网络模型预测的标签不同,则认为当前输入样本为违反公平性条件的样本。
具体的,本实施例中,当当前种子样本的预测结果与当前种子样本对应的样本的预测结果不相同时,当前种子样本违反公平性条件;否则,当前种子样本不违反公平性条件。
基于待测试神经网络模型的预测次数,当对待测试神经网络模型的访问次数到达上限时,直接进行S9。
本实施例中,通过查询待测试神经网络模型判断当前种子样本x={x1,…,xk,…,xn}(其中xk为受保护的敏感属性)是否为违反公平性条件的样本,如果是,则将其加入输入列表并跳至S7,否则,进行预设次数的S6。
S6:根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,进行S5。
具体的,根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;枚举第一梯度向量和第二梯度向量的每一维度,当二者符号相同时,则当前维度上当前符号对应的方向为两个样本共同靠近决策边界的方向,将当前维度的方向分量值赋值为与当前符号相同方向的单位向量;通过单位向量与预设的扰动步长向量,得到扰动向量;将扰动向量施加到当前种子样本上更新当前种子样本,具体为对当前种子样本每一维度增加方向向量乘以预设步长的改变量并保证其仍在合法取值范围内,然后进行S5。
其中,受保护属性表示所关注的具有敏感社会意义的属性,如性别、年龄、种族等;非受保护属性表示除受保护属性之外的所有属性。
本实施例中,通过查询当前替代模型得到一个伴随样本x′={x1,…,x′k,…,xn},x与x′唯一的不同是受保护属性不同,且在替代模型上得到的预测概率分布有最大的差异;然后,查询替代模型上x与x′的梯度向量Grad与Grad′,构建初始扰动方向向量为全零向量,枚举x与x′的梯度向量的每一维度,若符号相同,则对应维度的方向分量值赋值为与符号相同方向的单位向量;通过单位向量与扰动步长向量,得到扰动向量,其中,扰动步长向量为预设向量,一般默认为单位向量,然后将扰动向量施加到当前种子样本x上同时保证在合法输入空间内,得到新的种子样本xnew。
S7:根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,进行S8。
具体的,根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;在各非保护属性维度上计算梯度分量绝对值的和的倒数,得到概率值,并对所有非保护属性维度上的概率值进行归一化得到用于选择扰动属性的概率向量;通过概率向量从当前种子样本的各属性中选择一个非受保护属性,并在该非受保护属性上施加一个随机方向的单位步长的扰动,更新当前种子样本,进行S8。
本实施例中,对违反公平性条件的种子样本x={x1,…,xk,…,xn}及伴随样本x′={x1,…,x′k,…,xn},x与x′仅受保护属性不同并且目标模型在这一对样本上产生了不同的预测结果,通过查询替代模型,分别计算其梯度向量Grad与Grad′;然后通过计算|Gradi|与|Grad′i|来衡量模型决策对每一维度变化的敏感程度,这里仅考虑非受保护属性,并将其倒数标准化作为每一个属性被扰动的概率,其中,受保护属性扰动概率均为0,从而得到了选择扰动属性的概率向量。然后通过上述概率向量选择一个非受保护属性并施加一个随机方向的单位步长的扰动,该步长为预设步长,从而得到新的样本xnew,进行S8。
S8:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行S7;否则,进行S7。
S9:输出输出列表中的种子样本,以种子样本的数量表征待测试神经网络模型的公平性。具体的,输出列表中的种子样本均为违反公平性条件的样本,其数量可以一定程度上反映待测试神经网络模型的公平性程度,数量越多,待测试神经网络模型的公平性越差。
本发明深度神经网络模型公平性测试方法,通过利用已知预测结果的样本进行聚类并分别训练替代模型,在每个聚类簇上基于对应的替代模型,生成新的种子数据集并启发生成策略,对取出的种子,通过施加基于梯度的扰动,使其在很大概率上变成违反公平性条件的用例,并进一步基于鲁棒性对当前发现的违反公平性的用例施加多次进一步的基于梯度的小扰动,从而进一步发现更多的违反公平性条件的用例。生成过程中扩充了已知标签数据集,通过不断重复上述过程来获得更精确的替代模型同时生成更多的违反公平性的用例。
该方法使用限制少,充分满足了现实应用中模型不可获取,访问次数首先,并且只能获得输出的预测结果的实际限制,并且整体性能高效,能很好的实现黑盒公平性测试的任务,更加贴近真实场景需求,具体体现在两方面:一方面克服了现有先进白盒方法在使用场景及条件下的限制,无需获取目标模型,仅需获得查询模型获取模型预测标签;另一方面克服了现有黑盒方法效率低、为获取一定数量违反公平性条件样本需大量访问目标模型的缺点,仅需少量查询即可激活高效的用例生成过程。从方法性能来看,其性能已经大幅度超过现有黑盒方法,并接近了最先进白盒方法的性能。
参见图2,本发明再一个实施例中,以Census数据集为例,来演示S5和S6过程的具体执行过程。其中,Census数据集的输入为13维向量,其中,第8维表示性别,分别用0/1来表示,执行二分类任务。
当前种子样本为x=[5,0,6,6,0,1,2,1,1,0,0,40,30],通过查询目标模型其不违背公平性条件,进而找到另一个仅受保护属性不同的伴随样本x′=[5,0,6,6,0,1,2,1,0,0,0,40,30],通过替代模型计算梯度并比较符号得到了扰动的方向向量dir=[0,1,0,0,-1,1,-1,0,1,0,0,1,-1],通过施加单位步长的扰动得到了新的种子xnew=[5,1,6,6,0,2,1,1,1,0,0,41,29],对其进行公平性条件检验,发现其仍不违背公平性条件。下一步,将xnew=[5,1,6,6,0,2,1,1,1,0,0,41,29]作为新的种子样本x,继续该过程,此时x=[5,1,6,6,0,2,1,1,1,0,0,41,29],x′=[5,1,6,6,0,2,1,1,0,0,0,41,29],通过替代模型计算梯度并比较符号得到了扰动的方向向量dir=[1,0,1,0,0,0,1,-1,0,1,-1,1,-1],通过施加单位步长的扰动得到了新的种子xnew=[6,1,7,6,0,2,2,0,1,1,0,42,28],通过检验,其违背了公平性条件,将其加入输出列表,并进行预设次数的S7。
参见图3,本发明再一个实施例中,仍以Census数据集为例,承接图2实施例,来演示S7和S8过程的具体执行过程。其中,传入的种子样本为x=[6,1,7,6,0,2,2,0,1,1,0,42,28],其伴随样本x′=[6,1,7,6,0,2,2,0,0,1,0,42,28],通过在替代模型上计算其梯度向量Grad与Grad′,并计算|Gradi|与|Grad′i|来衡量模型决策对每一维度变化的敏感程度,这里仅考虑非受保护属性,计算每一维度上|Gradi|与|Grad′i|的和的倒数,并对所有维度上的该值归一化得到每一个属性被扰动的概率,其中,受保护属性扰动概率均为0,从而得到了用于选择扰动属性的概率向量:prob=[0.353,0.005,0.178,0.019,0.115,0.033,0,0.047,0,0.061,0.059,0.075,0.052],基于该概率向量,选择到了第一个扰动属性,并通过随机选取方向选取了正方向,将单位步长的扰动施加给种子样本x中的扰动属性,得到了新的种子样本xnew=[7,1,7,6,0,2,2,0,1,1,0,42,28],经过检验发现其满足公平性条件,则将其加入输出列表,并替换为新的种子样本x进行S7。
本发明再一个实施例中,提供了一种深度神经网络模型公平性测试***,该深度神经网络模型公平性测试***能够用于实现上述的深度神经网络模型公平性测试方法,具体的,该深度神经网络模型公平性测试***包括样本获取模块、聚类模块、样本处理模块、第一判别模块、第一扰动模块、第二扰动模块、第二判别模块、管理模块以及输出模块。
其中,样本获取模块,用于获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果;聚类模块,用于将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别触发样本处理模块;样本处理模块,用于根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别触发第一判别模块;第一判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发预设次数的第二扰动模块;否则,触发预设次数的第一扰动模块;第一扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,触发第一判别模块;第二扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,触发第二判别模块;第二判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发第二扰动模块;否则,触发第二扰动模块;管理模块,用于将预设簇数量加1并触发聚类模块;输出模块,用于输出输出列表,以输出列表内的种子样本个数与待测试神经网络模型的预测上限次数的比值,表征待测试神经网络模型的公平性。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于深度神经网络模型公平性测试方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作***。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关深度神经网络模型公平性测试方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行深度神经网络模型公平性测试方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种深度神经网络模型公平性测试方法,其特征在于,包括以下步骤:
S1:获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果;
S2:将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别进行S4;
S3:将预设簇数量加1并进行S2;
S4:根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别进行S5;
S5:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行预设次数的S7;否则,进行预设次数的S6;
S6:根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,进行S5;
S7:根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,进行S8;
S8:当达到待测试神经网络模型的预测上限时,进行S9;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并进行S7;否则,进行S7;
S9:输出输出列表中的种子样本,以种子样本的数量表征待测试神经网络模型的公平性。
2.根据权利要求1所述的深度神经网络模型公平性测试方法,其特征在于,所述S1的具体方法为:
在待测试神经网络模型合法的输入空间内,随机获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果。
3.根据权利要求1所述的深度神经网络模型公平性测试方法,其特征在于,所述将若干样本聚类为预设簇数量的样本簇的具体方法为:
通过k均值聚类算法将若干样本聚类为预设簇数量的样本簇。
4.根据权利要求1所述的深度神经网络模型公平性测试方法,其特征在于,所述根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本的具体方法为:
当第一次进行S2后,采用当前簇中样本的备份作为种子样本,得到种子样本集合;否则,将当前簇中的各样本的各维度属性值随机施加预设值的扰动,并以第一预设概率留校原样本和扰动后的样本作为种子样本,或者以第二预设概率留校扰动后的样本作为种子样本,或者保留原样本作为种子样本,得到种子样本集合;
将种子样本集合中的种子样本聚类为若干种子簇,循环访问每一个种子簇,每一次从当前种子簇里随机抽取1个种子样本。
5.根据权利要求4所述的深度神经网络模型公平性测试方法,其特征在于,所述确定当前种子样本是否违反公平性条件的具体方法为:
当当前种子样本的预测结果与当前种子样本对应的样本的预测结果不相同时,当前种子样本违反公平性条件;否则,当前种子样本不违反公平性条件。
6.根据权利要求1所述的深度神经网络模型公平性测试方法,其特征在于,所述S6的具体方法为:
根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;
获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;
枚举第一梯度向量和第二梯度向量的每一维度,当二者符号相同时,将当前维度的方向分量值赋值为与当前符号相同方向的单位向量;
通过单位向量与预设的扰动步长向量,得到扰动向量;将扰动向量施加到当前种子样本上更新当前种子样本,进行S5。
7.根据权利要求1所述的深度神经网络模型公平性测试方法,其特征在于,所述S7的具体方法为:
根据当前样本簇的替代模型,得到与当前种子样本的受保护属性不同,且在当前样本簇的替代模型上的预测概率分布差异最大的样本,作为当前种子样本的伴随样本;
获取当前种子样本在当前样本簇的替代模型上的梯度向量,得到第一梯度向量;获取伴随样本在当前样本簇的替代模型上的梯度向量,得到第二梯度向量;
在各非保护属性维度上计算梯度分量绝对值的和的倒数,得到概率值,并对所有非保护属性维度上的概率值进行归一化,得到用于选择扰动属性的概率向量;
通过概率向量从当前种子样本的各属性中选择一个非受保护属性,并在该非受保护属性上施加一个随机方向的单位步长的扰动,更新当前种子样本,进行S8。
8.一种深度神经网络模型公平性测试***,其特征在于,包括样本获取模块、聚类模块、样本处理模块、第一判别模块、第一扰动模块、第二扰动模块、第二判别模块、管理模块以及输出模块;
其中,样本获取模块,用于获取若干样本,将各样本通过待测试神经网络模型预测,得到各样本的预测结果;
聚类模块,用于将若干样本聚类为预设簇数量的样本簇;通过各样本簇训练预设的初始替代模型,得到各样本簇对应的替代模型,各样本簇分别触发样本处理模块;
样本处理模块,用于根据当前样本簇生成种子样本集合,从种子样本集合中随机选取若干个种子样本,各种子样本分别触发第一判别模块;
第一判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发预设次数的第二扰动模块;否则,触发预设次数的第一扰动模块;
第一扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本施加预设步长的扰动更新当前种子样本,触发第一判别模块;
第二扰动模块,用于根据当前样本簇的替代模型,通过将当前种子样本的非受保护属性施加扰动更新当前种子样本,触发第二判别模块;
第二判别模块,用于当达到待测试神经网络模型的预测上限时,触发输出模块;否则,基于待测试神经网络模型获取当前种子样本的预测结果,结合各样本的预测结果,确定当前种子样本是否违反公平性条件;当当前种子样本违反公平性条件,将当前种子样本添加至预设输出列表并触发第二扰动模块;否则,触发第二扰动模块;
管理模块,用于将预设簇数量加1并触发聚类模块;
输出模块,输出输出列表中的种子样本,以种子样本的数量表征待测试神经网络模型的公平性。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述深度神经网络模型公平性测试方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述深度神经网络模型公平性测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403188.6A CN112433952B (zh) | 2020-12-04 | 2020-12-04 | 深度神经网络模型公平性测试方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403188.6A CN112433952B (zh) | 2020-12-04 | 2020-12-04 | 深度神经网络模型公平性测试方法、***、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433952A true CN112433952A (zh) | 2021-03-02 |
CN112433952B CN112433952B (zh) | 2022-04-22 |
Family
ID=74692277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011403188.6A Active CN112433952B (zh) | 2020-12-04 | 2020-12-04 | 深度神经网络模型公平性测试方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433952B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081932A (zh) * | 2022-07-20 | 2022-09-20 | 浙江大学 | 一种用于人工智能模型公平性检测的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191407A1 (en) * | 2014-12-30 | 2016-06-30 | Vmware, Inc. | Selecting computing resources |
CN110490326A (zh) * | 2019-07-17 | 2019-11-22 | 长沙学院 | 一种自适应多变异策略的差分进化方法及*** |
-
2020
- 2020-12-04 CN CN202011403188.6A patent/CN112433952B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191407A1 (en) * | 2014-12-30 | 2016-06-30 | Vmware, Inc. | Selecting computing resources |
CN110490326A (zh) * | 2019-07-17 | 2019-11-22 | 长沙学院 | 一种自适应多变异策略的差分进化方法及*** |
Non-Patent Citations (2)
Title |
---|
SAKSHI UDESHI 等: "Automated Directed Fairness Testing", 《2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE)》 * |
贺亮 等: "深度强化学习复原多目标航迹的TOC奖励函数", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081932A (zh) * | 2022-07-20 | 2022-09-20 | 浙江大学 | 一种用于人工智能模型公平性检测的方法及装置 |
CN115081932B (zh) * | 2022-07-20 | 2022-10-25 | 浙江大学 | 一种用于人工智能模型公平性检测的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112433952B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899800B2 (en) | Open source vulnerability prediction with machine learning ensemble | |
US10347019B2 (en) | Intelligent data munging | |
WO2019129060A1 (zh) | 自动生成机器学习样本的特征的方法及*** | |
US20180173495A1 (en) | Duplicate and similar bug report detection and retrieval using neural networks | |
US11475161B2 (en) | Differentially private dataset generation and modeling for knowledge graphs | |
CN104036105B (zh) | 确定涉及大数据分析的随机性应用的正确性的方法和*** | |
CN107391682B (zh) | 知识验证方法、知识验证设备以及存储介质 | |
JP6172317B2 (ja) | 混合モデル選択の方法及び装置 | |
US11972355B2 (en) | Method and system for generating best performing data models for datasets in a computing environment | |
CN110472659B (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN112433952B (zh) | 深度神经网络模型公平性测试方法、***、设备及介质 | |
Suleman et al. | Google play store app ranking prediction using machine learning algorithm | |
KR20180056013A (ko) | 나노 물질의 독성을 예측하는 방법 및 장치 | |
CN106844765B (zh) | 基于卷积神经网络的显著信息检测方法及装置 | |
CN113591881A (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
Bläsius et al. | Towards a systematic evaluation of generative network models | |
CN116451081A (zh) | 数据漂移的检测方法、装置、终端及存储介质 | |
WO2023024474A1 (zh) | 一种数据集的确定方法、装置、计算机设备以及存储介质 | |
US20230022253A1 (en) | Fast and accurate prediction methods and systems based on analytical models | |
AU2021251463B2 (en) | Generating performance predictions with uncertainty intervals | |
Sirag et al. | A Review on Intrusion Detection System Using a Machine Learning Algorithms | |
Michaelides et al. | Statistical abstraction for multi-scale spatio-temporal systems | |
Kuhlmann et al. | Approximate, computationally efficient online learning in Bayesian spiking neurons | |
US20170004416A1 (en) | Systems and methods for determining machine intelligence | |
CN116185843B (zh) | 基于神经元覆盖率引导的两阶段神经网络测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |