懒人福利:不写代码调优深度模型,谷歌开源的「What-If」了解一下

2018 年 9 月 12 日 机器之心

选自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

登录查看更多
0

相关内容

【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
谷歌机器学习速成课程中文版pdf
专知会员服务
145+阅读 · 2019年12月4日
【干货】谷歌Joshua Gordon 《TensorFlow 2.0讲解》,63页PPT
专知会员服务
27+阅读 · 2019年11月2日
干货实践 | 计算机视觉花卉识别模型(代码分享)
计算机视觉战队
10+阅读 · 2019年3月13日
40 行 Python 代码,实现卷积特征可视化
Python开发者
3+阅读 · 2019年2月13日
谷歌BERT模型深度解析
AINLP
42+阅读 · 2018年11月15日
开发、调试计算机视觉代码有哪些技巧?
AI研习社
3+阅读 · 2018年7月9日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
一个小例子带你轻松Keras图像分类入门
云栖社区
4+阅读 · 2018年1月24日
独家 | 一文读懂TensorFlow(附代码、学习资料)
数据派THU
3+阅读 · 2017年10月12日
Seeing What a GAN Cannot Generate
Arxiv
8+阅读 · 2019年10月24日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
7+阅读 · 2018年1月31日
Arxiv
8+阅读 · 2018年1月19日
VIP会员
相关资讯
干货实践 | 计算机视觉花卉识别模型(代码分享)
计算机视觉战队
10+阅读 · 2019年3月13日
40 行 Python 代码,实现卷积特征可视化
Python开发者
3+阅读 · 2019年2月13日
谷歌BERT模型深度解析
AINLP
42+阅读 · 2018年11月15日
开发、调试计算机视觉代码有哪些技巧?
AI研习社
3+阅读 · 2018年7月9日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
一个小例子带你轻松Keras图像分类入门
云栖社区
4+阅读 · 2018年1月24日
独家 | 一文读懂TensorFlow(附代码、学习资料)
数据派THU
3+阅读 · 2017年10月12日
相关论文
Seeing What a GAN Cannot Generate
Arxiv
8+阅读 · 2019年10月24日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
7+阅读 · 2018年1月31日
Arxiv
8+阅读 · 2018年1月19日
Top
微信扫码咨询专知VIP会员