将公平注入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

相关文章

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D