符号执行和本地解释Automated Test Generation to Detect Individual Discrimination in AI Models

使用符号执行和本地可解释性来生成测试输入。关键思想是使用本地解释,特别是本地可解释模型不可知解释来确定驱动决策的因素是否包括受保护的属性。评估表明,在12个基准测试中,该方法生成的成功测试用例是THEMIS的3.72倍。文章中开发了一种新的动态符号执行和局部解释的组合,以生成非可解释模型的测试用例。局部解释器的使用将为黑盒 AI 模型的基于路径的分析开辟许多途径。

 

符号执行 (Symbolic Execution)是一种程序分析技术,它可以通过分析程序来得到让特定代码区域执行的输入。顾名思义,使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到可以触发目标代码的具体值。例子如下:

可解释性的意思是这个模型的决策能不能被人理解。

每个转换条件是一个谓词,在论文中谓词相当于特征 ,每个特征可能存在不同的值,通过对值的转换产生不同的测试用例。首先是将谓词设置为二进制的变量,根据不同的变量组合生成不同的测试路径,然后根据路径选择合适的具体value值。生成二进制路径的过程被称为符号执行,通过路径倒推具体值的过程称为本地解释。

论文创新在于符号执行和本地解释的过程,同时,文中训练数据用到了随机选取,定向搜索和非定向搜索三种方式。试验表明,一般情况下是:定向搜索>随机搜索>非定向搜索。但也会出现极少数的情况是非定向搜索>随机种子>定向搜索,由此说明了非定向和定向搜索都是重要的。数据处理中也用到了K-means聚类,数据表明聚类选择特征比迭代的效果好。在选择特征时用到了置信度,定向搜索时倾向于低置信度,非定向搜索时倾向于高置信度。同样,如果两条实例中除了某一个受保护的属性不一样,其他属性都相同,却造成了不同的输出,则说明该属性是存在歧视性的。

THEMIS 从域中选择所有属性的随机值,以确定系统是否在个体之间进行歧视。AEQUITAS 分两个阶段生成测试用例。第一阶段通过对输入空间进行随机采样来生成测试用例。第二阶段开始时,将第一阶段产生的每个判别输入作为输入,并对其进行扰动,以产生更多的测试用例。这两种技术的目的都是为了产生更多的测试输入。尽管上述这两种技术适用于任何黑盒系统,但这篇论文的实验表明,它们会遗漏许多这样的非保护属性值组合,而这些组合可能存在单独的判别。还希望覆盖模型更多样化的路径,以生成更多的测试输入。

 

本文目的是对特征空间进行系统化搜索,以覆盖更多的空间,而不需要太多的冗余。存在基于符号评估的技术,通过系统地探索程序中的不同执行路径来自动生成测试输入。这种方法避免了生成多个输入,因为这些输入倾向于探索相同的程序路径。这类技术本质上是白盒技术,利用约束求解器的能力来自动创建测试输入。符号执行从一个随机输入开始,分析路径生成一组路径约束条件(即输入属性的条件),并迭代地切换(或否定)路径中的约束条件,生成一组新的路径约束条件。然后,它使用约束求解器对所得的路径约束进行求解,以生成一个新的输入,这个输入可能会把控制带到新的路径上。我们的想法是使用这种动态符号执行来生成测试输入,这有可能导致发现 ML 模型中的个体歧视。然而,现有的这种技术已经被用来生成可解释程序的程序输入。主要挑战是如何将这种技术应用于不可解释的机器学习模型。

 

全局搜索迎合了路径覆盖率的要求,有助于发现初始的判别输入集。为了实现这一点,我们使用种子数据与符号执行,同时考虑本地模型中存在的近似,并智能地使用与本地模型中获取的路径约束相关的置信度。此外,局部搜索的目的是寻找越来越多的判别性输入。它从初始的可用判别路径集开始,并生成属于附近执行路径的其他输入,从而系统地进行局部解释,同时依靠对抗性鲁棒性属性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值