大自动化代码制造技术

技术编号:30657259 阅读:15 留言:0更新日期:2021-11-06 08:26
本发明专利技术提供一种用于将深度学习技术应用于自动化工程环境的系统和方法。系统分别从公共存储库和专用源检索大代码文件和自动化编码文件。大代码文件包括如下示例:被该方法和系统用于训练高级的自动化工程软件的通用软件结构示例。该系统将编码文件在公共空间中表示为嵌入图形,系统的神经网络使用所述嵌入图形来学习模式。基于学习,系统可以预测自动化编码文件中的模式。可以根据预测的模式创建可执行的自动化代码,以扩充现有的自动化编码文件。件。件。

【技术实现步骤摘要】
【国外来华专利技术】大自动化代码


[0001]本专利技术总体上涉及一种工业自动化过程,并且更具体地涉及一种用于应用人工智能技术、尤其是深度学习技术以改进自动化工程环境的方法和系统。

技术介绍

[0002]工业自动化目前正在推动所有工业的创新。基于计算机的控制过程目前正在利用人工智能技术、尤其是机器学习,用以从各种资源获得的数据中学习。深度学习则更进一步发展,并且可以被考虑为机器学习的一个子集。深度学习不是使用单层或几层神经网络,而是利用多层神经网络,多层神经网络能够将输入数据转换为更抽象且复合的表示。基于机器学习,控制过程可以在没有人为干预的情况下做出明智的决策。以该方式可以改进自动化控制过程。
[0003]目前,有数以千计的通用软件项目是开放源代码的,并且因此,在诸如GitHub的互联网上的协作存储库中是公开可用的。例如,GitHub目前托管了多于3800万个的占据数十亿行代码的软件存储库。这些具有大量公开可用的软件的存储库被称为“大代码”。
[0004]然而,与通用软件不同,自动化代码通常是专有的,并且因此既不是随意获得的,也不是公开可用的。附加地,自动化代码可能使用与“大代码”中的代码文件不同的语言。在没有软件代码示例、即“用于提供学习过程的数据”的情况下,不可能训练深度神经网络和其他的人工智能技术来改进自动化工程过程。

技术实现思路

[0005]简而言之,本专利技术的实施例涉及一种用于应用深度学习技术来改进自动化工程环境的系统和方法。
[0006]第一实施例提供了一种用于应用深度学习技术来改进自动化工程环境的计算机实现的方法。该方法包括由处理器从公共存储库(public repository)检索大代码编码文件和从专用源(private source)检索自动化编码文件的步骤。处理器将大代码编码文件和自动化编码文件在公共空间中表示为嵌入图形。随后,随着利用存在于处理器中的神经网络从嵌入图形对模式进行学习,开始训练阶段。基于学习到的模式,使用分类器在嵌入图形的嵌入空间上预测自动化中的模式。根据预测的模式创建可执行的自动化代码,以扩充现有的自动化编码文件。
[0007]第二实施例提供了一种用于应用深度学习技术来改进自动化工程环境的系统。该系统包括从公共存储库检索的以第一软件语言的多个大代码编码文件和从专用源检索的以第二软件语言的多个自动化编码文件。该系统包括处理器,该处理器被耦合用于接收大代码编码文件和自动化编码文件,并且利用神经网络来与编码语言无关地识别编码结构。生成指示编码结构的数字参数,用以预测自动化编码文件中的模式。根据预测的模式,处理器创建可执行的自动化代码,以扩充以第二软件语言的多个输入自动化编码文件。
附图说明
[0008]图1示出了根据本专利技术的实施例的从规范模型预测自动化代码的系统的简化的图示,该规范模型利用大代码数据和小自动化代码作为输入;
[0009]图2示出了根据本专利技术的实施例的系统部件数据流图;
[0010]图3示出了根据本专利技术的实施例的用于应用深度学习技术来改进自动化工程环境的方法的流程图;并且
[0011]图4示出了根据本专利技术的实施例的系统架构图。
具体实施方式
[0012]为便于理解本专利技术的实施例、原理和特征,以下参照说明性的实施例中的实现对其进行解释。然而,本专利技术的实施例并不局限于所描述的系统或方法中的使用。
[0013]以下描述的构成不同的实施例的部件和材料旨在是说明性的而非限制性的。执行与本文描述的材料相同或类似的功能的许多合适的部件和材料旨在包含在本专利技术的实施例的范围内。
[0014]在使用自动化工业工作流程的工厂上线之前,人类开发人员必须开发自动化代码以运行工作流程。自动化代码是运行工厂中的工作流程的代码。这些工作流程可能包括例如对机器人、机器和传送带进行控制,以及对工厂内的照明进行控制。软件的开发阶段通常被描述为“工程阶段”,其中,工程师和其他的开发人员利用集成开发环境(IDE)软件来编写“代码”、即自动化代码。IDE可以定义为程序员和实际运行的代码之间的接口。IDE最终会检查、编译开发的软件并且将开发的软件部署到实际运行的自动化代码中。
[0015]可以在利用以深度学习形式的人工智能技术的情况下,提高自动化软件开发人员的成绩和效率,深度学习已经在大代码存储库中作为开放源代码被编码和提供。这些以深度学习形式的人工智能技术可以应用于集成软件环境,并且可以在软件开发人员编写自动化代码时通过提出建议来帮助他/她。
[0016]缺乏用于训练高级的自动化工程软件功能的数据常规地通过基于规则的系统来解决。规则概括常见情况,并且因此消除对训练数据的需要。利用基于规则的系统的问题在于它们不能很好地扩展,因为规则必须由领域专家明确编写。还必须对规则之间的复杂的相互依赖关系进行建模。很快,由于必须维持大量规则以涵盖所有情况,因此这种方法变得难以维持。
[0017]例如,IDE中一个非常常见的特征是代码完成。每当用户在编辑器中输入令牌或字符串时,IDE都会提供下一个令牌应该是什么的建议列表。使变量“传感器1”成为用户在编辑器中输入的类型“传感器”的对象。IDE具有内部规则,其可以扩展类型“传感器”的所有成员,并且将其按字母顺序向用户显示。显然,字母排序并不是在所有情况下都非常有用。如果在for循环中使用“传感器1”,那么更重要的是首先显示可迭代的成员(例如“传感器1.开始”或“传感器1.结束”)。如果IDE供应商想要实现该功能,那么该任务可能需要待创建的新的规则,其中根据文本(例如for循环、声明等)执行不同的过程。利用大量数据,深度学习方法允许学习这些规则。不幸的是,大量自动化代码是不可提供的。本专利技术的目的是,利用“大代码”中的示例创建大量自动化代码。
[0018]现在参考图1,图1描绘了从规范模型预测自动化代码的系统100的高级图示,该规
范模型利用大代码数据和小自动化代码作为输入。具体来说,该模型将大代码105、小自动化代码110和多标签表115作为输入。如上所述,“大代码”可能包含从公共软件存储库(例如Github)中提取的多个代码文件。另一方面,小自动化代码110可以包括专有的公司代码,不一定与大代码105中的编码文件使用相同的语言。多标签表115可以是自动完成的一组可能的预测,其可以包括类函数列表、例如start()、end()、iter()和各种语言的映射。该映射能够使系统在公共空间中产生描绘代码的图形145。来自大代码的信息用于训练规范模型,其随后可以用于小自动化代码110中的预测125。随后可以将这些预测从大代码105转移130到小自动化代码110,并且最终用于创建135个可执行的自动化代码。
[0019]在某些示例性的实施例中,诸如软件开发者的用户140利用IDE 150以小自动化代码的形式提供输入。用户140通过诸如台式电脑或笔记本电脑、平板电脑、智能手机等的用户设备160访问IDE 150。备选地,小自动化代码可能已经存储在服务器510或工业控制器490中。...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于应用深度学习技术来改进自动化工程环境的计算机实现的方法,包括:通过处理器410从公共存储库检索300大代码编码文件105;通过所述处理器从专用源检索300自动化编码文件110;通过所述处理器将所述大代码编码文件105和所述自动化编码文件110在公共空间中表示310为嵌入图形145、215;利用存在于处理器410中的神经网络500从所述嵌入图形145、215学习320模式;使用分类器在嵌入图形的嵌入空间上基于学习到的模式预测330自动化编码文件110中的模式;和根据预测的模式创建340可执行的自动化代码,以扩充现有的自动化编码文件。2.根据权利要求1所述的方法,还包括:提供多标签表115,其包括类函数列表和类函数到多种编码语言的映射;利用所述映射为检索到的大代码编码文件105和现有的自动化编码文件110中的结构贴标签,以将编码文件105、110在公共空间中表示为嵌入图形145、215。3.根据权利要求2所述的方法,其中,所述学习包括为每个具有标签的结构分配数字表示225,其中,所述数字表示225至少部分由所述具有标签的结构定义。4.根据权利要求3所述的方法,其中,所述数字表示是n维向量。5.根据权利要求3所述的方法,其中,所述学习320包括利用每个具有标签的结构的数字表示来寻找类似的模式,其中,所述类似的模式被标记为包括相同的结构。6.根据权利要求1所述的方法,其中,所述大代码编码文件105和所述自动化编码文件110采用不同的编码语言。7.根据权利要求1所述的方法,其中,所述嵌入图形145、215从由控制流图、数据流图、调用图和项目结构图组成的组中选择。8.根据权利要求5所述的方法,还包括:将学习到的模式与多个测试嵌入图形进行比较,以验证学习到的模式被贴标签并且分类到期望的级别。9.根据权利要求1所述的方法,其中,所述自动化编码文件110由用户...

【专利技术属性】
技术研发人员:A马丁内斯卡内多P戈亚尔J范德文特
申请(专利权)人:西门子股份公司
类型:发明
国别省市:

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

1