查看原文
其他

使用 TensorFlow Model Analysis 提升模型质量

Google TensorFlow 2021-07-27

简介

在开发过程中调整模型时,您需要检查所做的更改是否对模型性能有所改善。只检查准确度可能不够。例如,如果您拥有关于某个问题的分类器,并且对于该问题,95% 的实例为阳性,那么您可能只需一直预测阳性即可提高准确度,但您无法拥有一个非常稳健的分类器。



概述

TensorFlow Model Analysis 的目标是为在 TFX 中开展模型评估提供机制。使用 TensorFlow Model Analysis,您可以在 TFX 管道中开展模型评估,并在 Jupyter 笔记本中查看结果指标和图表。具体来说,它能够提供:

  • 根据整个训练过程、预留数据集以及次日评估计算出的指标

  • 指标实时追踪功能

  • 不同功能切片的模型质量性能



从您的模型中导出 EvalSavedModel

为在 TFX 管道中安装 TensorFlow Model Analysis,您需要在训练过程中导出 EvalSavedModel,这是一种特殊的 SavedModel,包含对您模型中指标、功能、标签等内容的注释。TensorFlow Model Analysis 使用此 EvalSavedModel 来计算指标。


作为计算过程的一部分,您需要提供一个特殊的 eval_input_receiver_fn,其与 serving_input_receiver_fn 类似,能够从输入数据中提取功能和标签。与使用 serving_input_receiver_fn 一样,我们会提供效用函数帮助您完成此项操作。大多数情况下,您需要增加少于 20 行的代码。



在 Jupyter 笔记本中可视化

评估结果在 Jupyter 笔记本中呈现。


评估标签

界面由三部分组成:


  • 指标选择器

    默认情况下,Jupyter 笔记本会显示所有计算出的指标,并按字母顺序分列展示。指标选择器使用户能够添加 / 移除 / 重新排列指标。您只需在下拉列表中勾选 / 取消选中指标(按住 Ctrl 键进行多选)或直接在输入框中键入 / 重新排列指标



  • 时间序列图表

    时间序列图表使您可以根据数据跨度或模型运行情况轻松发现特定指标的趋势。如要呈现感兴趣指标的图表,只需在下拉列表中点击该指标。若要关闭图表,请点击右上角的 “X”


    将鼠标悬停在图表中的任意一个数据点,即会出现一个提示框,显示模型运行情况、数据跨度和指标数值


  • 指标表格

    指标表格汇总指标选择器中选中的所有指标的结果。您可以点击指标名称对其进行排序


切分指标标签

切分指标标签展示特定评估运行中不同切片的执行方式。请选择所需配置(评估、功能等)并点击刷新。


网址会在刷新时更新,并包含一个对所选配置进行编码的深层链接,该链接可共享。


界面由三部分组成:


  • 指标选择器

    参见上文


  • 指标可视化

    指标可视化旨在为所选功能的切片提供直观反馈。您可以使用快速过滤功能滤除加权样本数较小的切片



Jupyter 笔记本支持两种可视化方式:


切片概览

在此视图中,Jupyter 笔记本针对每个切片呈现所选指标的数值,并可根据切片名称或其他指标数值对切片进行排序。



当切片数量很小时,此为默认视图。


指标直方图

在此视图中,Jupyter 笔记本根据切片的指标数值将其分为不同的存储分区。每个存储分区中显示的数值 value(s) 可能是该存储分区的切片数量,也可能是总加权样本数,抑或二者皆有。



点击齿轮图标,即可更改存储分区的数量,并可在设置菜单中应用对数缩放。



您也可以在直方图视图中滤除离群值。如下方屏幕截图所示,只需在直方图中拖动所需范围即可。



当切片数量很大时,此为默认视图。


  • 指标表格

    仅呈现未被滤除的切片。您可以通过点击列标题对其进行排序



更多 AI 相关阅读:



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存