选自Google AI
作者:James Wexler
机器之心编译
今日,谷歌发布了 What-If 工具,这是开源 TensorBoard 网页应用的一个新功能,可以让用户在不写代码的情况下分析 ML 模型。利用该工具,开发者可以通过交互式可视界面和反事实推理探究 ML 模型的特征重要性,找出误分类原因、确定决策边界,以及检测算法公平性等。
构建有效的机器学习系统意味着要问许多问题。仅仅训练一个模型放在那儿是不够的。优秀的从业者就像侦探一样,总是试图更好地理解自己的模型:对数据点的改动对模型的预测能力有何影响?对于不同的群体——如历史上被边缘化的人群——模型的表现是否不同?用于测试模型的数据集的多样化程度如何?
回答这种问题并不容易。探索「what if」场景通常意味着编写定制的一次性代码来分析特定模型。这一过程不仅低效,还提高了非编程者参与塑造、改进 ML 模型的难度。谷歌 AI PAIR(People + AI Research)倡议的一个关注点就是让广大用户可以更容易地检查、评估和调试 ML 系统。
今天,谷歌发布了 What-If 工具,这是开源 TensorBoard 网页应用的一个新功能,可以让用户在不写代码的情况下分析 ML 模型。给定指向 TensorFlow 模型和数据集的指针,What-If 工具能够为模型结果探索提供交互式可视界面。
What-If 工具,展示了由 250 张人脸图像及其模型检测结果,模型用来检测微笑。
What-If 工具拥有很多功能,包括使用 Facets 自动可视化数据集、手动编辑数据集样本并查看更改效果、自动生成局部依赖图(该图显示模型预测如何随着任意单个功能的变化而变化)。
在数据点上探索 what-if 场景。
反事实(Counterfactual)
点击一个按钮,即可将一个数据点和最类似的数据点进行对比,你的模型在后者处的预测结果不同。我们称这样的点为「反事实的」,并且它们对你的模型的决策边界分析有启发作用。或者,你也可以手动编辑一个数据点,并探究模型预测如何变化。在下方的截图中,该工具被应用在一个二分类模型上,其基于 UCI 人口普查数据集的公开人口普查数据预测一个人的收入是否超过 5 万美元。这是机器学习研究者常用的基准预测任务,尤其是在分析算法公平性的时候。在这个案例中,对于选择的数据点,模型以 73% 的置信度预测这个人的收入高于 5 万美元。该工具自动定位数据集中与选择数据点最类似的人,而模型对他的收入预测是少于 5 万美元,然后对二者进行并行对比。在这个案例中,仅需要对年龄和职业做微小的改变,模型的预测就会出现大幅变化。
反事实对比。
性能和算法公平性分析
你也可以探究不同分类阈值的影响,考虑不同数值公平性标准等约束。下图展示了微笑检测模型的结果,该模型在开源 CelebA 数据集上训练得到,该数据集包含名人的标注人脸图像。在下图中,按照是否有褐色头发将数据集中的人脸图像分为两组,并且绘制每组图像的预测 ROC 曲线和混淆矩阵,以及在确定一张脸是否微笑之前,设置模型置信度的滑块。在这个案例中,两个组的置信度阈值由该工具自动设置,以优化至满足均等机会((equal opportunity)约束。
比较两组数据在微笑检测模型上的性能,将它们的分类阈值设置为满足「均等机会」约束。
Demo
为了说明 What-If 工具的能力,我们发布了一组使用预训练模型的 demo:
检测误分类:一种多分类模型,通过对花进行四次测量来预测植物类型。该工具有助于显示模型的决策边界以及导致误分类的原因。这个模型是用 UCI 鸢尾花数据集训练而成的。
评估二分类模型的公平性:上面提到的用于微笑检测的图像分类模型。该工具有助于评估不同子组之间的算法公平性。在该模型的训练过程中,特意不提供来自特定人群的任何例子,以展示该工具如何揭示模型中的此类偏见。评估公平性需要仔细考虑整体语境——但这是一个有用的量化起点。
检查不同子组的模型表现:一种根据人口普查信息预测受试者年龄的回归模型。该工具有助于显示不同子组模型的相对性能,以及不同特征如何单独影响预测。该模型用 UCI 普查数据集训练而成。
What-If 实践
我们与谷歌内部团队一起测试了 What-If 工具,看到了这种工具的直接价值。一个团队很快发现其模型错误地忽略了数据集中的一个整个特征,因此修复了一个以前未曾发现的代码错误。另一个团队用该工具直观地组织其示例(从最佳表现到最差表现),因此发现了模型表现不佳示例的模式。
我们希望谷歌内部和外部的人都能使用这个工具来更好地理解 ML 模型,并开始评估其公平性。由于代码是开源的,欢迎大家对该工具提出建议。
原文链接:https://ai.googleblog.com/2018/09/the-what-if-tool-code-free-probing-of.html
https://pair-code.github.io/what-if-tool/
本文为机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com