自动模型构建搜索空间缩减的制作方法

专利2022-06-29  50


本发明涉及计算装置;具体地说,涉及计算装置的自动模型构建搜索空间缩减。



背景技术:

计算机通常用于解决复杂的数量和质量问题。对于某些问题类型,例如遗传算法的高级计算技术可用于建立用于解决问题的模型,例如神经网络。然而,遗传算法可能会采用大量迭代收敛在可接受神经网络上。

此外,存在各种类型的机器学习问题。例如,回归问题涉及评估一系列输入以预测数值输出,分类问题涉及评估一系列输入以预测类别输出,且强化学习涉及在环境内执行动作同时从来自动作的反馈学习。由于不同类型的问题存在差异,所以可用于产生和训练神经网络的机制可以是问题特定的。例如,产生和训练神经网络以解决回归问题的方法明显不能高效地用于产生和训练神经网络来解决分类问题。



技术实现要素:

本公开描述用于通过自动调整自动模型构建过程的架构参数来高效地产生用于不同类型的问题的神经网络的系统和方法。基于输入数据集的特性自动调整架构参数。调整架构参数用以缩减用于解决给定问题的可靠神经网络的搜索空间。例如,如遗传算法的自动模型产生过程的参数可以进行偏置以增加在演化期间使用某些类型的神经网络(例如,作为初始模型集或在随后时期产生的模型集的部分)的概率。因此,基于输入数据集的特性调整架构参数可使得自动模型构建过程聚焦于特别适合于处理输入数据集的神经网络的类型,这可以减少供自动模型构建过程用于收敛在可接受神经网络(例如,满足拟合性或其它准则的神经网络)上的时间量和处理资源。

为了说明,分析输入数据集以确定输入数据集的特性。特性可以指示输入数据集的数据类型、将由输入数据集解决的问题等。例如,如果输入数据集包含工业时间序列数据,那么特性可以指示输入数据集带时间戳且是连续的,并且输入数据集包含连续值(相比于类别值)。基于输入数据集的特性,选择自动模型产生过程的一或多个参数用于调整。在特定实施方案中,特性与将数据集的特性映射到神经网络语法的规则集相比较。如本文中所使用,神经网络语法是指定神经网络的拓扑或架构的规则列表。基于与规则集中的特性相关联的语法,选择一或多个架构参数。在此实施方案中,规则集可以基于多个(例如,数百或数千)先前产生的神经网络的分析而产生。在替代实施方案中,分类器使用表示先前产生的神经网络的数据来产生和训练,且分类器经配置以基于输入数据的特性输出神经网络语法。

在选择一或多个架构参数之后,调整一或多个架构参数以加权随机化过程(例如,遗传算法),从而调整产生具有特定架构特征的模型(例如,神经网络)的概率。例如,如果输入数据文件的特性与循环结构相关联,那么在规则集中或通过经训练分类器,调整对应于循环结构(例如,循环神经网络(rnn)、长期短期记忆(lstm)层、门控循环单元(gru)层,作为非限制性实例)的架构参数以增加在随机化过程中包含具有循环结构的神经网络的可能性。为进一步说明,与循环结构相关联的权重可以增加,这增加了在随机化过程中包含具有循环结构的神经网络(与其它随机选择的神经网络相对)的可能性。作为另一实例,如果规则集(或经训练分类器)指示前馈层与输入数据集的特性反相符合,那么调整对应于前馈层的架构参数以减小在随机化过程中包含具有前馈层的神经网络的可能性。因此,随机化过程可以加权(通过调整架构参数)以使随机化过程聚焦于特定类型的神经网络,给定输入数据集的特性,预期所述特定类型的神经网络执行良好,这可以增加速度并减少供自动模型产生过程收敛在可接受神经网络上时使用的处理资源量。

附图说明

图1示出可用于基于输入数据集的特性调整自动模型产生过程的架构参数的系统的特定实施方案;

图2a和2b示出根据本文中所公开的一或多个方面的基于输入数据的特性选择架构参数来调整的特定实例;

图3示出指示神经网络的架构参数的语法的实例;

图4示出说明可用于基于遗传算法的执行而确定神经网络(例如,图1的神经网络)的拓扑的系统的特定实施方案的图;以及

图5是说明图1的系统处的操作方法的特定实施方案的流程图。

具体实施方式

参考图1,示出系统100的特定说明性实例。系统100或其部分可以使用一或多个计算装置实施(例如,由其执行),例如膝上型计算机、桌上型计算机、移动装置、服务器和物联网装置以及利用嵌入式处理器和固件或操作系统的其它装置等等,在所示出的实例中,系统100包含参数选择器104和自动模型产生过程120。

应理解,本文中描述为由参数选择器104和自动模型产生过程120执行的操作可由执行指令的装置执行。指令可以存储在存储器处,例如随机存取存储器(ram)、只读存储器(rom)、计算机可读存储装置、企业存储装置、任何其它类型的存储器或其组合。在特定实施方案中,参考参数选择器104和自动模型产生过程120描述的操作由处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)或其它类型的处理器)执行。在一些实施方案中,参数选择器104的操作在不同于自动模型产生过程120的装置、处理器(例如,cpu、gpu或其它类型的处理器)、处理器核心和/或线程(例如,硬件或软件线程)上执行。此外,参数选择器104或自动模型产生过程120的某些操作的执行可以并行化。

参数选择器104经配置以接收输入数据集102并确定输入数据集102的一或多个特性106。特性106可以指示输入数据集102的数据类型、针对输入数据集102将解决的问题、输入数据集102的大小、与输入数据集102相关联的其它特性,或其组合。参数选择器104经进一步配置以基于特性106而调整自动模型产生过程120的架构参数112。在特定实施方案中,参数选择器104经配置以使用规则集108选择架构参数112,如本文进一步描述。在另一特定实施方案中,参数选择器104经配置以使用经训练分类器110选择架构参数112,如本文进一步描述。

自动模型产生过程120经配置以使用经加权随机化过程产生多个模型122。在特定实施方案中,自动模型产生过程120包含遗传算法。在此实施方案中,多个模型122包含在遗传算法的一或多个时期期间产生的一或多个模型集。例如,多个模型122可包含用作遗传算法的第一时期的输入的初始模型集、由第一时期输出并用作遗传算法的第二时期的输入的模型集,以及由遗传算法的其它时期输出的其它模型集。自动模型产生过程120经配置以使用经加权随机化过程在每个时期期间产生模型集。例如,如果架构参数的所有权重相同,那么自动模型产生过程120通过随机(或伪随机)选择具有各种架构的模型来产生初始模型集,并且初始模型集横跨多个时期演化,如参考图4进一步描述。作为特定实例,一或多个模型可以在第一时期期间突变或交叉(例如,组合),如参考图4进一步描述,以产生第一时期的输出集中的模型。输出集用作自动模型产生过程120的下一时期的输入集。以此方式通过对模型的输入集进行演化(例如,执行遗传运算)以产生模型的输出集来继续额外时期,如参考图4进一步描述。

架构参数112对自动模型产生过程120的经加权随机化过程进行加权以控制产生具有特定架构特征的模型的概率。例如,如果架构参数112对应于循环,那么可以调整架构参数112(例如,通过增加权重)以增加通过经加权随机化过程产生循环模型的概率。作为另一实例,架构参数112对应于池化,可以调整架构参数112(例如,通过减少权重)以减小通过经加权随机化过程产生基于池化的模型的概率。基于特性106来调整架构参数112,如本文进一步描述。

自动模型产生过程120经配置以在执行自动模型产生过程120期间(例如,在遗传算法的多个时期期间)产生多个模型122。自动模型产生过程120经进一步配置以输出一或多个模型124(例如,指示一或多个神经网络的数据)。在特定实施方案中,自动模型产生过程120经配置以执行长达设定时间量(例如,特定数目个时期),且一或多个模型124是在自动模型产生过程120的最后一个时期期间产生的“最拟合”模型。替代地,自动模型产生过程120可以一直执行到自动模型产生过程120收敛在具有满足拟合性阈值的拟合性分数的一或多个模型上为止。拟合性分数可基于通过测试输入数据集102上的一部分上的一或多个模型124产生的错误的频率和/或量值。例如,如果一或多个模型124基于输入数据集102经训练以预测特定特征的值,那么拟合性分数可基于针对输入数据集102的测试部分正确预测的特征的数目与(正确预测的和不正确预测的)特征的总数相比较。另外或替代地,拟合性分数可以指示模型的特性,例如模型的密度(例如,在神经网络中包含多少层,在神经网络中包含多少连接等)。另外或替代地,拟合性分数可基于自动模型产生过程120收敛在一或多个模型124上所花费的时间量。指示一或多个模型124的数据,例如指示一或多个模型124的架构类型、拟合性分数或其组合的数据,可用作训练参数选择器104的训练数据130。

执行自动模型产生过程120产生(例如,输出)一或多个模型124。一或多个模型124可由执行自动模型产生过程120的处理器(或由另一处理器或由另一装置)执行以基于输入数据执行操作,例如分类、聚类、异常检测或某一其它类型的操作。换句话说,自动模型产生过程120使用未知数据集(例如,输入数据集102)产生经配置以基于相关数据集执行一或多个操作的软件(例如,一或多个模型124)。作为特定非限制性实例,如果输入数据集102包含来自装置的传感器的时间序列数据,那么可以执行自动模型产生过程120以训练神经网络,所述神经网络可由处理器执行以基于来自传感器的实时(或近实时)时间序列数据执行异常检测。在此实例中,一或多个模型124可用于预测故障可能何时在装置处发生,这可用于在发生破坏之前维修装置或应用更短的占先维修,而不是等到装置发生故障。因为自动模型产生过程120经偏置以包含具有特定架构类型的模型(或不包含具有特定架构类型的模型),所以相比于随机选择用于在模型产生过程期间使用的模型的模型产生过程,一或多个模型124可以更快地产生。另外,一或多个模型124可具有比使用其它模型产生技术产生的模型更高的拟合性分数。

在操作期间,参数选择器104接收输入数据集102。输入数据集102包含多个特征。输入数据集102可包含其中一或多个神经网络将经训练以解决问题的输入数据(例如,特征)。例如,作为非限制性实例,输入数据集102可包含手写数位的图像数据,且输入数据集102可用于确定在每个图像中示出哪一数位(例如,0至9)。在其它实例中,输入数据集102包含将用于解决其它类型的问题的其它类型的数据。

参数选择器104基于输入数据集102而确定特性106。在特定实施方案中,特性106指示与输入数据集相关联的问题的类型、与输入数据集相关联的数据类型或其组合。为了说明,在特定实例中,输入数据集102包含工业时间序列数据。在此实例中,特性106包含输入数据集102带时戳且是连续的,并且输入数据集102包含连续特征(例如,数值特征)。作为另一实例,输入数据集102包含用于分类任务的数据。在此实例中,特性106包含:数据包含一或多个类别特征,以及数据被指示用于分类。作为又一实例,如果输入数据集102包含图像数据,那么特性106指示输入数据集102的数据类型包含图像数据。

参数选择器104基于特性106而调整架构参数112。例如,特性106可对应于神经网络的架构的一或多种类型,且参数选择器104可以选择和调整架构参数112以对自动模型产生过程120的经加权随机化过程进行加权,从而调整产生具有所述一或多种类型的架构的模型的概率。

在特定实施方案中,参数选择器104使用规则集108选择架构参数112。例如,参数选择器104可以存储或可以访问规则集108。在此实施方案中,规则集108将数据集的特性映射到架构参数。例如,规则集108可以将数据集的特性映射到指示神经网络的架构参数的语法。作为特定实例,规则集108可以将标准(或“平坦”)受监督问题的特性映射到对应于密集连接的前馈层的架构参数。作为另一实例,规则集108可以将序列问题的特性映射到循环结构(例如,循环神经网络(rnn)、长期短期记忆(lstm)层或门控循环单元(gru)层,作为非限制性实例)。作为另一实例,规则集108可以将图像问题(例如,输入图像数据)的特性映射到基于池化的2d卷积神经网络。作为另一实例,规则集108可以将工业时间序列数据的特性映射到因果卷积块的菊链。在特定实施方案中,规则集108基于先前由自动模型产生过程120产生的多个模型的分析、基于其它模型的分析或其组合。

在特定实施方案中,规则集108包含权重值。例如,第一规则可以将第一特性映射到具有第一权重值的第一架构参数,第二规则可以将第一特性映射到具有第二权重值的第二架构参数。例如,时间序列数据可以映射到具有第一权重值的因果卷积权重值的菊链,时间序列数据可以映射到具有第二权重值的循环结构。权重值指示参数选择器104将调整架构参数的量。例如,如果第二权重值小于第一权重值,那么参数调整器将调整架构参数,使得模型具有因果卷积块的菊链的概率大于模型具有循环结构的概率。在一些实施方案中,权重可以为负。对于负权重,参数选择器104可以调整架构参数112以减小模型具有特定架构特征的概率。

在另一特定实施方案中,参数选择器104使用经训练分类器110选择架构参数112。为了说明,参数选择器104向经训练分类器110提供指示特性106的数据,并且经训练分类器110基于指示特性106的数据而识别用于调整的一或多个架构参数。经训练分类器110可以基于指示由自动模型产生过程120产生的先前模型的数据(例如,指示先前模型的架构类型的数据)和指示用于训练先前模型的输入数据的特性的数据来进行训练。例如,输入数据的特性可以用对应于针对输入数据产生的模型的架构参数标记,并且此经标记数据可用作受监督训练数据来训练经训练分类器110基于输入数据的特性识别架构参数。在特定实施方案中,经训练分类器110包含神经网络分类器。在其它实施方案中,经训练分类器110包含决策树分类器、支持向量机分类器、回归分类器、朴素贝叶斯分类器、感知机分类器或另一类型的分类器。

在选择架构参数112之后,参数选择器104调整架构参数112以调整(通过自动模型产生过程120)产生具有特定架构特征的模型的概率。在特定实施方案中,架构特征包含供自动模型产生过程120的经加权随机化过程使用的初始模型类型。初始模型类型可包含前馈模型、循环模型、基于池化的二维卷积模型、因果卷积模型的菊链、其它类型的模型或其组合。为了说明,参数选择器104可以基于特性106将架构参数112设置成第一值,所述第一架构参数与经加权随机化过程的第一时期的模型具有第一模型类型的概率相关联,且参数选择器104可以基于特性106将第二架构参数设置成第二值,所述第二架构参数与经加权随机化过程的第一时期的模型具有第二模型类型的概率相关联。

作为实例,特性106可以指示输入数据集102包含图像数据。在此实例中,规则集108(或经训练分类器110)指示基于池化的2d卷积神经网络与图像数据同相符合,且密集连接的前馈层与图像数据反相符合。基于特性106,参数选择器104选择架构参数112(对应于基于池化的2d卷积神经网络)和第二架构参数(对应于密集连接的前馈层)用于调整。在此实例中,参数选择器104调整架构参数112以增加多个模型122包含基于池化的2d卷积神经网络的概率。在此实例中,参数选择器104还调整第二架构参数以减小多个模型122包含具有密集连接的前馈层的模型的概率。以此方式调整架构参数可以使自动模型产生过程120使用更少处理资源且更快地收敛在一或多个模型124上,因为更可能成功的模型有更高的可能性产生并用于自动模型产生过程120(且不大可能成功的模型有更低的可能性产生)。

架构参数112还可包含突变参数。突变参数控制在自动模型产生过程120期间发生的突变,使得多个模型122中的至少一个模型基于突变参数而修改。例如,一或多个模型可以在自动模型产生过程120的时期期间发生突变。如参考图4进一步描述,突变包含改变模型的至少一个特性。突变参数指示突变即将发生的可能性、可能发生的突变的类型(例如,可能改变的特性是什么)或这两者。突变参数可以基于特性106而调整。例如,规则集108(或经训练分类器110)可以指示对应于特性106的突变参数的调整,且突变参数(例如,架构参数112)可以相应地调整。

在特定实施方案中,参数选择器104还选择和调整自动模型产生过程120的一或多个训练超参数。一或多个训练超参数控制模型的训练的一或多个方面。如本文中所使用,超参数是指确定如何训练模型的特性。例如,超参数可包含神经网络的学习速率(例如,神经网络如何快速地更新其它参数)、神经网络的动量、自动模型产生过程120的时期的数目、批量大小或其组合。参数选择器104可以基于特性106而调整超参数。例如,规则集108(或经训练分类器110)可以指示特定超参数对应于特性106,且参数选择器104可以相应地调整特定超参数。

在调整架构参数112之后,执行自动模型产生过程120。例如,处理器执行自动模型产生过程120。在自动模型产生过程120的执行期间,产生多个模型122。多个模型122是使用经加权随机化过程产生的,其中架构参数控制权重。例如,如果特定架构参数具有比另一架构参数更高的权重,那么具有特定架构类型的模型有更高的概率被包含在由自动模型产生过程120产生的初始模型集(或其它模型集)中。多个模型122包含作为初始时期的输入产生的初始模型集以及作为一或多个时期的输出集产生的其它模型集,如参考图4进一步描述。自动模型产生过程120可以一直执行到自动模型产生过程120收敛在一或多个模型124上为止。作为实例,一或多个模型124可以是自动模型产生过程120的最后一个时期的最拟合模型。在特定实施方案中,自动模型产生过程120的时期的数目在执行自动模型产生过程120之前设置,且一或多个模型124来自最后一个时期的输出集。替代地,自动模型产生过程120可以执行长达特定时间量(例如,直到时间限值到期为止)。替代地,自动模型产生过程120可以一直执行到输出集的至少一个模型具有满足阈值的分数为止(例如,直到自动模型产生过程120收敛在可接受模型上为止),并且一或多个模型124是满足阈值的一或多个模型。因此,一或多个模型124可被称作自动模型产生过程120的输出。

一或多个模型124基于输入数据训练以执行任务。作为特定实例,一或多个模型124可以基于输入数据集102训练以执行分类任务。为进一步说明,输入数据集102可包含指示装置(例如,工业机械,如风力涡轮机、发电厂、发电机等)的各种操作状态的工业时间序列数据,并且一或多个模型124可以基于实时时间序列输入数据训练以识别操作状态(或预测故障状态)。作为另一实例,一或多个模型124可经训练以对信用卡交易执行聚类,从而识别可能存在的欺诈性交易。这些实例是非限制性的,并且在其它实施方案中,一或多个模型124经训练以执行其它机器学习任务。

在一些实施方案中,在产生和训练一或多个模型124之后,提供指示一或多个模型124的数据作为训练数据130来更新参数选择器104。训练数据130指示一或多个模型124的特性,例如架构类型。基于训练数据130更新参数选择器104使得参数选择器104能够考虑到由自动模型产生过程120产生的一或多个模型124的成功。

在特定实施方案中,参数选择器104基于训练数据130(例如,基于一或多个模型124的特性)更新规则集108。在一些实施方案中,响应于一或多个模型124的分数满足阈值而更新规则集108。例如,如果一或多个模型124的拟合性分数满足(例如,大于或等于)第一阈值,那么规则集108可以更新成指示特性106和指示一或多个模型124的架构类型的架构参数之间的对应关系。如果规则集108已经指示特性106和架构参数之间的对应关系,那么可以增加与架构参数相关联的加权。作为另一实例,如果一或多个模型124的拟合性分数无法满足(例如,小于)第二阈值,那么规则集108可以更新成指示特性106和指示一或多个模型124的架构类型的架构参数之间反相符合。如果规则集108已经指示特性106和架构参数之间的对应关系,那么可以减小与架构参数相关联的加权。因此,规则集108可以更新成考虑到一或多个模型124的成功(或失败)。

在替代实施方案中,参数选择器104使用训练数据130作为训练数据来重新训练经训练分类器110。例如,训练数据130可包含对应于特性106的数据和指示对应于一或多个模型124的架构类型的架构参数的标记。在此实例中,训练数据130用作经标记训练数据来更新经训练分类器110。在特定实施方案中,经训练分类器110仅在一或多个模型124的拟合性分数满足(例如,大于或等于)第一阈值时才更新。另外或替代地,如果一或多个模型124的拟合性分数无法满足(例如,小于)第二阈值,那么可以使用替代标记(例如,指示反相符合)。因此,经训练分类器110可以训练成考虑到一或多个模型124的成功(或失败)。

系统100使得自动模型产生过程120能够比其它模型产生过程更快地收敛在一或多个模型124上。例如,架构参数112可以基于特性106而调整,以增加自动模型产生过程120的初始模型集包含具有先前针对类似输入数据集成功的架构类型的模型的概率。在对输入数据集102建模时,这些模型可比其它类型的模型更拟合。增加在初始模型集中包含具有更高拟合性的模型的概率可以减少收敛在可接受神经网络(例如,一或多个模型124)上所需要的时期的数目,从而提高自动模型产生过程120的速度并减少自动模型产生过程120所使用的处理资源量。另外,因为在初始模型集中引入了更拟合的模型,所以相比于随机确定初始模型集的模型产生过程,可以提高一或多个模型124的总体拟合性。架构参数112可以调整某一量,使得在选择初始输入集时仍然维持一定的随机性,以便在针对输入数据集102有一种类型尚未尝试但其性能比先前尝试的那些类型更好的情况下尝试具有不同架构参数的模型。基于特性106调整突变参数或超参数可以类似方式提高自动模型产生过程120的速度并减少供自动模型产生过程120使用的处理资源量。

应了解,本公开的系统和方法可以在各种情形、基础架构和数据环境中适用。作为说明性非限制性实例,输入数据集102可包含来自分布在风力发电厂周围的大型传感器阵列的带时间戳的数据,并且还可包含单独风力涡轮机的带时间戳的运行时间/停机时间数据。系统100可以产生经配置以预测风力涡轮机发生故障的可能性的神经网络模型。在特定实例中,神经网络模型可以将故障提前时间从3至5天增加到30至40天,这可以使停机时间缩减并为风力发电厂的操作者节省了资金。系统100能够自动构建类似种类的预测物联网(iot)、公用设施和石油/天然气基础架构的数值或状态(例如,故障)的模型。

作为另一说明性非限制性实例,输入数据集102可包含健康数据,并且系统100可以自动构建预测展现某些健康条件的患者是否有可能患有特定疾病的模型。作为另一说明性非限制性实例,输入数据集102可包含金融数据,并且系统100可以自动构建预报市场条件的模型。作为另一说明性非限制性实例,输入数据集102可包含网络安全、网络日志和/或恶意软件数据,并且系统100可以自动构建实施防火墙过滤规则、端点反恶意程序检测、自动程序/僵尸网络检测器等等的模型。

作为另一说明性非限制性实例,系统100可以产生基于强化学习输出飞机自动导向操作(例如,油门、转向、襟翼等)的神经网络。在此实例中,通过神经网络优化的回报函数可涉及飞机高度、飞机行进距离等。作为又一实例,系统100可以产生预测石油/天然气行业修井事件(例如,引发对钻井平台或钻井的重大维修或补救操作的事件,这可能会产生大量生产时间损失和支出)的神经网络。

可以利用通过本文中所描述的系统100产生的神经网络解决的所设定问题的又一实例是数据融合。在此情况下,收集从大量各种类型的传感器(包含多个相同类型的传感器)聚集的数据并将其用于识别利用任何一个传感器或利用较小传感器子集无法完全检测的物体、动作或现象。例如,对潜水艇的检测可基于从多个声纳浮标接收的输入来执行,所述声纳浮标向产生的神经网络提供输入。另一实例可以是基于音频签名和可视视图(其可能被部分遮挡或具有低分辨率)对特定飞机类型的识别。

参考图2a和2b,示出基于输入数据的特性选择架构参数来调整的特定实例。在特定实施方案中,架构参数由图1的参数选择器104设置。

图2a示出基于输入数据的特性选择架构参数来调整的第一实例200。在第一实例200中,在210处,识别第一输入数据集202的特性。例如,可以识别第一输入数据集202的数据类型,可以识别对应于第一输入数据集202的问题的类型,可以识别时间戳,可以识别标记,可以识别其它特性,或其组合。第一输入数据集202的特性可以由图1的参数选择器104识别。

在第一实例200中,第一输入数据集202对应于标准(或“平坦”)受监督问题204。例如,第一输入数据集202可包含指示与第一输入数据集202相关联的问题是受监督问题204的经标记数据。在识别第一输入数据集202的特性(例如,受监督问题204)之后,在212处,将特性提供给规则集(或经训练分类器)以从架构参数集220中选择架构参数。规则集(或经训练分类器)可包含或对应于图1的规则集108(或经训练分类器110)。架构参数集220可包含第一架构参数222(对应于密集连接的前馈层)、第二架构参数224(对应于循环结构,例如rnn、lstm层、gru等)、第三架构参数226(对应于基于池化的2d卷积神经网络)和第四架构参数228(对应于因果卷积块的菊链)。

基于规则集(或经训练分类器),确定密集连接的前馈层对标准受监督问题成功建模。因此,基于第一输入数据集202的特性,调整第一架构参数222以增加供经加权随机化过程(例如,图1的自动模型产生过程120)使用的初始模型集包含具有密集连接的前馈层的模型的概率。这可以提高经加权随机化过程收敛在可接受神经网络(例如,满足拟合性或其它准则的神经网络)上的速度。

图2b示出基于输入数据的特性选择架构参数来调整的第二实例230。在第二实例230中,在210处,识别第二输入数据集206的特性。例如,可以识别第二输入数据集206的数据类型,可以识别对应于第二输入数据集206的问题的类型,可以识别时间戳,可以识别标记,可以识别其它特性,或其组合。第二输入数据集206的特性可以由图1的参数选择器104识别。

在第二实例230中,第二输入数据集206对应于工业时间序列问题208。例如,第二输入数据集206可包含指示与第二输入数据集206相关联的问题是工业时间序列问题208的带时间戳的测量数据。在识别第二输入数据集206的特性(例如,工业时间序列问题208)之后,在212处,将特性提供给规则集(或经训练分类器)以从架构参数集220中选择架构参数。

基于规则集(或经训练分类器),确定因果卷积块的菊链对工业时间序列问题成功建模。因此,基于第二输入数据集206的特性,调整第四架构参数228以增加供经加权随机化过程(例如,图1的自动模型产生过程120)使用的初始模型集包含具有因果卷积块的菊链的模型的概率。这可以提高经加权随机化过程收敛在可接受神经网络(例如,满足拟合性或其它准则的神经网络)上的速度。

参考图3,示出指示神经网络的架构参数的语法300的特定实例。语法300指示可由图1的参数选择器104调整的架构参数。因为语法300指示神经网络的特定架构参数,所以语法300可称为限定神经网络架构的搜索空间。

语法300包含产生式规则302。产生式规则302限定允许哪些神经网络亚结构演化。在图3中所示的特定实例中,神经网络(n)包含两个模块(module)。任何数目个这些残余块可以串在一起描述神经网络的拓扑或架构。每个模块包含线性层、lstm层或其组合。线性层由特定大小和激活类型限定。lstm层由层的数目和大小限定。

在图3中所示的特定实例中,线性层(或lstm层)的大小由数字限定,(lstm层中的)层的数目由数字限定,且激活类型由激活函数的特定类型限定。为了说明,数字包含1到m的整数,其中m是最大数字。m可以是神经网络层的任何最大所允许大小。激活类型包含修正线性单元(relu)函数、恒等函数、高斯函数或s型函数。在其它实施方案中,激活类型包含其它类型的激活函数。

语法300进一步包含终端符号304。终端符号304包含用于产生神经网络结构的基本构建块。在图3中所示的特定实例中,终端符号304包含数字和激活类型。

在图3中所示的特定实例中,语法300使rnn演化并且可用于序列问题。在其它实施方案中,其它语法描述其它神经网络架构,例如卷积神经网络、密集连接的前馈层、基于池化的2d卷积神经网络、因果卷积块的菊链、其它类型的循环结构(例如,gru)、其它类型的神经网络或其组合。如参考图1所描述,与语法300(或其它语法)相关联的架构参数可用于改变具有特定架构类型的模型由自动模型产生过程120产生的概率,这可使自动模型产生过程120更快地收敛在可接受模型(例如,满足拟合性或其它准则的模型)上。

参考图4,示出用于确定神经网络的拓扑的系统400的特定实施方案。在图4中,神经网络拓扑可以使用遗传算法410“演化”。遗传算法410基于特定数据集(例如,说明性输入数据集402)并基于递归神经演化搜索过程而自动产生神经网络。在说明性实例中,输入数据集402是图1所示的输入数据集102。在搜索过程的每个迭代(也称为遗传算法410的“时期”或“代”期间),输入集420(或群)“演化”以产生输出集430(或群)。输入集420和输出集430中的每个成员都是表示神经网络的模型(例如,数据结构)。因此,神经网络拓扑可以使用遗传算法410演化。遗传算法410的初始时期的输入集420可以是随机或伪随机产生的。在特定实施方案中,遗传算法410的初始时期的输入集420是基于一或多个架构参数产生的,所述架构参数朝向特定神经网络架构的选择对输入集420的选择进行加权,如参考图1所描述。在那之后,一个时期的输出集430可以是下一(非初始)时期的输入集420,如本文进一步描述。

输入集420和输出集430分别包含多个模型,其中每个模型包含表示神经网络的数据。例如,每个模型可以至少通过神经网络拓扑、一系列激活函数和连接权重指定神经网络。神经网络的拓扑包含神经网络的节点的配置和此类节点之间的连接。还可指定模型包含其它参数,包含但不限于偏置值/函数和聚合函数。

在一些实例中,神经网络的模型是包含节点数据和连接数据的数据结构。神经网络的每个节点的节点数据可包含激活函数、聚合函数或偏置(例如,恒定偏置值或偏置函数)中的至少一个。节点的激活函数可以是阶跃函数、正弦函数、连续或分段线性函数、s型函数、双曲线切线函数,或表示激活节点所处的阈值的另一类型的数学函数。对节点激活的生物模拟是神经元的放电。聚合函数是组合到节点的输入信号(例如,求和、乘积)的数学函数。聚合函数的输出可用作激活函数的输入。偏置是供聚合函数和/或激活函数用于使节点有可能被激活的恒定值或函数。神经网络中的每个连接的连接数据包含节点对或连接权重中的至少一个。例如,如果神经网络包含从节点n1到节点n2的连接,那么所述连接的连接数据可包含节点对<n1,n2>。连接权重是影响n1的输出是否和/或如何在输入于n2处之前修改的数值数量。在循环神经网络的实例中,节点可具有到它自身的连接(例如,连接数据可包含节点对<n1,n1>)。

遗传算法410包含拟合性函数440、停滞准则450、交叉操作460和突变操作470或以其它方式与它们相关联。拟合性函数440是可用于比较输入集420的模型的目标函数。在一些实例中,拟合性函数440是基于通过测试输入数据集402上的模型产生的错误的频率和/或量值。举一个简单的例子,假设输入数据集402包含十行,输入数据集402包含表示为a和b的两列,且图4中所示的模型表示给定a的输入值而输出b的预测值的神经网络。在此实例中,测试模型可包含输入来自输入数据集402的a的十个值中的每一个,比较来自输入数据集402的b的经预测值与b的对应实际值,并确定b的经预测值和实际值是否不同和/或它们之间的差。为了说明,如果特定神经网络针对十行中的九行正确预测了b的值,那么相对简单的拟合性函数440可以将拟合性值9/10=0.9指派给对应模型。应理解,先前实例只用于说明,并且不应被视为具有限制性。在某些方面,拟合性函数440可基于与错误频率或错误率不相关的因子,例如输入节点的数目、节点层、隐层、连接、计算复杂度等。

在特定方面,模型的拟合性评估可并行执行。为了说明,所示出系统可包含除了执行遗传算法410的那些装置、处理器、核心和/或线程之外的额外装置、处理器、核心和/或线程490。这些额外装置、处理器、核心和/或线程490可以基于输入数据集402并行测试模型拟合性,并且可以将所得拟合性值提供给遗传算法410。

在特定方面,遗传算法410可经配置以执行物种形成。例如,遗传算法410可经配置以基于模型之间的“遗传距离”而将输入集420的模型聚类到物种中。因为每个模型都表示神经网络,所以两个模型之间的遗传距离可基于这两个模型的节点、激活函数、聚合函数、连接、连接权重等的差异。在说明性实例中,遗传算法410可经配置以将模型串行化成串,例如归一化向量。在此实例中,模型之间的遗传距离可以由归一化向量之间的经装仓汉明距离表示,其中每个仓表示可能值的子范围。

因为遗传算法410经配置以模拟生物演化和自然选择的原理,所以某一模型物种有可能“灭绝”。停滞准则450可用于确定物种应何时灭绝,如下文进一步描述。交叉操作460和突变操作470在某些约束条件和针对模型构建优化的所定义概率集下可以是高度随机的,这可以产生可用于从输入集420产生输出集430或至少产生其一部分的再现操作。交叉和突变如下文进一步描述。

现在描述所示系统的操作。然而,应理解,在替代实施方案中,可以按照与所述次序不同的次序执行某些操作。此外,被描述为连续的操作实际上可以至少部分地并行执行,且被描述为至少部分地并行执行的操作实际上可以依序执行。

在操作的配置阶段期间,用户可以指定输入数据集402或确定输入数据集402的数据源。用户还可指定遗传算法410的目标。例如,如果遗传算法410用于确定一或多个模型124的拓扑,那么用户可以提供神经网络的一或多个特性。系统400可接着将由遗传算法410处理的模型约束为具有所述一或多个特性的模型。

因此,在特定实施方案中,用户可配置将由遗传算法410产生/演化的模型的各个方面。配置输入可以指示将在模型中包含的数据集的特定数据字段或将从模型中省略的数据集的特定数据字段,可以约束所允许的模型拓扑(例如,将其约束成包含不超过指定数目个输入节点输出节点、不超过指定数目个隐层、无循环环路等)。

此外,在特定实施方案中,用户可配置遗传算法410的方面,例如通过图形用户界面(gui)的输入。例如,用户可以提供输入以限制将由遗传算法410执行的时期的数目。替代地,用户可以指定指示遗传算法410在输出最终输出模型之前必须执行的时间量的时间限值,并且遗传算法410可以确定将基于指定时间限值执行的时期的数目。为了说明,遗传算法410的初始时期可以定时(例如,使用执行遗传算法410的计算装置处的硬件或软件定时器),并且将在指定时间限值内执行的时期的总数可以相应地确定。作为另一实例,用户可以例如通过约束输入集420和/或输出集430的大小来约束在每个时期中评估的模型的数目。

在执行配置操作之后,遗传算法410可以开始基于输入数据集402的执行。遗传算法410的参数可包含但不限于突变参数、遗传算法410将执行的时期的最大数目、使遗传算法410终止(即使尚未达到最大代数)的阈值拟合性值、是否启用模型测试或拟合性评估的并行化、是否使前馈或循环神经网络演化等。如本文中所使用,“突变参数”影响相对于候选神经网络发生突变操作的可能性、突变操作的范围(例如,由于突变操作有多少位、字节、字段、特性等改变)和/或突变操作的类型(例如,突变是否改变了节点特性、链路特性等)。在一些实例中,遗传算法410可以针对所有模型利用单个突变参数或一组突变参数。在此类实例中,突变参数可能会影响遗传算法410的任何模型可发生突变的频率、次数和/或所发生的突变类型。在替代性实例中,遗传算法410维持多个突变参数或多组突变参数,例如对于单独模型或物种或模型或物种群组。在特定方面,突变参数影响交叉和/或突变操作,这在本文中进一步描述。在特定实施方案中,突变参数由系统400基于输入数据集402的特性调整,如参考图1所描述。

遗传算法410可以基于输入数据集402和配置输入自动产生初始模型集。每个模型都可以至少由神经网络拓扑、激活函数和链路权重指定。神经网络拓扑可以指示节点(例如,神经元)的布置。例如,神经网络拓扑可以指示输入节点的数目、隐层的数目、每隐层节点的数目和输出节点的数目。神经网络拓扑还可指示节点之间的互连(例如,轴突或链路)。在某些方面,层节点可以用作单个节点的替代或补充。层类型的实例包含长期短期记忆(lstm)层、门控循环单元(gru)层、全连接层和卷积神经网络(cnn)层。在此类实例中,作为节点参数的替代或补充,可涉及层参数。

初始模型集可以作为输入集420输入到遗传算法410的初始时期中,并且在初始时期的末尾,在初始时期期间产生的输出集430可变为遗传算法410的下一时期的输入集420。在一些实例中,输入集420可具有特定数目个模型。

对于遗传算法410的初始时期,输入集420中的模型的拓扑可以在由任何先前输入的配置设置或由一或多个架构参数指定的约束条件内随机或伪随机地产生。因此,输入集420可包含具有多个不同拓扑的模型。例如,第一模型可具有第一拓扑,所述第一拓扑包含与第一数据参数集相关联的第一数目个输入节点、包含第一数目个隐藏节点和隐藏节点布置的第一数目个隐层、一或多个输出节点以及在节点之间的第一组互连。在此实例中,时期的第二模型可具有第二拓扑,所述第二拓扑包含与第二数据参数集相关联的第二数目个输入节点、包含第二数目个隐藏节点和隐藏节点布置的第二数目个隐层、一或多个输出节点以及在节点之间的第二组互连。第一模型和第二模型可以具有也可以不具有相同数目个输入节点和/或输出节点。

遗传算法410可以向初始时期的输入集420的每一模型自动指派激活函数、聚合函数、偏置、连接权重等。在某些方面连接权重是随机或伪随机地指派的。在一些实施方案中,单个激活函数用于特定模型的每个节点。例如,s型函数可用作特定模型的每个节点的激活函数。单个激活函数可以基于配置数据而选择。例如,配置数据可以指示将使用双曲线切线激活函数或将使用s型激活函数。替代地,激活函数可以随机或伪随机地从一组所允许的激活函数中选择,并且模型的不同节点可具有不同类型的激活函数。在其它实施方案中,指派给每个节点的激活函数可以针对特定模型的每个节点随机或伪随机地(从所述一组所允许的激活函数中)选择。聚合函数可以类似方式随机或伪随机地指派用于初始时期的输入集420中的模型。因此,初始时期的输入集420的模型可具有不同拓扑(其在数据集包含许多数据字段的情况下可包含对应于不同输入数据字段的不同输入节点)和不同连接权重。此外,初始时期的输入集420的模型可包含具有不同激活函数、聚合函数和/或偏置值/函数的节点。

输入集420的每一模型可以基于输入数据集402测试以确定模型拟合性。例如,输入数据集402可以作为输入数据提供到每一模型,所述模型处理输入数据集(根据相应模型的网络拓扑、连接权重、激活函数等)以产生输出数据。每一模型的输出数据可以使用拟合性函数440来评估,以确定模型对输入数据集402建模的良好程度(即,每一模型对聚类输入数据有多大帮助)。在一些实例中,模型的拟合性至少部分地基于模型的可靠性、模型的性能、模型的复杂性(或稀疏性)、潜在空间的大小或其组合。

在一些实例中,遗传算法410可以采用物种形成。在特定方面,每一个模型的物种id可以设置成对应于模型已经聚类到其中的物种的值。接下来,可以确定每一个物种的物种拟合性。物种的物种拟合性可以随物种中的一或多个单独模型的拟合性而变。作为简单的说明性实例,物种的物种拟合性可以是物种中的单独模型的拟合性平均值。作为另一实例,物种的物种拟合性可等于最拟合或最不拟合物种中的单独模型的拟合性。在替代性实例中,可以使用其它数学函数来确定物种拟合性。遗传算法410可以维持横跨多个时期跟踪每个物种的拟合性的数据结构。基于物种拟合性,遗传算法410可以识别“最拟合”物种,其还可被称作“精英物种(elitespecies)”。在不同实施例中,可以识别不同数目个精英物种。

在特定方面,遗传算法410使用物种拟合性确定物种是否停滞并因此灭绝。作为说明性非限制性实例,停滞准则450可以指示如果物种的拟合性在特定数目个(例如,5个)时期内保持在特定范围(例如, /-5%)内,那么所述物种停滞。如果物种满足停滞准则,那么物种和所有基础模型可以从遗传算法410中移出。

可以识别每个“精英物种”的最拟合模型。还可识别总体最拟合模型。“总体精英”无需是“精英成员”,例如,可以来自非精英物种。在不同实施例中,可以识别每物种不同数目个“精英成员”和“总体精英”。

可以产生时期的输出集430。在所示出的实例中,输出集430包含与输入集420相同数目个模型。输出集430可包含每一个“总体精英”模型和每一个“精英成员”模型。将“总体精英”和“精英成员”模型传播到下一时期可以保持“遗传特点”,从而使此类模型被指派高拟合性值。

输出集430的其余部分可以使用交叉操作460和/或突变操作470通过随机再现填充。在产生输出集430之后,输出集430可以作为遗传算法410的下一时期的输入集420提供。

在交叉操作460期间,一个模型的一部分与另一模型的一部分组合,其中相应部分的大小可以相等也可以不相等。当使用归一化向量表示神经网络时,交叉操作可包含将一个归一化向量的位/字节/字段0到p与另一归一化向量的位/字节/字段p 1到q级联,其中p和q是整数,且p q等于归一化向量的大小。在解码时,所得归一化向量在交叉操作之后产生在拓扑、激活函数、聚合函数、偏置值/函数、链路权重或其任何组合方面不同于其每一个“父级”神经网络的神经网络。

因此,交叉操作460可以是通过组合输入集420的第一模型的方面与输入集420的一或多个其它模型的方面产生输出集430的模型的随机或伪随机操作。例如,交叉操作460可以保持输入集420的第一模型的隐藏节点的拓扑,但是将输入集的第二模型的输入节点连接到隐藏节点。作为另一实例,交叉操作460可以保持输入集420的第一模型的拓扑,但是使用输入集420的第二模型的一或多个激活函数。在某些方面,交叉操作460可在由输入集420的一或多个模型的突变产生的(一或多个)模型上执行,而不是在输入集420的模型上操作。例如,突变操作470可在输入集420的第一模型上执行以产生中间模型,并且交叉操作可经执行以组合中间模型的方面与输入集420的第二模型的方面,从而产生输出集430的模型。

在突变操作470期间,模型的一部分随机修改。突变的频率、范围和/或类型可基于上文所描述的突变参数,其可以由用户定义、随机选择/调整或基于输入集420的特性来调整。在使用归一化向量表示时,突变操作470可包含随机修改归一化向量中的一或多个位/字节/部分的值。

因此,突变操作470可以是通过使输入集420的模型的任何方面突变来产生或促进输出集430的模型的随机或伪随机操作。例如,突变操作470可以使输入集的特定模型的拓扑通过一或多个输入节点的添加或省略、通过一或多个连接的添加或省略、通过一或多个隐藏节点的添加或省略或其组合来修改。作为另一实例,突变操作470可以使一或多个激活函数、聚合函数、偏置值/函数和/或连接权重得以修改。在某些方面,突变操作470可在由交叉操作460产生的模型上执行,而不是在输入集的模型上操作。例如,交叉操作460可组合输入集420的两个模型的方面以产生中间模型,并且突变操作470可在中间模型上执行以产生输出集430的模型。

遗传算法410可以在多个时期内以上文所描述的方式继续,直到满足指定终止准则为止,例如时间限值、时期的数目或(例如,总体最拟合模型的)阈值拟合性值。当满足终止准则时,可以选择最后执行时期的总体最拟合模型并将其输出为反映图1的一或多个模型124的拓扑。前述基于遗传算法的程序可用于确定一或多个模型124中的零个、一个或超过一个神经网络的拓扑。

参考图5,示出系统100的操作方法500的特定实例。方法500包含在502处,通过处理器接收输入数据集。输入数据集包含多个特征。例如,处理器接收图1的输入数据集102。

方法500包含在504处,通过处理器确定输入数据集的一或多个特性。例如,参数选择器104(例如,处理器)确定输入数据集102的特性106。

方法500包含在506处,基于一或多个特性,通过所述处理器调整自动模型产生过程的一或多个架构参数。自动模型产生过程经配置以使用随机化过程产生多个模型。一或多个架构参数对随机化过程进行加权以调整产生具有特定架构特征的模型的概率。为了说明,参数选择器104调整架构参数112,以调整多个模型122包含具有对应于架构参数112的架构类型的模型的概率。

方法500进一步包含在508处,通过处理器执行自动模型产生过程以输出模型。模型包含表示神经网络的数据。例如,执行自动模型产生过程120以产生和训练一或多个模型124。

在特定实施方案中,特定架构特征包含供经加权随机化过程使用的初始模型类型。例如,架构参数112可以对应于在多个模型122中(例如,在初始时期的初始模型集中)包含的初始模型类型。初始模型类型可包含前馈模型、循环模型、基于池化的二维卷积模型、因果卷积模型的菊链、其它类型的模型,或其组合。

在特定实施方案中,一或多个特性指示与输入数据集相关联的问题的类型、与输入数据集相关联的数据类型或其组合。例如,特性106可以指示输入数据集102包含图像数据(例如,与图像问题相关联),或者可以指示输入数据集102与分类问题相关联(例如,因为输入数据集包含经标记数据)。

在特定实施方案中,一或多个架构参数包含突变参数,且使用经加权随机化过程产生的多个模型中的至少一个模型是基于突变参数修改的。例如,突变操作470可以由图1的参数选择器104基于特性106来调整。

在特定实施方案中,方法500进一步包含基于一或多个特性,通过处理器调整自动模型产生过程的一或多个训练超参数。一或多个训练超参数控制模型的训练的一或多个方面。例如,例如学习速率的训练超参数可以基于特性106而调整,类似于调整架构参数112。

在特定实施方案中,调整一或多个架构参数包含基于一或多个特性将第一架构参数设置成第一值,以及基于一或多个特性将第二架构参数设置成第二值。第一架构参数与经加权随机化过程的第一时期的模型具有第一模型类型的概率相关联,且第二架构参数与经加权随机化过程的第一时期的模型具有第二类型的概率相关联。例如,如果特性106与第一架构参数同相符合且与第二架构参数反相符合,那么可以调整第一架构参数以增加初始时期的模型具有第一类型的概率,并且可以调整第二架构参数以减小初始时期的模式具有第二类型的概率。

在特定实施方案中,基于一或多个特性调整一或多个架构参数包含比较一或多个特性与将数据集特性映射到架构参数的规则集。规则集将数据集映射到语法的特性,且语法指示对应架构参数。例如,规则集108将数据集的特性映射到指示特定架构参数的语法,例如图3的语法300。另外,方法500可包含基于模型的特性而更新规则集。例如,规则集108可以基于训练数据130更新,使得规则集108考虑到一或多个模型124的成功(或失败)。在特定实施方案中,响应于模型的分数满足阈值而更新规则集。例如,如果一或多个模型124的拟合性分数满足阈值,那么规则集108基于训练数据130而更新。

在特定实施方案中,基于一或多个特性调整一或多个架构参数包含向特定神经网络提供指示一或多个特性的数据,所述特定神经网络经配置以基于指示一或多个特性的数据而识别一或多个架构参数用于调整。例如,特定神经网络可包含或对应于经配置以基于输入数据集的特性而识别架构参数的图1的经训练分类器110。方法500可进一步包含基于训练数据重新训练特定神经网络。训练数据指示模型的特性。例如,指示一或多个模型124的数据可用作进一步训练经训练分类器110的训练数据130。

在特定实施方案中,执行自动模型产生过程包含:基于拟合性函数,通过处理器从多个模型(基于遗传算法且对应于遗传算法的第一时期的多个模型)中选择模型子集;通过处理器相对于子集中的至少一个模型执行遗传算法的至少一个遗传操作以产生可训练模型;将可训练模型发送到优化训练器;以及将从优化训练器接收的经训练模型作为输入添加到遗传算法的在第一时期之后的第二时期。例如,可以选择图4的输入集420的子集用于执行至少一个遗传操作,例如交叉操作460或突变操作470,并且可以将至少一个模型(例如,可训练模型422)提供给反向传播训练器480以训练成经训练模型482。可以基于输入数据集评估拟合性函数,并且优化训练器可经配置以使用输入数据集的一部分来训练可训练模型。

方法500使得能够比其它模型产生技术更快地且使用更少的处理资源产生和训练一或多个模型。例如,通过调整一或多个架构参数以调整在自动模型产生过程的输入集中包含具有某些架构类型的模型的概率,方法500提供比以其它方式使用纯随机过程包含更拟合的模型。提供更拟合的模型减少了用于收敛在一或多个模型上的时期的数目,这增加了速度并且减少了供自动模型产生过程使用的处理资源。

应理解,在图5的流程图中所示的本文中所描述的步骤的划分和排序仅出于说明性目的,并且不被视为具有限制性。在替代实施方案中,可以组合特定步骤,并且可以将其它步骤细分成多个步骤。此外,步骤的排序可以改变。

结合所描述的方面,一种方法包含通过处理器接收输入数据集。输入数据集包含多个特征。方法包含通过处理器确定输入数据集的一或多个特性。方法包含基于一或多个特性,通过处理器调整自动模型产生过程的一或多个架构参数。自动模型产生过程经配置以使用经加权随机化过程产生多个模型。一或多个架构参数对经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率。方法进一步包含通过处理器执行自动模型产生过程以输出模型。模型包含表示神经网络的数据。

结合所描述的方面,一种计算装置包含处理器和存储器,所述存储器存储可由所述处理器执行以执行包含接收输入数据集的操作的指令。输入数据集包含多个特征。操作包含确定输入数据集的一或多个特性。操作包含基于一或多个特性调整自动模型产生过程的一或多个架构参数。自动模型产生过程经配置以使用经加权随机化过程产生多个模型。一或多个架构参数对经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率。操作进一步包含执行自动模型产生过程以输出模型。模型包含表示神经网络的数据。

在特定实施方案中,特定架构特征包含供经加权随机化过程使用的初始模型类型,并且初始模型类型包含前馈模型、循环模型、基于池化的二维卷积模型、卷积模型的菊链,或其组合。例如,架构参数112可包含初始模型类型,并且初始模型类型可包含前馈模型、循环模型、基于池化的二维卷积模型、卷积模型的菊链,或其组合。另外或替代地,一或多个特性指示与输入数据集相关联的问题的类型、与输入数据集相关联的数据类型或其组合。例如,特性106可以指示与输入数据集102相关联的问题的类型、与输入数据集102相关联的数据类型或其组合。

结合所描述的方面,一种计算机可读存储装置存储指令,所述指令在执行时可使计算机执行包含接收输入数据集的操作。输入数据集包含多个特征。操作包含确定输入数据集的一或多个特性。操作包含基于一或多个特性调整自动模型产生过程的一或多个架构参数。自动模型产生过程经配置以使用经加权随机化过程产生多个模型。一或多个架构参数对经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率。操作进一步包含执行自动模型产生过程以输出模型。模型包含表示神经网络的数据。

在特定实施方案中,操作进一步包含基于一或多个特性将第一架构参数设置成第一值。第一架构参数与经加权随机化过程的第一时期的模型具有第一模型类型的概率相关联。例如,架构参数112可以基于特性106而设置成增加(或减小)自动模型产生过程120的第一时期的模型具有第一模型类型的概率的值。另外或替代地,操作进一步包含基于指示多个先前产生的模型的数据集及与多个先前产生的模型相关联的输入数据的特性而更新规则集或经训练分类器。规则集或经训练分类器用于确定一或多个架构参数。例如,规则集108或经训练分类器110可以基于指示多个先前产生的模型的数据及与多个先前产生的模型相关联的输入数据的特性而产生(和/或训练)。

本文中示出的系统和方法可以在功能块组件、屏幕截图、可选选择和各种处理步骤方面进行描述。应了解,此类功能块可以由经配置以执行指定功能的任何数目个硬件和/或软件组件实现。例如,系统可以采用可以在一或多个微处理器或其它控制装置的控制下实行各种功能的各种集成电路组件,例如,存储器元件、处理元件、逻辑元件、查找表等等。类似地,系统的软件元件可以用任何编程或脚本语言实施,例如c、c 、c#、java、javascript、vbscript、macromediacoldfusion、cobol、微软动态服务器页面、assembly、perl、php、awk、python、visualbasic、sql存储过程、pl/sql、任何unixshell脚本和可扩展标记语言(xml),其中各种算法用数据结构、对象、过程、例程或其它编程元件的任何组合实施。此外,应注意,系统可以采用任何数目个技术用于数据传输、传信、数据处理、网络控制等等。

本公开的系统和方法可以体现为现有系统、附加产品、执行升级软件的处理设备、独立系统、分布式系统、方法、数据处理系统、用于数据处理的装置和/或计算机程序产品的定制。因此,系统或模块的任何部分可以采用执行代码的处理设备、基于因特网(例如,云计算)实施例、完全硬件实施例或组合因特网、软件和硬件的方面的实施例的形式。此外,系统可以采用计算机可读存储媒体或具有体现或存储在存储媒体或装置中的计算机可读程序代码(例如,指令)的装置上的计算机程序产品的形式。可以利用任何合适的计算机可读存储媒体或装置,包含硬盘、cd-rom、光学存储装置、磁性存储装置和/或其它存储媒体。因此,同样在图1中未示出,系统100可以使用包含一或多个处理器的一或多个计算机硬件装置(其可以通过局域网和/或广域网通信地耦合)来实施,其中处理器执行对应于图1的各种组件的软件指令。替代地,图1的组件中的一或多个可以使用硬件装置来实施,例如现场可编程门阵列(fpga)装置、专用集成电路(asic)装置等等。如本文中所使用,“计算机可读存储媒体”或“计算机可读存储装置”不是信号。

本文中可以参考根据各种方面的方法、设备(例如,系统)和计算机媒体的屏幕截图、框图和流程图图示来描述系统和方法。应理解,框图和流程图图示的每一功能块和框图和流程图图示中的功能块的组合分别可以由计算机程序指令实施。

计算机程序指令可以加载到计算机或其它可编程数据处理设备上以产生机器,使得在计算机或其它可编程数据处理设备上执行的指令形成用于实施在流程图框中指定的功能的构件。这些计算机程序指令还可存储在计算机可读存储器或装置中,可以引导计算机或其它可编程数据处理设备以特定方式运行,使得存储在计算机可读存储器中的指令产生包含实施在流程图框中指定的功能的指令构件的制品。计算机程序指令还可加载到计算机或其它可编程数据处理设备上,使得一系列操作步骤在计算机或其它可编程设备上得以执行,从而产生计算机实施过程,使得在计算机或其它可编程设备上执行的指令提供用于实施在流程图框中指定的功能的步骤。

因此,框图和流程图图示的功能块支持用于执行指定功能的构件的组合、用于执行指定功能的步骤的组合,和用于执行指定功能的程序指令构件。还将理解,框图和流程图图示的每一功能块和框图和流程图图示中的功能块的组合可以由基于硬件的专用计算机系统或专用硬件和计算机指令的适当组合来实施,所述基于硬件的专用计算机系统执行指定功能或步骤。

尽管本公开可包含一种方法,但设想它可以体现为有形的计算机可读媒体上的计算机程序指令,所述有形的计算机可读媒体例如是磁性或光学存储器或磁盘/碟或光盘/碟。所属领域的技术人员已知的上述示例性实施例的元件的所有结构、化学和功能等效物以引用的方式明确地并入本文中,且意图包含在本权利要求书内。此外,装置或方法不必解决本公开所寻求解决的每一个问题,因为它将包含在本权利要求书内。此外,在本公开中的元件、组件或方法步骤皆不意图献给公众使用,无论所述元件、组件或方法步骤是否在权利要求书中明确地列举出来。如本文中所使用,术语“包括(comprises、comprising)”或其任何其它变体意图涵盖非排他性的包含,使得包括元件列表的过程、方法、制品或设备不仅仅包含那些元件,而是可以包含此类过程、方法、制品或设备中未明确列举的或其中所固有的其它元件。

可以对所公开实施例作出改变和修改,而不脱离本公开的范围。这些和其它改变或修改意图包含于本公开的范围内,如所附权利要求书所述。


技术特征:

1.一种神经网络产生的方法,所述方法包括:

通过处理器接收输入数据集,所述输入数据集包含多个特征;

通过所述处理器确定所述输入数据集的一或多个特性;

基于所述一或多个特性,通过所述处理器调整自动模型产生过程的一或多个架构参数,其中所述自动模型产生过程经配置以使用经加权随机化过程产生多个模型,并且其中所述一或多个架构参数对所述经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率;以及

通过所述处理器执行所述自动模型产生过程以输出模型,所述模型包含表示神经网络的数据。

2.根据权利要求1所述的方法,其中所述特定架构特征包括供所述经加权随机化过程使用的初始模型类型。

3.根据权利要求2所述的方法,其中所述初始模型类型包括前馈模型、循环模型、基于池化的二维卷积模型、因果卷积模型的菊链,或其组合。

4.根据权利要求1所述的方法,其中所述一或多个架构参数包含突变参数,并且其中使用所述经加权随机化过程产生的所述多个模型中的至少一个模型基于所述突变参数而修改。

5.根据权利要求1所述的方法,进一步包括:基于所述一或多个特性,通过所述处理器调整所述自动模型产生过程的一或多个训练超参数,其中所述一或多个训练超参数控制所述模型的训练的一或多个方面。

6.根据权利要求1所述的方法,其中调整所述一或多个架构参数包含:

基于所述一或多个特性将第一架构参数设置成第一值,所述第一架构参数与所述经加权随机化过程的第一时期的模型具有第一模型类型的概率相关联;以及

基于所述一或多个特性将第二架构参数设置成第二值,所述第二架构参数与所述经加权随机化过程的所述第一时期的模型具有第二模型类型的概率相关联。

7.根据权利要求1所述的方法,其中所述一或多个特性指示与所述输入数据集相关联的问题的类型、与所述输入数据集相关联的数据类型或其组合。

8.根据权利要求1所述的方法,其中基于所述一或多个特性调整所述一或多个架构参数包括比较所述一或多个特性与将数据集特性映射到架构参数的规则集,其中所述规则集将所述数据集映射到语法的特性,并且其中所述语法指示对应架构参数。

9.根据权利要求8所述的方法,进一步包括基于所述模型的特性而更新所述规则集。

10.根据权利要求9所述的方法,其中响应于所述模型的分数满足阈值而更新所述规则集。

11.根据权利要求1所述的方法,其中基于所述一或多个特性调整所述一或多个架构参数包括向特定神经网络提供指示所述一或多个特性的数据,所述特定神经网络经配置以基于指示所述一或多个特性的所述数据而识别一或多个架构参数用于调整。

12.根据权利要求11所述的方法,进一步包括基于训练数据重新训练所述特定神经网络,所述训练数据指示所述模型的特性。

13.根据权利要求1所述的方法,其中执行所述自动模型产生过程包括:

基于拟合性函数,通过所述处理器从所述多个模型中选择模型子集,所述多个模型基于遗传算法且对应于所述遗传算法的第一时期;

通过所述处理器相对于所述子集中的至少一个模型执行所述遗传算法的至少一个遗传操作以产生可训练模型;

将所述可训练模型发送到优化训练器;以及

将从所述优化训练器接收的经训练模型作为输入添加到所述遗传算法的在所述第一时期之后的第二时期。

14.根据权利要求13所述的方法,其中基于所述输入数据集评估所述拟合性函数,并且其中所述优化训练器经配置以使用所述输入数据集的一部分来训练所述可训练模型。

15.一种计算装置,包括:

处理器;以及

存储器,其存储指令,所述指令可由所述处理器执行以执行包括以下各项的操作:

接收输入数据集,所述输入数据集包含多个特征;

确定所述输入数据集的一或多个特性;

基于所述一或多个特性,调整自动模型产生过程的一或多个架构参数,其中所述自动模型产生过程经配置以使用经加权随机化过程产生多个模型,并且其中所述一或多个架构参数对所述经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率;以及

执行所述自动模型产生过程以输出模型,所述模型包含表示神经网络的数据。

16.根据权利要求15所述的计算装置,其中所述特定架构特征包括供所述经加权随机化过程使用的初始模型类型,并且其中所述初始模型类型包括前馈模型、循环模型、基于池化的二维卷积模型、卷积模型的菊链,或其组合。

17.根据权利要求15所述的计算装置,其中所述一或多个特性指示与所述输入数据集相关联的问题的类型、与所述输入数据集相关联的数据类型或其组合。

18.一种存储指令的计算机可读存储装置,所述指令在由处理器执行时使所述处理器执行包括以下各项的操作:

接收输入数据集,所述输入数据集包含多个特征;

确定所述输入数据集的一或多个特性;

基于所述一或多个特性,调整自动模型产生过程的一或多个架构参数,其中所述自动模型产生过程经配置以使用经加权随机化过程产生多个模型,并且其中所述一或多个架构参数对所述经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率;以及

执行所述自动模型产生过程以输出一或多个模型,所述一或多个模型包含表示一或多个神经网络的数据。

19.根据权利要求18所述的计算机可读存储装置,其中所述操作进一步包括基于所述一或多个特性将第一架构参数设置成第一值,所述第一架构参数与所述经加权随机化过程的第一时期的模型具有第一模型类型的概率相关联。

20.根据权利要求18所述的计算机可读存储装置,其中所述操作进一步包括基于指示多个先前产生的模型的数据集及与所述多个先前产生的模型相关联的输入数据的特性而更新规则集或经训练分类器,并且其中所述规则集或所述经训练分类器用于确定所述一或多个架构参数。

技术总结
本申请涉及自动模型构建搜索空间缩减。一种方法包含通过处理器接收输入数据集。所述输入数据集包含多个特征。所述方法包含通过所述处理器确定所述输入数据集的一或多个特性。所述方法包含基于所述一或多个特性,通过所述处理器调整自动模型产生过程的一或多个架构参数。所述自动模型产生过程经配置以使用经加权随机化过程产生多个模型。所述一或多个架构参数对所述经加权随机化过程进行加权以调整产生具有特定架构特征的模型的概率。所述方法进一步包含通过所述处理器执行所述自动模型产生过程以输出模型,所述模型包含表示神经网络的数据。

技术研发人员:T·S·麦克唐奈;S·安多尼;J·崔;J·戈德;蓝逸云;K·D·莫尔;G·塞勒斯
受保护的技术使用者:激发认知有限公司
技术研发日:2019.11.29
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-52585.html

最新回复(0)