当前位置: 首页 > 专利查询>天津大学专利>正文

基于有导向模型变异的深度学习库测试方法技术

技术编号:26971993 阅读:30 留言:0更新日期:2021-01-06 00:03
本发明专利技术公开了一种基于有导向模型变异的深度学习库测试方法,该方法的技术方案包括三点:(1)模型变异规则;(2)基于启发式搜索策略的变异模型生成;(3)基于差异测试的深度学习库测试预言进行不一致性缺陷计算、缺陷定位。本发明专利技术首次利用模型变异和启发式搜索策略有导向地生成大量结构不同的深度学习模型,利用差异测试的思想来对深度学习库进行测试,实现了新颖的深度学习库测试技术LEMON。与现有技术相比,本发明专利技术能够为揭露DL库的缺陷提供助益。

【技术实现步骤摘要】
基于有导向模型变异的深度学习库测试方法
本专利技术涉及深度学习应用和深度学习库测试领域,特别是涉及一种深度学习库自动化测试方法。
技术介绍
深度学习(DeepLearning,简称DL)模型由多层组成,每层由一定数量的神经元构成。不同层之间的神经元依据不同的权重进行连接,该权重通过训练输入数据获得。深度神经网络(DeepNeuralNetwork,简称DNN)中的层可以对输入数据进行特定类型的转换,例如卷积和池化。在DNN中同一类型的层可以在多处被重复调用,处于不同位置的层的性能可能会有所不同,其具体效果取决于该层神经元权重的数值大小。目前DL领域存在两种主流的DNN架构,即卷积神经网络(CNN)和循环神经网络(RNN)。卷积神经网络中包含卷积计算,通常用于处理图像等具有网格状拓扑结构的数据,例如VGG19、Xception等。循环神经网络则使用循环来保留学习到的状态信息,并且主要用于处理自然语言文本,语音等序列数据,例如LSTM、GRU等。DL平台通常提供高层级和低层级的库。开发人员通过使用高层级库的应用程序编程接口(Applicat本文档来自技高网...

【技术保护点】
1.一种基于有导向模型变异的深度学习库测试方法,其特征在于,该方法包括以下步骤:/n步骤一:进行算法初始化,即:对于给定的初始模型和给定的一组DL库,首先加载输入数据集和初始模型到内存中,获取输入数据集在使用初始模型时在所有DL库下输出的预测概率向量(O

【技术特征摘要】
1.一种基于有导向模型变异的深度学习库测试方法,其特征在于,该方法包括以下步骤:
步骤一:进行算法初始化,即:对于给定的初始模型和给定的一组DL库,首先加载输入数据集和初始模型到内存中,获取输入数据集在使用初始模型时在所有DL库下输出的预测概率向量(O1,O2,......,Om),并基于公式(3)、公式(4)计算不同DL库下的输出的预测概率向量之间的D_MAD值,将初始模型加入到种子池作为初代种子;模型在DL库J和DL库K下输出的预测概率向量分别为OJ和OK,D_MAD的值;



公式(3)计算预测概率向量O和事实向量G的差异值;
其中,oi和gi分别表示向量O和G对应位置的元素,m表示向量中元素的个数,i表示求和公式中的任一元素索引;



公式(4)基于公式(3)来计算D_MAD的值;
其中,G为事实向量,OJ和OK表示模型在DL库J和DL库K下输出的预测概率向量;
步骤二:生成基于启发式索策略的变异模型,即:在每一次迭代中,依据优先级分数分别选择当前迭代所需的种子模型和变异规则;在种子模型选择阶段,首先根据公式(5)计算种子池中所有种子的优先级分数;基于公式(6)计算对应的种子模型此轮迭代被选中的概率值;在种子模型选择阶段,采用轮盘选择策略依据各个种子模型的概率值来选出所需种子模型;在变异规则的选择阶段,依据上轮迭代选择的变异规则,通过公式(7)计算出各个变异规则的优先级分数,基于公式(8)所表示的MH算法来计算当前阶段所需变异规则;在种子模型选择和变异规则选择完毕之后,将变异规则应用到种子模型上,生成变异模型;当获得100个变异模型之后,算法过程终止;
针对种子模型的优先级分数来衡量模型在下一迭代中被选择的优先级大小如公式(5)所示:



其中,ci表示种子模型si在历史迭代中被选择进行变异的次数;
种子模型在历史上的被选中的次数越少,其在下一迭代中的优先级分数越高;
基于轮盘选择策略来选择下一迭代的种子模型,选择概率pi计算如公式(6)所示:



根据种子模型si的分数值scorei计算其在下一次迭代中的被选中进行变异的概率pi,而后利用轮盘选择策略来选择用于变异的种子模型,其中,r表示种子池中模型的数量,k表示当前种子池中任一种子模型的索引;

【专利技术属性】
技术研发人员:陈俊洁闫明王赞刘爽张栋迪
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1