James Wexler作者

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

今日,谷歌发布了 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/

工程工具包TensorFlow谷歌AI谷歌
3
相关数据
混淆矩阵技术

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。矩阵的每一行表示预测类中的实例,而每一列表示实际类中的实例(反之亦然)。 这个名字源于这样一个事实,即很容易看出系统是否混淆了两个类。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

决策边界技术

在具有两类的统计分类问题中,决策边界或决策曲面是一个超曲面,它将底层的向量空间分成两组,每组一个。分类器会将决策边界一侧的所有点分为属于一个类,而另一侧属于另一个类。也即二元分类或多类别分类问题中,模型学到的类别之间的分界线。

推荐文章
暂无评论
暂无评论~