精华内容
下载资源
问答
  • 人工智能(AI)已无处不在,AI正在为各行各业赋能,改变人们生活、生产的方式。然而,由于AI是一种新的编程范式,无论是学术界还是工业界,对于AI测试的研究还刚刚起步。 1.AI测试及挑战 AI作为一项变革性的技术已经...
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习的性能指标和基准 第四部分:测试机器学习工作流程 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 ...

    主要内容是
    第一部分:人工智能和测试的介绍
    第二部分:人工智能系统的特性和验收标准
    第三部分:机器学习
    第四部分:机器学习的性能指标和基准
    第五部分:人工智能系统测试简介
    第六部分:人工智能系统的黑盒测试
    第七部分:人工智能系统的白盒测试
    第八部分:测试人工智能的测试环境
    第九部分:使用人工智能进行测试

    引言

    传统系统的测试已被很好地理解,但是基于AI的系统对我们的日常生活变得越来越普遍和至关重要,它带来了新的挑战。
    这篇内容涵盖了人工智能(AI)的关键概念,我们如何确定验收标准以及如何测试基于AI的系统。
    这些系统通常是复杂的(例如深层神经网络),这给测试人员带来了许多新的挑战和机遇。
    在整个文档中,首字母缩写词AI代表“人工智能”一词。

    一、人工智能和测试的介绍

    1.1 “人工智能”和“人工智能效应”的定义
    1.2 AI使用案例
    1.3 AI使用和以后的市场

    91%的技术主管认为AI将成为下一次技术革命的核心。

    1.4 基于AI系统的故障和测试的重要性
    1.5 图灵测试和AI的历史
    1.6 AI技术

    搜索算法•推理技术–逻辑程序–规则引擎–演绎分类器–基于案例的推理–程序推理•机器学习技术–人工神经网络•前馈神经网络•递归神经网络–贝叶斯网络
    –决策树–深度学习•卷积神经网络–强化学习–转移学习–遗传算法–支持向量机
    结合使用这些技术,可以将一些最有效的基于AI的系统视为AI混合体。

    1.7 AI开发框架

    TensorFlow –基于数据流图,可用于Google的可扩展机器学习
    PyTorch-用于使用Python语言进行深度学习的神经网络
    MxNet –亚马逊用于AWS的深度学习开源框架
    Caffe / Caffe2-使用C ++和Python接口编写的深度学习开放框架CNTK –微软认知工具包(CNTK),一种开源深度学习工具包
    Keras-用Python语言编写的高级API,能够在TensorFlow或CNTK上运行

    1.8 NARROW VS一般AI和技术奇异性

    到目前为止,所有成功的AI都是“狭窄”的AI,这意味着它可以处理一项专门的任务,例如下围棋,充当垃圾邮件过滤器或驾驶自动驾驶汽车。
    通用AI比狭窄的AI先进得多,它是指一种基于AI的系统,它可以处理许多完全不同的任务,与人类一样。
    通用AI也被称为高级机器智能(HLMI)。
    2017年发布的一项针对AI研究人员的调查报告称,HLMI何时实现的总体平均估计值是到2061年。在这些AI研究人员中,有15%的人认为HLMI对人类会产生不良或非常不良的后果。
    一个普遍的假设是,一旦实现了一般的AI(并且允许基于AI的系统访问互联网),基于AI的系统将使用对可用信息,处理能力和存储的访问进入自我循环-改进。
    片刻之后,这将意味着该系统将变得比人类更智能(继续变得超级智能)。
    这种智能爆炸发生的时间点称为技术奇点。

    1.9 AI标准化

    标准化旨在促进创新,帮助提高系统质量并确保用户安全,同时创建一个公平开放的行业生态系统。
    AI标准化发生在各个级别,包括:国际标准组织、区域标准组织、国家标准。

    1.9 AI的监管标准

    监管标准可以分为两大类:适用于安全相关系统的标准和适用于非安全相关系统的标准,例如财务,公用事业和报告系统。
    与安全相关的系统是那些可能对人,财产或环境造成伤害的系统。

    展开全文
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...

    主要内容是
    第一部分:人工智能和测试的介绍
    第二部分:人工智能系统的特性和验收标准
    第三部分:机器学习
    第四部分:机器学习的性能指标和基准
    第五部分:人工智能系统测试简介
    第六部分:人工智能系统的黑盒测试
    第七部分:人工智能系统的白盒测试
    第八部分:测试人工智能的测试环境
    第九部分:使用人工智能进行测试

    五、人工智能系统测试简介

    5.1 基于AI系统测试的挑战

    基于AI的系统通常由常规组件(例如用户界面)和AI组件(例如机器学习模型)组成。
    而且,即使“纯”的AI组件也是在软件中实现的,因此可能会遭受与其他任何软件相同的缺陷。因此,当测试基于AI的系统时,仍然需要常规的软件测试方法。但是,基于AI的系统包含许多特殊属性,与传统软件系统相比,这些属性可能需要进行额外的测试

    5.1.1 系统规格

    基于AI的系统的规范可能是不完整和非正式的,这要求测试人员确定未指定的预期结果。
    如果测试人员不完全了解所需的系统行为,并且很难从领域专家那里获取此信息,则可能会出现问题。
    另一个问题是,基于AI的系统的要求通常是根据目标而不是所需的功能来指定的,这是一种更为传统的方法。这是因为许多基于AI的系统的本质是所提供的功能是不透明的(例如,很难想象深度神经网络的功能)。
    许多基于AI的系统具有广泛的操作环境(例如,自主无人机),与典型的常规系统相比,完全定义操作环境可能更具挑战性。请注意,操作环境的复杂性通常意味着这些系统的测试环境可能同样具有挑战性。
    ML模型的规范应包含一组必需的性能指标(参考第四部分描述),以用作ML模型的接受标准

    5.1.2 测试数据集

    基于AI的系统通常依赖大数据输入和/或来自多种来源的输入。
    这可能意味着输入数据通常是非结构化的,并以多种格式提供。
    在开发基于AI的系统时,管理此数据是数据科学家的一项专门任务,但是在测试时,此专业数据管理任务是测试人员执行的几项任务之一,通常很少或没有经过专门培训。
    当需要包含个人信息的测试数据集时(如基于AI的系统经常需要这种情况),测试人员需要提供经过清理的测试数据。

    5.1.3 概率性和不确定性系统

    由于许多基于AI的系统具有概率性,因此并不总是有可以用作预期结果的精确值。
    例如,当自动驾驶汽车在停止的公交车周围绘制路线时,它不需要计算最佳解决方案,而是需要一个可行的(而且是安全的)解决方案-因此我们接受了次优但足够好的解决方案。
    基于AI的系统如何确定其路线的性质也可能意味着它们每次都不会得出相同的结果(例如,它们的计算可能基于随机种子,这会导致每次生成不同但可行的路线) 。
    这使得此类系统具有不确定性,导致缺乏可重复性,并且意味着任何回归测试都需要具有更智能的预期结果,并考虑由于不确定性导致的可变性。
    在这两种情况下,实际结果的不确定性都要求测试人员比常规系统得出更复杂的预期结果。
    基于概率的基于AI的系统还可能要求测试人员多次运行相同的测试,以提供统计上显着的保证,以确保系统正常运行(例如蒙特卡洛Monte Carlo实验)。

    5.1.4 自学习系统

    随着AI技术变得更加先进,将会出现更多基于AI的系统,这些系统可以随着时间改变自己的行为。
    这些可能是自适应系统(能够重新配置和优化自身),也可能是可以通过从过去的经验中学到的自我学习系统。对于这两种情况,很可能在原来系统上成功运行的一些测试在新的改进的系统上不再可行。尽管识别哪些测试不再有效可能相对容易,但是要确保已生成针对新功能的新测试要困难得多。

    5.1.5 复杂性

    许多基于AI的系统极其复杂,人类很难理解。
    例如,一个仅用了3天就建立的“简单”汽车驾驶神经网络,估计有大约2700万个连接和250,000个参数。复杂ML系统的另一个示例是用于识别大数据中的模式的示例。
    之所以使用这些系统,是因为它们可以找到人类,即使经过大量研究也无法找到的模式。
    如果这些基于AI的系统是如此复​​杂,那么对它们的足够深入的理解以能够产生预期的结果可能超出了许多测试人员的范围。

    5.1.6 AI特有的特征

    第二部分中已描述各特征

    5.2 基于AI系统预测性问题

    在测试基于AI的系统时,经常遇到的挑战是测试预测性问题。
    糟糕的规范,复杂的,概率性的,自学习的和不确定性的系统使生成预期结果成为问题。
    有关黑盒测试的第六部分介绍了解决测试预测问题的测试方法和技术。

    展开全文
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习的性能指标和基准 第四部分:测试机器学习工作流程 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 ...

    主要内容是
    第一部分:人工智能和测试的介绍
    第二部分:人工智能系统的特性和验收标准
    第三部分:机器学习
    第四部分:机器学习的性能指标和基准
    第五部分:人工智能系统测试简介
    第六部分:人工智能系统的黑盒测试
    第七部分:人工智能系统的白盒测试
    第八部分:测试人工智能的测试环境
    第九部分:使用人工智能进行测试

    二、人工智能系统的特性和验收标准

    2.1 AI特有的特征

    与任何系统一样,基于AI的系统具有功能性和非功能性需求。
    基于AI的系统具有 模型质量 未包含的一些独特特征,例如适应性,自主性,演化,灵活性,偏差,性能,透明度,复杂性和不确定性。
    这些非功能特性将在下面进行更详细的描述,并提供有关对其进行测试的建议。
    基于AI的系统的全套质量特征可用作测试计划期间使用的checklist的基础,以用于确定需要通过测试缓解的风险。
    请注意,与任何一组非功能性需求一样,这些特性之间可能存在一些相互作用,重叠和可能的冲突。

    2.1.1 适应性(Adaptability)

    适应性是系统对环境变化做出反应以继续满足功能性和非功能性需求的能力。
    自适应系统的属性包括自我配置,自我修复,自我保护和自我学习。
    适应性要求系统主动或被动地收集有关其操作环境的信息。
    探索(主动收集信息)为自我完善提供了有用的信息,但也危险,并且系统在探索时应格外小心安全相关情况。
    适应性要求应指定系统应适应的环境变化,并且还应包括对适应过程本身的要求,例如适当时的最大适应时间。
    适应性测试通常基于环境修改或突变。功能性和非功能性需求均应进行测试,并且最好以自动化方式进行回归测试是一种合适的方法。
    还应该测试系统执行的适应过程,以确定例如系统是否在所需时间范围内适应,以及系统是否处于为实现适应而消耗的资源的约束范围内。

    2.1.2 自主性(Autonomy)

    自主是系统在没有人工干预的情况下持续工作的能力。
    应该为系统指定预期的人工干预水平,并且应该是系统功能要求的一部分(例如,“系统将保持巡航状态,直到发生以下情况之一……”)。
    自主也可以与适应性或灵活性结合起来考虑(例如,系统应该能够在没有人工干预的情况下保持给定水平的适应性或灵活性)。
    在某些情况下,基于AI的系统可能会表现出过多的自主性,在这种情况下,人类可能有必要从中夺取控制权。
    测试自主性的一种方法是尝试迫使系统脱离其自主行为,并在未指定的情况下请求干预(一种否定性测试)。
    负样本测试也可以用来尝试欺骗系统,使其认为应该在何时进行干预(例如,通过在其业务范围边界处创建测试方案,以建议将边界值概念应用于方案测试)来控制系统。

    2.1.3 演化(Evolution)

    演化与系统应对两种类型的变化的能力有关。
    第一种类型的更改是用户需求更改时-这可能有多种原因,甚至可能是由于用户与系统本身的交互所引起的。
    第二种类型的更改是系统更改其行为时,这可能是由于系统在使用时学习了新的行为。系统行为的变化并不总是积极的,而这种系统特性的消极形式可以称为退化,漂移或陈旧。
    系统演化测试通常采取维护测试的形式,需要经常运行。
    此测试通常需要监视指定的系统目标,例如性能目标(例如,准确率,精确率和召回率),并确保没有数据偏差引入系统。
    该测试的结果可能是对系统进行了重新培训,也许使用了更新的培训数据集。

    2.1.4 灵活性(Flexibility)

    灵活性是系统在超出其初始规格的环境中工作的能力(即根据实际情况更改其行为以实现其目标)。灵活性应在要求中明确规定。
    这可以通过使用严格程度不同的动词来非正式地实现,例如“必须”,“可能”和“接近”,或者可以通过规范中的概率和可能性(例如RELAX)更正式地实现。
    需求语言)。
    可以使用不同的技术机制来实现灵活性,例如反应性,主动性,交互性,适应性或自学。
    测试灵活性需要进行测试以扩展系统的原始性能。
    变形测试(请参阅第6.4节),其中包括使用变形关系扩展初始规范(在指定限制内​​)可用于测试灵活性

    2.1.5 偏差(Bias)

    偏差是对机器学习模型提供的预测值与实际值之间的距离的度量。
    在机器学习(ML)中,其思想是识别并归纳训练数据中的模式,并在模型中实施这些模式以对其进行分类和预测。
    如果训练数据不能代表预期可用于操作的数据,则该模型很可能会显示出偏差。
    偏差测试可以分两个阶段执行。
    首先,可以通过评审将其从训练数据中删除,但这需要专家评审员,他们可以识别可能造成偏见的特征。
    其次,可以通过使用无偏差测试集的独立测试来对系统进行偏差测试。当我们知道训练数据存在偏见时,就有可能消除偏见的根源。
    或者,我们可以接受该系统包括偏差,但是通过发布训练数据来提供透明度。

    2.1.6 性能指标(Performance Metrics)

    性能指标是为机器学习(ML)模型定义的,其中最流行的是准确率,精确率和召回率。accuracy, precision and recall
    通常在ML框架(例如TensorFlow)中提供对性能模型的测试,该框架将为给定的测试数据集计算这些度量。

    2.1.7 透明性/可解释性(Transparency)

    透明性(也称为可解释性)是衡量基于AI的系统得出结果的难易程度的一种度量。
    与许多非功能性需求一样,可能会与其他非功能性特征发生冲突-在这种情况下,可能需要权衡透明度以达到所需的准确性。
    解决潜在透明度问题的一种方法是发布用于创建(不透明)部署模型的框架,训练算法和训练数据的选择细节。
    可解释的AI(XAI)领域涵盖了使基于AI的系统更易解释的方法。
    透明度测试是一项定性活动,理想情况下,要求目标受众(或一组有代表性的测试人员)执行测试,以确定基于AI的系统的工作是否可以理解或所提供的解释是否令人满意。

    2.1.8 复杂性(Complexity)

    基于AI的系统(尤其是通过深度学习实现的系统)可能非常复杂。
    由于问题的复杂性,基于AI的系统通常用于无法解决的问题(例如,基于大数据进行决策)。如前所述,深度神经网络拥有超过1亿个参数并不罕见。
    这种系统的复杂性产生了一个预测性的问题。
    它可能需要一些专家花费一些时间和讨论才能就复杂的基于AI的系统的单个测试用例结果达成共识,并且理想情况下,我们希望运行许多测试,这是不可行的如果我们不得不依靠专家(缓慢地),产生预期的结果。
    可以使用多种测试技术来解决测试预测性的问题,包括 A/B testing, back-to-back testing and metamorphic testing

    2.1.9 不确定性(Non-Determinism)

    不能保证非确定性系统每次运行都会从相同的输入产生相同的输出(与确定性系统相反)。对于非确定性系统,使用相同的前提条件和测试输入集的测试可能会有多个(有效)结果。确定性通常由测试人员假设-它允许重新运行测试并获得相同的结果-当将测试重新用于回归或确认测试时,这非常有用。然而,许多基于AI的系统是基于概率实现的,这意味着它们并不总是从相同的测试输入中产生相同的结果。基于ai的系统还可以包含其他非决定论的原因,比如并发处理(尽管这些通常出现在复杂的传统的、非ai的系统中)。非确定性系统的测试要求测试人员解决以下问题:对于同一测试案例,多个实际结果可能被认为是正确的。
    对于确定性系统,对正确性的检查是对“实际结果是否等于预期结果”的简单检查,而对于非确定性系统,测试人员必须对所需的行为数据有更深入的了解,以便可以得出合理的结论,验证测试是否通过。

    2.2 用人类的价值观对基于AI的系统进行预警

    基于AI的系统的两个主要问题。
    首先,指定的功能可能无法与人类的价值观完美地吻合,而人类的价值观(最多)很难确定。
    第二个问题是,任何功能强大的智能系统都将希望确保其自身的持续存在并获取物理和计算资源-不是为了他们自己,而是为了成功完成其分配的任务。

    2.3 副作用

    2.4 奖励黑客(reward hacking)

    2.5 规范基于AI的系统的道德要求

    展开全文
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习的性能指标和基准 第四部分:测试机器学习工作流程 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 ...

    主要内容是
    第一部分:人工智能和测试的介绍
    第二部分:人工智能系统的特性和验收标准
    第三部分:机器学习
    第四部分:机器学习的性能指标和基准
    第五部分:人工智能系统测试简介
    第六部分:人工智能系统的黑盒测试
    第七部分:人工智能系统的白盒测试
    第八部分:测试人工智能的测试环境
    第九部分:使用人工智能进行测试

    三、机器学习

    3.1 机器学习介绍

    机器学习(ML)是AI的一种形式,其中基于AI的系统从提供的训练数据中学习其行为,而不是对其进行显式编程。 ML的结果称为模型,由AI开发框架使用选定的算法和训练数据创建。该模型反映了输入和输出之间的学习关系。 ML的示例用途包括图像分类,玩游戏(例如围棋),语音识别,安全系统(恶意软件检测),飞机防撞系统和自动驾驶汽车。

    机器学习(ML)有三种基本方法。
    使用监督的ML,该算法会根据一组标记数据的训练来创建模型。
    监督ML的一个示例是,所提供的数据被标记为猫和狗的图片,并且所创建的模型有望在将来正确识别它看到的猫和狗。
    监督学习解决了两种形式的问题:分类问题和回归问题。
    分类是模型将输入分为不同类别的地方,例如“是-此模块容易出错”和“否-此模块不容易出错”。
    回归是模型提供值的地方,例如“模块中的错误预期数量为12”。
    由于机器学习是概率性的,因此我们也可以衡量这些分类和回归正确的可能性。

    对于无监督的ML,训练集中的数据不会被标记,因此算法会得出数据本身的模式。
    无监督ML的一个示例是,所提供的数据是有关客户的,并且系统用于查找特定的客户分组,可以按特定的方式进行销售。由于不必标记训练数据,因此比无监督ML的训练数据更容易(更便宜)地获取数据。

    通过强化学习,为系统定义了奖励函数,当系统接近所需的行为时,它将返回更高的结果。利用奖励功能的反馈,系统学会改善其行为。强化学习的一个例子是使用奖励功能找到最短路径的路径规划系统。

    3.2 机器学习工作流

    在这里插入图片描述
    1,了解目标
    2,选择框架
    3,建模
    4,原始数据
    5,数据预处理
    6,训练模型
    7,模型评价
    使用验证数据,根据性能指标对经过训练的模型进行评估-然后将结果用于改进(调整)模型。通常需要对评估结果进行可视化,并且不同的ML框架支持不同的可视化选项。在实践中,通常会创建和训练几个模型,并根据评估和调整的结果选择最佳模型。
    8,模型参数调整
    9,模型测试
    一旦对模型进行了训练,评估,调整和选择,就应该针对测试数据集进行测试,以确保符合商定的性能标准。该测试数据应完全独立于工作流中使用过的训练和验证数据。
    10,模型部署
    11,模型使用
    12,模型监控和微调
    在使用模型时,存在其状况可能演变的风险,并且该模型可能会“偏离”其预期性能。
    为确保识别和管理任何漂移,应根据其接受标准定期评估运营模型。
    可能认为有必要更新模型以解决漂移问题,或者可以决定对新数据进行重新训练将导致更准确或更健壮的模型,在这种情况下,可以使用新的训练数据重新建模。
    可以使用A / B测试形式将新模型与现有模型进行比较。

    3.3 机器学习训练和测试数据

    在执行监督式ML时,将使用两个单独的数据集(训练数据集和测试集)来防止过度拟合
    测试集有时称为保持集。为了支持模型的迭代评估和调整,将训练数据集分为两部分-用于训练的数据和用于评估的验证数据。但是,这可能意味着现在没有足够的数据来进行训练。
    解决此问题的一种方法称为交叉验证,其中训练数据集被分为n个相等的部分,称为折叠。然后对模型进行训练和评估在每种情况下,将不同的折叠用作验证集,并将其余的折叠用作训练集。这样,可以改善训练,并且仍然可以执行评估和调整。

    详细可以查看《机器学习》周志华 中的描述

    3.4 机器学习中的过拟合和欠拟合

    3.4.1 过拟合

    当模型从无关紧要的信息中学习不正确的关系时,就会发生过度拟合,例如无关紧要的细节,随机波动和训练数据中的噪声(即训练数据中包含太多特征)。
    实际上,就好像该模型已经存储了训练数据,并且在实际使用中,该模型可以很好地用于与训练数据非常相似的数据,但是很难归纳和处理新数据。
    识别过度拟合的一种方法是确保使用独立于测试数据的独立测试集。

    3.4.2 欠拟合

    当模型无法从训练数据中识别输入和输出之间的关系时,就会发生拟合不足。
    拟合不足通常发生在训练数据不足以提供足够的信息来推导输入和输出之间正确关系的情况下(即训练数据中包含的特征不足),但也可能在选择的算法不适合数据时发生。
    创建用于处理非线性数据的线性模型)。
    这通常会导致做出许多错误预测的简化模型。

    3.5 训练数据中的偏差和公平

    偏差在第二部分中有介绍。
    如果训练数据包括固有偏差,则导出的模型可能会包括那些相同的偏差。
    因此,必须注意确保不包括会导致结果模型不公平的数据特征。
    例如,除其他功能外,以下功能应被识别为可能引起不必要的偏差:
    •性别•性取向•年龄•种族•宗教•原籍国•教育背景•收入来源•家庭住址
    但是,仅从训练数据中删除上述特征并不一定能解决问题,因为很可能还有其他特征(可能结合使用)仍可能导致不公平的模式(例如,父母是否离婚会导致种族定型)。

    3.6 数据质量

    监督学习假定训练数据正确。但是,实际上,很少会在100%的时间内正确标记训练数据集。
    人类贴标人员可以犯一些简单的随机错误(例如,按下错误的按钮),而且还存在故意犯错误的可能性。标签并非总是简单地分为两类之一,更复杂的标签任务可能意味着正确的标签是有问题的。
    标记可以通过多种方式执行,每种方式均会对数据质量产生固有风险:
    Labelling by internal team
    • Outsourced labelling
    • Crowdsourced labelling
    • Synthetic data generation
    • AI-Based labelling
    • Hybrid approaches
    内部团队标记•外包标记•众包标记•综合数据生成•基于AI的标记•混合方法

    例如,如果输入传感器的质量低下或校准不当,则数据的质量可能很差-当传感器数据来自多个来源(例如,使用略有不同的测量方法的实验室)时,这通常是一个问题。
    数据丢失可以采用三种主要形式,每种形式对结果模型的影响不同。
    如果完全随机丢失数据,则鉴于模型的概率性质,其影响不大(除了由于缺少数据而降低准确性外)。
    如果错过了来自某个特定特征的数据(例如,来自女性的所有数据),那么这很可能会对生成的模型产生不利影响(除非该模型不用于对女性进行操作性预测)。
    更糟糕的是,第三种情况最难发现,因为缺少给定特征的一组特定数据值(例如,年龄在35至50岁之间的女性的数据)。
    由于数据收集的性质,此类问题通常在医学研究中发生。
    在这种情况下,模型可能会受到严重损害。

    3.7 机器学习算法/模型选择

    算法的选择,模型设置和超参数是一门科学还是一门艺术都存在争议。
    没有确定的方法可以纯粹从对问题情况的分析中选择最佳集合,在实践中这种选择几乎总是部分地通过反复试验来进行
    1)进行此选择所需的信息包括知道模型应提供的功能,学习算法和模型可使用的数据以及必须满足的非功能要求。
    在功能方面,模型通常将提供分类,值预测(回归),异常检测或根据数据确定结构(聚类)。
    知道有多少数据可用可以丢弃某些算法(例如,如果可用的数据较少,则可以忽略依赖大数据的算法)。
    如果数据被标记,则可以进行监督学习,否则需要另一种方法。
    预期模型将使用的功能数量也将指向某些算法的选择,以及用于聚类的预期类别的数量也将指向该算法。

    3.8 机器学习测试和质量验证

    3.8.1 机器学习工作流回顾
    3.8.2 验收标准

    接受标准(包括功能性要求和非功能性要求)都应记录在案,并证明可以在此应用程序上使用。该模型应包括性能指标。

    3.8.3 框架,算法/模型和参数选择

    应当选择并证明选择框架,算法,模型,设置和超参数的理由。

    3.8.4 模型更新

    无论何时更新部署的模型,都应重新测试以确保其继续满足接受标准,包括针对可能未记录的隐式需求进行测试,例如测试模型降级(例如,新模型的运行速度比先前模型慢
    )。在适当的情况下,应针对先前的模型执行A / B测试或背对背测试(back-to-back testing)。

    3.8.5 训练数据质量

    机器学习系统高度依赖于代表操作数据的训练数据,并且某些机器学习系统具有广泛的操作环境(例如自动驾驶汽车中使用的环境)。已知边界条件(边缘情况)会在所有类型的系统(AI和非AI)中引起故障,应将其包括在训练数据中。
    就数据集的大小和偏差,透明度和完整性等特征而言,训练数据的选择应形成文件,并由专家针对更关键的系统进行校准和确认。

    3.8.6 测试数据质量

    训练数据的标准同样适用于测试数据,但要注意的是,测试数据必须尽可能独立于训练数据。独立程度应形成文件并说明理由。测试数据应系统地选择和/或创建,并且还应包括负面测试(例如超出预期输入范围的输入)和对抗测试

    3.8.7 模型集成测试(系统测试)

    应该执行集成测试以确保ML模型正确地与它作为一部分的基于AI的系统的其余部分集成。
    例如,应该执行测试以检查是否将正确的图像文件传递给模型以进行对象识别,并且该文件具有模型期望的格式。
    还应该执行测试以检查模型的输出是否被系统的其余部分正确地解释和使用。

    3.8.8 对抗样本测试

    一个对抗性的例子是,对神经网络的输入所做的非常小的更改会在输出中产生意外的(错误的)大更改(即与未更改的输入完全不同的结果)。
    对抗性示例首先通过图像分类器注意到。
    通过简单地改变几个像素(人眼不可见),就可以说服神经网络将其图像分类更改为一个非常不同的对象(并具有高度的置信度)。
    但是请注意,对抗性示例不仅限于图像分类器,而且通常是神经网络的属性,因此适用于对神经网络的任何使用。
    对抗性例子通常是可以转移的。
    这意味着,导致一个神经网络发生故障的对抗示例通常会导致经过训练以执行相同任务的其他神经网络发生故障。
    请注意,这些其他神经网络可能已经使用不同的数据并基于不同的体系结构进行了训练,但是在相同的对抗性示例中,它们仍然易于失败。
    对抗性测试通常被称为进行对抗性攻击。
    通过执行这些攻击并在测试过程中识别漏洞,可以采取措施防止将来的失败,从而提高了神经网络的鲁棒性。
    可以在训练模型时进行攻击,然后在训练后的模型(神经网络)本身上进行攻击。
    训练期间的攻击可能包括破坏训练数据(例如修改标签),向训练集中添加不良数据(例如不需要的功能)以及破坏学习算法。
    对训练后的模型的攻击可以是白盒或黑盒,并且涉及确定对抗性示例,这些示例将迫使模型给出不良结果。
    对于白盒攻击,攻击者完全了解用于训练模型的算法以及所使用的设置和参数。
    攻击者使用此知识来生成对抗性示例,例如,通过对输入进行较小的扰动并监视导致模型发生较大变化的扰动。
    通过黑匣子攻击,攻击者无法访问模型的内部工作原理或知识,也无法了解其训练方法。
    在这种情况下,攻击者首先使用该模型确定其功能,然后构建提供相同功能的“重复”模型。然后,攻击者使用白盒方法来识别此重复模型的对抗示例。由于对抗性示例通常可以迁移,因此相同的对抗性示例通常也可以在(黑匣子)模型上使用。

    展开全文
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...
  • 第一部分:人工智能测试的介绍 第二部分:人工智能系统的特性和验收标准 第三部分:机器学习 第四部分:机器学习的性能指标和基准 第五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:...
  • 5.There’s no AI without architecture and design 6. Don’t expect 100% 7. Is your test data REALLY representative? 8. What’s the ethical / legal / societal impact? 9. Where are the outputs of ...
  • 人工智能测试 什么是人工智能,人工智能是怎么测试的。可能是大家一开始最想了解的。 大家看图中关于人工智能的定义。通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务;比如看懂照片,听懂说话,思考等等...
  • 人工智能测试 什么是人工智能,人工智能是怎么测试的。可能是大家一开始最想了解的。 大家看图中关于人工智能的定义。通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务;比如看懂照片,听懂说话,...
  • 第一篇主要介绍了 人工智能测试、测试什么、测试数据等。第二篇主要介绍测试用例和测试报告。 之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试。 测试用例 人工智能 (AI) 测试 或者说是 算法...
  • AI人工智能测试

    2019-07-18 16:48:30
    Applitool 工具 Appvance IQ Eggplant AI自动化 4.MABL 5.ReTest 6.Sauce Labs 7.Sealights 8.Test.AI 9.Testim http://www.sohu.com/a/226070300_453160
  • 随着计算机视觉算法和现代人工智能AI)技术应用的发展,编写可视化测试已经成为现实。由于在测试中加入AI,自动测试也变为可能。我们可以将无聊、重复的工作交给AI,这样测试 随着计算机视觉算法和现代人工智能...
  • 人工智能AI)的定义 通俗点定义,AI就是让机器实现原来只有人类才能完成的任务 目前最广泛的AI的四种测试类型: 机器学习项目的测试 推荐系统项目的测试 图像识别项目的测试 自然语言处理项目的测试 要...
  • 一、了解人工智能1.1、对人工智能的理解:人工智能(AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学(定义)。**人工智能利用机器学习技术**,通过对现有的经过处理(筛选...
  • 本篇文章主要是讲述在人工智能应用领域对智能性的测试,基于场景和任务的测试体系的描述,以及介绍了如何设计智能性测试中基于仿真的测试及其测试指标,并在智能车这一典型人工智能领域举例说明。人工智能AI)通常...
  • 非原创人工智能测试SGSGSGSGSGSGSGSGSGS非原创人工智能测试SGSGSGSGSGSGSGSGSGS非原创人工智能测试SGSGSGSGSGSGSGSGSGS非原创人工智能测试SGSGSGSGSGSGSGSGSGS非原创人工智能测试SGSGSGSGSGSGSGSGSGS非原创人工智能...
  • AI测试工程师所需的技能以及如何测试机器智能 TESTING OF ARTIFICIAL INTELLIGENCE AI QUALITY ENGINEERING SKILLS – AN INTRODUCTION google到一篇有说AI测试相差的文章,pdf。 一、A/B 测试 二、输入值测试 ...
  • https://blog.csdn.net/lhh08hasee/article/details/100534862
  • 近些年,人工智能受到了极大的关注,其主要还归功于深度学习的兴起,极大地推动了智能机器人、计算机视觉、自然语言处理等领域的发展。 有一次我问5岁的侄女“你知道人工智能吗”,她回答:“人工智能好吃吗?”从小...
  • 人工智能(AI)。这是很多人只从好莱坞电影中了解到的东西,给人的印象是它不会在不久的将来影响他们的生活。在现实中,人工智能已经改变了我们的日常生活,改善了人类的健康、安全和生产力。与电影中不同的是,未来...
  • 人工智能测试方法--探索

    万次阅读 2018-01-09 18:30:09
     再讲如何测试人工智能产品之前,我觉得我要先跟不熟悉人工智能的同学们解释一下什么是人工智能。毕竟想要测试一个东西,就要先了解它么。用一句话来概括现阶段的人工智能就是:人工智能=大数据+机器学习。  我...
  • 开源 AI 测试专题震惊!AI成功落地自动化测试AI 软件测试工具 Mabl 快速概览AI测试工具 Mabl - 测试用例自动自愈Sauce Labs 的持续 UI 自动化测试云疫情中诞...
  • 模型评估测试 Accuracy(准确率) Precision(精确率) Recall(召回率) ROC曲线 AUC值 Kappa系数 OOB误差 Kappa系数 Kappa系数是一种度量分类结果一致性的统计量, 是度量分类器性能稳定性的依据, Kappa系数值越大,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 262,100
精华内容 104,840
关键字:

ai测试