测试机器学习模型不用写代码!谷歌“what-if”工具轻松搞定

[复制链接]
查看: 4642|回复: 0

358

主题

317

回帖

4996

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4996
发表于 2018-9-13 02:08:26 | 显示全部楼层 |阅读模式

  新智元报道 

来源:Google AI

编辑:大明

【新智元导读】Google AI推出“what-if ”工具,用户完全不需要编写代码就能分析机器学习模型。该工具提供交互式可视化界面,用户可以探索并比较模型结果,可以快速地发现模型中的错误。


构建高效的机器学习系统,需要提出并解决许多问题。仅仅训练模型然后就放着不管是远远不够的。优秀的机器学习从业者要像侦探一样,时刻注意探索如何更好地理解构建的模型:数据点的变化将对模型的预测结果造成什么影响?同一个模型对不同的群体会有哪些不同的表现?用来测试模型的数据集的多样化程度如何等等。


要回答这些问题并不容易。要回答这些“假设”问题,通常要编写自定义的一次性代码来分析特定模型。这个过程不仅效率低下,而且除了程序员,其他人很难参与改进机器学习模型的过程。 


Google AI PAIR计划的一个重点就是让更广泛的人群能够更方便地对机器学习系统进行检查、评估和调试。


今天,我们正式发布What-If工具,该工具是开源的TensorBoard Web应用程序的一项新功能,它允许用户在不编写代码的情况下分析机器学习模型。What-If工具给出了TensorFlow模型和数据集的指针,提供了一个交互式可视化界面,用于探索模型结果。

 

What-If工具显示一组250张面部图片及其检测微笑模型的结果


What-If工具功能强大,可以使用Facets自动显示数据集,从数据集手动编辑示例并查看更改的效果,还能自动生成部分依赖图(partial dependence plots),显示模型的预测结果随任何单个功能的更改而变化的情况。


 

探索数据点上的What-if情景


下面详细介绍What-If工具的两个功能。


只需一键,自动对比数据点与模型预测最相似点


用户只需单击一个按钮,就可以将数据点与模型预测不同结果的最相似点进行比较。我们称这些点为“Counterfactuals”,可以显示出预测模型的决策边界。用户也可以手动编辑数据点,并探索模型预测的变化。


在下面的截图中,该工具用于二进制分类模型,该模型根据美国人口普查数据集的公共人口普查数据,预测一个人的年收入是否超过5万美元。这是机器学习研究人员使用的基准预测任务,尤其是在分析算法的公平性时。 


在这种情况下,对于选定的数据点,模型预测该人年收入超过5万美元的信度为73%。该工具自动定位数据集中最相似的人,模型预测其年收入低于5万美元,然后将选定数据点和与之最相似、但预测结果相反的数据点进行并排比较。如下图所示,二者只有在年龄和职业上存在微小的差异,但模型的预测结果已经完全相反了。

 

对Counterfactuals的比较。二人只有在年龄和职业上存在微小的差异,但模型的预测结果已经完全相反


模型性能和算法公平性分析


用户还可以探索不同分类阈值的影响,同时考虑不同数值公平性标准等约束条件。下图所示为微笑探测器模型的结果,该模型在开源CelebA数据集上训练,数据集是已标记的名人面部图像。


下图所示数据集中的面部图像按照头发是否为棕色分开,两个图像中的每一组都建立一条ROC曲线和一个预测结果的混淆矩阵,再设置一个置信度滑块,设定模型必须在超过某一置信度时才能判定目标的面部是微笑的。本例中,What-If工具自动设置两组的置信度阈值,以优化模型,实现机会均等。


使用What-if工具对微笑检测模型两部分数据的预测表现的比较,其中预测模型分类阈值设置满足“机会公平”


检测错误分类、评估模型公平性、调查模型不同数据集


为了说明What-if工具的功能,我们使用预先训练的模型发布了一组Demo:


检测错误分类:多类分类模型,模型根据对植物的花的四次观测来预测植物的种类。What-if工具有助于显示模型的决策边界,弄清导致错误分类的原因。


评估二元分类模型的公平性:上面提到的用于微笑表情检测的图像分类模型。What-if工具有助于评估不同子图像组的算法公平性。在该模型的训练中,有意没有提供来自特定人群的示例,目的是为了显现What-if工具如何能够揭示模型中的这种偏差。对模型预测公平性的评估需要仔细考虑整体背景,不过What-if工具是一个有用的量化起点。


调查模型在不同子群体中的表现:回归模型可以用于根据人口普查信息预测受试者的年龄。What-if工具能显示出模型在不同子群体中的相对表现,以及不同特征如何单独影响预测结果。该模型使用美国人口普查数据集进行训练。


What-If工具的实地应用


我们将What-If工具在Google内部团队中进行了测试,该工具在测试中显现出了直接价值。有团队很快发现他们的模型错误地忽略了数据集的整个特征,修复了以前未发现的代码错误。 还有团队使用该工具将模型示例按性能高到低排列出来,并发现表现不佳的模型示例的运行模式。


我们期待Google内外的人们都来使用What-If工具,以更好地理解机器学习模型,并开始评估预测模型的公平性。 我们的代码是开源的,欢迎对该工具继续添砖加瓦。


Github:

https://pair-code.github.io/what-if-tool/


参考链接:

https://ai.googleblog.com/2018/09/the-what-if-tool-code-free-probing-of.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright   ©2015-2016  深圳耘想存储科技有限公司  Powered by©Discuz!