将公平注入AI:机器学习模型即使在不公平数据上训练也能产生公平输出

2024-04-13 18:48

本文主要是介绍将公平注入AI:机器学习模型即使在不公平数据上训练也能产生公平输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c7bdb4183f59927f86f6b4accf5ec58c.png

来源:ScienceAI
本文约1800字,建议阅读9分钟
如何迫使深度度量学习模型首先学习好的特征?

cf1fae2b31d6f9d5bca32058430db02f.png

如果使用不平衡的数据集训练机器学习模型,比如一个包含远多于肤色较浅的人的图像的数据集,则当模型部署在现实世界中时,该模型的预测存在严重风险。

但这只是问题的一部分。麻省理工学院的研究人员发现,在图像识别任务中流行的机器学习模型在对不平衡数据进行训练时实际上会编码偏差。即使使用最先进的公平性提升技术,甚至在使用平衡数据集重新训练模型时,模型中的这种偏差也无法在以后修复。

因此,研究人员想出了一种技术,将公平性直接引入模型的内部表示本身。这使模型即使在不公平数据上进行训练也能产生公平的输出,这一点尤其重要,因为很少有平衡良好的数据集用于机器学习。

他们开发的解决方案不仅可以使模型做出更平衡的预测,还可以提高它们在面部识别和动物物种分类等下游任务中的表现。

ff1ef8b67e38623f3920cb9ead2cff16.png

「在机器学习中,将数据归咎于模型偏差是很常见的。但我们并不总是有平衡的数据。因此,我们需要找到真正解决数据不平衡问题的方法,」主要作者、麻省理工学院计算机科学与人工智能实验室 (CSAIL) 健康 ML 小组的研究生 Natalie Dullerud 说。

定义公平

研究人员研究的机器学习技术被称为深度度量学习(deep metric learning),它是表示学习的一种广泛形式。在深度度量学习中,神经网络通过将相似的照片映射在一起并且将不同的照片映射得很远来学习对象之间的相似性。在训练期间,该神经网络将图像映射到「嵌入空间」中,其中照片之间的相似性度量对应于它们之间的距离。

例如,如果使用深度度量学习模型对鸟类进行分类,它会将金雀的照片一起映射到嵌入空间的一部分中,并将红雀的照片映射到嵌入空间的另一部分中。一旦经过训练,该模型就可以有效地测量它以前从未见过的新图像的相似性。它会学习将看不见的鸟类的图像聚集在一起,但在嵌入空间内离红雀或金雀更远。

1edbaa21e1f43d152f5a5cb03a515e94.png

这张图片显示了鸟类颜色的两个不同的 PARADE 嵌入

Dullerud 说,模型学习的相似性度量非常稳健,这就是为什么深度度量学习经常被用于面部识别的原因。但她和她的同事想知道如何确定相似性指标是否有偏差。

「我们知道数据反映了社会进程的偏见。这意味着我们必须将重点转移到设计更适合现实的方法上。」Ghassemi 说。

研究人员定义了相似性度量不公平的两种方式。以面部识别为例,如果与那些图像是肤色较浅的人相比,如果将肤色较深的人更靠近彼此嵌入,即使他们不是同一个人,该指标将是不公平的。其次,如果它学到的用于衡量相似性的特征对于多数群体来说比少数群体更好,那将是不公平的。

研究人员对具有不公平相似性指标的模型进行了许多实验,但无法克服模型在其嵌入空间中学到的偏差。

「这很可怕,因为公司发布这些嵌入模型,然后人们对它们进行微调以完成一些下游分类任务是一种非常普遍的做法。但无论你在下游做什么,你根本无法解决嵌入空间中引发的公平问题,」Dullerud 说。

她说,即使用户在下游任务的平衡数据集上重新训练模型(这是解决公平问题的最佳情况),仍然存在至少 20% 的性能差距。

解决这个问题的唯一方法是确保嵌入空间一开始是公平的。

学习单独的指标

研究人员的解决方案称为部分属性去相关 (PARADE),涉及训练模型以学习敏感属性(如肤色)的单独相似性度量,然后将肤色相似性度量与目标相似性度量去相关。如果模型正在学习不同人脸的相似度度量,它将学习使用肤色以外的特征来映射靠近在一起的相似面孔和相距很远的不同面孔。

任何数量的敏感属性都可以通过这种方式与目标相似度度量去相关。并且由于敏感属性的相似性度量是在单独的嵌入空间中学习的,所以在训练后将其丢弃,因此模型中仅保留了目标相似性度量。

他们的方法适用于许多情况,因为用户可以控制相似性度量之间的去相关量。例如,如果模型将通过乳房 X 光照片诊断乳腺癌,临床医生可能希望在最终嵌入空间中保留一些有关生物性别的信息,因为女性患乳腺癌的可能性比男性高得多,Dullerud 解释说。

他们在面部识别和鸟类分类这两项任务上测试了他们的方法,发现无论他们使用什么数据集,它都能减少嵌入空间和下游任务中由偏差引起的性能差距。

展望未来,Dullerud 感兴趣的是如何迫使深度度量学习模型首先学习好的特征。

「您如何正确审核公平性?这是一个悬而未决的问题。你怎么知道一个模型是公平的,或者它只在某些情况下是公平的,那些情况是什么?这些是我真正感兴趣的问题,」她说。

参考内容:

https://scitechdaily.com/injecting-fairness-into-ai-machine-learning-models-that-produce-fair-outputs-even-when-trained-on-unfair-data/

https://openreview.net/pdf?id=js62_xuLDDv

编辑:黄继彦

校对:林亦霖

3293202579d0055c540d5672921d591f.png

这篇关于将公平注入AI:机器学习模型即使在不公平数据上训练也能产生公平输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900925

相关文章

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

三频BE12000国补到手2549元! ROG 魔盒Pro WIFI7电竞AI路由器上架

《三频BE12000国补到手2549元!ROG魔盒ProWIFI7电竞AI路由器上架》近日,华硕带来了ROG魔盒ProWIFI7电竞AI路由器(ROGSTRIXGR7Pro),目前新... 华硕推出了ROG 魔盒Pro WIFI7电竞AI路由器(ROG STRIX GR7 Phttp://www.cppcn

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的