CN111858348A - 一种基于神经网络输出向量的测试数据度量方法 - Google Patents

一种基于神经网络输出向量的测试数据度量方法 Download PDF

Info

Publication number
CN111858348A
CN111858348A CN202010712781.2A CN202010712781A CN111858348A CN 111858348 A CN111858348 A CN 111858348A CN 202010712781 A CN202010712781 A CN 202010712781A CN 111858348 A CN111858348 A CN 111858348A
Authority
CN
China
Prior art keywords
test data
data
neural network
model
test
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
CN202010712781.2A
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 CN202010712781.2A priority Critical patent/CN111858348A/zh
Publication of CN111858348A publication Critical patent/CN111858348A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • 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

Landscapes

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

Abstract

一种基于神经网络输出向量的测试数据度量方法,其特征是对大量未经人工标注的数据按照某种度量进行优先级排序,以此减少人工数据标注的成本,同时避免对智能软件系统的可靠性质量保障工作产生负面作用。本发明包括三个组成部分:模型数据模块,算法度量模块,结果展示模块。该方法既能够有效地提高模型的推理性能,同时也能够大幅度地降低人工数据标注的成本。

Description

一种基于神经网络输出向量的测试数据度量方法
技术领域
本发明属于软件测试领域,特别是涉及到测试数据度量以及测试优先级排序。能够对大量未经人工标注的数据按照某种度量进行优先级排序,以此减少人工数据标注的成本。
背景技术
深度神经网络(DNN)已经广泛地部署在众多软件系统中。DNN在某些特定领域展示了惊人的效果,例如人脸识别、数据预测等方面。但同时DNN在某些输入下会表现出错误的行为,在某些安全攸关的情境下会导致重大事故,甚至生命损失。因此,如何保证DNN的可靠性成为了一个关键的问题。考虑到形式化验证的局限性以及较低的工程效率,因此目前保障软件系统可靠性的方法还是进行大规模的软件测试。对于一个神经网络的软件系统,数据集标签的获取通常比获取数据集本身要困难的多,前者需要花费大量的人力进行标签工作。这不仅提高了整个项目的开发成本,同时也拖慢了项目的开发效率。
但是,为给定输入产生正确的测试标签通常在自动化测试中不可用。为了获得测试标签信息,基于DNN系统的测试任务通常需要花费大量的人力来标记测试数据,这大大拖慢了软件质量保证的进展。目前广为流行的一种解决方法是对总量庞大的数据集进行过滤,从中选取出对提升系统性能较为有效的测试用例,之后针对这部分测试用例进行人工标签,这样可以最大程度上减少数据标注的成本。这种想法的依据是基于DNN智能软件系统往往已经能够对大部分输入数据表现出符合预期的行为,因此并没有必要对全部测试集数据进行标注。这种方法的关键问题在于如何度量测试用例的有效性。考虑到DNN软件系统区别于传统的软件系统,其并没有十分清晰的业务逻辑,因此传统软件测试领域的基于分支覆盖、数据流等方法并不适用于智能软件系统。本测试度量平台从智能软件系统基于数据驱动的特点出发,结合神经元覆盖、神经元激活多样性等度量指标,能够对多类型数据按照某个度量标准进行优先级排序。数据标注人员只需要对排序后测试集的前一部分进行人工标注,因为此部分测试数据能够有效地提升软件系统的可靠性。测试度量平台能够有效减少了大量不必要的人工标注工作,同时也不会对智能软件系统的可靠性质量保障工作产生负面作用。
发明内容
本发明要解决的问题是:为确保深度神经网络系统能够在业务场景正确地处理,需要人工对大量测试数据进行标注,这会导致极高的项目开发成本,同时也拖慢了软件项目的开发效率。
本发明的技术方案为:一种基于神经网络输出向量度量的测试数据优先级排序算法,其特征是对输入的大量测试数据按照导致神经网络误判的概率对这个测试数据进行排序,而后只需人工标注前一部分测试数据即可。该方法包含以下三个模块:
1)模型数据模块:用于接收用户提交的数据集和模型文件,模型可以是已经训练好的模型文件,也可以是模型的定义文件。本模块的主要复杂度在于支持不同的深度学习框架。为减少工程的复杂性,用户只需用一种预先规定好的描述语言对模型结构进行描述即可,无需采用具体某种深度学习框架进行代码编写。其中的代码翻译模块会将描述语言自动转为指定框架的实现代码,从而做到一次编写,即可运行在任意的深度学习框架之上。
2)算法度量模块:该模块集成了关键的测试数据度量算法,通过对神经网络的输出层进行统计意义上的计算,即可得出该测试数据是否会导致神经网络造成较大的误判。通过对整个数据集都进行这种计算,最后按照此标准对数据集进行排序,即可得到针对该网络模型有价值的测试数据。
3)结果展示模块:该模块主要负责前端交互组件,例如展示最终的排序结果以及这部分测试用例的CAM和CTM指标,让用户更好地了解此次测试优先级排序过程。
本发明的特点在于:
1. 首次将测试优先级的思想引入神经网络测试。
2. 首次将模型和具体的深度学习框架解耦,做到一次设计,即可运行在各个平台之上。
3. 提供交互式的实时响应前端,同时对测试排序后的结果进行较好的可视化。
附图说明
图1为本发明实施总流程图。
图2为预处理过程图。
图3为算法度量过程。
具体实施方式
本专利通过测试数据度量算法来实施大量测试数据的优先级排序,主要采用了测试优先级技术,涉及到的具体关键技术有深度卷积神经网络(CNN)、基尼不纯度、信息熵、平均错误检测率(APFD)等。
1.模型定义翻译
在本发明中,我们通过定义一种统一的中间语言来完成用户模型逻辑的搭建工作,具体来说用户可以通过XML的方式来定义模型结构,代码翻译器会自动将XML的模型定义文件转化为对应深度学习框架下的Python代码。此后,每适配一种新的框架,只需要编写相应的代码转换逻辑即可。
2.测试数据度量
本发明中,我们采用基尼不纯度和信息熵等方式,来对神经网络的输出向量进行计算。根据机器学习相关理论,计算结果越大表明该神经网络对该测试数据的推理越不自信,即越有可能出现错误。
3.度量结果展示
在本发明中,我们采用echart等方式对度量后的结果进行展示,包括实际的CAM和CTM数值以及APFD,同时Top10的测试数据会被可视化的方式展现出来,以方便使用人员对测试数据的特性有一个更好的理解。
在本实例中,该度量算法在图像分类的任务上,使用CIFAR-10数据集,可以帮助软件开发人员减少了90%的人工数据标注的成本,同时通过针对排序后数据的重训练,模型的性能能够提升5~10%。因此该方法既能够有效地提高模型的推理性能,同时也能够大幅度地降低人工数据标注的成本。

Claims (4)

1.一种基于神经网络输出向量的测试数据度量方法,其特征是对大量未经人工标注的数据按照某种度量进行优先级排序,以此减少人工数据标注的成本,同时避免对智能软件系统的可靠性质量保障工作产生负面作用。
2.根据权利要求1中的模型定义翻译,其特征是,通过定义一种统一的中间语言来完成用户模型逻辑的搭建工作,具体来说用户可以通过XML的方式来定义模型结构,代码翻译器会自动将XML的模型定义文件转化为对应深度学习框架下的Python代码。
3.根据权利要求1中的测试数据度量,其特征是,通过采用基尼不纯度和信息熵等方式,来对神经网络的输出向量进行计算;根据机器学习相关理论,计算结果越大表明该神经网络对该测试数据的推理越不自信,即越有可能出现错误。
4.对于权利要求1中的度量结果展示,其特征是,通过采用echart等方式对度量后的结果进行展示,包括实际的CAM和CTM数值以及APFD,同时Top10的测试数据会被可视化的方式展现出来,以方便使用人员对测试数据的特性有一个更好的理解。
CN202010712781.2A 2020-07-23 2020-07-23 一种基于神经网络输出向量的测试数据度量方法 Pending CN111858348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010712781.2A CN111858348A (zh) 2020-07-23 2020-07-23 一种基于神经网络输出向量的测试数据度量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010712781.2A CN111858348A (zh) 2020-07-23 2020-07-23 一种基于神经网络输出向量的测试数据度量方法

Publications (1)

Publication Number Publication Date
CN111858348A true CN111858348A (zh) 2020-10-30

Family

ID=72949324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010712781.2A Pending CN111858348A (zh) 2020-07-23 2020-07-23 一种基于神经网络输出向量的测试数据度量方法

Country Status (1)

Country Link
CN (1) CN111858348A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022483A (zh) * 2016-05-11 2016-10-12 星环信息科技(上海)有限公司 机器学习模型之间进行转换的方法与设备
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质
CN111382055A (zh) * 2018-12-29 2020-07-07 贝壳技术有限公司 一种基于统一描述语言的自动化单元测试方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022483A (zh) * 2016-05-11 2016-10-12 星环信息科技(上海)有限公司 机器学习模型之间进行转换的方法与设备
CN111382055A (zh) * 2018-12-29 2020-07-07 贝壳技术有限公司 一种基于统一描述语言的自动化单元测试方法及装置
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FENGYANG 等: "DeepGini_ Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks", pages 1 - 12, Retrieved from the Internet <URL:《arxiv:https://arxiv.org/abs/1903.00661》> *
FENGYANG等: "DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks", 《ARXIV:HTTPS://ARXIV.ORG/ABS/1903.00661》 *
FENGYANG等: "DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks", 《ARXIV:HTTPS://ARXIV.ORG/ABS/1903.00661》, 15 June 2020 (2020-06-15), pages 1 - 12 *
刘二火: "DeepGini:优先进行大规模测试以增", 《CSDN:HTTPS://BLOG.CSDN.NET/WEIXIN_43482279/ARTICLE/DETAILS/107026244》, 29 June 2020 (2020-06-29), pages 1 - 6 *
葛东旭: "《数据挖掘原理与应用》", 北京:机械工业出版社, pages: 124 - 129 *

Similar Documents

Publication Publication Date Title
CN110704633B (zh) 命名实体识别方法、装置、计算机设备及存储介质
CN109242033B (zh) 晶片缺陷模式分类方法及装置、存储介质、电子设备
CN111598860B (zh) 基于嵌入自注意力门模块的yolov3网络的锂电池缺陷检测方法
WO2023236836A1 (zh) 故障工单的质检方法、设备及存储介质
CN113609965A (zh) 文字识别模型的训练方法及装置、存储介质、电子设备
CN112036168A (zh) 事件主体识别模型优化方法、装置、设备及可读存储介质
WO2023241102A1 (zh) 一种标签识别方法、装置、电子设备及存储介质
CN113377484A (zh) 弹窗处理方法及装置
CN113870846B (zh) 基于人工智能的语音识别方法、装置及存储介质
CN112966957A (zh) 一种数据链路异常定位方法、装置、电子设备及存储介质
CN115294397A (zh) 一种分类任务的后处理方法、装置、设备及存储介质
CN112669814B (zh) 一种数据处理方法、装置、设备及介质
CN111858341A (zh) 一种基于神经元覆盖的测试数据度量方法
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN111858348A (zh) 一种基于神经网络输出向量的测试数据度量方法
CN117009223A (zh) 基于抽象语法的软件测试方法、系统、存储介质及终端
CN110032714B (zh) 一种语料标注反馈方法及装置
CN116910657A (zh) 一种基于无监督学习的故障诊断方法和设备
CN114692767B (zh) 异常检测方法和装置、计算机可读存储介质、电子设备
CN110826616A (zh) 信息处理方法及装置、电子设备、存储介质
CN111522750B (zh) 一种功能测试问题的处理方法及系统
CN111400606B (zh) 一种基于全局和局部信息抽取的多标签分类方法
CN114580399A (zh) 文本纠错方法、装置、电子设备及存储介质
CN114625860A (zh) 一种合同条款的识别方法、装置、设备及介质
CN113342982A (zh) 融合RoBERTa和外部知识库的企业行业分类方法

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