跳转到主要内容
Chinese, Simplified

黑盒测试和预言

机器学习(ML)模型的黑盒测试是指在不了解模型内部细节的情况下进行测试,例如创建模型所使用的算法和其中的特征。黑盒测试的主要目标是以持续的方式确保模型的质量。

黑盒测试的困难在于试图识别测试神话这是一种确定测试是否通过的机制。

为什么ML模型被认为是不可测试的?如何使它们可测试?

在传统软件开发的情况下,模型是通过使用测试预言机(如测试人员、测试工程师或与测试程序一起工作的测试机制)进行测试的。预言机可以根据预期值验证测试结果。然而,ML模型通常被认为是不稳定的,因为很难对其进行黑盒测试。由于ML模型输出某种预测,因此没有用于验证测试结果的预期值。

由于缺乏测试预言机,所以使用伪预言机。伪预言表示当给定输入集的输出相互比较并确定正确性时的场景。

例如,为了解决一个问题,已经使用两种不同的实现对程序进行了编码;其中一个将被视为主程序。输入通过这两个实现。如果输出与主程序相同或成比例(即,它落在预定值附近的给定范围内),则可以认为该程序按预期或正确工作。

缺少测试预言机(Absence of test oracle)

 

这是用于对ML模型执行质量控制检查的许多技术之一。

功能测试

为了更好地理解ML模型的功能测试,请考虑以下示例:


哪里

  • f=测试中的功能
  • x=输入
  • y=输出
  • H=启发式(即测试或实验)
  • O=观察和预言(即预期结果)

功能测试流程图

测试人员如何对ML模型进行功能测试?

测试人员必须在测试模型之前确定f、x和y值。如果需要,他们可以咨询正在构建产品的工程师,他们可以阅读和编写文档,他们可以依靠自己的经验进行假设,他们可以在线研究材料。通过这些方法,测试人员将得出可能的实验和测试(H)以及预期结果(O)。它们还将帮助查找功能性错误。

测试人员通过测试过程的每一次迭代来阐明对f、x和y值的理解。

原文地址
https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk/learning-resources/training-testing-machine-learning-models/functional-testing-machine-learning-models
本文地址
Article

微信

知识星球

微信公众号

视频号