A Framework for Understanding Sources of Harm throughout the Machine Learning Life Cycle
概
本文介绍了不同的 Bias 以及它们的成因 (一些解决的方向没有列出, 感兴趣的可以回看论文).
基本框架
下图图文描述了一般的机器学习的流程: 收集(采样)数据 -> 数据处理 -> 训练 -> 评估 -> 实际部署.
下面是对上面流程的一个较为严格的定义:
- \(X, Y\) 分别为特征属性和所对应的标签;
- \(X_N, Y_N\) 是所挑选的某种数据的分布 (注意该分布和最终在实际使用场景下碰到的数据分布 \(X^*\) 可能不同), 二者存在一个理想的映射 \(f_{\text{ideal}}\);
- 通过采样方法 \(s\) 进行采样得到 \(X_n, Y_n\);
- 通过 \(r, t\) 分别将 \(X_n, Y_n\) 转换为实际训练用的数据 \(X_n', Y_n'\);
- 在其上训练得到 \(f_{\text{actual}}\);
- 通过 \(A_{\text{eval}}\) 得到 \(X_m', Y_m'\) (通常不同于 \(X_n', Y_n'\));
- 通过 \(k\) 评估 \(f_{\text{actual}}\) 在其上的一个表现 \(E\);
- \(E\) 满足一定要求后, 进入实际部署阶段, 此时 \(h\) 将结合模型 \(f_{\text{actual}}\), 环境因素 \(z\) 对真实场景下的数据 \(x \in X^*\) 做出最后的决策 \(d\).
各种 bias
Historical Bias
即使直接真实数据 \(X_N, Y_N\), 也是存在 bias 的. 因为这些贴合现实的数据也会隐含现实生活中的一些 bias.
例: 在 NLP 中被广泛应用的 Word Embeddings 就被发现同样蕴含了现实生活的中的一些 bias, 比如提起护士通常想到的是女性, 而提起工程师则通常会联系到男性.
Q: 如果这种 bias 都去掉了, 那数据还是数据吗?
Representation Bias
Representation Bias 发生在 \(X_n, Y_n\) 不能很好的代表 \(X^*, Y^*\) 的情况, 使得基于 \(X_n, Y_n\) 所得的模型的泛化性不好. 其主要发生原因有:
- \(X_N, Y_N\) 和 \(X^*, Y^*\) 有较大出入;
- 采样的数据量不够;
- 采样方法本身有问题, 导致采样后的数据不平衡 (比如一种药副作用很大, 那么我们很难获得一个早期病人服用后的治愈效果, 既然往往只有病情比较严重的才会尝试这类副作用很大的药);
例: ImageNet 的门类很多, 但是大部分数据都是在美国, 北美, 西欧地区收集的, 这使得用该数据训练得到的模型在亚洲地区的效果会比较差.
Measurement Bias
通常我们需要对原始数据进行处理 \(t, r\) : 特征清洗, 提取, 标签转换等. 但是处理的质量不佳或者对于不同的 groups 的处理方式不同, 会导致模型质量下降, 这就是 Measurement Bias. 其主要由下列因素引发:
例: 例如在犯罪预测问题上, 风险程度是受群体因素影响的. 比如相同条件下, 黑人被打上高风险标签的概率可能会高于白人群体.
Aggregation Bias
通用的模型用在某些特定的问题的时候往往会引发 Aggregation Bias: 这个模型要么在所有的群体中都不是最优的, 要么仅在特定的某些群体上是有效的, 而忽略了其它部分.
例: 通用的 NLP 大模型往往会忽略掉 Twitter 上的符号表情.
Learning Bias
Learning Bias 是不同的优化 \(f_{\text{actual}}\) 的方式所引起的, 在设计优化目标的时候, 往往很难面面俱到, 比如希望通过目标函数提高正确率的时候, 往往会伤害差异性.
例: 神经网络对于困难样本通常会选择'记忆', 但是这会泄露隐私. 如果我们用差分隐私的方法训练, 则所得的模型在这些困难样本上的表现就会特别差.
Evaluation Bias
我们利用 \(X_n', Y_n'\) 进行训练, 但是通常会通过别的 benchmarks 来评估 \(f_{\text{actual}}\) 的优劣, 那么这些 bechmarks \(E\) 所评估的质量就会直接影响 \(f_{\text{actual}}\) 的选择. 倘若我们追逐一些不实用的指标, 可能就会南辕北辙了. 所以 Evaluation Bias 和 \(A_{\text{eval}}, k\) 有直接关系.
例: 比如有人指出现存的面部识别系统对于黑人的识别效果不好, 当然这是由于训练数据 \(X_n, Y_n\) 存在 Representation Bias 导致的, 但是因为面部识别所追逐的 bechmarks 并没有意识到这一点, 导致越走越远.
Depolyment Bias
训练所使用的模型和真正所部署的模型可能存在出入: 可能需要加入环境因素的考量 \(e\) , 加入人类决策 \(h\) 等等.