CN111881040A - 一种基于循环神经网络的抽象状态模型的测试数据生成方法 - Google Patents
一种基于循环神经网络的抽象状态模型的测试数据生成方法 Download PDFInfo
- Publication number
- CN111881040A CN111881040A CN202010727743.4A CN202010727743A CN111881040A CN 111881040 A CN111881040 A CN 111881040A CN 202010727743 A CN202010727743 A CN 202010727743A CN 111881040 A CN111881040 A CN 111881040A
- Authority
- CN
- China
- Prior art keywords
- neural network
- model
- test
- abstract
- coverage
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 95
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000000306 recurrent effect Effects 0.000 title claims description 39
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 22
- 238000003062 neural network model Methods 0.000 claims abstract description 12
- 230000007547 defect Effects 0.000 claims abstract description 7
- 238000012546 transfer Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 11
- 210000002569 neuron Anatomy 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 12
- 230000006399 behavior Effects 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 8
- 230000035772 mutation Effects 0.000 description 5
- 238000013522 software testing Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于循环神经网络的抽象状态模型的测试数据生成方法,其特征是在提供循环神经网络模型即及测试数据后,跟据其内部状态和转移规律进行抽象生成相应的抽象状态模型,对生成的抽象模型进行模糊测试,从而发现潜在的缺陷。本发明包括四个组成部分:抽象模型构建模块,模糊测试模块,覆盖标准定义模块,数据展示模块。上传循环神经网络模型与样本数据,系统在给定神经网络与样本数据后即可开始模糊测试生成。系统对循环神经网络进行模型抽象,构建出抽象状态模型;通过变异算法对原始样本数据产生变异,从而生成大量的测试数据。并在特定覆盖标准下完成测试。
Description
技术领域
本发明属于软件测试领域,特别是涉及到循环神经网络的测试方法。在提供循环神经网络模型即及测试数据后,跟据其内部状态和转移规律进行抽象生成相应的抽象状态模型,对生成的抽象模型进行模糊测试,从而发现潜在的缺陷。
背景技术
深度学习在许多实际领域内取得了重大进展,例如图像处理、语音识别、自然语言处理和自动驾驶等。然而,最先进的深度学习系统仍然存在质量、可靠性和安全性问题,这可能会导致事故和灾难性事件。深度学习系统的早期测试对发现缺陷、提高系统质量具有重要意义。尽管传统软件的分析过程和测试技术已经很成熟,但是现有的工具不能直接应用于深度学习系统。为了检查深度学习系统中存在的潜在问题,借鉴于传统软件的测试技术,目前学术界涌现出了一系列关于卷积神经网络和全连接神经网络等前馈神经网络的测试循环神经网络(RNN)是一类具有短期记忆能力的神经网络。
然而循环神经网络并不适用于这些现有的深度学习系统测试技术。在循环神经网络中,神经元不但可以接受其它神经元的信息,也可以接受自身的信息,形成具有环路的网络结构。和前馈神经网络(FNN)相比,循环神经网络更加符合生物神经网络的结构。循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上。与前馈神经网络相比,循环神经网络通过内部状态的循环和记忆来记录时间行为,以考虑过去或未来的观测的影响,循环神经网络的有状态特性使它在处理顺序数据如音频,文本等方面有着优秀的表现。
循环神经网络由于其通过环路实现时间行为,并通过内部状态记忆来考虑过去或未来观测的影响,从而使得其内部行为十分复杂。因此,一个显著的问题在于其输入的高维性和内部潜在特征空间的巨大性,使得训练循环神经网络时产生很多高维状态向量,这使得在有限的预算中几乎不可能测试其内部状态变化情况。
基于覆盖引导的神经网络模糊测试是一种自动化测试技术,它在传统的模糊测试基础之上,选取一批数据作为初始种子,利用数据变异策略对种子数据生成大量的样本并将其作为程序输入,以覆盖为导向进行数据的扩增,旨在达到高覆盖率的同时检测到系统的错误行为,以及找到极端状况的测试样本增强系统的健壮性。模糊测试框架主要由数据变异、反馈指导和模糊策略三个方面组成。
基于现有研究,本发明以现有的神经网络模糊测试工作流为基础,针对于循环神经网络的抽象状态模型,利用覆盖标准与变异策略对给定的循环神经网络模型进行模糊测试,生成大量测试数据并提高模型的覆盖率。
发明内容
本发明要解决的问题是:深度学习测试中循环神经网络内部具有回路导致内部状态难以测试的问题。我们的发明能够根据循环神经网络内部状态和转移规律,将其构建为一个容易分析,易于理解的抽象状态模型,通过对抽象状态模型进行模糊测试,在达到高覆盖率的同时检测到系统的错误行为,解决循环神经网络难以测试问题。
本发明的技术方案为:一种基于循环神经网络的抽象状态模型的测试数据生成
方法,其特征是能够根据循环神经网络模型即及测试数据生成一个抽象状态模型,然后对抽象状态模型进行模糊测试。该生成方法包含以下四个模块:
1) 抽象模型构建模块:我们将用户上传的数据作为循环神经网络的输入,在神经网络的内部运算过程中,收集其内部神经元的数值及变化规律,这些神经元按次序排列组成循环神经网络的状态向量。这些状态向量通常是连续的,高维的。我们将收集到的循环神经网络的状态向量作为输入,对于这些状态向量以相同的方式进行分段,在不同的分量中指定不同的上下限,再将其离散化,离散化后的状态向量为抽象状态向量。得到状态向量之后,根据训练集数据中状态之间的转移频率构建状态转移概率,其反映了状态特征之间的转移规律。将得到的抽象状态特征与转移规律用来构建为一个抽象状态转移系统模型。抽象状态模型简化原有循环神经网络中内部的状态和轨迹的同时,保留了原始模型的特征信息。
2) 模糊测试模块:在传统的软件测试中,模糊测试技术用于缺陷和漏洞检测,其主要由数据变异、反馈指导和模糊策略这三大部分组成。受传统软件测试技术启发,深度学习系统中的模糊测试数据生成技术以最大化神经网络的覆盖和系统输出多样性的方式来产生测试,以期找到极端状况的测试样本增强系统的健壮性。本发明的模糊测试模块包含以下功能:初始化种子,构建种子池,种子选取,执行变异操作,数据筛选,覆盖反馈。我们将循环神经网络对应的抽象状态模型和初始数据作为输入,利用上述流程执行测试过程,在测试流程结束后,输出生成数据及测试报告,方便测试人员进行错误排查。
3) 覆盖标准定义模块:模糊测试的一个关键指标在于覆盖指标的选择,我们将循环神经网络的覆盖标准定义在基于抽象状态模型的状态与转移的覆盖情况的基础之上,其目标是测量测试数据在执行已训练行为和未见行为时的完整性和彻底性。通过在覆盖模块中使用该覆盖标准,可以达到高覆盖率的同时快速的发现神经网络中潜在的错误。4) 数据展示模块:我们将测试接口整合在一个网页上,并将测试结果整合在一个报告上。测试报告包括模型部分与数据部分。模型部分:原始循环神经网络结构包括输入序列长度,神经元个数,以及输出序列长度;抽象状态模型结果包括状态数量个数。测试报告以可视化的形式将模型结构信息显示出来以供测试人员查看。数据部分:数据部分包括原始样本数据与实施模糊测试过程中生成的数据。原始样本数据包括样本集数量,样本类型,样本尺寸大小,样本的覆盖率;生成数据包括生成样本数量,生成后的数据所达到的覆盖率。
本发明的特点在于:
1. 根据循环神经网络的内部状态与转移规律抽象为一个状态模型。
2. 使用模糊测试方法对抽象状态模型进行测试分析。
3. 使用可视化的方式提供测试生成报告。
附图说明
图1为本发明实施总流程图。
图2为关键步骤1流程图。
图3为关键步骤2流程图。
具体实施方式
本专利通过对循环神经网络的抽象状态模型的模糊测试来实施循环神经网络的测试数据生成,主要采用了抽象模型构建技术和模糊测试技术,涉及到的具体关键技术有循环神经网络(RNN)、抽象模型构建技术、基于覆盖的模糊测试技术等。
1.抽象模型构建
在本发明中,我们采用循环神经网络的内部神经元的数值按次序排列组成循环神经网络的状态向量。我们将循环神经网络模型的内部状态和状态关系以形式化的方式给出,并以此为基础来描述其特征。神经网络可以抽象地表示为一个可微的参数化函数f(),其输入可以向量化表示为x∈X,。循环神经网络再接收到一个输入x后,其内部状态s∈S组成一个状态序列向量。令当前循环神经网络状态序列中的的第i个状态为si∈S, 输入序列中的第i个元素为xi∈X,则循环神经网络中的相邻状态关系可表示为(si+1,yi)=f(si,xi),其中yi是在该步骤所的对应输出。
首先,我们通过将原始数据依次通过循环神经网络 从而得到原始数据集对应的状态向量。其次,我们采用离散化的方式,将原始数据对应的高维的,连续的状态向量转化为低维的,连续的抽象状态向量。当前状态si以向量化表示为(si1,...,sim),对于每个状态向量分量,在给定每个分量值的上下限之后,我们将其分为k个部分,从而将高维的稀疏的原始状态向量离散化,得到抽象状态s',其反映了原始循环神经网络的抽象状态特征。最后,我们采用状态模型来对循环神经网络的内部结构与性质进行建模。根据训练集数据集得到状态向量,并转化为抽象状态向量之后,即可得到抽象状态之间的转移频率。通过对所有的抽象状态向量统计,即可得出抽象状态之间的转移频率。根据训练集数据中状态之间的转移频率构建状态转移概率,得出状态转移矩阵。将得到的抽象状态特征与转移规律用来构建为一个状态转移系统。抽象状态模型简化原有RNN中内部的状态和轨迹的同时,保留了原始模型的特征信息。
2.模糊测试
本发明中,我们采用基于覆盖引导的神经网络模糊测试,对循环神经网络的抽象状态模型,利用覆盖标准与变异策略对给定的循环神经网络模型进行模糊测试,生成大量测试数据并提高模型的覆盖率。基于覆盖引导的神经网络模糊测试是一种自动化测试技术,它在传统的模糊测试基础之上,选取一批数据作为初始种子,利用数据变异策略对种子数据生成大量的样本并将其作为程序输入,以覆盖为导向进行数据的扩增,旨在达到高覆盖率的同时检测到系统的错误行为,以及找到极端状况的测试样本增强系统的健壮性。
基于覆盖引导的循环神经网络模糊测试方法有如下迭代步骤:(1)测试过程从一组作为种子库的测试用例开始,并基于启发式算法从中选择一个测试数据作为初始种子;(2)对种子采用变异策略进行一定次数的变异以生成新的突变体;(3)将新生成的输入通过神经网络并观察;(4)若产生的突变体与预期有很大的差异,那么它就被标记为失败的测试;若突变体提高了测试覆盖率,则将其保存到种子库中。总的来说,基于覆盖引导的循环神经网络模糊测试技术在提高目标覆盖率,评估模型质量,检测错误行为上有着重要的作用。
3.覆盖标准定义
循环神经网络的覆盖标准是基于抽象状态模型的状态与转移的覆盖情况定义的,其目标是测量测试数据在执行已训练行为和未见行为时的完整性和彻底性。其覆盖标准定义由如下给出:设测试的训练集为T,测试集为M,为了衡量测试集相对于训练集的覆盖情况,则覆盖标准定义为训练和测试输入访问的抽象状态的数量相对于训练输入访问的状态的数量,其公式如下
这一覆盖标准需要选出有代表性的抽象状态集,并根据通过执行上述覆盖标准验证模型的行为,并通过达到高覆盖率以发现神经网络中的潜在的缺陷。
在本实例中,测试人员打开网页后,点击按钮即可上传循环神经网络模型与样本数据,系统在给定神经网络与样本数据后即可开始模糊测试生成。系统对循环神经网络进行模型抽象,构建出抽象状态模型;通过变异算法对原始样本数据产生变异,从而生成大量的测试数据。并在特定覆盖标准下完成测试。整个测试过程对于测试人员来讲是透明的,测试消耗的时间取决于模型的复杂度与数据集的大小。在模糊测试完成后,用测试人员可通过系统生成的测试报告来了解本次测试结果。
Claims (4)
1.一种基于循环神经网络的抽象状态模型的测试数据生成方法,其特征是在提供循环神经网络模型即及测试数据后,跟据其内部状态和转移规律进行抽象生成相应的抽象状态模型,对生成的抽象模型进行模糊测试,从而发现潜在的缺陷。
2.根据权利要求1中的抽象模型构建,其特征是,通过采用循环神经网络的内部神经元的数值按次序排列组成循环神经网络的状态向量,将循环神经网络模型的内部状态和状态关系以形式化的方式给出,并以此为基础来描述其特征。
3.根据权利要求1中的模糊测试,其特征是,通过采用基于覆盖引导的神经网络模糊测试,对循环神经网络的抽象状态模型,利用覆盖标准与变异策略对给定的循环神经网络模型进行模糊测试,生成大量测试数据并提高模型的覆盖率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010727743.4A CN111881040A (zh) | 2020-07-23 | 2020-07-23 | 一种基于循环神经网络的抽象状态模型的测试数据生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010727743.4A CN111881040A (zh) | 2020-07-23 | 2020-07-23 | 一种基于循环神经网络的抽象状态模型的测试数据生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111881040A true CN111881040A (zh) | 2020-11-03 |
Family
ID=73201470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010727743.4A Pending CN111881040A (zh) | 2020-07-23 | 2020-07-23 | 一种基于循环神经网络的抽象状态模型的测试数据生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881040A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328496A (zh) * | 2020-11-27 | 2021-02-05 | 杭州新州网络科技有限公司 | 全栈式的循环神经网络深度学习系统安全分析与检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846816A (zh) * | 2017-04-12 | 2017-06-13 | 山东理工大学 | 一种基于深度学习的离散化交通状态判别方法 |
CN110046663A (zh) * | 2019-04-16 | 2019-07-23 | 重庆大学 | 一种复杂机电系统故障临界态辨识方法 |
CN111062621A (zh) * | 2019-12-19 | 2020-04-24 | 中山大学 | 一种基于aigan的对原始观测数据的动作规划方法 |
CN111428818A (zh) * | 2020-04-22 | 2020-07-17 | 浙江工业大学 | 基于神经通路激活状态的深度学习模型测试方法与装置 |
-
2020
- 2020-07-23 CN CN202010727743.4A patent/CN111881040A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846816A (zh) * | 2017-04-12 | 2017-06-13 | 山东理工大学 | 一种基于深度学习的离散化交通状态判别方法 |
CN110046663A (zh) * | 2019-04-16 | 2019-07-23 | 重庆大学 | 一种复杂机电系统故障临界态辨识方法 |
CN111062621A (zh) * | 2019-12-19 | 2020-04-24 | 中山大学 | 一种基于aigan的对原始观测数据的动作规划方法 |
CN111428818A (zh) * | 2020-04-22 | 2020-07-17 | 浙江工业大学 | 基于神经通路激活状态的深度学习模型测试方法与装置 |
Non-Patent Citations (2)
Title |
---|
DUXIAONING等: "DeepCruiser:Automated Guided Testing for Stateful Deep Learning Systems", 《ARXIV:HTTPS://ARXIV.ORG/PDF/1812.05339V1.PDF》 * |
年糕糕糕: "[论文解读] DeepCruiser: Automated Guided Testing for Stateful Deep Learning Systems", 《CSDN:HTTPS://BLOG.CSDN.NET/QQ_33935895/ARTICLE/DETAILS/105994956》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328496A (zh) * | 2020-11-27 | 2021-02-05 | 杭州新州网络科技有限公司 | 全栈式的循环神经网络深度学习系统安全分析与检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | Discriminative deep belief networks with ant colony optimization for health status assessment of machine | |
CN105572572B (zh) | 基于wknn-lssvm的模拟电路故障诊断方法 | |
CN114509266B (zh) | 一种基于故障特征融合的轴承健康监测方法 | |
CN111949535B (zh) | 基于开源社区知识的软件缺陷预测装置及方法 | |
Shen et al. | Weighted nonlinear dynamic system for deep extraction of nonlinear dynamic latent variables and industrial application | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN117034143B (zh) | 一种基于机器学习的分布式系统故障诊断方法及装置 | |
CN114357594A (zh) | 一种基于sca-gru的桥梁异常监测方法、系统、设备及存储介质 | |
CN112507479B (zh) | 一种基于流形学习和softmax的石油钻机健康状态评估方法 | |
CN115757103A (zh) | 基于树结构的神经网络测试用例生成方法 | |
CN116932384A (zh) | 一种基于特征融合和特征选择的软件缺陷预测方法 | |
Ye et al. | A deep learning-based method for automatic abnormal data detection: Case study for bridge structural health monitoring | |
Del Cueto et al. | Determining usefulness of machine learning in materials discovery using simulated research landscapes | |
CN112783513B (zh) | 一种代码风险检查方法、装置及设备 | |
CN111881040A (zh) | 一种基于循环神经网络的抽象状态模型的测试数据生成方法 | |
CN113919540A (zh) | 一种生产过程运行状态的监测方法及相关设备 | |
CN117056678A (zh) | 一种基于小样本的机泵设备运行故障诊断方法及装置 | |
CN116842323A (zh) | 一种供水管线运行数据异常检测方法 | |
CN114565051B (zh) | 基于神经元影响程度的产品分类模型的测试方法 | |
CN116910526A (zh) | 模型训练方法、装置、通信设备及可读存储介质 | |
CN115712574A (zh) | 一种面向人工智能组件的测试用例生成方法 | |
Schlegel et al. | Modelspex: Model specification using explainable artificial intelligence methods | |
Bashar et al. | ALGAN: Time Series Anomaly Detection with Adjusted-LSTM GAN | |
CN113392921B (zh) | 一种数据驱动的风控策略规则生成方法及系统 | |
CN115329906B (zh) | 一种基于图正则化网络的故障诊断方法及装置 |
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 |