写点什么

谷歌发布 ML-fairness-gym:解决机器学习的公平性问题

  • 2020-02-11
  • 本文字数:3404 字

    阅读完需:约 11 分钟

谷歌发布ML-fairness-gym:解决机器学习的公平性问题

也许每一个还在追求模型效率与性能的算法工程师,都应该开始考虑将设计公平性引入自己的工作当中。事实上,在国内已经有了一个专有名词来形容这一现象 “大数据杀熟”。近几年,机器学习的公平性广泛地引起了科研与开发人员的关注。简单而言,由于不同的社会环境,导致同样的算法,预测结果可能出现较大差异。为解决公平性这一问题,日前,Google AI 推出了 ML-fairness-gym。


随着人工智能技术的发展,越来越多的机器学习系统被应用于帮助人们进行高影响力的决策,例如确定刑事判决儿童福利评估医疗资源分配以及许多其他案例。了解这类系统是否具备公平性至关重要,并且还需要了解模型的短期和长期影响。评估机器学习系统的公平性的常用方法,涉及评估静态数据集上针对系统的各种输入的误差度量的差异。事实上,许多现有的机器学习公平性工具包(例如 AIF360fairlearnfaimess-indicatorsfairness-comparison)都提供了分析工具,可以在现有数据集上执行这种基于误差度量的分析。虽然这类分析可能适用于简单环境中的系统,但在某些情况下(例如,具有动态数据收集或重要反馈循环的系统),算法运行的上下文对于理解其影响,就显得至关重要。在这些情况下,与基于误差度量的技术相比,理想情况下的分析算法决策的公平性,更应考虑环境和时间上下文的因素。


为了在这种更为广泛的背景下促进算法的开发,我们发布了 ML-fairness-gym,这是一套用于构建简单模拟的组件,探索在社会环境中部署基于机器学习的决策系统可能带来的长期影响。在论文《公平性并非静态:通过模拟研究加深对长期公平性的理解》(Fairness is not Static: Deeper Understanding of Long Term Fairness via Simulation Studies)中,对于自动化决策系统对当前机器学习公平性的学术文献中一些既定的长期影响,我们演示了如何使用 ML-fairness-gym 来对这些影响进行研究。

示例:贷款问题

机器学习系统中公平性的经典问题之一是贷款问题,正如 Liu 等人在论文描述的那样。这个问题是放贷过程的高度简化和程式化的表示,我们将重点放在单个反馈循环上,以孤立其影响,并对其进行详细的研究。在这个问题的表述中,个人申请者偿还贷款的概率是他们信用评分的函数。这些申请者也属于任意数量的组之一,他们的组成员资格可由贷款银行观察到。


最有效的阈值设置将取决于银行的目标。一家银行,为了追求利润最大化,银行可以根据申请者偿还贷款的可能性进行评估,设定一个使预期奖励最大化的阈值。另一家银行,力求对两个组都公平,可能会设法设置利润最大化的阈值,同时满足机会均等的要求,其目标是获得相同的真阳率(true positive rates,TPR,也称为召回率或敏感度;衡量本应偿还贷款的申请者中有多少人获得贷款)。在这种场景中,银行利用机器学习技术,根据已发放的贷款及其结果来确定最有效的阈值。然而,由于这些技术通常侧重于短期目标,它们可能会对不同的组产生意想不到的、不公平的后果。



上图:在 100 个模拟步骤中改变两组的信用评分分布。下图:左图为银行现金,右图为真阳率,在模拟过程中,第一组为蓝色,第二组为绿色。

静态数据分析的不足之处

在机器学习中,评估像贷款问题这样场景的影响,有一个标准实践做法是:保留一部分数据作为“测试集”,并使用它来计算相关的性能度量。然后,通过观察这些性能度量,在不同显著组之间的差异来评估公平性。然而,我们很清楚这一点:在有反馈的系统中使用这样的测试集,存在两个主要问题。如果测试集是由现有系统生成的,那么它们可能是不完整的,或者反映了这些系统固有的偏见。在贷款这一例子中,测试集有可能是不完整的,因为它可能只有已获得贷款的申请者是否拖欠或偿还的信息。因此,这一数据集可能不包括贷款尚未获批或以前未获得贷款的个人。


第二个问题是,由机器学习系统的输出所通知的行为可能会影响它们未来的输入。机器学习系统确定的阈值用于发放贷款。人们是否拖欠或偿还这些贷款,都会影响他们未来的信用评分,然后将其反馈到机器学习系统中。


这些问题凸显了在静态数据集中评估公平性的缺点,并激发了在部署算法的动态系统的情况下分析算法公平性的需求。我们创建了 ML-fairness-gym 框架,以帮助机器学习从业者将基于模拟的分析引入到他们的机器学习系统中,这种方法在许多领域中被证明是有效的,可用于分析难以进行封闭式分析的动态系统。

ML-fairness-gym :可长期分析的模拟工具

ML-fairness-gym 使用 Open AI 的 Gym 框架模拟序贯决策。在这个框架中,智能体以循环的方式与模拟环境进行交互。在每个步骤中,智能体都会选择一个动作,然后影响环境的状态。然后,环境会显示一个观察结果,智能体会使用这个观察结果来告知其随后的动作。在这个框架中,环境对问题的系统和动态进行建模,观察结果作为数据提供给智能体,而智能体可以被编码为机器学习系统。



模拟框架中使用的智能体 - 环境交互循环流程示意图。智能体通过选择的动作来影响环境。环境会随着动作的的变化而变化,并作为观察的结果产生部分内在状态。度量标准检查环境的历史以评估结果


在贷款的例子中,银行充当智能体的角色。它以观察环境的形式接收贷款申请者、他们的信用评分和他们的组成员资格,并以二元决策的形式采取动作来接收或拒绝贷款请求。然后,环境对申请者是否成功还款或拖欠进行建模,并相应地调整他们的信用评分。ML-fairness-gym 模拟结果,以便评估银行政策对申请者组公平性的长期影响。

公平性并非静态:将分析延伸到长期

自从 Liu 等人最初提出贷款问题以来,他们只考察了银行政策的短期后果:包括短期利润最大化政策(称为最大奖励智能体)和受机会均等(Equality of Opportunity,EO)等约束的政策——我们使用 ML-fairness-gym 通过模拟将分析延伸到长期(许多步骤)。



上图:最大奖励和机会均等的智能体批准的累积贷款,按申请者的组身份划分。下图:随着模拟的进展,组平均信用评分(以组条件还款概率量化)。机会均等智能体增加了第二组的贷款机会,但也扩大了两组之间的信用差距


我们的长期分析发现了两个结果。首先,正如 Liu 等人所发现的那样,机会均等智能体(EO agent)与弱势群体(即第二组,最初的平均信用评分较低)存在重叠,因为有时候对该组应用的阈值要低于最大奖励智能体所应用的阈值。这导致第二组的信用评分比第一组下降更多,导致两组之间的信用评分差距比使用最高奖励智能体的模拟更大。然而,我们的分析还发现,虽然使用机会均等智能体似乎会使第二组的情况更糟,但从累积贷款图中可以看出,处于弱势的第二组从机会均等智能体那里获得的贷款明显更多。根据福利指标是信用评分还是收到的贷款总额,可以认为,机会均等智能体比最大奖励智能体更好或更有害于第二组。


第二个发现是,在模拟过程中机会均等的约束,即在每个步骤中在群体之间实施均衡的真阳率,并不能使总体上的真阳率均衡。这个或许有违直觉的结果,可以被认为是辛普森悖论(Simpson’s paradox)的一个例子。如下表所示,两年中每一年的真阳率相等并不意味着总体上真阳率相等。这表明,当潜在人群不断发展时,机会均等度量标准是如何难以解释的,并建议需要更仔细的分析,以确保机器学习系统具有预期的效果。



辛普森悖论的一个例子。TP 为真阳性分类,FN 为假阴性分类,TPR 为真阳率。在第 1 年和第 2 年,贷款人采用的政策是在两个组之间实现同等的真阳率。这两年的总和并不具有相等的真阳率

总结与今后工作

在本文中,我们集中讨论了关于贷款问题的发现,而 ML-fairness-gym 可以用来解决各种各样的公平性问题。我们的论文扩展了先前在学术界关于机器学习公平性的文献中已经研究过的另外两个场景的分析。ML-fairness-gym 框架也足够灵活,可以模拟和探索“公平性”研究不足的问题。例如,在一篇题为《社会网络中的公平治疗分配》(Fair treatment allocations in social networks)的支持性论文中,我们探索了流行病控制的程式化版本,我们称之为精确疾病控制问题,以更好地理解社会网络中个人和社区之间的公平概念。


我们对 ML-fairness-gym 的潜力感到振奋,因为它可以帮助其他研究人员和机器学习开发者更好地理解机器学习算法对我们社会的影响,并为开发更负责任、更公平的机器学习系统提供信息。你可以在 ML-fairness-gym 的 GitHub 仓库中找到代码和论文。


作者介绍:


Hansa Srinivasan,Google Research 软件工程师。


原文链接:


https://ai.googleblog.com/2020/02/ml-fairness-gym-tool-for-exploring-long.html


2020-02-11 09:002377
用户头像
赵钰莹 InfoQ 主编

发布了 882 篇内容, 共 642.7 次阅读, 收获喜欢 2679 次。

关注

评论

发布
暂无评论
发现更多内容

SQL优化最干货总结-MySQL「2020年终总结版」

Java架构师迁哥

[git使用技巧] git提交忽略不必要的文件或文件夹

xcbeyond

git 七日更

wildfly 21的domain配置

程序那些事

程序那些事 wildfly wildfly21 配置管理 domain模式

JDK 16 即将发布,新特性速览!

xcbeyond

Java 七日更

生产环境全链路压测建设历程 18:某快递 A 股上市公司的生产压测案例之中篇

数列科技杨德华

全链路压测 七日更

Go中的Channel背后的设计哲学

soolaugust

Go Concurrency Patterns 七日更 CSP Go 语言

最有技术含量的面试

escray

面试 面经 七日更 十日谈

用大白话给你解释Zookeeper的选举机制

爱笑的架构师

zookeeper ZooKeeper原理 七日更

Serverless 落地之痛怎么解?

阿里巴巴中间件

Serverless

夜莺二次开发指南-监控系统(1)

ning

滴滴夜莺 夜莺监控

手写线程池,对照学习ThreadPoolExecutor线程池实现原理!

小傅哥

Java 小傅哥 线程池 七日更 ThreadPoolExecutor

彩色的线,数据的诗,你好——贵州鲲鹏!

脑极体

揭秘大流量场景下发布如丝般顺滑背后的原因

阿里巴巴中间件

阿里巴巴

单点破局思维|技术人应知的创新思维模型(8)

Alan

个人成长 技术人应知的创新思维模型 七日更 28天写作

代码零改动Serverless架构升级?这家在线编程教育企业是这么做的

阿里巴巴中间件

Python Serverless

Shell简介

入门小站

Shell

世界之书:《禅与摩托车维修艺术》与发现良质

lidaobing

禅与摩托车维修艺术 28天写作

Nginx常见典型故障|Linux干货

赖猫

c++ nginx Linux

《数据分析》PDF免费下载

计算机与AI

数据分析

如何成为架构师?

xcbeyond

个人成长 架构师 七日更

Spring Cloud 2020.0.0正式发布,再见了Netflix

YourBatman

Spring Cloud Spring Boot netflix 2020.0.0

附PPT丨AWS基于数据湖构建云上的数据分析架构

dbaplus社群

数据湖 AWS

“社恐”独处好去处:无人自习室,一个人的“世外桃源”

IoT云工坊

物联网 无人自习室 智能门禁 智能灯控 线上预约

业务中台建设 - 配置化

孝鹏

中台 微服务 配置化开发

TypeScript | 第三章:函数、泛型和枚举

梁龙先森

typescript 编程 大前端 七日更

夜莺二次开发指南-监控系统(2)

ning

滴滴夜莺 夜莺监控

30G 上亿数据的超大文件,如何快速导入生产环境?

楼下小黑哥

Java MySQL 并发编程 线程池

数据为墨,智能作笔:画一卷新姑苏繁华图

脑极体

语音助手中的复杂语义表达方法

DataFunTalk

AI nlp

12张图带你彻底理解分布式事务!!

冰河

分布式事务 BASE理论 TCC ACID CAP理论

低代码与零代码工具的这些特征,弥补了所有人和IT之间的差距!

J2PaaS低代码平台

程序员 互联网 开发者 软件开发 开发工具

谷歌发布ML-fairness-gym:解决机器学习的公平性问题_AI&大模型_Hansa Srinivasan_InfoQ精选文章