公平性指标是评估二元和多类分类器公平性的有用工具。最终,我们希望与大家合作,扩展此工具,以评估更多考虑因素。
请记住,定量评估只是评估更广泛的用户体验的一部分。首先考虑用户可能通过哪些不同的上下文体验您的产品。您的产品预期服务哪些不同类型的用户?谁还可能受到体验的影响?
在考虑 AI 对人们的影响时,务必牢记人类社会极其复杂!了解人们及其社会身份、社会结构和文化体系本身就是巨大的开放研究领域。再加上全球跨文化差异的复杂性,即使是理解社会影响的立足点也可能具有挑战性。在可能的情况下,建议您咨询适当的领域专家,其中可能包括社会学家、社会语言学家和文化人类学家,以及将要部署技术的群体成员。
例如,一个模型(例如,我们在示例 Colab中使用的毒性模型)可以在许多不同的上下文中使用。例如,在网站上部署的毒性模型用于过滤攻击性评论,这与在示例 Web UI 中部署的模型(用户可以在其中输入句子并查看模型给出的分数)的使用案例截然不同。根据使用案例以及用户如何体验模型预测,您的产品将具有不同的风险、影响和机会,您可能需要评估不同的公平性问题。
以上问题是您在设计和开发基于 ML 的产品时可能要考虑的道德考量(包括公平性)的基础。这些问题也促使您应该使用该工具评估哪些指标和哪些用户群体。
在深入研究之前,以下列出了三个推荐的入门资源
- 人机交互指南,用于以人为本的 AI 设计:本指南是设计基于机器学习的产品时要牢记的问题和方面的宝贵资源。虽然我们创建本指南是为了让设计师使用,但其中许多原则将有助于回答上面提出的问题。
- 我们从公平性中学到的经验教训:Google I/O 上的这次演讲讨论了我们在构建和设计包容性产品方面的目标中吸取的经验教训。
- ML 速成课程:公平性:ML 速成课程有一个专门用于识别和评估公平性问题的 70 分钟部分
那么,为什么要查看各个切片?对各个切片进行评估很重要,因为强大的整体指标可能会掩盖某些群体表现不佳的情况。同样,对某个指标(准确率、AUC)表现良好并不一定意味着对其他指标(误报率、漏报率)也具有可接受的表现,而这些指标在评估用户的机会和危害方面同样重要。
以下部分将介绍一些需要考虑的方面。
我应该按哪些群体进行切片?
一般来说,一个好的做法是尽可能多地按可能受到产品影响的群体进行切片,因为您永远不知道何时某个群体的表现会有所不同。但是,如果您不确定,请考虑可能与您的产品交互的不同用户,以及他们可能受到的影响。尤其要考虑与敏感特征相关的切片,例如种族、民族、性别、国籍、收入、性取向和残疾状况。
如果我没有为我想调查的切片标记数据怎么办?
好问题。我们知道许多数据集没有针对个人身份属性的真实标签。
如果您发现自己处于这种情况,我们建议您采取以下几种方法
- 确定您是否拥有可以为您提供有关跨群体表现的一些见解的属性。例如,地理位置虽然不等于种族和民族,但可能有助于您发现表现方面的任何差异模式
- 确定是否存在可能很好地映射到您的问题的代表性公共数据集。您可以在Google AI 网站上找到一系列多样化和包容性的数据集,其中包括Project Respect、Inclusive Images和Open Images Extended等。
- 在相关情况下,利用规则或分类器,用客观的表面层级属性标记您的数据。例如,您可以标记文本,以判断句子中是否存在身份术语。请记住,分类器本身也存在挑战,如果您不小心,可能会引入另一层偏差。明确您的分类器实际分类的内容。例如,图像上的年龄分类器实际上是在分类感知年龄。此外,在可能的情况下,利用可以在数据中客观识别的表面层级属性。例如,构建用于种族或民族的图像分类器是不明智的,因为这些不是可以在图像中定义的视觉特征。分类器可能会识别出代理或刻板印象。相反,构建一个用于肤色的分类器可能是标记和评估图像的更合适方法。最后,确保用于标记此类属性的分类器的准确性很高。
- 找到更多已标记的代表性数据
始终确保在多个不同的数据集上进行评估。
如果您的评估数据不能充分代表您的用户群或可能遇到的数据类型,您最终可能会得到具有欺骗性的良好公平性指标。同样,在一个数据集上的高模型性能并不保证在其他数据集上的高性能。
请记住,子组并不总是分类个人的最佳方式。
人们是多维度的,属于多个群体,即使在一个维度内也是如此——例如,一个有多个种族的人,或者属于多个种族群体。此外,虽然某个种族群体的总体指标可能看起来很公平,但特定的交互,例如种族和性别,可能会显示出意想不到的偏差。此外,许多子组的边界模糊,并且不断重新绘制。
我什么时候测试了足够的切片,以及如何知道要测试哪些切片?
我们承认,可能存在大量与测试相关的群体或切片,在可能的情况下,我们建议对各种各样的切片进行切片和评估,然后深入研究您发现的改进机会。同样重要的是要承认,即使您可能没有在您测试的切片上看到问题,但这并不意味着您的产品适用于所有用户,获得不同的用户反馈和测试对于确保您不断识别新的机会非常重要。
为了开始,我们建议您思考您的特定用例以及用户与您的产品交互的不同方式。不同的用户如何可能拥有不同的体验?这对您应该评估的切片意味着什么?收集来自不同用户的反馈也可能突出显示需要优先考虑的潜在切片。
我应该选择哪些指标?
在选择用于评估系统的指标时,请考虑谁将体验您的模型,如何体验,以及体验的影响。
例如,您的模型如何赋予人们更多尊严或自主权,或积极影响他们的情感、身体或财务福祉?相反,您的模型的预测如何可能降低人们的尊严或自主权,或对他们的情感、身体或财务福祉产生负面影响?
一般来说,我们建议将所有现有性能指标切片作为最佳实践。我们还建议在多个阈值上评估您的指标,以便了解阈值如何影响不同群体的性能。
此外,如果存在一个统一的“好”或“坏”的预测标签,那么请考虑报告(对于每个子组)预测该标签的比率。例如,“好”标签是指预测授予某人访问某些资源的权限或使他们能够执行某些操作的标签。
分类的关键公平性指标
在考虑分类模型时,请考虑错误的影响(实际“基本事实”标签与模型标签之间的差异)。如果某些错误可能给您的用户带来更多机会或危害,请确保您评估这些错误在用户群体中的发生率。这些错误率定义如下,在公平性指标测试版当前支持的指标中。
在接下来的一年中,我们希望发布不同用例的案例研究以及与这些用例相关的指标,以便我们能够更好地突出显示何时不同的指标可能最合适。
公平性指标中今天可用的指标
正率/负率
- 定义:被分类为正或负的数据点的百分比,与基本事实无关
- 与之相关:人口统计学奇偶性和结果平等,当在子组之间相等时
- 何时使用此指标:公平性用例,其中拥有相等的最终群体百分比很重要
真阳性率/假阴性率
- 定义:被正确分类为正的阳性数据点(如基本事实中标记的那样)的百分比,或被错误分类为负的阳性数据点的百分比
- 与之相关:机会平等(对于正类),当在子组之间相等时
- 何时使用此指标:公平性用例,其中重要的是每个群体中合格候选人的相同百分比被评为阳性。这在分类积极结果的情况下最常推荐,例如贷款申请、学校录取或内容是否适合儿童
真阴性率/假阳性率
- 定义:被正确分类为负的阴性数据点(如基本事实中标记的那样)的百分比,或被错误分类为正的阴性数据点的百分比
- 与之相关:机会平等(对于负类),当在子组之间相等时
- 何时使用此指标:公平性用例,其中错误率(或将某事错误分类为阳性)比将阳性分类更令人担忧。这在滥用情况下最为常见,其中阳性通常会导致负面行为。这些对于面部分析技术(如面部检测或面部属性)也很重要
准确率和 AUC
- 与之相关:预测奇偶性,当在子组之间相等时
- 何时使用这些指标:任务的精度至关重要(不一定在给定方向上)的案例,例如面部识别或面部聚类
假发现率
- 定义:被错误分类为正的阴性数据点(如基本事实中标记的那样)的百分比,占所有被分类为正的数据点的百分比。这也是 PPV 的倒数
- 与之相关:预测奇偶性(也称为校准),当在子组之间相等时
- 何时使用此指标:正确阳性预测的比例应在子组之间相等的案例
假遗漏率
- 定义:被错误分类为负的阳性数据点(如基本事实中标记的那样)的百分比,占所有被分类为负的数据点的百分比。这也是 NPV 的倒数
- 与之相关:预测奇偶性(也称为校准),当在子组之间相等时
- 何时使用此指标:正确阴性预测的比例应在子组之间相等的案例
总体翻转率/正向负预测翻转率/负向正预测翻转率
- 定义:如果给定特征中的身份属性发生变化,分类器给出不同预测的概率。
- 与之相关:反事实公平性
- 何时使用此指标:当确定模型的预测是否在示例中引用的敏感属性被删除或替换时发生变化时。如果是,请考虑在 Tensorflow 模型修复库中使用反事实 Logit 配对技术。
翻转计数/正向负预测翻转计数/负向正预测翻转计数 *
- 定义:如果给定示例中的身份术语发生变化,分类器给出不同预测的次数。
- 与之相关:反事实公平性
- 何时使用此指标:当确定模型的预测是否在示例中引用的敏感属性被删除或替换时发生变化时。如果是,请考虑在 Tensorflow 模型修复库中使用反事实 Logit 配对技术。
选择哪些指标的示例
- 系统性地无法在相机应用程序中检测到某些用户群体的面部会导致负面的用户体验。在这种情况下,面部检测系统中的假阴性可能会导致产品故障,而假阳性(在没有面部的情况下检测到面部)可能会给用户带来轻微的困扰。因此,评估和最小化假阴性率对于此用例很重要。
- 在审核系统中,不公平地将某些人的文本评论标记为“垃圾邮件”或“高毒性”会导致某些声音被压制。一方面,高假阳性率会导致不公平的审查。另一方面,高假阴性率会导致某些群体传播有毒内容,这可能会伤害用户并构成对这些群体的代表性伤害。因此,除了考虑所有类型的错误(如准确率或 AUC)的指标外,这两个指标都很重要。
没有看到您要查找的指标?
按照文档此处添加您自己的自定义指标。
最后说明
两个群体之间指标的差距可能是您的模型可能存在不公平偏差的迹象。您应该根据您的用例解释您的结果。但是,您可能正在不公平地对待一组用户的第一个迹象是,当该组用户与您的整体指标之间的差异显着时。在查看这些差异时,请务必考虑置信区间。当您在特定切片中样本过少时,指标之间的差异可能不准确。
在公平性指标上实现跨群体的平等并不意味着模型是公平的。系统非常复杂,在提供的一个(甚至所有)指标上实现平等并不能保证公平性。
公平性评估应贯穿整个开发过程和发布后(而不是在发布前一天进行)。 就像改进产品是一个持续的过程,需要根据用户和市场反馈进行调整一样,使产品公平公正也需要持续关注。 随着模型不同方面的变化,例如训练数据、来自其他模型的输入或设计本身,公平性指标可能会发生变化。 仅仅“通过测试”一次不足以确保所有交互组件随着时间的推移保持完整。
应针对罕见、恶意示例进行对抗性测试。 公平性评估并非旨在取代对抗性测试。 针对罕见、有针对性的示例的额外防御至关重要,因为这些示例可能不会出现在训练或评估数据中。