前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >懒人福利:不写代码调优深度模型,谷歌开源的「What-If」了解一下

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

作者头像
机器之心
发布2018-09-20 17:28:35
5460
发布2018-09-20 17:28:35
举报
文章被收录于专栏:机器之心机器之心

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

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档