反事实逻辑配对 (CLP) 是 TensorFlow 模型修复库中的一种技术,旨在确保当示例中引用的敏感属性被删除或替换时,模型的预测不会改变。例如,在毒性分类器中,诸如“我是一个男人”和“我是一个女同性恋”之类的示例不应具有不同的毒性预测。
有关此主题的深入讨论,请参阅有关 反事实公平性、对抗性逻辑配对 和 反事实逻辑配对 的研究。
何时应使用反事实逻辑配对?
CLP 解决了当特征中引用的敏感属性发生变化时,预测也会发生变化的情况(而预测不应该发生变化)。这样做是为了回答以下问题:该模型是否容易根据身份属性的存在而改变其预测?有关反事实公平性的详细信息,请参阅 研究论文。
这个问题在 Perspective API 中有所体现,Perspective API 是开发人员和发布者用来分析评论内容以识别潜在的攻击性或毒性文本的 ML 工具。Perspective API 以评论文本作为输入,并返回 0 到 1 之间的分数,作为评论可能具有毒性的概率指标。例如,诸如“你是个白痴”之类的评论可能会收到 0.8 的毒性概率分数,表明读者认为该评论具有毒性的可能性有多大。
在 Perspective API 首次发布后,外部用户发现包含种族或性取向信息的标识词与预测的毒性分数之间存在正相关关系。例如,短语“我是一个女同性恋”的分数为 0.51,而“我是一个男人”的分数则较低,为 0.2。在这种情况下,标识词没有被贬义使用,因此分数不应该有如此大的差异。有关 Perspective API 的更多信息,请参阅有关 意外偏差和标识词 的博文。
如何衡量反事实逻辑配对的效果?
如果您已经评估了您的机器学习模型,并确定由于特定敏感属性的变化而导致的预测变化将是有害的,那么您应该衡量此问题的普遍性。在二元或多类分类器的情况下,翻转被定义为分类器在示例中引用的敏感属性发生变化时给出不同的决策(例如,将预测从毒性更改为非毒性)。在评估翻转的普遍性时,您可以查看翻转计数和翻转率。通过考虑翻转可能造成的潜在用户伤害以及翻转发生的频率,您可以确定这是否是一个应该通过应用 CLP 来解决的问题。有关这些指标的更多信息,请参阅 公平性指标指南。
我可以在哪些模型类型上应用反事实逻辑配对?
此技术可用于不同类型数据的二元和多类分类器,例如文本、图像和视频。
何时反事实逻辑配对不适合我?
CLP 并非所有情况都适用。例如,如果标识词的存在或不存在合法地改变了分类器的预测,则它不相关。如果分类器的目标是确定特征是否引用了特定身份群体,则可能是这种情况。如果分类器结果与身份群体之间意外的相关性对用户没有负面影响,则此方法的影响也较小。
CLP 有助于测试语言模型或毒性分类器是否以不公平的方式改变其输出(例如,将一段文本分类为毒性),仅仅是因为文本中存在诸如“黑人”、“同性恋”、“穆斯林”之类的词语。CLP 不打算用于对个人进行预测,例如通过操纵个人的身份。有关更详细的讨论,请参阅这篇 论文。
重要的是要记住,CLP 是 负责任的 AI 工具包 中的一种技术,专门设计用于解决特征中引用的敏感属性改变预测的情况。根据您的模型和用例,您可能还需要考虑历史上边缘化群体是否存在性能差距,特别是由于 CLP 可能会影响群体性能。这可以使用 公平性指标 进行评估,并通过 MinDiff 进行解决,MinDiff 也是 TensorFlow 模型修复库的一部分。
您还应该考虑您的产品是否适合使用机器学习。如果是,您的机器学习工作流程应该设计为遵循已知的推荐实践,例如具有明确定义的模型任务和明确的产品需求。
反事实逻辑配对是如何工作的?
CLP 在原始模型中添加了损失,该损失由原始示例和来自数据集的反事实示例的对数几率配对提供。通过计算两个值的差异,您可以惩罚导致分类器预测发生变化的敏感项的差异。这项工作基于对 对抗性对数几率配对 和 反事实对数几率配对 的研究。