在训练数据中发现偏差来源后,我们就可以采取主动措施来减轻其影响。机器学习 (ML) 工程师通常采用以下两种主要策略来消除偏差:
- 扩充训练数据。
- 调整模型的损失函数。
扩充训练数据
如果对训练数据进行审核发现数据缺失、不正确或有偏差,解决问题的最直接方法通常是收集更多数据。
然而,虽然扩充训练数据非常理想,但这种方法的缺点也可能是不可行的,原因可能是缺少可用数据或阻碍数据收集的资源限制。例如,收集更多数据可能成本过高或耗时,或者因法律/隐私限制而不可行。
调整模型的优化函数
如果无法收集更多训练数据,另一种减少偏差的方法是调整模型训练期间损失的计算方式。我们通常使用对数损失函数等优化函数来惩罚错误的模型预测。但是,对数损失不会考虑子组成员资格。因此,我们可以选择优化函数,而不是使用对数损失,而设计以公平性意识的方式惩罚错误,以抵消我们在训练数据中发现的不平衡。
TensorFlow Model Remediation 库提供了一些实用程序,用于在模型训练期间应用两种不同的偏见缓解技术:
MinDiff:MinDiff 旨在通过对这两组的预测分布差异增加惩罚项,来平衡两类不同数据片段(男/女学生与非二元学生)的错误。
Counterfactual Logit Pairing:Counterfactual Logit Pairing (CLP) 旨在确保更改给定样本的敏感属性不会改变模型对该样本的预测。例如,如果训练数据集包含两个特征值相同的示例,但其中一个的
gender
值为male
,另一个的gender
值为nonbinary
,如果这两个示例的预测结果不同,CLP 会增加惩罚项。
您选择用于调整优化函数的技术取决于模型的用例。在下一部分中,我们将通过考虑这些用例来深入了解如何完成模型公平性评估任务。