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

一种基于语法规则的深度神经网络自动生成方法技术

技术编号:32877982 阅读:40 留言:0更新日期:2022-04-02 12:10
一种基于语法规则的深度神经网络自动生成方法,包括语法规则模块、安全检查模块、迭代生成模块、任务管理模块和数据处理模块。通过语法规则模块建立和更新语法规则,确保生成的深度神经网络模型的静态可用性;安全检查模块负责模拟深度神经网络模型的动态执行情况,以检查模型中的张量和拓扑关系,确保生成的深度神经网络模型的动态可用性;迭代生成模块逐层添加深度神经网络模型;任务管理模块生成和验证深度神经网络,实现对生成和验证任务的新建、查询、删除等操作;数据处理模块实现对待测框架类型和版本的新增和删除,同时对执行结果进行分析。多模块相互协同,以得到深度神经网络模型的生成报告及模型源文件,并提供测试结果预测等功能。果预测等功能。果预测等功能。

【技术实现步骤摘要】
一种基于语法规则的深度神经网络自动生成方法


[0001]本专利技术属于软件工程和深度学习领域,尤其是针对基于语法规则的深度神经网络自动生成方法在软件工程领域的应用,用于测试深度学习框架中是否存在缺陷。

技术介绍

[0002]在过去的数年里,随着人们对神经网络研究的不断深入,深度神经网络模型在医疗诊断、自动驾驶、智能合约、智慧法院等领域展现了广阔的前景。这些模型是基于设计好的逻辑结构从训练数据中学到的推理方法的表示形式。开发者们通过组合不同的层等组件实现深度学习模型的逻辑结构。
[0003]与传统软件系统相比,基于深度学习的软件系统通常涉及更多复杂的组件,如深度学习框架。深度学习框架能够屏蔽底层实现,让开发人员无需重复实现每一层的计算单元,只关注模型的逻辑结构,在简化了计算的同时,降低了深度学习入门门槛,提高了开发效率。在深度学习模型的广泛使用中,深度学习框架功不可没。深度学习框架将模型的逻辑结构中的层和其他组件的实现封装成接口,并提供给开发者使用。深度学习框架降低了深度学习模型开发的难度,使得模型的开发者们可以将更多的精力放在模型的逻辑结构上。深度学习框架是基础平台,为简化、加速、优化DL开发和部署提供了通用工具。
[0004]深度学习框架已应用在丰富的应用场景中,它提供了子类化的接口进行研究,帮助开发者省去了大量繁琐的外围工作,专注于业务场景和模型设计。在这些阶段中,深度学习框架提供的接口实例化了模型的推理逻辑,模型也反映出了深度学习框架的缺陷和欠优化的部分。
[0005]深度学习框架的质量从根本上影响到了深度学习系统的质量,因此必须要通过测试来保证深度学习框架的质量,避免这些缺陷被引入到深度学习模型之中。深度学习软件的测试区别于传统的软件测试的一个特征在于他的核心底层行为会随着输入的新数据的变化而变化。这种面临新数据时的未知性也是其缺陷隐藏的地方。
[0006]深度学习框架作为一种特殊的深度学习软件,他的测试输入是深度学习模型。随着新的模型的生成,更多的深度学习框架的缺陷将会在深度学习模型依赖于深度学习框架的阶段暴露出来。
[0007]除了一些功能的未实现,深度学习框架的缺陷也会表现在优化方面。后者容易跟模型的逻辑结构中的缺陷混淆,难以通过少数几个模型暴露出来。
[0008]在模型检查方面,已经有一些研究者做了初步的工作,但是现有的工作局限于单个或是少量张量,很难针对任意张量进行检查,缺少较强的泛化能力。
[0009]总之,目前关于深度学习框架的测试还存在技术上的瓶颈。因此我们提出了一种基于语法规则的深度神经网络自动生成方法,旨在生成大量的深度学习模型,深入到深度学习框架提供支撑工作的训练、测试、转换和迁移阶段,研究深度学习框架的测试,并以工程化的方式实现了一个基于语法规则的深度神经网络自动生成系统。

技术实现思路

[0010]本专利技术要解决的问题是:如何获得大量的深度学习模型,并将深度学习框架的缺陷显性的表示出来,从而检测深度学习框架中是否存在缺陷,推动人工智能领域发展。
[0011]本专利技术的技术方案为:一种基于语法规则的深度神经网络自动生成方法,其特征是能够在有限的模型结构的基础上构造出大量的模型,并在模型生成阶段,基于语法规则随机抽取新的层来生成新的模型。为了能够进一步的暴露出深度学习框架中的缺陷,设计一套能够放大深度学习框架中缺陷的蜕变方法,最终开发出一套独立的基于语法规则的深度神经网络自动生成系统。该方法包含以下五个模块:
[0012]1)语法规则模块:该模块负责完成语法规则的建立和更新,确保最终生成的深度神经网络模型的静态可用性。
[0013]2)安全检查模块:该模块主要完成了安全检查机制的维护,实现围绕深度神经网络模型生成中的安全检查机制,负责完成对安全检查方法中的张量检查与拓扑检查的更新。
[0014]3)迭代生成模块:该模块负责模拟深度神经网络模型的动态执行情况,以检查模型中的张量和拓扑关系,确保最终生成的深度神经网络模型的动态可用性。
[0015]4)任务管理模块:该模块包含了深度神经网络的生成任务和验证任务两大任务的管理,实现对生成和验证任务之间依赖关系的维护。
[0016]5)数据处理模块:该模块为用户处理日志数据,提供生成任务的结果分析报告,并对具体验证任务的执行结果进行分析。
[0017]本专利技术的特点在于:
[0018]1、建立了一套基于上下文无关语法的深度学习模型生成规则。
[0019]2、搭建了一个可用性强的深度神经网络模型的自动化生成平台。
[0020]本专利技术的有益效果是:作为一种基于语法规则的深度神经网络自动生成方法,生成大量的深度学习模型,并根据生成的模型测试深度学习框架在模型训练、模型测试等阶段的支持程度,对深度学习框架的开发者和测试者而言,具有较高的实用性。
附图说明
[0021]图1为本专利技术整体流程图。
具体实施方式
[0022]为了详细说明本专利技术的
技术实现思路
、所实现的目的以及最后的效果,下面将更加详细地描述具体的实施方式:
[0023]1)建立和更新语法规则。系统生成的深度神经网络模型的语法规则来源于上下文无关语法,即形式化语言的语法四元组。具体而言,包括起始符、终止符、非终止符和偏序规则,前三者被映射到深度神经网络模型中后,将以语句池的形式实现,后者则根据深度神经网络模型中的拓扑序列关系,以拓扑闭包的形式实现。在用户的配合下,完成语句池生成和拓扑闭包更新,最终实现生成的深度神经网络模型的静态可用性。
[0024]2)安全检查。通过静态分析来获取模型的动态执行步骤,并以此模拟深度神经网络模型的动态实现,基于深度神经网络模型的运行时的动态特征,计算张量和拓扑关系的
变化规律,设置张量检查和拓扑检查,保证模型的安全性,使得最终生成的深度神经网络模型的动态可用性。
[0025]3)迭代生成。将用户提供的配置参数作为控制参数,实现每一批次的深度神经网络模型的生成。在用户创建的每一批次的生成中,系统通过迭代生成新的完整的深度神经网络模型。基于前一个模块的实时反馈,系统来决定每一次新生成的层是否可以接收,如果不可接受,则回滚这一层的操作。对于每一次被批量生成的模型,系统通过将这些模型作为测试输入,从而验证生成模型的有效性。
[0026]4)管理生成任务和验证任务。在实现了生成与验证任务的新增、查询、删除等基本任务的基础上,系统能够协调模型生成任务和模型验证任务,建立任务之间的依存关系与级联删除关系,让用户可以完成生成历史管理、生成报告管理和模型验证管理的操作。
[0027]5)数据处理。系统一方面可以支持为用户生成的大量深度神经网络模型提供结果分析报告,让用户直观的感受模型生成的效果;另一方面负责分析具体验证任务的执行结果,提取待测框架中的缺陷并反馈给用户,从而对深度神经网络模型的生成效果有了明确的量化指标,将生成的结果反馈给用户进行查看。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于语法规则的深度神经网络自动生成方法,其特征是能够基于安全检查机制判断自动生成的模型是否可用;在模型生成阶段,基于语法规则随机抽取新的层来生成新的模型。2.根据权利要求1所描述的基于安全检查机制判断自动生成的模型是否可用,其特征是:通过对开源社区中的程序源码进行静态分析,系统获取模型的动态执行步骤,模拟深度神经网络模型在使用场景下的动态行为,计算张量和拓扑关系的安全性,并同时设置张量检...

【专利技术属性】
技术研发人员:房春荣何云刘佳玮顾明政张振平陈振宇
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1