AI Explanations 将特征归因集成到了 AI Platform Prediction 中。本页面从概念上简要介绍了 AI Platform Prediction 提供的特征归因方法。如需深入讨论技术问题,请参阅 AI Explanations 白皮书。
AI Explanations 可帮助您了解模型的分类和回归任务输出。只要您在 AI Platform 上请求预测,AI Explanations 就会告诉您数据中的每个特征对预测结果的影响程度。然后,您可以使用这些信息验证模型的行为是否符合预期、识别模型中的偏差,并在寻找改进模型和训练数据的方法时获得启发。
特征归因
特征归因指出了模型中每个特征对每个给定实例的预测结果的影响程度。请求预测时,您会获得适合您模型的预测值。请求说明时,您会获得预测结果以及特征归因信息。
特征归因可处理表格数据,并内置可视化功能以用于处理图片数据。请参考以下示例:
深度神经网络经训练后可根据天气数据和之前的骑行共享数据来预测骑行时长。如果您仅使用此模型请求预测结果,则可以在几分钟后获得预计的骑行时长。如果您请求说明,则会获得预计的骑行时长,以及说明请求中每个特征的归因分数。归因分数显示特征对预测值相对于指定基准值的变化的影响程度。选择对模型有意义的基准,在本例中,基准为骑行时长的中间值。您可以绘制特征归因分数,查看哪些特征对生成的预测结果影响最大:
图片分类模型经训练后可预测给定图片是否包含狗或猫。如果您请求使用此模型对一组新图片进行预测,则会收到每张图片的预测结果(“猫”或“狗”)。如果您请求说明,则会获得预测的类,并且图片上还会附加一个叠加图层,显示图片中哪些像素对生成的结果影响最大:
训练图片分类模型以预测图片中花的种类。如果您请求使用此模型对一组新图片进行预测,则会收到每张图片的预测结果(“雏菊”或“蒲公英”)。如果您请求说明,则会获得预测的类,并且图片上还会附加一个叠加图层,显示图片中哪些区域对生成的结果影响最大:
优点和使用场景
如果您在训练数据集中检查特定实例并汇总特征归因,就可以更深入地了解模型的工作原理。请考虑以下优点和使用场景:
- 调试模型:特征归因有助于检测出数据中通常被标准模型评估技术忽略的问题。例如,某个图片病理学模型在一个胸部 X 光片测试数据集中获得了好得令人生疑的结果。特征归因表明,模型的高准确度依赖于图片中放射科专家所做的记号。
- 优化模型:您可以识别和移除不太重要的特征,从而生成更有效率的模型。
概念限制
请考虑特征归因的以下限制:
- 归因特定于个别预测结果。检查个别预测结果的归因可能会提供有用的见解,但对于该实例的整个类或整个模型来说,该见解可能不具备概括性。如需获得更具概括性的见解,您可以汇总数据集中的某些子集或整个数据集的各个归因。
- 虽然特征归因有助于调试模型,但它们无法保证总能清楚指出问题是由模型引起的,还是由训练模型所采用的数据引起的。您必须尽量正确地做出判断,并诊断常见的数据问题,以筛查出可能的原因。
- 特征归因与复杂模型中的预测一样,也会受到类似的反对性攻击。
如需详细了解限制,请参阅高层级限制列表和 AI Explanations 白皮书。
比较各个特征归因方法
AI Explanations 提供了三种用于特征归因的方法:采样 Shapley、积分梯度 和 XRAI。
方法 | 基本说明 | 推荐的模型类型 | 使用场景示例 |
---|---|---|---|
积分梯度 | 梯度方法可以高效计算与 Shapley 值具有相同公理属性的特征归因。 | 可微分模型,例如神经网络。特别推荐用于具有大型特征空间的模型。 建议用于低对比度图片,例如 X 光。 |
|
XRAI(带排名区域积分的说明) | 根据积分梯度方法,XRAI 会评估图片的重叠区域,以创建显著图来突出显示相关图片区域(而非像素)。 | 接受图片输入的模型。特别推荐用于自然图片,即任何包含多个对象的现实场景。 |
|
采样 Shapley | 为每个特征的结果分配积分,并考虑特征的不同排列。此方法可以提供精确 Shapley 值的近似采样值。 | 不可微分的模型,例如树和神经网络的集成学习1 |
|
了解特征归因方法
每种特征归因方法都基于 Shapley 值,这是一种根据特定结果为游戏中的每位玩家分配积分的合作博弈论算法。应用到机器学习模型中,就意味着每个模型特征都被视作游戏中的一个“玩家”,AI Explanations 会根据特定预测的结果按比例分配积分。
使用 AI Explanations 时,您可以为说明请求选择具体的特征,就好比“选择”玩家。
采样 Shapley 方法
采样 Shapley 可以提供精确 Shapley 值的近似采样值。
积分梯度方法
在积分梯度方法中,预测结果输出的梯度根据输入的特征沿积分路径进行计算。
- 梯度按调节参数的不同间隔值进行计算。 (对于图片数据,可将此调节参数想象成一个“滑块”,它能够将图片的所有像素调节为黑色。)
- 对梯度“求积分”:
- 对所有梯度取平均值。
- 计算平均梯度和原始输入的元素积。
如需了解此流程应用到相应图片的直观说明,请参阅将深度网络的预测结果归因于输入特征这篇博文。积分梯度原文(深度网络的公理化归因)作者在前面的博文中展示了相应图片在流程的每个步骤中的效果。
XRAI 方法
XRAI 方法结合了积分梯度方法和其他步骤,以确定图片的哪些区域对给定类别预测的贡献最大。
- 像素级别归因:XRAI 为输入图片执行像素级别归因。在此步骤中,XRAI 使用带有黑色基准和白色基准的积分梯度方法。
- 过度分割:XRAI 不受像素级别归因的影响,会对图片进行过度分割,创建一个由小区域拼凑而成的对象。XRAI 使用 Felzenswalb 的基于图表的方法创建图片细分。
- 区域选择:XRAI 会汇总每个细分内的像素级归因,以确定其归因密度。XRAI 使用这些值对每个细分进行排名,然后按照从正到负的顺序对细分进行排序。 这决定了图片的哪个区域最显着,或对给定的类别预测贡献最大。
可微分和不可微分的模型
在可微分的模型中,您可以计算 TensorFlow 图中所有运算的导数。该属性有助于在此类模型中使用反向传播算法。例如,神经网络可微分。如需获取可微分模型的特征归因,请使用积分梯度方法。
不可微分的模型在 TensorFlow 图中包含不可微分的运算,例如执行解码和舍入任务的运算。例如,作为树和神经网络的集成学习构建的模型是不可微分的。若要获取不可微分的模型的特征归因,请使用采样 Shapley 方法。采样 Shapley 还适用于可微分的模型,但在这种情况下,会耗费更多不必要的计算资源。
参考文档
采样 Shapley、积分梯度和 XRAI 的实现分别基于下列参考文档:
阅读 AI Explanations 白皮书,详细了解 AI Explanations 的实现。
教育资源
以下资源提供了更多有用的教育材料: