文 / Google AI 软件工程师 James Wexler

构建有效的机器学习 (ML) 系统需要提出许多问题。仅仅训练一个模型,然后放任不管,是远远不够的。而优秀的开发者就像侦探一样,总是不断探索,试图更好地理解自己的模型:数据点的变化对模型的预测结果有何影响?对于不同的群体,例如在历史上被边缘化的人群,模型的表现是否有所不同?用于测试模型的数据集的多样化程度如何?

要回答这些类型的问题并不容易。探索 “What-If” 场景通常意味着编写一次性的自定义代码来分析特定模型。此过程不仅效率低下,而且非编程人员很难参与塑造和改进 ML 模型的过程。Google AI PAIR 计划的一个重点就是让广大用户能够更轻松地检查、评估和调试 ML 系统。

我们发布了 What-If 工具(https://pair-code.github.io/what-if-tool/),这是开源 TensorBoard 网络应用的一个新功能,可以让用户在无需编写代码的情况下分析 ML 模型。在给定 TensorFlow 模型和数据集指针的前提下,What-If 工具可为模型结果探索提供交互式可视界面。

What-If 工具:展示了一组面部图片(共 250 张),以及微笑检测模型得出的结果

What-If 工具拥有各种功能,包括使用 Facets 自动可视化数据集、手动编辑数据集示例并查看相关更改的影响,以及自动生成局部依赖图(显示模型的预测结果如何随任何单个功能的更改而变化)。下面详细探索其中两项功能。

探索数据点上的 What-If 场景

▌反事实

只需点击一下按钮,即可将某个数据点与模型预测不同结果的最相似点进行比较。我们将这些点称为 “反事实”,它们可以清楚显示出模型的决策边界。或者,您也可以手动编辑一个数据点,然后探索模型预测的变化情况。在下方的屏幕截图中,我们将该工具用于二进制分类模型。此模型根据 UCI 人口普查数据集的公开人口普查数据来预测某个人的收入是否超过 5 万美元。这是 ML 研究人员常用的基准预测任务,特别适用于分析算法公平性的情况,我们很快会谈及这个话题。在这个案例中,对于选定的数据点,模型预测此人收入超过 5 万美元的置信度为 73%。该工具自动找出数据集中与此最相似的人(模型预测其收入少于 5 万美元),并将二者进行并排比较。在此案例中,只需对年龄和职业作出微小的改变,模型的预测就会出现大幅变化。

反事实对比

▌表现和算法公平性分析

您也可以探索不同分类阈值的影响,并考虑不同数值公平性标准等限制条件。下方的屏幕截图展示了微笑检测模型的结果,该模型使用开源 CelebA 数据集(由带注解的名人面部图像组成)进行训练。在下图中,我们根据头发是否为棕色,将数据集中的面部图像分成两组,并为其中每组绘制一条 ROC 曲线和预测结果的混淆矩阵,同时提供滑块,设定模型必须在达到一定的置信度,才会判定是否为微笑的面部图像。在此案例中,该工具自动为两组设置了置信度阈值,以优化模型,从而实现机会均等。

比较两组数据在微笑检测模型上的表现,并将其分类阈值设置为满足 “机会均等” 限制条件

▌演示

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

  • 检测错误分类:这是一种多分类模型,通过对植物花朵的四次测量来预测植物种类。该工具有助于显示模型的决策边界和导致错误分类的原因。该模型使用 UCI 鸢尾花数据集进行训练。

  • 评估二进制分类模型的公平性:这是上文提及的微笑检测图像分类模型。该工具有助于评估不同子组的算法公平性。在训练模型的过程中,为了展示该工具如何帮助揭示模型中的此类偏见,我们特意没有提供来自特定人群子集的任何示例。评估公平性需要谨慎考虑整体环境,但这是很有用的量化起点。

  • 研究不同子组的模型表现:这是根据人口普查信息预测对象年龄的回归模型。该工具有助于展示模型在不同子组的相对表现,以及不同特点如何分别影响预测结果。该模型使用 UCI 人口普查数据集进行训练。

▌What-If 的实际应用

我们与 Google 内部团队一起测试了 What-If 工具的表现,从中看到这个工具的直接价值。有一个团队很快发现,他们的模型错误地忽略了数据集的一个整体特点,进而修复了之前并未发现的代码错误。另一个团队使用该工具将其示例按表现最佳到最差进行直观排列,进而发现表现不佳的模型示例类型有何模式。

我们希望 Google 内部和外部的人士都能使用此工具,以更好地理解 ML 模型,并开始评估其公平性。此外,由于此代码是开源的,我们欢迎大家为该工具的发展添砖加瓦。

▌致谢

What-If 是众人合作的成果,其成功离不开 Mahima Pushkarna 设计的用户体验,Jimbo Wilson 对 Facets 作出的更新,还有许多其他人提供的意见。我们想感谢测试此工具并提供宝贵反馈的 Google 团队,还要感谢 TensorBoard 团队的一切帮助。

【完】

2018 AI开发者大会

2018 AI开发者大会是一场由中美人工智能技术高手联袂打造的AI技术与产业的年度盛会!是一场以技术落地为导向的干货会议!大会设置了10场技术专题论坛,力邀15+硅谷实力讲师团和80+AI领军企业技术核心人物,多位一线经验大咖带你将AI从云端落地。

点击大会官网,查看嘉宾以及大会议题详细信息

What-If 工具:无需写代码,即可测试机器学习模型相关推荐

  1. ITK:迭代图像中的区域,而无需写访问权即可访问索引

    ITK:迭代图像中的区域,而无需写访问权即可访问索引 内容提要 输出结果 C++实现代码 内容提要 通过有效访问当前索引(无写访问权限)遍历图像的区域. 输出结果 An extensive list ...

  2. RPA(影刀)无需写代码抓取某东的商品信息

    大家好,我是翔宇! 有的小伙伴不会写代码,但也想采集一些数据,RPA就是一个最好的选择.今天我就带大家用RPA(影刀)无需写代码抓取某东的商品信息,主要采集到的数据有以下字段,数据达到近5000条. ...

  3. 无需写代码的高颜值富集分析神器

    富集分析是了解一个基因集功能倾向性的一个方式,在组学研究领域应用广泛.常见的有基于差异基因的Over-representation分析,也就是常说的GO.KEGG富集分析和Functional cla ...

  4. 无需写代码!谷歌推出机器学习模型分析神器,代号What-If

    铜灵 编译整理 量子位 出品 | 公众号 QbitAI 今天,谷歌推出了已开源的TensorFlow可视化工具TensorBoard中一项新功能:What-If Tool,用户可在不编写程序代码的情况 ...

  5. 特别引人注目的头像_引人注目的:无需编写代码即可创建美观,针对移动设备优化的网站

    Web开发和设计对于我们的Web创建者可能会占用大量时间,尤其是在期限紧迫的大型Web项目中. 这是一个使您可以更轻松快捷地创建基本网页的工具-Strikingly . Strikingly是一页纸的 ...

  6. 无需写代码---建网站

    只要一小时,谁都能轻松建立个人网站 2021年自己建网站的步骤 wordpress建站,阿里云上推荐小白用的,全部可视化操作,不用写代码.

  7. 机器学习hierarchical clustering_厉害了!几行代码搞定机器学习模型

    优质文章,第一时间送达! 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问 ...

  8. 厉害了!几行代码搞定机器学习模型

    点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习 ...

  9. ML.NET 1.0 发布,单击右键即可添加机器学习模型

    ML.NET 1.0 终于发布了.ML.NET 是一个跨平台的机器学习框架,旨在让 .NET 开发者更快上手机器学习,它允许 .NET 开发者开发他们自己的模型,并将自定义 ML 注入到应用程序中. ...

最新文章

  1. css学习任务二:切图写代码
  2. Jupyter Notebook已出现“返祖现象”,这款工具让你在终端里使用它
  3. 网络优化正在从经验型优化向大数据关联分析优化转变
  4. java 反转 控制 注入_控制反转和依赖注入
  5. 了解CMS(Concurrent Mark-Sweep)垃圾回收器
  6. 进军人工智能,数学基础很重要?
  7. rds mysql 磁盘空间,RDS MySQL 空间问题的原因和解决
  8. Qt工作笔记-QSplitter的使用(老版本里面发现的神控件在新版本内使用)
  9. linux下qt制作日历,基于QT的多功能日历设计与开发.doc
  10. AMD将于年内推出高端Polaris图形处理器
  11. Java基础系列7:国际化程序简介
  12. Shell脚本修改Nginx upstream配置文件
  13. Oracle Enterprise Manager Cloud Control 12c 概述
  14. 通过QQ邮箱中转站分享文件
  15. Windwos Server 2012 R2 安装LLDP协议驱动程序
  16. 2017年第八届CSTQB®国际软件测试高峰论坛议题征集启动
  17. 百度收录如何API提交(java、python)
  18. Photoshop CS 5 注册方法
  19. 学术报告PPT的latex模板
  20. js如何让段落首行缩进2个字符

热门文章

  1. Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书
  2. python argparser模块的相关使用
  3. Java 学习笔记(4)——java 常见类
  4. 自制操作系统Antz(9)——实现内核 (下) 实现图形化界面
  5. ASP.NET Core 2 学习笔记(七)路由
  6. 说到心里的哲理个性签名 学生时代的恋爱无非就是陪伴二字
  7. U盘安装Ubuntu14.4时遇到分区问题记录
  8. Android 曲线动画animation,类似加入购物车动画
  9. Ubuntu下配置Nginx HTTPS
  10. 【青少年编程】黄羽恒:翻译小工具 -- 利用百度翻译