CN111881033A - 一种基于运行环境误差分析的深度学习模型质量评估方法 - Google Patents

一种基于运行环境误差分析的深度学习模型质量评估方法 Download PDF

Info

Publication number
CN111881033A
CN111881033A CN202010714667.3A CN202010714667A CN111881033A CN 111881033 A CN111881033 A CN 111881033A CN 202010714667 A CN202010714667 A CN 202010714667A CN 111881033 A CN111881033 A CN 111881033A
Authority
CN
China
Prior art keywords
operator
model
quality
deep learning
error analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010714667.3A
Other languages
English (en)
Inventor
陈振宇
章许帆
许子桓
刘佳玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Muzhi Technology Co ltd
Original Assignee
Shenzhen Muzhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Muzhi Technology Co ltd filed Critical Shenzhen Muzhi Technology Co ltd
Priority to CN202010714667.3A priority Critical patent/CN111881033A/zh
Publication of CN111881033A publication Critical patent/CN111881033A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

一种基于运行环境误差分析的深度学习模型质量评估方法,算子误差分析评估模块、输入生成模块和模型质量评估模块。在算子误差分析评估模块,通过不同深度学习框架中提供的算子实例进行测试执行,以得到的结果计算相对误差。在输入生成模块,利用基于变异的模糊测试技术,通过引入一系列变异方法,基于已有的测试数据生成充分的测试数据。在模型质量评估模块,基于算子误差分析模块对于算子实例的准确性和稳定性判断,分别使用不同深度学习库中的算子实例构建模型实例,建立算子质量与模型质量之间的关系模型。

Description

一种基于运行环境误差分析的深度学习模型质量评估方法
技术领域
本发明属于软件测试领域,特别是涉及到基于深度学习的模型质量评估。对构建当前模型所使用的算子进行误差分析,刻画单个模型算子的误差传播能力,通过量化算子质量与模型质量之间的关系,进而实现深度学习模型的质量评估。
背景技术
近年来,智能软件发展迅速,集成了深度学习技术的智能应用系统已经关系到社会生活的方方面面。因此,保障深度学习应用质量的测试技术也随之有着越发重要的地位。与传统软件不同,深度学习技术不依赖程序员对业务的理解以形式化表达业务逻辑,而是构建深度学习模型并基于大量的训练数据进行学习,这种方式极大地降低了程序的可解释性。因此,针对深度学习模型的新的测试技术在学术界和工业界成为重要热点问题。事实上,由于模型开发者通常基于开源地深度学习库提供地算子进行模型构建,模型的质量一定程度上依赖于底层算子的实现质量。因此,本专利主要从算子质量入手,对模型质量进行评估。
在深度学习模型测试中,对抗样本生成方法通过生成使模型推断出错的输入来评估深度学习模型的鲁棒性。然而,这种基于个体的样本生成方法是否能够解释深度学习模型基于训练数据学习到的知识机理存在一定的争议。此外,目前的深度学习测试工作无法有效区分测试中所表现是模型的参数拟合问题还是底层算子实现所引入的缺陷。而问题的定位工作将极大的增加后期模型质量相关问题修复的难度。这些问题对于深度学习模型质量的评估与定位造成了很大的不便与负担。
现阶段,为了修复对抗样本所暴露的深度学习模型相关的问题,测试人员通常将对抗样本用于对模型再训练。然而,这种通过数据重训练的方式对于数据的完备性有着极高的要求。同时,测试人员也无法直观地查看到模型中产生的修改。此外,通常研究人员认为单个对抗样本不足以说明模型质量相关的问题,这使得深度学习模型质量的评估当前仍缺乏有效的手段。
在深度学习测试方面,为了定位模型结果上的差异,研究者通常借助模型中间层结果的比对来判断Bug引入的位置。在多层的深度学习模型中,中间层的结果将作为下一层的输入。当输入在某一层的输出结果差异较大时,通常会认为最终结果上的差异与该变化有一定的相关性。
基于上述背景,本发明进一步分析了实现模型中间层输出的各个模型组件,即深度学习算子。深度学习算子是一个接收高维入参并返回一个张量结果的运算函数,在深度学习模型中,这些算子往往被认为对输入进行特征提取的操作,其所产生输出即包含了一定的语义信息。因此,本发明基于当前深度学习库中提供的深度学习算子,通过引入差分模糊测试,并以误差分析结果作为评判依据,对算子的质量进行评估,从而进一步实现对依赖这些算子所构建的模型质量的评估。
发明内容
本发明要解决的问题是:深度学习模型质量的评估方法尚未成熟,特别是对模型健壮性的评估方面,单个的对抗样本难以说明和定位深度学习模型中存在的问题。我们的发明从底层算子入手,通过对构建模型的算子质量进行评估,结合算子的精度误差分析,从而为深度学习模型质量的评估提供可靠的判断依据。
本发明的技术方案为:一种基于算子精度误差分析的深度学习模型质量评估方法,其特征为根据对构建模型的算子的精度误差进行评估,并以此作为评判依据对算子实例进行质量评估,进而实现对完整深度学习模型的质量评估。该评估方法包含以下三个模块:
1)算子误差分析评估模块:对目前深度学习框架中提供的深度学习算子进行分析,得到每个算子运算中对输入上的误差值的理论传播范围,作为算子实例准确性与稳定性的判断依据。本项目进一步通过不同深度学习框架中提供的算子实例进行测试执行,以得到的结果计算相对误差。由于不同的算子理论上受误差扰动的程度不同,以及实际模型构建中会涉及多个或多层算子的组合,因此本方法还会对算子组合以及多层算子进行误差分析。
2)输入生成模块:深度学习算子的测试依赖大量的为了实现对算子的充分测试,本模块利用基于变异的模糊测试技术,通过引入一系列变异方法,基于已有的测试数据生成充分的测试数据。在这一步中,我们会基于元素值和张量特征对原始输入进行扰动,同时,考虑到深度学习算子的数值运算特性,触发Bug的输入往往呈现一定的连续性。因此,我们通过多峰分布实现对测试数据分布的模拟。
3)模型质量评估模块:通过上述算子误差分析模块得到关于算子实例的误差分析评估结果,
进一步与模型质量得到评估进行关联。本方法基于算子误差分析模块对于算子实例的准确性和稳定性判断,分别使用不同深度学习库中的算子实例构建模型实例,建立算子质量与模型质量之间的关系模型,即算子的精度如何对模型质量产生影响,从而定位模型中导致输入产生异常的算子实现,实现模型质量的评估。
本发明的特点在于:
在深度学习模型测试中,首次提出从精度稳定性的角度分析模型质量中的问题首次将算子的质量与模型的质量评估进行关联分析
1.首次引入精度误差分析实现对算子准确性和稳定性的评估
附图说明
图1为本发明实施总流程图。
图2为算子误差分析流程图。图 3为变异特征分析流程图。
具体实施方式
以下通过特定的具体的实例说明本发明的实施方式,本领域的技术人员可由本说明书揭露的内容轻易地了解到本发明的其他优点和功效。
本专利通过Keras框架实施算子实例的测试执行,主要采用了差分模糊测试技术,涉及到的具体关键技术有测试数据变异技术,覆盖度量技术,精度误差分析技术,采样技术和变异方法选择技术等。
1、算子理论误差分析
在本发明中,我们使用精度误差分析方法对算子理论上的误差传播能力进行度量。具体实施方式为,通过对给定的算子的数学表示形式,通过对原始输入施加一个微小扰动,观察其在结果上造成的偏差。该偏差极为该算子理论上的误差值。由于各个类型的算子数学表示形式不同,该部分需要对已有的所有类型的深度学习算子分别通过该方法计算其分别对应的理论误差阈值,并得到算子计算误差值的理论误差区间。
2、算子(组合)实例化
本发明中,我们利用目前多个深度学习框架(如TensorFlow,MindSpore等)中提供的深度学习算子实例,进行算子组合实例化,具体包括单类型算子多次运算和多算子运算两种组合形式。算子组合实例化的目的是尽量模拟实际网络中的某一片段,从而得到对该网络片段的质量的评估。同时,组合实例化的方式也可以帮助放大微小的精度扰动,使之能够被测试结果捕捉。
3、测试数据变异方法
在本发明中我们共实现了两大类针对算子的测试数据变异方法,分别为基于元素值的变异和基于特征值的变异。基于元素值的变异针对张量中某一个位置的数值施加扰动,实现浮点数数值的变更,从而得到新的测试数据。基于特征值的变异则通过卷积核提取张量所蕴含的潜在特征,通过保持特征不变的方式获取新的测试数据。
4、模型问题定位
本发明中,将运行环境误差分析所发现的准确性与稳定性问题和模型的质量相关联,定位由于底层算子导致的模型质量问题。具体方法为通过评估算子片段准确性和稳定性,结合对包含该片段的模型质量进行评估,分析出模型质量与算子质量的关联性,定位出由于算子导致的模型问题。
在本实施例中,算子部分选取了目前深度学习框架中常用的模型构建算子,包括卷积、池化、sigmoid、tanh、relu等算子,选取了TensorFlow、MindSpore、PyTorch三个深度学习框架。此外,我们基于常见的3个FNN网络模型,即LeNet、VGG、ResNet。通过对算子进行质量评估,结合网络模型在测试数据集的表现,判断由算子导致的模型问题,完成对模型质量的评估。

Claims (4)

1.一种基于运行环境误差分析的深度学习模型质量评估方法,其特征是对算子组合以及多层算子进行误差分析;通过多峰分布实现对测试数据分布的模拟;建立算子质量与模型质量之间的关系模型,实现模型质量的评估。
2.根据权利要求1所描述的对算子组合以及多层算子进行误差分析,其特征是:对目前深度学习框架中提供的深度学习算子进行分析,得到每个算子运算中对输入上的误差值的理论传播范围,作为算子实例准确性与稳定性的判断依据。本项目进一步通过不同深度学习框架中提供的算子实例进行测试执行,以得到的结果计算相对误差。
3.根据权利要求1所描述的通过多峰分布实现对测试数据分布的模拟,其特征是:利用基于变异的模糊测试技术,通过引入一系列变异方法,基于已有的测试数据生成充分的测试数据。在这一步中,我们会基于元素值和张量特征对原始输入进行扰动,同时,考虑到深度学习算子的数值运算特性,触发Bug的输入往往呈现一定的连续性。
4.根据权利要求1所描述的建立算子质量与模型质量之间的关系模型,实现模型质量的评估。其特征是:基于算子误差分析模块对于算子实例的准确性和稳定性判断,分别使用不同深度学习库中的算子实例构建模型实例,建立算子质量与模型质量之间的关系模型,即算子的精度如何对模型质量产生影响,从而定位模型中导致输入产生异常的算子实现,实现模型质量的评估。
CN202010714667.3A 2020-07-23 2020-07-23 一种基于运行环境误差分析的深度学习模型质量评估方法 Pending CN111881033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010714667.3A CN111881033A (zh) 2020-07-23 2020-07-23 一种基于运行环境误差分析的深度学习模型质量评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010714667.3A CN111881033A (zh) 2020-07-23 2020-07-23 一种基于运行环境误差分析的深度学习模型质量评估方法

Publications (1)

Publication Number Publication Date
CN111881033A true CN111881033A (zh) 2020-11-03

Family

ID=73155369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010714667.3A Pending CN111881033A (zh) 2020-07-23 2020-07-23 一种基于运行环境误差分析的深度学习模型质量评估方法

Country Status (1)

Country Link
CN (1) CN111881033A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193864A (zh) * 2011-05-13 2011-09-21 南京大学 基于覆盖度的错误定位技术的测试用例集优化方法
CN107368887A (zh) * 2017-07-25 2017-11-21 江西理工大学 一种深度记忆卷积神经网络的结构及其构建方法
CN110222831A (zh) * 2019-06-13 2019-09-10 百度在线网络技术(北京)有限公司 深度学习模型的鲁棒性评估方法、装置及存储介质
CN110321995A (zh) * 2019-07-08 2019-10-11 佛山科学技术学院 一种基于随机惯性权重的差分粒子群混合算法
CN110347600A (zh) * 2019-07-11 2019-10-18 中国人民解放军陆军工程大学 面向卷积神经网络的变异覆盖测试方法及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193864A (zh) * 2011-05-13 2011-09-21 南京大学 基于覆盖度的错误定位技术的测试用例集优化方法
CN107368887A (zh) * 2017-07-25 2017-11-21 江西理工大学 一种深度记忆卷积神经网络的结构及其构建方法
CN110222831A (zh) * 2019-06-13 2019-09-10 百度在线网络技术(北京)有限公司 深度学习模型的鲁棒性评估方法、装置及存储介质
CN110321995A (zh) * 2019-07-08 2019-10-11 佛山科学技术学院 一种基于随机惯性权重的差分粒子群混合算法
CN110347600A (zh) * 2019-07-11 2019-10-18 中国人民解放军陆军工程大学 面向卷积神经网络的变异覆盖测试方法及计算机存储介质

Similar Documents

Publication Publication Date Title
CN108664400B (zh) 一种基于相依贝叶斯网络的故障诊断技术的构建方法
Wardat et al. Deeplocalize: Fault localization for deep neural networks
Al Dallal Object-oriented class maintainability prediction using internal quality attributes
Matinnejad et al. Search-based automated testing of continuous controllers: Framework, tool support, and case studies
Luo Software testing techniques
Eski et al. An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes
Ceylan et al. Software defect identification using machine learning techniques
CN107665172B (zh) 一种基于复杂加权软件网络的软件缺陷预测方法
Ananieva et al. Implicit constraints in partial feature models
Goldsby et al. Automatically discovering properties that specify the latent behavior of UML models
CN105975797A (zh) 一种基于模糊数据处理的产品早期故障根原因识别方法
Luo et al. Graph-based fuzz testing for deep learning inference engines
Wang et al. On the use of time series and search based software engineering for refactoring recommendation
Abdurazik et al. Using coupling-based weights for the class integration and test order problem
CN115659335A (zh) 基于混合模糊测试的区块链智能合约漏洞检测方法及装置
Mago et al. Analysis of quality of the design of the object oriented software using fuzzy logic
Dong et al. Prognostics 102: efficient Bayesian-based prognostics algorithm in Matlab
Sanz et al. Leakage localization in water networks using fuzzy logic
CN111881033A (zh) 一种基于运行环境误差分析的深度学习模型质量评估方法
Negi et al. Machine learning algorithm for assessing reusability in component based software development
Dwivedi et al. Applying Neural Network to Determine Patterns in Open Source Software
CN111881040A (zh) 一种基于循环神经网络的抽象状态模型的测试数据生成方法
Ćelosmanović et al. JMetricGrader: A software for evaluating student projects using design object-oriented metrics and neural networks
Kim et al. Feasibility Study of an Explainable AI-based Anomaly Detection for Nuclear Reactor Core Operation in PWRs
Kataria et al. Software Defects Classification Using RNN Model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201103

WD01 Invention patent application deemed withdrawn after publication