用神经网络处理多样数据集以生成用于预测目标度量的合成数据集的系统和方法

文档序号:157327 发布日期:2021-10-26 浏览:46次 >En<

阅读说明:本技术 用神经网络处理多样数据集以生成用于预测目标度量的合成数据集的系统和方法 (System and method for processing diverse data sets with a neural network to generate a synthetic data set for predicting a target metric ) 是由 D·哈密尔顿 于 2020-01-16 设计创作,主要内容包括:一种计算机系统包括一个或多个用户输入适配器,其被配置为接收输入数据集、目标度量和指示要生成的合成数据集的期望数量的参数。存储器存储指令和数据,所述数据包括输入数据集、目标度量、指示合成数据集的期望数量的参数、以及神经网络。神经网络包括求和节点和多个处理节点。(A computer system includes one or more user input adapters configured to receive an input data set, a target metric, and a parameter indicative of a desired number of synthetic data sets to be generated. The memory stores instructions and data including an input data set, a target metric, a parameter indicative of a desired number of synthetic data sets, and a neural network. The neural network includes a summing node and a plurality of processing nodes.)

用神经网络处理多样数据集以生成用于预测目标度量的合成 数据集的系统和方法

(一篇或多篇)相关申请的(一项或多项)交叉引用

本申请要求于2020年1月16日提交的美国专利申请号16/744,236和于2019年1月16日提交的美国临时专利申请62/792,937的优先权,特此通过引用并入其全部内容。

技术概述

本文描述的技术涉及从多样的数据生成合成数据集。更特别地,该技术涉及自动生成对于预测目标度量有用的合成数据集,该合成数据集使用神经网络从多样的数据集中导出。

介绍

现代社会生成大量多样的数据。数据可以从天气数据(例如,温度)变化到交通数据(例如,给定道路上的汽车量)、到服务呼叫数据(例如,收到的呼叫数量)、到财务数据(例如,股票价格)、到电力消耗数据,以及到许多其他形式的数据。寻找多样类型的数据与目标问题(例如,预测飓风)之间的关联性或联系在现代社会中可以是有价值的。

然而,在大量多样的数据输入当中寻找关联性由于组合爆炸而是一个困难且具有挑战性的技术问题,所述关联性可以提供有用的新数据度量,例如,用于定量评估、控制和/或选择诸如过程、事件或机构之类的某物。例如,给定数百或数千个不同的数据集(每个数据集包含许多不同的值),可能的数据集组合的数量简直太大而无法处理。此外,在所有可能的数据集组合中,仅一个子集可能有用。但是,不存在高效且准确地标识有用的数据集子集的数据处理系统或技术。另一个技术问题是,当数据处理系统可以生成新的数据集时,那些新的数据集将很可能对于人类来说是不可理解的,并且因此,合成数据集的有用性对于人类来说可能是不清楚的。

因此,将领会,在这些和其他

技术领域

中,不断寻求新的和改进的技术、系统和过程。

发明内容

一种计算机系统包括一个或多个用户输入适配器,其被配置为接收输入数据集、目标度量和指示要生成的合成数据集的期望数量的参数。存储器存储指令和数据,所述数据包括输入数据集、目标度量、指示合成数据集的期望数量的参数、以及神经网络。神经网络包括求和节点和多个处理节点。至少一个硬件处理器被配置为执行操作,所述操作包括每个处理节点:处理输入数据集,包括用对应的输入权重值对输入数据集值进行加权以产生加权输入数据集值;确定选通运算以选择处理运算;以及通过将选通处理运算应用于加权输入数据集值来生成节点输出。用节点输出权重值对节点输出进行加权,以产生加权节点输出。来自多个处理节点的加权输出在神经网络中的求和节点中被组合,以产生目标参数的值。

所述至少一个硬件处理器被配置为执行另外的操作,其包括通过修改选通处理运算、输入权重值和节点输出权重值来迭代训练神经网络,直到神经网络在目标参数的收敛目标值处达到收敛状态。当神经网络达到收敛状态时,硬件处理器被配置为选择多个处理节点中具有较大量值节点输出权重值的一个或多个节点。

对于每个所选处理节点,从用作具有较大量值输入数据集权重值的对应所选处理节点的输入的输入数据集当中选择输入数据集中的多个数据集。此外,对于每个所选处理节点,选择选通处理运算的子集。所有这些选择都显著增加了神经网络的数据处理速度及其输出的有用性。

所述至少一个硬件处理器然后被配置为利用所选处理节点使用选通运算的所选子集来处理所选输入数据集值,以产生一个或多个合成数据集。硬件处理器被配置为基于所选输入数据集的名称和选通运算的所选子集,为所述一个或多个合成数据集中的每一个生成人类可理解名称。

硬件处理器被配置为在一个或多个数据库中存储一个或多个组合数据集和一个或多个组合数据集的人类可理解名称,和/或向用户设备提供一个或多个组合数据集的输出和一个或多个组合数据集的人类可理解名称。

提供本发明内容是为了介绍下面在

具体实施方式

中进一步描述的概念选择。本发明内容既不意图标识所要求保护的主题的关键特征或必要特征,也不用于限制所要求保护的主题的范围;而是,本发明内容意图提供本文档中描述的主题的概述。因此,将领会,上述特征仅仅是示例,并且根据以下具体实施方式、附图说明和权利要求,本文所述主题的其他特征、方面和优点将变得清楚。

附图说明

通过结合如下各附图参考以下对示例非限制性的说明性实施例的详细描述,将更好和更完整地理解这些和其他特征和优点:

图1是根据某些示例实施例的示例计算机系统图;

图2A-2B是示出了根据某些示例实施例的示例计算机实现的过程的流程图;

图3图示了根据某些示例实施例的示出神经网络以及解释器模块的功能模块的子系统图;

图4是图示了根据某些示例实施例的与在神经网络的处理节点中使用的传统sigmoid函数相比的硬sigmoid函数的图形;

图5是图示了神经网络权重的三个L型正则化的图形;

图6是图示了根据示例实施例的用于处理输入数据集以训练并且然后修整神经网络的示例处理函数和数据流的图;

图7是图示了根据示例实施例的用于在训练神经网络之后,处理输入数据集以确定最显著的输入数据集的示例处理函数和数据流的图;

图8是图示了根据示例实施例的用于对特定联邦储备数据的示例应用中的示例数据集的表格;

图9是图示了根据示例实施例的在联邦储备数据示例应用的上下文中输入数据集和多个合成输出数据集的示例用户定义的表格;

图10是图示了根据示例实施例的根据联邦储备数据示例应用的示例合成数据集和合成数据集的人类可读名称的表格;

图11是图示了根据示例实施例的基于联邦储备数据示例应用的用户定义的神经网络的示例设计的图;

图12是图示了根据示例实施例的图11中的神经网络在训练之后的示例的图,其中为联邦储备数据示例应用选择具有最大量值权重的某些处理节点;

图13是图示了根据示例实施例的使用图11和12中的神经网络的示例的图,其中为联邦储备数据示例应用选择具有最大量值权重的某些输入数据集;

图14是图示了根据示例实施例的图11中的神经网络在训练之后的示例的图,其中为联邦储备数据示例应用选择用于所选处理节点之一的数学运算符的子集;

图15是图示了根据示例实施例的在联邦储备数据示例应用中对合成数据集的人类可理解名称进行合成的示例的图;以及

图16示出了可以在一些实施例中用于实现本文描述的特征的示例计算系统。

具体实施方式

在以下描述中,出于解释而非限制的目的,阐述了诸如特定节点、功能实体、技术、协议等具体细节,以便提供对所描述技术的理解。对于本领域技术人员而言将清楚的是,除了下面描述的具体细节之外可以实践其他实施例。在其他实例中,为了不使描述因不必要的细节模糊不清,省略对众所周知的方法、设备、技术等的详细描述。

在本具体实施方式中使用的章节仅仅是为了使读者了解每个章节的一般主题;如下面将看到的,许多特征的描述跨越多个章节,并且标题不应当被解读为影响任何章节中包括的描述的含义。

概述

某些示例实施例涉及一种计算机系统,该计算机系统包括一个或多个用户输入适配器,该用户输入适配器被配置为接收输入数据集、目标度量和指示要生成的合成数据集的期望数量的参数。存储器存储指令和数据,所述数据包括输入数据集、目标度量、指示合成数据集的期望数量的参数以及神经网络。神经网络包括求和节点和多个处理节点。至少一个硬件处理器被配置为执行操作,所述操作包括每个处理节点:处理输入数据集,包括用对应的输入权重值对输入数据集值进行加权以产生加权输入数据集值;确定选通运算以选择处理运算;以及通过将选通处理运算应用于加权输入数据集值来生成节点输出。用节点输出权重值对节点输出进行加权,以产生加权节点输出。来自多个处理节点的加权输出在神经网络中的求和节点中被组合,以产生目标参数的值。

硬件处理器(例如,图16中所示的计算节点500)被配置为执行操作,所述操作包括通过修改选通处理运算、输入权重值和节点输出权重值来迭代训练神经网络,直到神经网络在目标参数的收敛目标值处达到收敛状态。当神经网络达到收敛状态时,硬件处理器选择多个处理节点中具有较大量值节点输出权重值的一个或多个节点。

对于每个所选节点,从用作具有较大量值输入数据集权重值的对应所选处理节点的输入的输入数据集当中选择输入数据集中的多个输入数据集。此外,对于每个所选处理节点,选择选通处理运算的子集。所有这些选择都显著增加了神经网络的数据处理速度及其输出的有用性。

然后,神经网络使用选通处理运算的所选子集,用所选处理节点处理所选输入数据集值,以产生一个或多个合成数据集。硬件处理器基于所选输入数据集的名称和选通运算的所选子集,为所述一个或多个合成数据集中的每一个生成人类可理解名称。

硬件处理器在一个或多个数据库中存储一个或多个组合数据集和一个或多个组合数据集的人类可理解名称,和/或向用户设备提供一个或多个组合数据集的输出和一个或多个组合数据集的人类可理解名称。

本文描述的技术提供的技术改进可以应用于从医疗保健、到媒体、到教育、到金融、到证券、到运输以及许多其他行业和领域的不同领域中,以分析非常大量的不同输入数据集,并高效和准确地生成有用的合成数据集。此外,合成数据集使用人类可理解名称自动命名,以使合成数据集的有用性对人类用户来说显著地更加清楚。最后,合成数据集足够一般化,从而对于其他预测和研究任务和应用而言也是有用的。

图1是示出所述系统的组件的架构图,包括神经网络;图2A-2B图示了在图1的架构中执行的方法;图3示出了图1的架构的一部分的更详细的软件模块;图4和图5是分别图示在神经网络中实行的示例选通和加权运算的图形;图7和图8是示出神经网络训练和神经网络一经训练的运算的示例的图;图8-15涉及可以用图1的架构和图2A-2B的方法处理的示例数据集;以及图16示出了可以用于实现图1的架构和图2A-2B的方法的示例计算系统。

计算机系统描述-图1

图1是根据某些示例实施例的计算机系统图。在本文档中的许多地方,包括图1的描述,计算机实现的功能块、功能和动作可以使用软件模块来实现。应当理解,由(一个或多个)软件模块或(一个或多个)处理节点执行的功能块、功能和/或动作实际上是由底层硬件(诸如至少一个硬件处理器和至少一个存储器设备)根据(一个或多个)软件模块指定的程序指令来实现的。在图16的描述中提供了具有至少一个硬件处理器和至少一个存储器设备的示例计算机系统的细节。此外,所描述的功能块、功能和动作也可以使用各种硬件配置(诸如ASIC、PLA、分立逻辑电路等)来单独地或与(一个或多个)编程计算机结合实现。

计算机系统10接收并处理来自一个或多个源的数据。在图1中,数据库14是一个数据源,并且它还可以用作从外部源接收数据的存储设备。可以使用多于一个数据库。在某些示例中,来自各种数据源的数据可以存储在数据仓库或数据湖(未示出)中,然后可以由计算机系统10对所述数据仓库或数据湖进行查询和操作。

最终,计算机系统10被配置为从任意数量的数据源接收和处理信息。在某些实例中,数据源可以包括内部数据源(例如,其由正在操作计算机系统10的同一组织操作)。数据源可以包括数据有线服务提供商(例如,与路透社(Reuter)是新闻服务类似的方式的数据“有线”服务)。在某些实例中,数据源可以由系统10订阅。数据源和那些数据源的数据格式本质上可以是异构的或同构的,并且照此,任何类型的数据格式都可以是可接受的。

输入数据(数字或其他)作为输入数据集存储在数据库14中。输入数据集可以是不同类型的数据,并且可以以任何形式,包括带有列的表格形式或者元素或节点的某个其他组织形式。每个数据集通常包括多个索引数据值,例如温度数据集可能具有以摄氏度为单位的温度值列表。神经网络数据分析上下文中的数据集示例包括特征、工程特征和导出特征。神经网络上下文中的索引数据值的示例包括预测向量、输入向量和来自数据库的数据列。输入数据集的其他示例类型包括从一个或多个温度传感器收集的温度数据、一个或多个证券的电子交换数据、服务呼叫数据(诸如公司在24小时时段内接收到的呼叫总数)、港口中货船的位置和吨位、生态事件的卫星图像以及许多其他类型的数据。实际上,可以接收和分析任何类型的数据集。

用户接口12从数据库14接收输入数据集、连同接收一个或多个目标度量和系统10要为用户或为另一计算机系统生成和输出的合成数据集的期望数量。目标度量是对于定量评估、控制和/或选择某物(例如包括过程、事件或机构)的度量。使用利用一个或多个数学运算符或函数组合的两个或更多个输入数据集来生成合成数据集。一个示例是取两个输入数据集的平均来生成合成数据集。

具有多个处理节点的神经网络16从数据库14接收输入数据集连同来自用户接口12的目标度量。神经网络16被设计、训练、修整并且然后用于使用输入数据集生成期望数量的合成数据集。合成数据集由合成数据集命名模块20处理,该合成数据集命名模块20为每个合成数据集生成并分配人类可理解名称。合成数据集处理模块18从神经网络16接收合成数据集、以及接收分配的人类可理解名称,并提供命名的合成数据集以供存储在数据库14中并将其提供给用户接口12以供输出。

在某些示例实施例中,神经网络16、合成数据集命名模块20和合成数据集处理模块18可以在基于云的计算机环境中实现,并且可以跨一个或多个物理计算机节点(诸如,例如图16中所示的计算机节点)实现。在某些示例中,计算机系统10的不同组件或模块可以在对应的物理计算机硬件上实现的虚拟机上实现。

计算机系统的操作描述-图2A-2B

图2A-2B是示出根据某些示例实施例的由计算机系统10实现的示例计算机实现的过程的流程图。

在步骤S1中,用户接口接收输入数据集、目标度量和用户想要生成的合成数据集的期望数量,并在步骤S2中将输入数据集和目标度量提供给具有多个处理节点I1-I4的神经网络(NN)16。在步骤S31-4中,每个NN处理节点:处理输入数据集,包括用对应的输入权重值对输入数据集值进行加权以产生加权输入数据集值;确定选择处理运算的选通运算;以及通过将选通运算应用于加权输入数据集值来生成节点输出。在步骤S41-4中,NN处理节点用节点输出权重值对处理节点输出进行加权,以产生加权节点输出,并且在步骤S51-4中,组合节点组合来自处理节点的加权输出,以产生目标参数的值。

在步骤S6中,通过修改选通运算、输入权重值和节点输出权重值来迭代训练神经网络,直到神经网络在目标参数的收敛目标值处达到收敛状态。在步骤S7中做出决策,以检测神经网络何时已经达到收敛状态。此后,在步骤S8中,选择多个处理节点中具有较大量值节点输出权重值的一个或多个节点。在步骤S9中,对于每个所选处理节点,从用作具有较大量值输入分量权重值的对应所选处理节点的输入的输入数据集集合当中选择输入数据集的子集。类似地,在步骤S10中,对于每个所选处理节点,选择选通运算子集,并且在步骤S11中,使用选通运算的所选子集来处理输入数据集值的所选子集,以产生一个或多个合成数据集。

然后在步骤S12中,基于所选输入数据集的名称和选通运算的所选子集,为一个或多个合成数据集中的每一个生成人类可理解名称。所述一个或多个合成数据集及其对应的人类可理解名称被发送到用户接口用于输出和/或存储在数据库14中。

子系统的描述-图3

图3图示了根据某些示例实施例的示出神经网络16和解释器模块28的功能模块的子系统图。

现在提供神经网络16的某些方面的简要概述。神经网络16通过学习逼近任何输入和任何输出之间的未知函数,根据输入数据集间的相似性对输入数据集进行分组。在学习过程中,神经网络找到将输入转换为输出的函数。神经网络中节点层中的每个处理节点将输入数据集与使该输入增加或减少的系数或权重的集合相组合,从而为神经网络正在试图学习的目标度量的输入数据集分配显著性。这些输入-权重乘积或加权输入数据集被求和,并且该和通过处理节点的激活函数传递,以确定该和信号是否以及在多大程度上进一步通过网络前进以影响最终的神经网络输出。

当训练神经网络时,每个节点层通过重复尝试产生或重建目标度量来自动学习。每次训练迭代在加权输入和目标度量之间产生误差量度或“损失”,并且该误差用于将权重调整到它们对误差贡献的程度。无论是在训练的开始还是结束状态,权重的集合也称为模型。神经网络可以被视为校正反馈回路,奖励(增加)使误差减少的权重,并且处罚(减少)使误差增加的权重。

在高层次处,每个处理节点像开关,其取决于它是否应该让输入传递通过来影响神经网络的最终决策而打开和关闭。非线性函数转化输入来对节点输出进行成形。每个节点处的非线性函数可以是类似于逻辑回归的s形函数(参见图4中所图示的Sigmoid函数)。所有节点的输出——每个输出已经被转化成0和1之间的空间——然后作为到前馈神经网络中的下一层的输入被传递,以此类推,直到信号达到网络的最后一层,在最后一层中做出决策。

称为“梯度下降”的一种常用优化函数根据权重引起的误差来调整权重,直到误差不能再减小或达到阈值。神经网络在它已经达到该阈值误差时收敛,并且在该收敛点处,神经网络是“经训练的”。

返回到图3,输入数据集被提供给指数加权移动平均(EWMA)层22和“硬”神经算术逻辑单元(NALU)层24。EWMA层22将经学习的平滑函数应用于可以被压缩到较低维度的时间序列数据或空间数据。神经网络的每一层包括多个处理节点,所述处理节点在输入数据集被加权之后,对输入数据集执行多个运算(包括激活或选通,以及然后是选通处理运算),以产生节点输出,其也被加权并传递给神经网络中下一层中的节点。通过在神经网络的迭代训练过程中经由随机梯度下降修改选通运算来训练神经网络。也可以使用其他优化函数。经调整的权重值被提供给硬NALU层24、用于确定实际要使用的输入数据集的模块32、以及选通运算符模块34。

来自硬NALU层24的输出是值的张量,并且连同经调整的权重一起被提供给解释器模块28中的合成数据集重要性模块36,并且被提供给到回归或分类模块的密集连接26。到回归或分类模块的密集连接26计算神经网络的最终输出,其包括输入数据集、硬NALU层24、EWMA层22和密集连接26。该最终输出用于计算用在训练网络中的神经网络的损失函数。

数据集输入模块32处理来自EWMA层22的输入权重,并将实际上将由经训练的神经网络使用的输入数据集输出到选通运算模块34。选通运算模块34处理来自EWMA层24的选通运算权重连同来自数据集输入模块32的输入数据集。合成数据集重要性模块36处理来自硬NALU层24的权重,并确定哪些合成数据集是重要的。选通运算模块34提供如上所述将输入数据集彼此关联的人类可理解名称的阵列,并且合成数据集重要性模块36提供关于将哪些输入的人类可理解名称传递给合成数据集命名模块20的信息。来自合成数据集命名模块20的合成数据集名称在合成数据集模块18处与合成数据集编号组合,并提供给用户接口12和/或数据库14,如图1中所示。

传统Sigmoid函数与硬Sigmoid非线性相比-图4

图4是图示了根据某些示例实施例的硬sigmoid激活函数与在神经网络16的处理节点中使用的s共享sigmoid激活函数相比的图形。同样,每个神经网络处理节点中的激活函数确定加权输入数据集是否以及在多大程度上进一步通过网络前进以影响最终结果。与硬Sigmoid相比Sigmoid函数是平滑的s形曲线,硬Sigmoid是阶梯形的,给出更加二进制的输出(0或1),并且从而与使用s形Sigmoid相比简化了节点处理。

每个NALU层24处理节点对输入数据集值执行以下函数:

W是如上所述进行运算和被修改的权重层,是任意张量(张量是具有任意维数的矩阵),是逐元素的乘法,“g”是确定在处理节点输出等式(5)中是使用加法和减法运算符(函数)还是使用乘法和除法运算符(函数)的运算符选择函数(有时称为选通函数)。如上所述,通过针对损失函数的随机梯度下降来适配G的权重。变量“a”是加法/减法决策,“m”是乘法/除法决策,并且“x”表示加权输入数据集值。

显著地,等式(2)中的运算符选择函数使用硬Sigmoid,使得在等式5中,或者执行加法/减法运算而不执行乘法/除法运算,或者执行乘法/除法运算而不执行加法/减法运算。“g”的计算是输入不可知的,从而使NALU所使用的运算符集合是常量,而与不同的输入数据集无关。这不同于如下实现方式,其中选通运算G由输入修改,从而使得针对任何预测选择的运算符取决于特定输入。

选通运算模块34执行以下:

合成输出数据集yi使用以下等式生成:

根据上述等式,选通运算符(g i )倾向于取值0和1,这是由于G上的硬sigmoid非线性。作为结果,每个合成数据集倾向于与或者由加法和减法运算或者由乘法和除法运算组成的函数相关联,而不是两者都相关联,这减少了神经网络的处理时间、功耗和处理复杂性。这里的运算符是一个指针,它指向乘法和除法运算或指向加法和减法运算。然后,选通运算符的值从指向运算中选择运算。选通运算符(g i )用以下方式进行解释:

等式(8)和(9)中的该选通运算信息用于根据等式(7)生成合成数据集,诸如在图2的步骤S11中。该选通运算信息也用于由处理节点根据等式(5)处理输入数据集,诸如在图2中的步骤S31-S34中。该选通运算信息被提供给合成数据集名称生成器模块20,用于在生成人类可理解名称中使用,诸如在图2B中的步骤S12中。

L型正则化的描述-图5

图5是图示了上述神经网络权重的三个L型正则化的图形:L2、L1和L1/2。通过基于各个层中使用的权重修改损失函数来在NN权重训练中使用L正则化。在示例实施例中,利用上述权重W来应用L1/2正则化,以促进稀疏性。稀疏模型是具有相对较少参数的模型,并且其参数具有高重要性。作为结果,可以只使用与预测过程最相关的输入。

神经网络训练和修整的描述-图6

图6是图示了根据示例实施例的用于处理输入数据集以训练(参见图2A中的步骤S6)并且然后修整(参见图2B中的步骤S8和S9)神经网络16的示例处理函数和数据流的图。

在神经网络训练阶段中,原始输入数据集被提供给标记为I1-I4的四个示例NN处理节点40中的每个。每个节点应用对应的可调整输入数据集权重(未示出)和对应的标记为w1-w4的可调整节点输出权重42,并应用如上所述的硬sigmoid激活函数连同等式(1)-(6)和(8)-(9)中阐述的运算。加权输出在组合器节点44中被组合,以生成目标度量或参数的预测值y’。基于损失/误差函数,通过修改选通运算、输入权重值和节点输出权重值来迭代训练神经网络,直到神经网络损失/误差在目标参数的收敛目标值处达到收敛状态。选通运算包括如由逻辑门(例如,或门)完成的逻辑运算之类的逻辑运算,其将每个NN处理节点中的消息路由到加法/减法+-处理运算或乘法/除法*/处理运算。例如,在迭代训练过程中,经由随机梯度下降来修改输入权重、选通运算和输出权重。

在训练之后,输出权重42 w1-w4在排序模块46中按量值排序,并且在影响输出y’方面具有最大显著性的最大量值权重——在该示例中为w2和w3——被选择模块48选择并提供给解释器模块50。

解释器模块50将所选权重与神经网络的前一层中的相关联节点对齐,并将该相关联节点集合提供给修整模块52,修整模块52修整神经网络。修整模块52基于所选权重选择处理节点40的子集,该子集在它们对输出y’的影响方面是最显著的。在该示例中,选择处理节点I2和I3,因为它们对应的输出权重w2和w3具有最大的节点输出权重量值。修整模块52产生经训练和经修整的神经网络54,其只使用所选处理节点I2和I3、所选权重和所选选通运算。

输入数据集修整的描述-图7

图7是图示了根据示例实施例的用于在训练神经网络16之后,通过如图2B中的步骤S8和S9中那样修整神经网络16来处理输入数据集以确定最显著的输入数据集的示例处理函数和数据流的图。该处理类似于但不同于上述节点输出权重42 w1-w4的处理。在这种情况下,针对每个单独的所选处理节点40处理输入权重56 w1-w4,并在排序模块46中按量值对输入权重56 w1-w4进行排序。然后,排序模块46选择输入权重56中的一些,在该示例中在影响输出y’方面具有较大量值和最大显著性的w2和w3由选择模块48选择并提供给解释器模块50。对每个所选处理节点40执行该输入权重排序和选择(修整)。解释器模块50然后将所选权重与输入数据集相关联。

合成数据集处理器18处理所选输入数据集、所选选通运算和所选处理节点40的名称,并生成描述人类可理解的合成数据集的名称(例如,短语或标签)。作为简单的示例,假设合成数据集处理器18确定合成数据集#2是重要的,并且加法和减法处理运算符的组合被用于计算输入运算符数据集对:输入A-、输入B+和输入C+。合成数据集处理器18生成短语“合计B和C减去A(total B and C less A)”作为合成数据集的名称。单词“合计”用于描述“+”,并且单词“减去”用于描述“-”。

输入数据集的特定示例的描述-图8

图8是图示了根据示例实施例的用于对特定联邦储备数据的示例应用中的示例输入数据集(参见图2A中的S1)的表格。该表格针对对应于特定日期的每一行在最左侧列中包括索引。第一数据集对应于目标输出y’,其在该示例中是失业率(UNRATE)的数据值列。第二数据集是输入数据集,并且是西德克萨斯原油现货价格(WTISPLC)的输入数据值列。第三数据集是输入数据集,并且是工业生产率(INDPRO)的输入数据值列。第四数据集是输入数据集,并且是消费者价格指数(CPIAUCSL)的输入数据值列。

用户定义描述-图9

图9是一个表格,其图示了在图8中联邦储备数据示例的上下文中输入数据集(参见图2A中的S1)和多个合成输出数据集(参见图2B中的S11)的示例用户定义。输入对应于日期索引、UNRATE目标和WTISPLC、INDPRO和CPIAUCSL输入数据集,在图9中称为预测器,因为它们用于预测来自神经网络的UNRATE目标输出。输出对应于用户经由用户接口12定义的合成数据集数量。在这种情况下,用户定义应该生成五个合成数据集。

合成数据集的描述-图10

图10是一个表格,其图示了根据示例实施例的根据联邦储备数据示例应用的示例合成数据集(参见图2B中的S11)和合成数据集的人类可读名称(参见图2B中的S12)。人类可读的名称包括:缩放的WTISPLC-INDPRO、按CPIAUCSL缩放的WTISPLC-INDPRO、按CPIAUCSL缩放的WTISPLC、缩放的INDPRO-WTISPLC和按CPIAUCSL缩放的INDPRO。合成数据集的值在对应的人类可理解名称下的列中提供。“-”意味着CPI和工业生产率的乘积。按CPIAUCSL缩放的WTISPLC-INDPRO意味着原油价格与工业生产率和CPI之和之间的差。按CPIAUCSL缩放的WTISPLC意味着原油价格与CPI的比率。缩放的INDPRO-WTISPLC意味着工业生产率和原油价格的乘积。按CPIAUCSL缩放的INDPRO意味着工业生产率与CPI的比率。图10中的数据表格然后可以被存储在数据库14中和/或被提供用于在用户接口12处输出。

联邦储备数据集示例的神经网络设计描述-图11

图11是图示了根据示例实施例的基于联邦储备数据示例应用的用户定义的神经网络的示例设计的图。图9中的神经网络的用户定义被提供作为输入(参见图2A中的S2),并且输入数据集62 (WTISPLC、INDPRO和CPIAUCSL)被配置用于加权和输入到多个NN处理节点64中的每一个(参见图2A中的S3)。来自每个处理节点64的输出被加权,并且被组合成组合器模块66,以生成目标UNRATE的值。此时,神经网络经历训练(参见图2A中的S5)。

选择最重要的NN处理节点的描述-图12

图12是图示了根据示例实施例的图11中的神经网络在训练之后的示例的图,其中为联邦储备数据示例选择了某些处理节点。从处理节点40的初始集合中选择处理节点68的子集,该子集在对目标UNRATE 66的影响方面具有较大的量值输出权重70(参见图2B中的S8)。

选择最重要的输入数据集的描述-图13

图13是图示了根据示例实施例的使用图11和12中的神经网络示例的图,其中为联邦储备数据示例选择具有较大量值权重的某些输入数据集(参见图2B中的S9)。这里,对于每个所选处理节点68分析和选择输入数据集。图13中的所选处理节点对应于左上角圈出的节点,该节点具有为0.79的最大量值输出权重之一。三个输入数据集WTISPLC、INDPRO和CPIAUCSL在输入到处理节点之前分别进行加权。仅有WTISPLC和CPIAUCSL被选择,这是因为它们与INDPRO的较小权重0.1相比的较大权重.021和0.23。

选通运算选择的描述-图14

图14是图示了根据示例实施例的图11中的神经网络在训练之后的示例的图,其中为联邦储备数据示例选择用于所选处理节点的选通运算子集(参见图2B中的S10)。对于每个NN处理节点,选通运算符具有对应的硬sigmoid值。继续来自图13的示例,对于所选NN处理节点(在顶部),选通运算符被选择,其中值0对应于乘法和除法选通运算的选择。值1对应于加法和减法选通运算的选择。同样,这简化并加速了每个所选NN处理节点中的处理。

合成数据集名称生成的描述-图15

图15是图示了根据示例实施例的在联邦储备数据示例应用中对合成数据集的人类可理解名称进行合成的示例的图(参见图2B中的S12)。在该示例中,为使用从WTISPLC、INDPRO和CPIAUCSL的初始集合中选择的WTISPLC和CPIAUCSL数据集的合成数据集生成的人类可理解名称被命名为WTISPLC-CPIAUCSL,其被人类理解为WTISPLC(原油价格)和CPIAUCSL(消费者价格指数)的乘积。

在这种情况下,合成数据集WTISPLC-CPIAUCSL对于理解失业率(UNRATE)的变化有用。该合成数据集比输入和运算符的其他排列包括更多的用于理解失业率的变化的信息。合成数据集名称WTISPLC-CPIAUCSL的人类可理解本质,以及它对于分析变化的其他方面中的任务的有用性是附加优点。例如,该合成数据集可以对类似于失业率的其他量度而言有用,和/或理解失业变化的底层机制。

图16的描述

图16示出了可以在一些实施例中用于实现本文描述的特征的示例计算系统。示例计算设备500(其也可以被称为例如“计算设备”、“计算机系统”或“计算系统”)包括以下各项中的一个或多个:一个或多个硬件处理器502;一个或多个存储器设备504;一个或多个网络接口设备506;一个或多个显示接口508;以及一个或多个用户输入适配器510。附加地,在一些实施例中,计算设备500连接到或包括显示设备512。如下面将解释的,这些元件(例如,硬件处理器502、存储器设备504、网络接口设备506、显示接口508、用户输入适配器510、显示设备512)是硬件设备(例如,电子电路或电路的组合),所述硬件设备被配置为执行用于计算设备500的各种不同功能。

在一些实施例中,硬件处理器502中的每一个或任何一个是或者包括例如单核或多核硬件处理器、微处理器(例如,其可以被称为中央处理单元或CPU)、数字信号处理器(DSP)、与DSP核心相关联的微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路或片上系统(SOC)(例如,包括CPU和诸如存储器、联网接口等其他硬件组件的集成电路)。和/或,在一些实施例中,处理器502中的每一个或任何一个使用指令集架构,诸如x86或高级RISC机器(ARM)。

在一些实施例中,存储器设备504中的每一个或任何一个是或者包括随机存取存储器(RAM)(例如动态RAM(DRAM)或静态RAM(SRAM))、闪速存储器(基于例如NAND或NOR技术)、硬盘、磁光介质、光学介质、高速缓冲存储器、寄存器(例如,其保存指令)或者执行数据和/或指令(例如,在处理器502上或由处理器502执行的软件)的易失性或非易失性存储的其他类型的设备。存储器设备504是非易失性计算机可读存储介质的示例。

在一些实施例中,网络接口设备506中的每一个或任何一个包括一个或多个电路(诸如基带处理器和/或有线或无线收发器),并且针对一种或多种有线通信技术(诸如以太网(IEEE 802.3))和/或无线通信技术(诸如蓝牙、WiFi (IEEE 802.11)、GSM、CDMA2000、UMTS、LTE、高级LTE(LTE-A)和/或其他短程、中程和/或远程无线通信技术)实现层一、层二和/或更高层。收发器可以包括用于传送器和接收器的电路。传送器和接收器可以共享共同外壳,并且可以共享外壳中的一些或全部电路来执行传送和接收。在一些实施例中,收发器的传送器和接收器可以不共享任何共同电路和/或可以在相同或分离的外壳中。

在一些实施例中,显示接口508中的每一个或任何一个是或者包括一个或多个电路,所述电路从硬件处理器502接收数据,基于接收到的数据生成(例如,经由分立的GPU、集成的GPU、执行图形处理的CPU等)对应图像数据,和/或将生成的图像数据输出(例如,高清晰度多媒体接口(HDMI)、显示端口接口、视频图形阵列(VGA)接口、数字视频接口(DVI)等)到显示图像数据的显示设备512。替代地或附加地,在一些实施例中,显示接口508中的每一个或任何一个是或者包括例如视频卡、视频适配器或图形处理单元(GPU)。

在一些实施例中,用户输入适配器510中的每一个或任何一个是或者包括一个或多个电路,所述电路接收和处理来自一个或多个用户输入设备(图16中未示出)的用户输入数据,所述用户输入设备被包括在计算设备500中、附接到计算设备500或以其他方式与计算设备500通信,并且所述电路基于接收到的输入数据向硬件处理器502输出数据。替代地或附加地,在一些实施例中,用户输入适配器510中的每一个或任何一个是或者包括例如PS/2接口、USB接口、触摸屏控制器等;和/或用户输入适配器510促进来自用户输入设备(图16中未示出)的输入,所述用户输入设备诸如例如键盘、鼠标、触控板、触摸屏等……。

在一些实施例中,显示设备512可以是液晶显示(LCD)显示器、发光二极管(LED)显示器或其他类型的显示设备。在其中显示设备512是计算设备500的组件(例如,计算设备和显示设备被包括在统一的外壳中)的实施例中,显示设备512可以是触摸屏显示器或非触摸屏显示器。在其中显示设备512连接到计算设备500(例如,在计算设备500的外部,并经由有线和/或经由无线通信技术与计算设备500通信)的实施例中,显示设备512例如是外部监视器、投影仪、电视、显示屏等……。

在各种实施例中,计算设备500包括一个、或两个、或三个、四个或更多个以上提及的每一种或任何一种元件(例如,硬件处理器502、存储器设备504、网络接口设备506、显示接口508和用户输入适配器510)。替代地或附加地,在一些实施例中,计算设备500包括以下各项中的一个或多个:包括硬件处理器502的处理系统;包括存储器设备504的存储器或存储系统;以及包括网络接口设备506的网络接口系统。

在各种实施例中,计算设备500可以以许多不同的方式布置。仅作为一个示例,计算设备500可以被布置成使得硬件处理器502包括:多核(或单核)硬件处理器;第一网络接口设备(其实现例如WiFi、蓝牙、NFC等……);实现一种或多种蜂窝通信技术(例如,3G、4GLTE、CDMA等……)的第二网络接口设备;存储器或存储设备(例如,RAM、闪速存储器或硬盘)。硬件处理器、第一网络接口设备、第二网络接口设备和存储器设备可以集成为相同SOC(例如,一个集成电路芯片)的部分。作为另一个示例,计算设备500可以被布置成使得:硬件处理器502包括两个、三个、四个、五个或更多个多核硬件处理器;网络接口设备506包括实现以太网的第一网络接口设备和实现WiFi和/或蓝牙的第二网络接口设备;并且存储器设备504包括RAM和闪速存储器或硬盘。

如先前指出的,无论何时在本文档中描述软件模块或软件过程执行任何动作、操作或功能,该动作、操作或功能实际上都是由底层硬件元件根据包括软件模块的指令执行的。与前述一致,在各种实施例中,使用图16的计算设备500的示例来实现计算机系统10、神经网络16、合成数据集模块18、合成数据集标签生成器20、EWMA层22、硬NALU层24、到回归或分类的密集连接26、解释器28、选通运算模块34、合成数据集重要性模块36、排序模块46、选择模块48、解释器模块50和修整模块54——对于本段落剩余部分,它们中的每一个为了清楚将被单独称为“组件”——中的每一个或任何组合。在这样的实施例中,以下内容适用于每个组件:(a)图16中所示的500计算设备500的元件(即,一个或多个硬件处理器502、一个或多个存储器设备504、一个或多个网络接口设备506、一个或多个显示接口508和一个或多个用户输入适配器510或前述的适当组合或子集)被配置为、适配为和/或编程为实现本文描述为由组件和/或由本文描述为包括在组件内的任何软件模块执行的动作、活动或特征中的每一个或任何组合;(b)替代地或附加地,就本文描述一个或多个软件模块存在于组件内而言,在一些实施例中,这样的软件模块(以及本文描述为由软件模块处置和/或使用的任何数据)存储在存储器设备504中(例如,在各种实施例中,在诸如RAM或指令寄存器之类的易失性存储器设备中,和/或在诸如闪速存储器或硬盘之类的非易失性存储器设备中),并且本文描述为由软件模块执行的所有动作由处理器502酌情结合计算设备500中的和/或连接到计算设备500的其他元件(即,网络接口设备506、显示接口508、用户输入适配器510和/或显示设备512)来执行;(c)替代地或附加地,就本文描述组件处理和/或以其他方式处置数据而言,在一些实施例中,这样的数据存储在存储器设备504中(例如,在一些实施例中,在诸如RAM之类的易失性存储器设备中,和/或在诸如闪速存储器或硬盘之类的非易失性存储器设备中)和/或由处理器502酌情结合计算设备500中的和/或连接到计算设备500的其他元件(即,网络接口设备506、显示接口508、用户输入适配器510和/或显示设备512)来处理/处置;(d)替代地或附加地,在一些实施例中,存储器设备502存储指令,当由处理器502执行时,所述指令引起处理器502酌情结合计算设备500中的和/或连接到计算设备500的其他元件(即,存储器设备504、网络接口设备506、显示接口508、用户输入适配器510和/或显示设备512),来执行本文描述为由组件和/或由本文描述为包括在组件内的任何软件模块执行的动作中的每一个或任何组合。

与本文描述的技术一致,作为一个示例,在其中计算设备500的实例用于实现计算机系统10的实施例中,存储器设备504可以加载用于神经网络16、合成数据集模块18、合成数据集标签生成器20、EWMA层22、硬NALU层24、到回归或分类的密集连接26、解释器处理器28、选通运算模块34、合成数据集重要性模块36、排序模块46、选择模块48、解释器模块50和修整模块54的功能性的程序指令。可以根据这些处理器、模块和层的程序指令来处理数据集,以生成提供给用户设备和/或存储到存储器设备的合成数据集。

图16中所示和以上描述的硬件配置是作为示例提供的,并且本文描述的主题可以结合各种不同的硬件架构和元件来进行利用。例如:在本文档中的许多图中,示出了个体功能/动作块;在各种实施例中,那些块的功能可以使用(a)个体硬件电路,(b)使用被具体配置为执行所描述功能/动作的专用集成电路(ASIC),(c)使用被具体配置为执行所描述功能/动作的一个或多个数字信号处理器(DSP),(d)使用以上参考图16描述的硬件配置,(e)经由其他硬件布置、架构和配置,和/或经由(a)至(e)中描述的技术的组合来实现。

所描述主题的技术优点

在某些示例实施例中,所描述的基于神经网络的技术从大量可能的输入数据集(例如数百或数千)生成合成数据集。所描述的特征(例如,在神经网络处理节点中对硬选通运算选择函数的使用、对仅显著的输入数据集的选择和使用、对仅显著的NALU处理节点的选择和使用、以及对仅显著的输出数据集权重的选择和使用)导致生成比现有方法更高效的合成数据集的方法,从而导致在给定时间内可以处理的数据量、功耗、速度和/或复杂性方面的改进。本文描述的技术提供的技术改进可以应用于从医疗保健、到媒体、到教育、到金融、到证券、到运输以及许多其他行业和领域的不同领域中,以分析非常大量的不同输入数据集,并高效和准确地生成有用的合成数据集。此外,合成数据集使用人类可理解名称自动命名,以使合成数据集的有用性对人类用户来说显著地更加清楚。

本文的技术还允许通过使用目标、约束和惩罚进行高水平的定制。

所选术语

无论何时在本文档中描述给定项目存在于“一些实施例”、“各种实施例”、“某些实施例”、“某些示例实施例”、“一些示例实施例”、“示例性实施例”中,或者无论何时使用任何其他类似的语言,都应当理解该给定项目存在于至少一个实施例中,尽管不一定存在于所有实施例中。与前述一致,无论何时在本文档中描述动作“可以”、“可能”或“能够”被执行,特征、元件或组件“可以”、“可能”或“能够”被包括在给定的上下文中或适用于给定的上下文,给定的项目“可以”、“可能”或“能够”拥有给定的属性,或者无论何时使用涉及术语“可以”、“可能”或“能够”的任何类似短语,都应当理解该给定的动作、特征、元件、组件、属性等存在于至少一个实施例中,尽管不一定存在于所有实施例中。除非另有明确说明,否则本文档中使用的术语和短语及其变型应当被解释为开放式的而不是限制性的。作为前述的示例:“和/或”包括一个或多个相关联的所列项目的任何和所有组合(例如,a和/或b意味着a、b或a和b);单数形式“一”、“一个”和“该”应当被解读为意味着“至少一个”、“一个或多个”等;术语“示例”用于提供所讨论主题的示例,而不是其穷举或限制性列表;术语“包含”和“包含”(及其其他词性变化和其他变型)指定相关联的所列项目的存在,但不排除一个或多个其他项目的存在或添加;并且如果项目被描述为“可选的”,这样的描述不应当被理解为指示其他项目也不是可选的。

如本文所使用的,术语“非暂时性计算机可读存储介质”包括寄存器、高速缓冲存储器、ROM、半导体存储器设备(诸如D-RAM、S-RAM或其他RAM)、磁介质(诸如闪速存储器)、硬盘、磁光介质、光学介质(诸如CD-ROM、DVD或蓝光盘)或用于非暂时性电子数据存储的其他类型的设备。术语“非暂时性计算机可读存储介质”不包括暂时性传播的电磁信号。

所描述主题的附加应用

尽管过程步骤、算法等(没有限制地包括参考图1-15)可以以特定的依次顺序来描述或要求保护,但是这样的过程可以被配置为以不同的顺序工作。换言之,可以在本文档中明确描述或要求保护的步骤的任何次序或顺序不一定指示这些步骤以该顺序执行的要求;而是,本文描述过程的步骤可以以任何可能的顺序执行。此外,尽管一些步骤被描述或暗示为非同时发生(例如,因为一个步骤在另一个步骤之后描述),这些步骤可以同时(或并行)执行。此外,通过过程在附图中的描绘对该过程的说明并不暗示所说明的过程不包括对其的其他变型和修改,并不暗示所说明的过程或其任何步骤是必需的,并且并不暗示所说明的过程是优选的。

尽管已经详细示出和描述了各种实施例,但是权利要求不限于任何特定的实施例或示例。任何以上描述都不应当被解读为暗示任何特定的元件、步骤、范围或功能是必要的。上述实施例中对于本领域普通技术人员已知的元件的所有结构和功能等同物通过引用明确并入本文并且意图被涵盖。此外,对于设备或方法而言不一定是要解决了本发明寻求解决的每一个且所有问题才使它被本发明所涵盖。本文档中没有实施例、特征、元件、组件或步骤是意图献给公众的。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:检测智能电子设备中的故障的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!