首页> 中国专利> 将循环人工神经网络中的活动特征化以及编码和解码信息

将循环人工神经网络中的活动特征化以及编码和解码信息

摘要

用于将循环人工神经网络中的活动特征化以及编码和解码信息的方法、系统和装置,包括被编码在计算机存储介质上的计算机程序。在一方面,一种用于识别循环人工神经网络中的决策时刻的方法可以包括:确定所述循环人工神经网络中的活动的模式的复杂度;确定具有与响应于输入的其他活动的复杂度可区分的复杂度的活动的特定时间;以及基于具有所述可区分的复杂度的所述活动的所述特定时间识别决策时刻。

著录项

  • 公开/公告号CN112567390A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 英艾特股份公司;

    申请/专利号CN201980053463.5

  • 申请日2019-06-06

  • 分类号G06N3/04(20060101);G06N5/00(20060101);G06N3/00(20060101);G06N3/08(20060101);

  • 代理机构11587 北京汇知杰知识产权代理有限公司;

  • 代理人李洁;董江虹

  • 地址 瑞士洛桑

  • 入库时间 2023-06-19 10:22:47

说明书

背景技术

本说明书涉及循环人工神经网络(recurrent artificial neural network)中的活动的特征化。活动的特征化可以被用在例如决策时刻(decision moment)的识别中,以及被用在在诸如传输、加密和数据存储的场景中编码/解码信号中。它还涉及编码和解码信息,以及在各种场景中使用编码信息的系统和技术。编码信息可以表示神经网络(例如,循环神经网络)中的活动。

人工神经网络是受生物神经元网络的结构和功能方面启发的设备。特别地,人工神经网络使用被称为节点的互连构造的系统来模拟生物神经元网络的信息编码和其他处理能力。人工神经网络中的节点之间的连接的布置和强度决定了通过人工神经网络的信息处理或信息存储的结果。

可以训练神经网络以在网络中产生期望的信号流并且实现期望的信息处理或信息存储结果。通常,训练神经网络将在学习阶段期间改变节点之间的连接的布置和/或强度。当神经网络对于给定的输入集实现足够适当的处理结果时,可以认为该神经网络是训练过的。

人工神经网络可以被用在各种各样的不同的设备中以执行非线性数据处理和分析。非线性数据处理不满足叠加原理(superposition principle),即,待被确定的变量不能够被写为独立分量的线性总和。非线性数据处理是有用的的场景的示例包括模式和序列识别(pattern and sequence recognition)、语音处理、新颖性检测和序贯决策、复杂系统建模以及各种各样的其他场景中的系统和技术。

编码和解码都将信息从一种形式或表示转换为另一种形式或表示。不同的表示可以提供在不同的应用中或多或少有用的不同的特征。例如,信息的一些形式或表示(例如,自然语言)可以更易于人类理解。其他形式或表示可以大小更小(例如,“被压缩的”)并且更容易传输或存储。还有其他形式或表示可以有意地模糊信息内容(例如,信息可以被加密编码)。

不管特定的应用,编码或解码过程通常将遵循建立不同的形式或表示的信息之间的对应关系的预定义的规则集或算法。例如,产生二进制代码的编码过程可以根据单独的位在二进制序列或向量中的位置而为其分配角色或意义。

发明内容

本说明书描述了与人工神经网络中的活动的特征化有关的技术。

例如,一种用于识别神经网络中的决策时刻的方法包括:确定循环人工神经网络中的活动的模式的复杂度,其中所述活动响应于到所述循环人工神经网络中的输入;确定具有与响应于所述输入的其他活动可区分的复杂度的活动的特定时间(timing,时间);以及基于具有可区分的复杂度的所述活动的所述特定时间识别所述决策时刻。

作为另一个示例,一种用于将循环人工神经网络中的活动特征化的方法包括识别所述循环人工神经网络的活动的预定义的团模式(clique pattern)。所述方法由数据处理装置执行。作为另一个示例,一种方法可以包括从循环人工神经网络输出0和1的二进制序列,其中所述序列中的每个数字表示所述循环人工神经网络中的特定的节点组是否显示活动的相应的模式。

作为另一个示例,一种将循环人工神经网络结构化的方法可以包括:将可以在所述循环人工神经网络中出现的活动的模式的复杂度特征化,所述循环人工神经网络包括结构化的节点集合和所述节点之间的链接;以及使所述循环人工神经网络的结构进化(evolve)以增加活动的所述模式的所述复杂度。结构化的此方法也可以被使用,例如,一种训练所述循环人工神经网络的方法的一部分。

这些方面的其他实施方案包括对应的系统、装置和计算机程序,所述系统、装置和计算机程序被配置为执行被编码在计算机存储设备上的方法的动作。

可以实现本说明书中所描述的主题的特定实施方案,以实现以下优点中的一个或多个。例如,传统的数据处理设备,诸如,例如,数字计算机和其他计算机,被编程为在处理信息时遵循预定义的逻辑序列。因此,计算机实现结果的时刻相对容易识别。也就是,在编程中嵌入的逻辑序列的完成指示何时信息处理完成并且计算机已经“达成决策”。所述结果可以由例如存储器设备、一组缓冲器等以相对长期存在的形式保持在计算机的数据处理器的输出处,并且可以出于各种各样的目的被访问。

相反,如本文所描述的,可以基于在信息处理期间神经网络的动态特性的特征识别人工循环神经网络中的决策时刻。可以基于在信息处理之中人工神经网络的功能状态的特征识别人工神经网络中的决策时刻,而不是等待人工神经网络达到逻辑序列的预定义的结束。

此外,在信息处理期间循环人工神经网络的动态特性的特征——包括诸如与团模式和有向团模式(directed clique pattern)相称的活动的特征——可以被用在各种各样的信令操作(signalling operation)中,包括信号传输、编码、加密和存储。特别地,在信息处理期间循环人工神经网络中的活动的特征反映输入并且可以被认为是所述输入的一种编码形式(即,在编码过程中循环人工神经网络的“输出”)。这些特征可以例如被传输到远程接收器,所述远程接收器可以解码传输的特征以重新构成所述输入或所述输入的一部分。

此外,在一些情况下,循环人工神经网络的不同节点组中的活动(例如,与团模式和有向团模式相称的活动)可以被表示为0和1的二进制序列,每个数字指示该活动是否与模式相称。由于在一些场景中所述活动可以是循环人工神经网络的输出,因此循环人工神经网络的所述输出可以被表示为二进制数字的向量并且与数字数据处理兼容。

此外,在一些情况下,可以在训练之前和/或在训练期间使用循环人工神经网络的动态特性的这样的特征化,以增加在信息处理期间出现的活动的复杂模式的可能性(likelihood)。例如,在训练之前或在训练期间,可以有意地使循环神经网络中的节点之间的链接进化以增加活动模式的复杂度。例如,可以有意地使循环人工神经网络中的节点之间的链接进化以增加例如在信息处理期间出现活动的团模式和有向团模式的可能性。这可以减少训练循环人工神经网络需要的时间和努力。

作为另一个示例,循环人工神经网络的动态特性的这样的特征化可以被用来确定循环神经网络的训练中的完成程度。例如,在活动中显示特定类型的排序(例如,团模式和有向团模式)的循环人工神经网络可以被认为与不显示这样的排序的循环人工神经网络相比被更高度地训练。实际上,在一些情况下,训练的程度可以通过量化循环人工神经网络中的活动的排序程度来量化。

在附图和下文的描述中阐述在本说明书中所描述的一个或多个实现的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得明显。

附图说明

图1是循环人工神经网络设备的结构的示意性例示。

图2和图3是在不同的时间窗内循环人工神经网络设备的功能的示意性例示。

图4是用于基于循环人工神经网络中的活动的特征化识别该网络中的决策时刻的过程的流程图。

图5是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式的示意性例示。

图6是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式的示意性例示。

图7是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式的示意性例示。

图8是可以被用在循环人工神经网络设备中的活动模式中的复杂度或排序程度的确定中的数据表的示意性例示。

图9是具有可区分的复杂度的活动模式的特定时间的确定的示意性例示。

图10是用于基于循环人工神经网络中的活动的特征化使用该网络编码信号的过程的流程图。

图11是用于基于循环人工神经网络中的活动的特征化使用该网络解码信号的过程的流程图。

图12、图13和图14是拓扑结构的二进制形式或表示的示意性例示。

图15和图16示意性地例示了对应于不同的位的特征的存在或不存在如何不相互独立的一个示例。

图17、图18、图19、图20是在四个不同的分类系统中使用神经网络中的活动中的拓扑结构的发生的表示的示意性例示。

图21、图22是包括局部人工神经网络(local artificial neural network)的边设备(edge device)的示意性例示,该局部人工神经网络可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练。

图23是一种系统的示意性例示,在该系统中可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练局部神经网络。

图24、图25、图26、图27是在四个不同的系统中使用神经网络中的活动中的拓扑结构的发生的表示的示意性例示。

图28是一种系统0的示意性例示,该系统包括可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练的人工神经网络。

各个附图中的相同的参考符号指示相同的元件。

具体实施方式

图1是循环人工神经网络设备100的结构的示意性例示。循环人工神经网络设备100是使用互连节点的系统模拟生物神经元网络的信息编码和其他处理能力的设备。循环人工神经网络设备100可以硬件、软件或其组合来实现。

循环人工神经网络设备100的例示包括通过多个结构链接110互连的多个节点101、102、……、107。节点101、102、……、107是类似于生物网络中的神经元的离散信息处理构造。节点101、102、……、107通常处理通过链接110中的一个或多个接收的一个或多个输入信号,以产生通过链接110中的一个或多个输出的一个或多个输出信号。例如,在一些实现中,节点101、102、……、107可以是人工神经元,所述人工神经元对多个输入信号加权和求和、通过一个或多个非线性激活函数(activation function)传递总和、并且输出一个或多个输出信号。

节点101、102、……、107可以作为累加器操作。例如,节点101、102、……、107可以根据整合激发(integrate-and-fire)模型操作,在整合激发模型中,一个或多个信号在第一节点中累积直到达到阈值。在达到阈值之后,第一节点通过沿着链接110中的一个或多个将输出信号传输到连接的第二节点来激发。依次,第二节点101、102、……、107累积接收的信号,并且如果达到阈值,则第二节点101、102、……、107将又一个输出信号传输到一个另外的连接的节点。

结构链接110是能够在节点101、102、……、107之间传输信号的连接。为了方便起见,所有结构链接110在本文中被视为相同的双向链接,所述双向链接将信号从节点101、102、……、107中的每个第一节点传送到节点101、102、……、107中的每个第二节点,其方式与将信号从第二节点传送到第一节点的方式相同。然而,情况未必如此。例如,结构链接110的一部分或全部可以是单向链接,所述单向连接将信号从节点101、102、……、107中的第一节点传送到节点101、102、……、107中的第二节点,而不将信号从第二节点传送到第一节点。

作为另一个示例,在一些实现中,结构链接110可以具有不同于方向性的各种各样的特性,或除方向性之外还具有各种各样的特性。例如,在一些实现中,不同的结构链接110可以承载不同幅度的信号——导致节点101、102、……、107中的相应的节点之间的不同的互连强度。作为另一个示例,不同的结构链接110可以承载不同类型的信号(例如,抑制性(inhibitory)和/或兴奋性(excitatory)信号)。实际上,在一些实现中,结构链接110可以模仿生物系统中的体细胞之间的链接,并且反映这样的链接的巨大的形态、化学和其他多样性的至少一部分。

在所例示的实现中,循环人工神经网络设备100是团网络(clique network)(或子网络),因为每个节点101、102、……、107连接到每个其他节点101、102、……、107。情况未必如此。相反,在一些实现中,每个节点101、102、……、107可以连接到节点101、102、……、107的一个恰当子集(通过相同的链接或各种各样的链接,视情况而定)。

为了清楚地例示起见,循环人工神经网络设备100被例示为仅具有七个节点。通常,真实世界的神经网络设备将包括显著更大数目的节点。例如,在一些实现中,神经网络设备可以包括数十万、数百万或甚至数十亿个节点。因此,循环神经网络设备100可以是更大的循环人工神经网络的一小部分(即,子网络)。

在生物神经网络设备中,累积和信号传输过程需要真实世界中的时间流逝。例如,神经元的体细胞整合随时间接收的输入,并且从神经元到神经元的信号传输需要时间,所述时间由例如信号传输速度以及神经元之间的链接的性质和长度决定。因此,生物神经网络设备的状态是动态的并且随时间改变。

在人工循环神经网络设备中,时间是人造的并且使用数学构造体(mathematicalconstruct)来表示。例如,信号从节点到节点传输不是需要真实世界的时间流逝,可以用通常与真实世界的时间流逝——如用计算机时钟循环或其他方式测量的——无关的人造单位来表示这样的信号。然而,人工循环神经网络设备的状态可以被描述为“动态的”,因为它关于这些人造单位改变。

请注意,为了方便起见,这些人造单位在本文中被称为“时间”单位。然而,应理解,这些单位是人造的并且通常不对应于真实世界的时间流逝。

图2和图3是在不同的时间窗内循环人工神经网络设备100的功能的示意性例示。因为设备100的状态是动态的,所以可以使用在一个窗内发生的信号传输活动来表示设备100的功能。这样的功能例示通常示出链接110的仅一小部分中的活动。特别地,由于通常不是每个链接110都在一个特定的窗内传送信号,因此在这些例示中不是每个链接110都被例示为活跃地(actively)对设备100的功能有贡献。

在图2和图3的例示中,活跃的(active)链接110被例示为连接一对节点101、102、……、107的相对粗的实线。相反,不活跃的(inactive)链接110被例示为虚线。这仅是为了例示起见。换句话说,无论链接110是否是活跃的,由链接110形成的结构连接都存在。然而,此形式体系(formalism)突出了设备100的活动和功能。

除示意性地例示了沿着链接的活动的存在之外,还示意性地例示了活动的方向。特别地,例示活跃的链接110的相对粗的实线还包括表示在相关的窗期间沿着链接的信号传输的方向的箭头。通常,单个窗内的信号传输的方向不决定性地将链接限制为具有指示的方向性的单向链接。相反,在用于第一时间窗的第一功能例示中,链接可以在第一方向上是活跃的。在用于第二窗的第二功能例示中,链接可以在相反的方向上是活跃的。然而,在一些情况下,诸如,例如,在仅包括单向链接的循环人工神经网络设备100中,信号传输的方向性将决定性地指示链接的方向性。

在前馈神经网络设备中,信息仅在单个方向上(即,向前)移动到在网络的末端的节点输出层。前馈神经网络设备通过信号通过网络到输出层的传播指示已经达成“决策”并且信息处理完成。

相反,在循环神经网络中,节点之间的连接形成循环,并且网络的活动动态地进展(progress),而没有可容易地识别的决策。例如,即使在三节点循环神经网络中,第一节点可以将信号传输到第二节点,作为响应,第二节点可以将信号传输到第三节点。作为响应,第三节点可以将信号传输回到第一节点。由第一节点接收的信号可以——至少部分地——响应于从该相同的节点传输的信号。

示意性功能例示图2和图3在仅比三节点循环神经网络略微大的网络中例示了这一点。图2中所示出的功能例示可以例示第一窗内的活动,并且图3可以例示紧跟着的第二窗内的活动。如所示出的,信号传输活动的集合似乎起源于节点104中,并且在第一窗期间通过设备100以大致顺时针方向进展。在第二窗内,信号传输活动中的至少一些大致似乎返回到节点104。即使在这样的过分简单化的例示中,信号传输也不以产生可清晰地识别的输出或结束的方式进行。

当考虑例如数千个节点或更多个节点的循环神经网络时,可以认识到信号传播可以通过大量的路径发生,并且这些信号缺乏可清晰地识别的“输出”位置或时间。尽管通过设计网络可以返回到仅背景发生或甚至没有信号传输活动发生的静止状态,但是静止状态本身不指示信息处理的结果。不管输入,循环神经网络总是返回到静止状态。因此,信息处理的“输出”或结果被编码在响应于特定的输入而在循环神经网络中发生的活动中。

图4是用于基于循环人工神经网络中的活动的特征化识别该网络中的决策时刻的过程400的流程图。决策时刻是循环人工神经网络中的活动指示该网络响应于输入而进行信息处理的结果的时间点。过程400可以由根据一个或多个机器可读指令集的逻辑执行操作的一个或多个数据处理装置的系统执行。例如,过程400可以由执行用于实现过程400中使用的循环人工神经网络的软件的一个或多个计算机的同一系统执行。

在405处,执行过程400的系统接收信号已经被输入到循环人工神经网络中的通知。在一些情况下,信号的输入是离散注入事件,其中,例如,信息被注入到神经网络的一个或多个节点和/或一个或多个链接中。在其他情况下,信号的输入是在一段时间内注入到神经网络的一个或多个节点和/或链接中的信息流。该通知指示人工神经网络正在活跃地处理信息并且不例如处于静止状态。在一些情况下,该通知是从神经网络本身接收的,例如,诸如当神经网络退出可识别的静止状态时。

在410处,执行过程400的系统将网络中的响应活动划分为窗的集合。在注入是离散事件的情况下,窗可以将注入和返回到静止状态之间的时间细分为多个时期,在所述时期期间活动显示可变的复杂度。在注入是信息流的情况下,注入的持续时间(以及可选地在注入完成之后返回到静止状态的时间)可以被细分为窗,在所述窗期间,活动显示可变的复杂度。下文进一步讨论确定活动的复杂度的各种方法。

在一些实现中,窗全部具有相同持续时间,但是情况未必如此。相反,在一些实现中,窗可以具有不同持续时间。例如,在一些实现中,持续时间可以随着自离散注入事件已经发生以后的时间的增加而增加。

在一些实现中,窗可以是连续的一系列单独的窗。在其他实现中,窗在时间上重叠,以使得一个窗在前一个窗结束之前开始。在一些情况下,窗可以是在时间上移动的移动窗。

在一些实现中,为活动的复杂度的不同确定定义了窗的不同持续时间。例如,对于定义在相对较大数目的节点之间发生的活动的活动模式,窗与为定义在相对较小数目的节点之间发生的活动的活动模式定义的窗相比可以具有相对较长的持续时间。例如,在活动的模式500的场景中(图5),为识别与模式530相称的活动定义的窗可以比为识别与模式505相称的活动定义的窗长。

在415处,执行过程400的系统识别在网络中在不同的窗内的活动中的模式。如下文进一步讨论的,活动中的模式可以通过将功能图表(functional graph)视为以节点作为点的拓扑空间来识别。在一些实现中,识别的活动模式是网络的功能图表中的团,例如,有向团。

在420处,执行过程400的系统确定不同的窗内的活动模式的复杂度。复杂度可以是活动的有序模式在一个窗内出现的可能性的度量。因此,随机出现的活动模式将是相对简单的。另一方面,示出非随机顺序的活动模式是相对复杂的。例如,在一些实现中,活动模式的复杂度可以使用例如活动模式的单纯形计数(simplex count)或贝蒂数(Bettinumber)来测量。

在425处,执行过程400的系统确定具有可区分的复杂度的活动模式的特定时间。特定的活动模式可以是基于(例如,从固定的或可变的基线)向上偏离或向下偏离的复杂度可区分的。换句话说,可以确定指示活动中的非随机顺序的特别高水平或特别低水平的活动模式的特定时间。

例如,在信号输入是离散注入事件的情况下,偏差,例如,相对于稳定的基线的偏差或相对于是神经网络对各种各样的不同的离散注入事件的平均响应的特征的曲线的偏差,可以被用来确定可区分的复杂活动模式的特定时间。作为另一个示例,在以流形式输入信息的情况下,在流式传输期间复杂度的大改变可以被用来确定可区分的复杂活动模式的特定时间。

在430处,执行过程400的系统基于可区分地复杂的活动模式的特定时间为来自神经网络的输出的读取安排时间。例如,在一些实现中,可以在可区分的复杂活动模式出现的相同时间读取神经网络的输出。在复杂度偏差指示活动中的相对高的非随机顺序的实现中,观察的活动模式本身也可以被当作循环人工神经网络的输出。

图5是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式500的例示。例如,可以在过程400(图4)中的415处识别模式500。

模式500是循环人工神经网络中的活动的例示。在模式500的应用期间,功能图表被视为以节点作为点的拓扑空间。与模式500相称的节点和链接中的活动可以被识别为有序的,不管参加该活动的特定的节点和/或链接的身份。例如,第一模式505可以表示图2中的节点101、104、105之间的活动,以模式505中的点0作为节点104,以点1作为节点105,以及以点2作为节点101。作为另一个示例,第一模式505还可以表示图3中的节点104、105、106之间的活动,以模式505中的点0作为节点106,以点1作为节点104,以及以点2作为节点105。有向团中的活动的顺序也被指定。例如,在模式505中,点1和点2之间的活动在点0和点1之间的活动之后发生。

在所例示的实现中,模式500全都是有向团或有向单纯形(simplice)。在这样的模式中,活动起源于将信号传输到模式中的每个其他节点的源节点。在模式500中,这样的源节点被指定为点0,而其他节点被指定为点1、2、……。此外,在有向团或单纯形中,节点中的一个充当汇聚器(sink)并且接收从模式中的每个其他节点传输的信号。在模式500中,这样的汇聚节点被指定为模式中的最高编号的点。例如,在模式505中,汇聚节点被指定为点2。在模式510中,汇聚节点被指定为点3。在模式515中,汇聚节点被指定为点3,以此类推。因此,由模式500表示的活动以可区分的方式排序。

模式500中的每个具有不同数目的点并且反映不同数目的节点中的有序活动。例如,模式505是二维单纯形并且反映三个节点中的活动,模式510是三维单纯形并且反映四个节点中的活动,以此类推。随着模式中的点的数目增加,活动的排序程度和复杂度也增加。例如,对于在窗内具有一定程度的随机活动的节点的大集合,活动中的一些可能出于偶然与模式505相称。然而,随机活动将逐步地越来越不可能与模式510、515、520……中的相应的模式相称。与模式530相称的活动的存在指示和与模式505相称的活动的存在相比活动中的排序程度和复杂度相对较高。

如先前所讨论的,在一些实现中,可以为活动的复杂度的不同确定定义不同持续时间的窗。例如,当要识别与模式530相称的活动时,与当要识别与模式505相称的活动时相比,可以使用更长持续时间的窗。

图6是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式600的例示。例如,可以在过程400(图4)中的415处识别模式600。

像模式500,模式600是循环人工神经网络中的活动的例示。然而,模式600偏离模式500的严格排序,因为模式600并不全都是有向团或有向单纯形。特别地,模式605、610具有比模式515低的方向性。实际上,模式605完全缺乏汇聚节点。然而,模式605、610指示超过通过随机偶然所预期的有序活动程度的有序活动程度,并且可以被用来确定循环人工神经网络中的活动的复杂度。

图7是可以被识别并且被用于识别循环人工神经网络中的决策时刻的活动的模式700的例示。例如,可以在过程400(图4)中的415处识别模式700。

模式700是具有相同维度(即,具有相同数目的点)的有向团或有向单纯形的组,其定义了涉及比单独的团或单纯形更多的点的模式并且在有向单纯形的组内包围空腔(cavity)。

通过示例的方式,模式705包括一起定义了级别2的同调类(homology class)的六个不同的三点、二维模式505,而模式710包括一起定义了级别2的第二同调类的八个不同的三点、二维模式505。模式705、710中的三点、二维模式505中的每个可以被认为包围相应的空腔。与有向图表相关联的第n个Betti数提供拓扑表示中的这样的同调类的计数。

由诸如模式700的模式例示的活动例示了不太可能通过随机偶然出现的网络中的活动的相对高的排序程度。模式700可以被用来将该活动的复杂度特征化。

在一些实现中,识别活动的仅一些模式和/或在决策时刻的识别期间丢弃或以其他方式忽略识别的活动的模式的某部分。例如,参考图5,与五点、四维单纯形模式515相称的活动固有地包括与四点、三维和三点、二维单纯形模式510、505相称的活动。例如,图5的四维单纯形模式515中的点0、2、3、4和点1、2、3、4都与三维单纯形模式510相称。在一些实现中,包含较少点——并且因此具有较低维度——的模式可以在决策时刻的识别期间被丢弃或以其他方式忽略。

作为另一个示例,需要识别活动的仅一些模式。例如,在一些实现中,仅具有奇数的点(3、5、7、……)或偶数的维度(2、4、6、……)的模式被用在决策时刻的识别中。

可以各种各样的不同的方式确定不同的窗内的循环人工神经网络设备中的活动模式中的复杂度或排序程度。图8是可以被用在这样的确定中的数据表800的示意性例示。数据表800可以被用来孤立地或与其他活动结合地确定活动模式的复杂度。例如,可以在过程400(图4)中的420处使用数据表800。

更详细地,表800包括在窗“N”期间模式发生的数目计数,其中在不同的行中呈现匹配不同维度的模式的活动的数目计数。例如,在所例示的示例中,行805包括匹配一个或多个三点、二维模式的活动的发生的数目计数(即,“2032”),而行810包括匹配一个或多个四点、三维模式的活动的发生的数目计数(即,“877”)。由于模式的发生指示活动具有非随机的顺序,因此数目计数也提供活动模式的总体复杂度的广义特征化。可以为例如在过程400(图4)中的410处定义的每个窗形成类似于表800的表。

尽管表800包括用于每种类型的活动模式的单独的行和单独的条目,但是情况未必如此。例如,可以从表800和从复杂度的确定省略多个计数(例如,较简单的模式的计数)中的一个。作为另一个示例,一些实现,单个行或条目可以包括多个活动模式的发生的计数。

尽管图8在表800中呈现了数目计数,情况未必如此。例如,数目计数可以被呈现为向量(例如,<2032,877,133,66,48,……>)。不管如何呈现计数,在一些实现中,计数可以二进制表达并且可以与数字数据处理基础设施兼容。

在一些实现中,可以对模式的发生的数目计数加权或进行组合,以确定排序的程度或复杂度,例如,在过程400(图4)中的420处。例如,欧拉特征(Eular characteristic)可以提供活动的复杂度的近似,并且由以下等式给出:

S

作为可以如何对模式的发生的数目计数加权以确定排序的程度或复杂度的另一个示例,在一些实现中,可以基于活跃的链接的权重对模式发生加权。更详细地,如先前所讨论的,人工神经网络中的节点之间的连接的强度可以变化,例如,由于在训练期间连接的活跃程度。沿着相对较强的链接的集合的活动的模式的发生可以与沿着相对较弱的链接的集合的活动的该相同的模式的发生不同地被加权。例如,在一些实现中,活跃的链接的权重的总和可以被用来对发生加权。

在一些实现中,可以通过在特定的窗内匹配的模式的总数目和/或考虑到给定的网络的结构该给定的网络可能形成的模式的总数目来将欧拉特征或复杂度的其他度量标准化。下文在等式2、等式3中给出关于网络可能形成的模式的总数目进行标准化的一个示例。

在一些实现中,与涉及较小数目的节点的较低维模式的发生相比,涉及较大数目的节点的较高维模式的发生可以被更重地加权。例如,形成有向团的概率随着增加的维度迅速减小。特别地,为了由n+1个节点形成一个n-团,需要(n+1)n/2个边全都被正确地定向。此概率可以被反映在加权中。

在一些实现中,模式的维度和方向性二者可以被用来对模式的发生加权以及确定活动的复杂度。例如,参考图6,根据五点、四维模式515和五点、四维模式605、610这些模式的方向性的差异,与五点、四维模式605、610的发生相比,五点、四维模式515的发生可以被更重地加权。

使用模式的方向性和维度二者来确定活动的排序程度或复杂度的一个示例可以由以下等式给出:

其中S

其中S

图9是具有可区分的复杂度的活动模式的特定时间的确定的示意性例示。可以孤立地或与其他活动结合地执行图9中所例示的确定。例如,可以在过程400(图4)中的425处执行该确定。

图9包括图表905和图表910。图表905例示了作为沿着x轴的时间的函数的模式的发生。特别地,各个发生被示意性地例示为竖直线906、907、908、909。每一行的发生可以是活动匹配相应的模式或模式的类的实例。例如,顶行的发生可以是活动匹配模式505(图5)的实例,第二行的发生可以是活动匹配模式510(图5)的实例,第三行的发生可以是活动匹配模式515(图5)的实例,以此类推。

图表905还包括示意性地描绘不同的、在活动模式具有可区分的复杂度时的时间窗的虚线矩形915、920、925。如所示出的,在由虚线矩形915、920、925描绘的窗期间,循环人工神经网络中的活动匹配指示复杂度的模式的可能性比在那些窗外部更高。

图表910例示了与作为沿着x轴的时间的函数的这些发生相关联的复杂度。图表910包括:复杂度的第一峰930,其与由虚线矩形915描绘的窗一致;以及复杂度的第二峰935,其与由虚线矩形920、925描绘的窗一致。如所示出的,由峰930、925所例示的复杂度是与可以被认为是复杂度的基线水平940的复杂度可区分的。

在一些实现中,循环人工神经网络的输出将被读取的时间与具有可区分的复杂度的活动模式的发生一致。例如,在图9的例示性场景中,可以在峰930、925处,即,在由虚线矩形915、920、925描绘的窗期间,读取循环人工神经网络的输出。

当输入是数据流时,循环人工神经网络中的复杂度的可区分的水平的识别是特别有益的。数据流的示例包括例如视频或音频数据。尽管数据流具有开始,但是通常期望的是处理数据流中与数据流的开始不具有预定义的关系的信息。通过示例的方式,神经网络可以执行对象识别,诸如,例如,识别汽车附近的骑自行车的人。这样的神经网络应能够识别骑自行车的人,不管那些骑自行车的人何时出现在视频流中,即,不考虑自视频的开始以后的时间。继续此示例,当数据流被输入到对象识别神经网络中时,神经网络中的活动的任何模式通常将显示低水平或静止水平的复杂度。不管到神经网络设备中的流式数据的连续(或接近连续)输入,都显示这些低水平或静止水平的复杂度。然而,当感兴趣的对象出现在视频流中时,活动的复杂度将变成可区分的并且指示在视频流中识别对象的时间。因此,活动的复杂度的可区分的水平的特定时间还可以充当关于数据流中的数据是否满足某些标准的是/否输出。

在一些实现中,通过具有可区分的复杂度的活动模式,不仅给出循环人工神经网络的输出的特定时间,而且给出循环人工神经网络的输出的内容。特别地,参加与活动模式相称的活动的节点的身份和活动可以被认为是循环人工神经网络的输出。因此,识别的活动模式可以例示通过神经网络处理的结果,以及将读取此决策的特定时间。

决策的内容可以各种各样的不同的形式表达。例如,在一些实现中并且如下文进一步详细讨论的,决策的内容可以被表达为1和0的二进制向量或矩阵。每个数字可以指示:例如,对于预定义的节点组和/或预定义的持续时间,活动的模式是否存在。在这样的实现中,决策的内容以二进制表达并且可以与传统的数字数据处理基础设施兼容。

图10是用于基于循环人工神经网络中的活动的特征化使用该网络编码信号的过程1000的流程图。可以在各种各样的不同的场景(诸如,例如,传输、加密和数据存储)中编码信号。过程1000可以由根据一个或多个机器可读指令集的逻辑执行操作的一个或多个数据处理装置的系统执行。例如,过程1000可以由执行用于实现过程1000中使用的循环人工神经网络的软件的一个或多个计算机的该同一系统执行。在一些实例中,过程1000可以由执行过程400的相同的数据处理装置执行。在一些实例中,过程1000可以由例如信号传输系统中的编码器或数据存储系统的编码器执行。

在1005处,执行过程1000的系统将信号输入到循环人工神经网络中。在一些情况下,信号的输入是离散注入事件。在其他情况下,输入信号被流式传输到循环人工神经网络中。

在1010处,执行过程1000的系统识别循环人工神经网络中的一个或多个决策时刻。例如,该系统可以通过执行过程400(图4)识别一个或多个决策时刻。

在1015处,执行过程1000的系统读取循环人工神经网络的输出。如上文所讨论的,在一些实现中,循环人工神经网络的输出的内容是匹配用来识别决策点的模式的神经网络中的活动。

在一些实现中,可以将单独的“读取器节点”添加到神经网络以识别节点的特定集合处的活动的特定模式的发生并且因此以在1015处读取循环人工神经网络的输出。当且仅当节点的特定集合处的活动满足特定时间(以及也可能地,满足幅度)标准时,读取器节点才可以激发。例如,为了在节点104、105、106(图2、图3)处读取模式505(图5)的发生,可以将读取器节点连接到节点104、105、106(或它们之间的链接110)。仅当涉及节点104、105、106(或它们的链接)的活动的模式发生时,读取器节点本身才会变为活跃的。

这样的读取器节点的使用将消除为作为整体的循环人工神经网络定义时间窗的需要。特别地,单独的读取器节点可以连接到不同的节点和/或多个节点(或它们之间的链接)。单独的读取器节点可以被设置为具有定制的响应(例如,整合激发模型中的不同衰减时间),以识别不同的活动模式。在1020处,执行过程1000的系统传输或存储循环人工神经网络的输出。在1020处执行的特定动作可以反映正在使用过程1000的场景。例如,在期望安全或压缩通信的场景中,执行过程1000的系统可以将循环神经网络的输出传输到可以访问相同的或类似的循环神经网络的接收器。作为另一个示例,在期望安全或压缩数据存储的场景中,执行过程1000的系统可以将循环神经网络的输出记录在一个或多个机器可读数据存储设备中以供稍后访问。

在一些实现中,循环神经网络的完整输出不被传输或存储。例如,在循环神经网络的输出的内容是匹配指示活动中的复杂度的模式的神经网络中的活动的实现中,仅匹配相对较复杂或较高维活动的活动可以被传输或存储。通过示例的方式,参考模式500(图5),在一些实现中,仅匹配模式515、520、525和530的活动被传输或存储,而匹配模式505、510的活动被忽略或丢弃。以此方式,有损处理允许以被编码的信息的完整性为代价减少传输或存储的数据量。

图11是用于基于循环人工神经网络中的活动的特征化使用该网络解码信号的过程1100的流程图。可以在各种各样的不同的场景(诸如,例如,信号接收、解密和从存储读取数据)中解码信号。过程1100可以由根据一个或多个机器可读指令集的逻辑执行操作的一个或多个数据处理装置的系统执行。例如,过程1100可以由执行用于实现过程1100中使用的循环人工神经网络的软件的一个或多个计算机的该同一系统执行。在一些实例中,过程1100可以由执行过程400和/或过程1000的相同的数据处理装置执行。在一些实例中,过程1100可以由例如信号接收系统中的解码器或数据存储系统的解码器执行。

在1105处,执行过程1100的系统接收循环人工神经网络的输出的至少一部分。在1105处执行的特定动作可以反映正在使用过程1100的场景。例如,执行过程1000的系统可以接收包括循环人工神经网络的输出的传输信号或读取存储循环人工神经网络的输出的机器可读数据存储设备。

在1110处,执行过程1100的系统由接收的输出重建循环人工神经网络的输入。重建可以各种各样不同的方式进行。例如,在一些实现中,可以训练第二人工神经网络(循环的或非循环的)以由在1105处接收的输出重建到循环神经网络中的输入。

作为另一个示例,在一些实现中,可以训练已经使用机器学习(包括但不限于深度学习)训练的解码器以由在1105处接收的输出重建到循环神经网络中的输入。

作为又一个示例,在一些实现中,可以迭代地置换(permute)到相同的循环人工神经网络中或到类似的循环人工神经网络中的输入,直到该循环人工神经网络的输出在某种程度上匹配在1105处接收的输出。

在一些实现中,过程1100可以包括接收指定输入将被重建的程度的用户输入,并且作为响应,在1110处相应地调整重建。例如,用户输入可以指定不需要完整的重建。作为响应,执行过程1100的系统调整重建。例如,在循环神经网络的输出的内容是匹配指示活动中的复杂度的模式的神经网络中的活动的实现中,仅将匹配相对较复杂或较高维活动的活动特征化的输出将被用来重建输入。通过示例的方式,参考模式500(图5),在一些实现中,仅匹配模式515、520、525和530的活动可以被用来重建输入,而匹配模式505、510的活动可以被忽略或丢弃。以此方式,有损重建可以在所选择的情况下进行。

在一些实现中,过程1000、1100可以被用于对等(peer-to-peer)加密通信。特别地,发送器(即,编码器)和接收器(即,解码器)二者可以被设置有相同的循环人工神经网络。存在几种可以定制共享的循环人工神经网络以确保第三方不能够对其进行反向工程并且对信号解密的方法,包括:

—循环人工神经网络的结构

—循环人工神经网络的功能设置,包括节点状态和边权重,

—模式的大小(或维度),以及

—每个维度中的模式的一小部分。

这些参数可以被认为一起确保传输安全的多个层。此外,在一些实现中,决策时刻时间点可以被用作解密信号的密钥。

尽管按照编码和解码单个循环人工神经网络来呈现过程1000、1100,但是过程1000、1100也可以被应用在依赖多个循环人工神经网络的系统和过程中。这些循环人工神经网络可以并联或串联运行。

作为串联运行的一个示例,第一循环人工神经网络的输出可以用作第二循环人工神经网络的输入。第二循环人工神经网络的结果输出是到第一循环人工神经网络中的输入的两次编码(或两次加密)版本。循环人工神经网络的这样的串联布置在不同方对信息具有不同的访问级别的情况下可以是有用的,例如,在医疗记录系统中,其中患者身份信息可能是将使用医疗记录的剩余部分并且可以访问医疗记录的剩余部分的一方不可访问的。

作为并联运行的一个示例,相同的信息可以被输入到多个不同的循环人工神经网络中。这些神经网络的不同输出可以被用来例如确保可以高保真度重建输入。

尽管已经描述了多个实现,但是可以做出各种改型。例如,尽管应用通常意味着循环人工神经网络中的活动应匹配指示排序的模式,但是情况未必如此。相反,在一些实现中,循环人工神经网络中的活动可以与模式相称,而不必显示匹配模式的活动。例如,循环神经网络将显示将匹配模式的活动的可能性的增加可以被视为活动的非随机排序。

作为又一个示例,在一些实现中,不同的模式组可以被定制以用于在将不同的循环人工神经网络中的活动特征化中使用。模式可以被定制,例如,根据模式在将不同的循环人工神经网络的活动特征化中的效力。效力可以被量化,例如,基于表示不同的模式的发生计数的表或向量的大小。

作为又一个示例,在一些实现中,用来将循环人工神经网络中的活动特征化的模式可以考虑节点之间的连接的强度。换句话说,本文先前所描述的模式以二进制方式(即,活动存在或不存在)处理两个节点之间的所有信号传输活动。情况未必如此。相反,在一些实现中,与模式相称可能需要将具有某种水平或强度的连接的活动视为指示循环人工神经网络的活动中的有序复杂度。

作为又一个示例,循环人工神经网络的输出的内容可以包括发生在时间窗外部的活动模式,在该时间窗内,神经网络中的活动具有复杂度的可区分的水平。例如,在1015处读取并且在1020处传输或存储(图10)的循环人工神经网络的输出可以包括对例如发生在图表905(图9)中的虚线矩形915、920、925外部的活动模式进行编码的信息。通过示例的方式,循环人工神经网络的输出能够仅将活动的最高维模式特征化,而不管活动的那些模式何时发生。作为另一个示例,循环人工神经网络的输出能够仅将包围空腔的活动的模式特征化,而不管活动的那些模式何时发生。

图12、图13和图14是拓扑结构(诸如,例如,神经网络中的活动的模式)的二进制形式或表示1200的示意性例示。图12、图13和图14中所例示的拓扑结构全都包括相同的信息,也就是,在图表中特征的存在或不存在的指示。所述特征可以是例如神经网络设备中的活动。在一些实现中,基于时间段或在时间段期间识别活动,在所述时间段内,神经网络中的活动具有与响应于输入的其他活动可区分的复杂度。

如所示出的,二进制表示1200包括位1205、1207、1211、1293、1294、1297和附加的、任意数目的位(由省略号“……”表示)。出于说教的目的,位1205、1207、1211、1293、1294、1297……被例示为离散的矩形形状,所述离散的矩形形状被填充或未被填充以指示位的二进制值。在示意性例示中,表示1200表面上看起来是位的一维向量(图12、图13)或位的二维矩阵(图14)。然而,表示1200与向量、矩阵或位的其他有序集合的不同之处在于,相同的信息可以被编码,而不管位的顺序——即,不管集合内的单独的位的位置。

例如,在一些实现中,每个单独的位1205、1207、1211、1293、1294、1297……可以表示拓扑特征的存在或不存在——不管该特征在图表中的位置。通过示例的方式,参考图2,诸如位1207的位可以指示与模式505(图5)相称的拓扑特征的存在,而不管该活动是发生在节点104、105、101之间还是发生在节点105、101、102之间。因此,尽管每个单独的位1205、1207、1211、1293、1294、1297……可以与特定的特征相关联,但是该特征在图表中的位置不需要被编码,例如,通过该位在表示1200中的对应的位置。换句话说,在一些实现中,表示1200可以仅提供图表的同构拓扑重建。

此外,在其他实现中,可能的是,单独的位1205、1207、1211、1293、1294、1297……的位置确实对诸如例如特征在图表中的位置的信息编码。在这些实现中,可以使用表示1200重建源图表(source graph)。然而,这样的编码不一定存在。

鉴于不管拓扑特征在图表中的位置如何位都能够表示该拓扑特征的存在或不存在,在图1中,在表示1200的开始处,位1205在位1207之前出现,位1207在位1211之前出现。相反,在图2和图3中,表示1200中的位1205、1207和1211的顺序——以及位1205、1207和1211相对于表示1200中的其他位的位置——已经改变。然而,二进制表示1200保持相同——定义用于编码二进制表示1200中的信息的过程的规则集或算法也保持不变。只要位和特征之间的对应关系是已知的,表示1200中的位的位置是不相关的。

更详细地,每个位1205、1207、1211、1293、1294、1297……单独地表示在图表中特征的存在或不存在。图表是一组节点和这些节点之间的一组边。所述节点可以对应于对象。对象的示例可以包括例如神经网络中的人工神经元、社交网络中的个人等。边可以对应于对象之间的一些关系。关系的示例包括例如结构连接或沿着该连接的活动。在神经网络的场景中,人工神经元可以通过神经元之间的结构连接或通过信息沿着结构连接的传输来关联。在社交网络的场景中,个人可以通过“朋友”或其他关系连接或通过信息(例如,帖子)沿着这样的连接的传输来关联。因此,边可以将一组节点的相对长期存在的结构特征特征化或将在定义的时间帧内发生的相对短暂的活动特征特征化。此外,边可以是有向的或双向的。有向边指示对象之间的关系的方向性。例如,信息从第一神经元到第二神经元的传输可以由表示传输的方向的有向边来表示。作为另一个示例,在社交网络中,关系连接可以指示:第二用户将接收来自第一用户的信息,而非第一用户将接收来自第二用户的信息。在拓扑术语中,图表可以被表达为一组单位间隔[0,1],其中0和1用通过边连接的相应的节点识别。

由位1205、1207、1211、1293、1294、1297指示其存在或不存在的特征可以是例如一个节点、一组节点、多组节点中的一组节点、一组边、多组边中的一组边和/或附加的分层更复杂的特征(例如,多组节点中的多组节点的组)。位1205、1207、1211、1293、1294、1297通常表示在不同的分层水平处的特征的存在或不存在。例如,位1205可以表示一个节点的存在或不存在,而位1205可以表示一组节点的存在或不存在。

在一些实现中,位1205、1207、1211、1293、1294、1297可以表示图表中的具有阈值水平的一些特性的特征。例如,位1205、1207、1211、1293、1294、1297不仅可以表示在一组边中存在活动,而且可以表示将此活动加权在阈值水平以上或以下。权重可以例如体现针对特定目的对神经网络设备的训练或可以是边的固有特征。

上文的图5、图6和图8例示了其存在或不存在可以由位1205、1207、1211、1293、1294、1297……来表示的特征。

集合500、600、700中的有向单纯形将功能图表或结构图表视为以节点作为点的拓扑空间。与集合500、600、700中的单纯形相称的涉及一个或多个节点和链接的结构或活动可以用位表示,而不管参加该活动的特定的节点和/或链接的身份。

在一些实现中,识别结构或活动的仅一些模式和/或丢弃或以其他方式忽略识别的结构或活动的模式的某部分。例如,参考图5,与五点、四维单纯形模式515相称的结构或活动固有地包括与四点、三维和三点、二维单纯形模式510、505相称的结构或活动。例如,图5的四维单纯形模式515中的点0、2、3、4和点1、2、3、4都与三维单纯形模式510相称。在一些实现中,包含较少点——并且因此具有较低维度——的单纯形模式可以被丢弃或以其他方式忽略。

作为另一个示例,需要识别结构或活动的仅一些模式。例如,在一些实现中,仅使用具有奇数的点(3、5、7、……)或偶数的维度(2、4、6、……)的模式。

返回到图12、图13、图14,由位1205、1207、1211、1293、1294、1297……来表示其存在或不存在的特征可能不相互独立。通过解释的方式,如果位1205、1207、1211、1293、1294、1297表示零维单纯形的存在或不存在——所述零维单纯形各自反映单个节点的存在或活动,则位1205、1207、1211、1293、1294、1297相互独立。然而,如果位1205、1207、1211、1293、1294、1297表示较高维单纯形的存在或不存在——所述较高维单纯形各自反映多个节点的存在或活动,则由每个单独的特征的存在或不存在编码的信息可能不独立于其他特征的存在或不存在。

图15示意性地例示了对应于不同的位的特征的存在或不存在如何不相互独立的一个示例。特别地,例示了包括四个节点1505、1510、1515、1520和六个有向边1525、1530、1535、1540、1545、1550的子图表1500。特别地,边1525从节点1525指向节点1510,边1530从节点1515指向节点1505,边1535从节点1520指向节点1505,边1540从节点1520指向节点1510,边1545从节点1515指向节点1510,边1550从节点1515指向节点1520。

表示1200中的单个位(例如,图12、图13、图14中的填充的位1207)可以指示有向三维单纯形的存在。例如,这样的位可以指示由节点1505、1510、1515、1520和边1525、1530、1535、1540、1545、1550形成的三维单纯形的存在。表示1200中的第二位(例如,图12、图13、图14中的填充的位1293)可以指示有向二维单纯形的存在。例如,这样的位可以指示由节点1515、1505、1510和边1525、1530、1545形成的二维单纯形的存在。在此简单示例中,由位1293编码的信息与由位1207编码的信息在一起是完全冗余的。

请注意,由位1293编码的信息与由又一个位编码的信息在一起也可以是冗余的。例如,由位1293编码的信息与指示附加的有向二维单纯形的存在的第三位和第四位二者在一起将是冗余的。这些单纯形的示例由节点1515、1520、1510和边1540、1545、1550以及节点1520、1505、1510和边1525、1535、1540形成。

图16示意性地例示了对应于不同的位的特征的存在或不存在如何不相互独立的另一个示例。特别地,例示了包括四个节点1605、1610、1615、1620和五个有向边1625、1630、1635、1640、1645的子图表1600。节点1505、1510、1515、1520和边1625、1630、1635、1640、1645通常对应于子图表1500(图15)中的节点1505、1510、1515、1520和边1525、1530、1535、1540、1545。然而,与其中节点1515、1520通过边1550连接的子图表1500形成对比,节点1615、1620不通过边连接。

表示1200中的单个位(例如,图12、图13、图14中的未填充的位1205)可以指示有向三维单纯形(诸如,例如,包含节点1605、1610、1615、1620的有向三维单纯形)的不存在。表示1200中的第二位(例如,图12、图13、图14中的填充的位1293)可以指示二维单纯形的存在。一个示例性有向二维单纯形由节点1615、1605、1610和边1625、1630、1645形成。填充的位1293和未填充的位1205的此组合提供指示在表示1200中可能存在或可能不存在的其他特征(以及其他位的状态)的存在或不存在的信息。特别地,有向三维单纯形的不存在和有向二维单纯形的存在的组合指示至少一个边不存在于:

a)由节点1615、1620、1610形成的可能的有向二维单纯形或

b)由节点1620、1605、1610形成的可能的有向二维单纯形。

因此,表示这些可能的单纯形中的任一个的存在或不存在的位的状态不独立于位1205、1293的状态。

尽管已经按照具有不同数目的节点和分层关系的特征讨论了这些示例,但是情况未必如此。例如,包括仅对应于例如三维单纯形的存在或不存在的位的集合的表示1200是可能的。

使用单独的位来表示图表中特征的存在或不存在产生某些特性。例如,信息的编码是容错的,并且提供编码信息的“优雅降级(graceful degradation)”。特别地,特定位(或位组)的丢失可能增加关于特征的存在或不存在的不确定性。然而,将仍然可以根据指示相邻特征的存在或不存在的其他位评估特征存在或不存在的可能性。

同样,随着位的数目增加,关于特征的存在或不存在的确定性增加。

作为另一个示例,如上文所讨论的,位的排序或布置与由位表示的图表的同构重建无关。所需要的只是位与图表中的特定节点/结构之间的已知对应关系。

在一些实现中,神经网络中的活动的模式可以在表示1200(图12、图13和图14)中被编码。通常,神经网络中的活动的模式是神经网络的许多特征(诸如,例如,神经网络的节点之间的结构连接、节点之间的权重以及大量可能的其他参数)的结果。例如,在一些实现中,神经网络在表示1200中的活动的模式的编码之前可能已经被训练。

然而,不管神经网络是未训练过的还是训练过的,对于给定的输入,活动的响应模式可以被认为是该输入在神经网络中的“表示”或“抽象”。因此,尽管表示1200可以看起来是(在一些情况下,二进制)数字的直接出现(straightforward-appearing)集合,但是数字中的每个可以编码特定输入和神经网络中的相关活动之间的关系或对应关系。

图17、图18、图19、图20是在四个不同的分类系统1700、1800、1900、2000中使用神经网络中的活动中的拓扑结构的发生的表示的示意性例示。分类系统1700、1800各自将神经网络中的活动的模式的表示分类,作为输入的分类的一部分。分类系统1900、2000各自将神经网络中的活动的模式的表示的近似分类,作为输入的分类的一部分。在分类系统1700、1800中,被表示的活动的模式发生在是分类系统1700、1800的一部分的源神经网络设备1705中并且是从源神经网络设备1705读取的。相反,在分类系统1900、2000中,被近似地表示的活动的模式发生在不是分类系统1700、1800的一部分的源神经网络设备中。然而,活动的那些模式的表示的近似是从是分类系统1900、2000的一部分的近似器1905读取的。

更详细地,转到图17,分类系统1700包括源神经网络1705和线性分类器1710。源神经网络1705是神经网络设备,该神经网络设备被配置为接收输入并且呈现源神经网络1705中的活动中的拓扑结构的发生的表示。在所例示的实现中,源神经网络1705包括接收输入的输入层1715。然而,情况未必如此。例如,在一些实现中,输入中的一些或全部可以被注入到遍及源神经网络1705的不同的层和/或边或节点中。

源神经网络1705可以是各种各样的不同的类型的神经网络中的任何一个。通常,源神经网络1705是循环神经网络,诸如,例如,模仿生物系统的循环神经网络。在一些情况下,源神经网络1705可以模拟生物系统的形态、化学和其他特征的程度。通常,源神经网络1705在具有相对高水平的计算性能的一个或多个计算设备(例如,超级计算机)上实现。在这样的情况下,分类系统1700通常将是分散的系统,在该分散的系统中,远程分类器1710与源神经网络1705通信,例如,经由数据通信网络。

在一些实现中,源神经网络1705可以是未训练过的,并且被表示的活动可以是源神经网络1705的固有活动。在其他实现中,源神经网络1705可以是训练过的,并且被表示的活动可以体现此训练。

从源神经网络1705读取的表示可以是诸如表示1200(图12、图13、图14)的表示。可以多种方式从源神经网络1705读取表示。例如,在所例示的示例中,源神经网络1705包括读取源神经网络1705中的其他节点之间的活动的模式的“读取器节点”。在其他实现中,源神经网络1705中的活动由数据处理部件读取,该数据处理部件被编程以监控源神经网络1705的活动的相对高度有序模式。在其他实现中,源神经网络1705可以包括输出层,例如,当源神经网络1705被实现为前馈神经网络时,可以从该输出层读取表示1200。

线性分类器1710是基于对象的特征的线性组合将对象——也就是,源神经网络1705中的活动的模式的表示——分类的设备。线性分类器1710包括输入1720和输出1725。输入1720被耦合以接收源神经网络1705中的活动的模式的表示。换句话说,源神经网络1705中的活动的模式的表示是表示到源神经网络1705中的输入的特征的特征向量,所述特征由线性分类器1710使用以将该输入分类。线性分类器1710可以各种各样的方式接收源神经网络1705中的活动的模式的表示。例如,活动的模式的表示可以作为离散事件或作为实时或非实时通信信道上的连续流被接收。

输出1725被耦合以输出来自线性分类器1710的分类结果。在所例示的实现中,输出1725被示意性地例示为具有多个信道的并行端口。情况未必如此。例如,输出1725可以通过串行端口或具有组合的并行和串行能力的端口输出分类结果。

在一些实现中,线性分类器1710可以在具有相对有限的计算性能的一个或多个计算设备上实现。例如,线性分类器1710可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现。

在图18中,分类系统1800包括源神经网络1705和神经网络分类器1810。神经网络分类器1810是基于对象的特征的非线性组合将对象——也就是,源神经网络1705中的活动的模式的表示——分类的神经网络设备。在所例示的实现中,神经网络分类器1810是包括输入层1820和输出层1825的前馈网络。与线性分类器1710一样,神经网络分类器1810可以各种各样的方式接收源神经网络1705中的活动的模式的表示。例如,活动的模式的表示可以作为离散事件或作为实时或非实时通信信道上的连续流被接收。

在一些实现中,神经网络分类器1810可以在具有相对有限的计算性能的一个或多个计算设备上执行推断。例如,神经网络分类器1810可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现,例如,在这样的设备的神经处理单元中。像分类系统1700,分类系统1800通常将是分散的系统,在该分散的系统中,远程神经网络分类器1810与源神经网络1705通信,例如经由数据通信网络。

在一些实现中,神经网络分类器1810可以是例如深度神经网络,诸如包括卷积层、池化层以及全连接层的卷积神经网络。卷积层可以生成特征映射,例如,使用线性卷积滤波器和/或非线性激活函数。池化层减少了参数的数目并且控制过拟合。可以在图像分类器1820的不同实现中以不同的方式定义由图像分类器1820中的不同层执行的计算。

在图19中,分类系统1900包括源近似器1905和线性分类器1710。如下文进一步讨论的,源近似器1905是相对简单的神经网络,该神经网络被训练以——在输入层1915处或在别处——接收输入并且输出向量,该向量近似在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。例如,源近似器1905可以被训练以近似循环源神经网络,诸如,例如,模仿生物系统并且包括生物系统的形态、化学以及其他特征的程度的循环神经网络。在所例示的实现中,源近似器1905包括输入层1915和输出层1920。输入层1915可耦合以接收输入数据。输出层1920被耦合以输出神经网络设备内的活动的表示的近似,以用于由线性分类器的输入1720接收。例如,输出层1920可以输出表示1200(图12、图13、图14)的近似1200’。此外,图17、图18中示意性地例示的表示1200以及图19、图20中示意性地例示的表示1200的近似1200’是相同的。这仅是为了方便起见。通常,近似1200’将至少在一些方面与表示1200不同。尽管这些差异,线性分类器1710仍然可以将近似1200’分类。

通常,源近似器1905可以在具有相对有限的计算性能的一个或多个计算设备上执行推断。例如,源近似器1905可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现,例如,在这样的设备的神经处理单元中。通常并且与分类系统1700、1800对比,分类系统1900通常将被容纳在单个壳体内,例如,其中源近似器1905和线性分类器1710在相同的数据处理设备上或在通过硬连线连接耦合的数据处理设备上实现。

在图20中,分类系统2000包括源近似器1905和神经网络分类器1810。源近似器1905的输出层1920被耦合以输出神经网络设备内的活动的表示的近似1200’,以用于由神经网络分类器1810的输入1820接收。尽管近似1200’和表示1200之间的任何差异,神经网络分类器1810仍然可以将近似1200’分类。通常并且像分类系统1900,分类系统1900通常将被容纳在单个壳体内,例如,其中源近似器1905和神经网络分类器1810在相同的数据处理设备上或在通过硬连线连接耦合的数据处理设备上实现。

图21是包括局部人工神经网络的边设备2100的示意性例示,该局部人工神经网络可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练。在此场景中,局部人工神经网络可以是例如完全在不需要通信网络来交换数据的一个或多个本地处理器上执行的人工神经网络。通常,本地处理器将通过硬线连接来连接。在一些实例中,本地处理器可以被容纳在单个壳体——诸如单个个人计算机或单个手持型、移动设备——内。在一些实例中,本地处理器可以由单个个人或有限数目的个人控制和访问。实际上,通过使用更复杂的源神经网络中的拓扑结构的发生的表示来训练(例如,使用监督学习或强化学习技术)更简单的和/或不太高度地训练的但更独有的第二神经网络,即使具有有限计算资源和有限数目的训练样本的个人也可以根据需要训练神经网络。减少了培训期间的存储要求和计算复杂度,并且节省了像电池寿命的资源。

在所例示的实现中,边设备2100被示意性地例示为安全摄像机设备,该安全摄像机设备包括光学成像系统2110、图像处理电子设备2115、源近似器2120、表示分类器2125以及通信控制器和接口2130。

光学成像系统2110可以包括例如一个或多个透镜(或甚至针孔)和CCD设备。图像处理电子设备2115可以读取光学成像系统2110的输出,并且通常可以执行基本的图像处理功能。通信控制器和接口2130是被配置为控制信息到设备2100的信息流动和自设备2100的信息流动的设备。如下文进一步讨论的,通信控制器和接口2130可以执行的操作之中是向其他设备传输感兴趣的图像以及从其他设备接收训练信息。因此,通信控制器和接口2130可以包括可以通过例如数据端口2135通信的数据发送器和接收器二者。数据端口2135可以是有线端口、无线端口、光端口等。

源近似器2120是相对简单的神经网络,该神经网络被训练以输出向量,该向量近似在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。例如,源近似器2120可以被训练以近似循环源神经网络,诸如,例如,模仿生物系统并且包括生物系统的形态、化学以及其他特征的程度的循环神经网络。

表示分类器2125是线性分类器或神经网络分类器,该线性分类器或神经网络分类器被耦合以从源近似器2120接收源神经网络中的活动的模式的表示的近似并且输出分类结果。表示分类器2125可以是例如深度神经网络,诸如包括卷积层、池化层以及全连接层的卷积神经网络。卷积层可以生成特征映射,例如,使用线性卷积滤波器和/或非线性激活函数。池化层减少了参数的数目并且控制过拟合。可以在表示分类器2125的不同实现中以不同的方式定义由表示分类器2125中的不同层执行的计算。

在一些实现中,在操作中,光学成像系统2110可以生成原始数字图像。图像处理电子设备2115可以读取原始图像,并且通常将执行至少一些基本的图像处理功能。源近似器2120可以接收来自图像处理电子设备2115的图像并且执行推断操作以输出向量,该向量近似在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。此近似向量被输入到表示分类器2125中,该表示分类器2125确定近似向量是否满足一个或多个分类标准集。示例包括面部识别和其他机器视觉操作。在表示分类器2125确定近似向量满足一个分类标准集的情况下,表示分类器2125可以指示通信控制器和接口2130传输关于图像的信息。例如,通信控制器和接口2130可以传输图像本身、分类和/或关于图像的其他信息。

有时,可能期望的是改变分类过程。在这些情况下,通信控制器和接口2130可以接收训练集(training set)。在一些实现中,训练集可以包括原始或处理过的图像数据以及在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。这样的训练集可以被用来重新训练源近似器2120,例如,使用监督学习或强化学习技术。特别地,表示被用作目标答案向量,并且表示源近似器2120处理原始或处理过的图像数据的期望的结果。

在其他实现中,训练集可以包括在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示以及拓扑结构的那些表示的期望的分类。这样的训练集可以被用来重新训练神经网络表示分类器2125,例如,使用监督学习或强化学习技术。特别地,期望的分类被用作目标答案向量,并且表示表示分类器2125处理拓扑结构的表示的期望的结果。

不管源近似器2120或表示分类器2125是否被重新训练,设备2100处的推断操作可以轻易地适应于变化的情况和目标,而无需大训练数据集以及时间密集型和计算能力密集型的迭代训练。

图22是包括局部人工神经网络的第二边设备2200的示意性例示,该局部人工神经网络可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练。在所例示的实现中,第二边设备2200被示意性地例示为诸如智能电话或平板计算机的移动计算设备。设备2200包括光学成像系统(例如,在设备2200的背面上,未示出)、图像处理电子设备2215、表示分类器2225、通信控制器和接口2230以及数据端口2235。这些部件可以具有特征并且执行对应于设备2100(图21)中的光学成像系统2110、图像处理电子设备2115、表示分类器2125、通信控制器和接口2130以及数据端口2135的动作的动作。

设备2200的所例示的实现附加地包括一个或多个附加的传感器2240和多输入源近似器2245。传感器2240可以感测设备2200周围的环境的或设备2200本身的多个特征中的一个。例如,在一些实现中,传感器2240可以是感测设备2200经受的加速度的加速度计。作为另一个示例,在一些实现中,传感器2240可以是感测设备2200的环境中的噪声的声学传感器,诸如麦克风。传感器2240的又一个示例包括化学传感器(例如,“人工鼻”等)、湿度传感器、辐射传感器等。在一些情况下,传感器2240被耦合到可以读取传感器2240的输出(或其他信息,诸如,例如,联系人列表或地图)并且执行基本处理功能的处理电子设备。因此,传感器2240的不同实现可以具有不同的“形式(modality)”,因为物理感测的物理参数从传感器到传感器改变。

多输入源近似器2245是相对简单的神经网络,该神经网络被训练以输出向量,该向量近似在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。例如,多输入源近似器2245可以被训练以近似循环源神经网络,诸如,例如,模仿生物系统并且包括生物系统的形态、化学以及其他特征的程度的循环神经网络。

与源近似器2120不同,多输入源近似器2245被耦合以接收来自多个传感器的原始或处理过的传感器数据,并且基于该数据返回在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示的近似。例如,多输入源近似器2245可以接收来自图像处理电子设备2215的处理过的图像数据以及例如来自一个或多个传感器2240的声学、加速度、化学或其他数据。多输入源近似器2245可以是例如深度神经网络,诸如包括卷积层、池化层以及全连接层的卷积神经网络。由多输入源近似器2245中的不同层执行的计算可以专用于单个类型的传感器数据或多个形式的传感器数据。

不管多输入源近似器2245的特定组织,多输入源近似器2245将基于来自多个传感器的原始或处理过的传感器数据返回近似。例如,来自图像处理电子设备2215的处理过的图像数据和来自麦克风传感器2240的声学数据可以由多输入源近似器2245使用,以近似将在接收相同的数据的相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。

有时,可能期望的是改变设备2200处的分类过程。在这些情况下,通信控制器和接口2230可以接收训练集。在一些实现中,训练集可以包括原始或处理过的图像、声音、化学或其他数据以及在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。这样的训练集可以被用来重新训练多输入源近似器2245,例如,使用监督学习或强化学习技术。特别地,表示被用作目标答案向量,并且表示多输入源近似器2245处理原始或处理过的图像或传感器数据的期望的结果。

在其他实现中,训练集可以包括在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示以及拓扑结构的那些表示的期望的分类。这样的训练集可以被用来重新训练神经网络表示分类器2225,例如,使用监督学习或强化学习技术。特别地,期望的分类被用作目标答案向量,并且表示表示分类器2225处理拓扑结构的表示的期望的结果。

不管多输入源近似器2245或表示分类器2225是否被重新训练,设备2200处的推断操作可以轻易地适应于变化的情况和目标,而无需大训练数据集以及时间密集型和计算能力密集型的迭代训练。

图23是一种系统2300的示意性例示,在该系统2300中可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练局部神经网络。目标神经网络在相对简单、较便宜的数据处理系统上实现,而源神经网络可以在相对复杂、较昂贵的数据处理系统上实现。

系统2300包括各种各样的具有局部神经网络的设备2305、电话基站2310、无线访问点2315、服务器系统2320和一个或多个数据通信网络2325。

局部神经网络设备2305是被配置为使用计算上—较低—密集型的目标神经网络处理数据的设备。如所例示的,局部神经网络设备2305可以被实现为移动计算设备、摄像机、汽车或一大批其他器具、固定装置和移动部件中的任何一个以及每个类别(category)内的不同品牌和型号的设备。不同的局部神经网络设备2305可以属于不同的所有者。在一些实现中,对局部神经网络设备2305的数据处理功能的访问通常将被限制于这些所有者和/或所有者的指定。

局部神经网络设备2305可以各自包括一个或多个源近似器,所述源近似器被训练以输出向量,该向量近似在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示。例如,相对较复杂的神经网络可以是循环源神经网络,诸如,例如,模仿生物系统并且包括生物系统的形态、化学以及其他特征的程度的循环神经网络。

在一些实现中,除使用源近似器处理数据之外,局部神经网络设备2305还可以被编程以使用在相对较复杂的神经网络中的活动的模式中出现的拓扑结构的表示作为目标答案向量来重新训练源近似器。例如,局部神经网络设备2305可以被编程以执行一个或多个迭代训练技术(例如,梯度下降或随机梯度下降)。在其他实现中,局部神经网络设备2305中的源近似器是通过例如专用训练系统或通过安装在个人计算机上的训练系统可训练的,该个人计算机可以与局部神经网络设备2305交互以训练源近似器。

每个局部神经网络设备2305包括一个或多个无线或有线数据通信部件。在所例示的实现中,每个局部神经网络设备2305包括至少一个无线数据通信部件,诸如移动电话收发器、无线收发器或二者。移动电话收发器能够与电话基站2310交换数据。无线收发器能够与无线访问点2315交换数据。每个局部神经网络设备2305还可以能够与对等移动计算设备交换数据。

电话基站2310和无线访问点2315被连接用于与一个或多个数据通信网络2325数据通信,并且可以通过网络与服务器系统2320交换信息。因此,局部神经网络设备2305通常也与服务器系统2320数据通信。然而,情况未必如此。例如,在局部神经网络设备2305通过其他数据处理设备训练的实现中,局部神经网络设备2305仅需要与这些其他数据处理设备数据通信至少一次。

服务器系统2320是一个或多个数据处理设备的系统,所述一个或多个数据处理设备被编程以根据一个或多个机器可读指令集执行数据处理活动。活动可以包括向用于移动计算设备2305的训练系统提供训练集。如上文所讨论的,训练系统可以在移动局部神经网络设备2305本身内部或在一个或多个其他数据处理设备上。训练集可以包括对应于源神经网络中的活动的拓扑结构的发生的表示和对应的输入数据。

在一些实现中,服务器系统2320还包括源神经网络。然而,情况未必如此,并且服务器系统2320可以接收来自实现源神经网络的数据处理设备的又一个系统的训练集。

在操作中,在服务器系统2320接收训练集(来自在服务器系统2320本身处或在别处发现的源神经网络)之后,服务器系统2320可以向训练移动计算设备2305的训练器提供训练集。可以使用训练集训练目标局部神经网络设备2305中的源近似器,以使得目标神经网络近似源神经网络的操作。

图24、图25、图26、图27是在四个不同的系统2400、2500、2600、2700中使用神经网络中的活动中的拓扑结构的发生的表示的示意性例示。系统2400、2500、2600、2700可以被配置为执行多个不同操作中的任何一个。例如,系统2400、2500、2600、2700可以执行对象定位操作、对象检测操作、对象分割操作、对象检测操作、预测操作、动作选择操作等。

对象定位操作定位图像内的对象。例如,可以围绕对象构造边界框。在一些情况下,对象定位可以与对象识别结合,在对象识别中用适当的名称(designation)标注定位的对象。

对象检测操作将图像像素分类为属于特定的类(例如,属于对象兴趣)或不属于特定的类。通常,通过将像素分组并且围绕像素组形成边界框来执行对象检测。边界框应该紧密地围绕对象配合。

对象分割通常向每个图像像素分配类标签。因此,对象分割在逐像素的基础上进行并且通常需要仅向每个像素分配单个标签,而不是边界框。

预测操作寻求得出在观测数据的范围外部的结论。尽管预测操作可以寻求预言未来发生(例如,基于关于过去和当前状态的信息),但是预测操作也可以寻求基于关于这些状态的不完整信息得出关于过去和当前状态的结论。

动作选择操作寻求基于一个条件集选择动作。动作选择操作传统上已经被分解为不同的方法,诸如基于符号的系统(经典规划)、分布式解决方案和反应式或动态规划。

分类系统2400、2500各自对神经网络中的活动的模式的表示执行期望的操作。系统2600、2700各自对神经网络中的活动的模式的表示的近似执行期望的操作。在系统2400、2500中,被表示的活动的模式发生在是系统2400、2500的一部分的源神经网络设备1705中并且是从该源神经网络设备1705读取的。相反,在系统2400、2500中,被近似地表示的活动的模式发生在不是系统2400、2500的一部分的源神经网络设备中。然而,活动的那些模式的表示的近似是从是系统2400、2500的一部分的近似器1905读取的。

更详细地,转到图24,系统2400包括源神经网络1705和线性处理器2410。线性处理器2410是基于神经网络中的活动的模式的表示(或这样的表示的近似)的特征的线性组合执行操作的设备。操作可以是例如对象定位操作、对象检测操作、对象分割操作、对象检测操作、预测操作、动作选择操作等。

线性处理器2410包括输入2420和输出2425。输入2420被耦合以接收在源神经网络1705中的活动的模式的表示。线性处理器2410可以各种各样的方式接收源神经网络1705中的活动的模式的表示。例如,活动的模式的表示可以作为离散事件或作为实时或非实时通信信道上的连续流被接收。输出2525被耦合以输出来自线性处理器2410的处理结果。在一些实现中,线性处理器2410可以在具有相对有限的计算性能的一个或多个计算设备上实现。例如,线性处理器2410可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现。

转到图24,系统2400包括源神经网络1705和线性处理器2410。线性处理器2410是基于神经网络中的活动的模式的表示(或这样的表示的近似)的特征的线性组合执行操作的设备。操作可以是例如对象定位操作、对象检测操作、对象分割操作、预测操作、动作选择操作等。

线性处理器2410包括输入2420和输出2425。输入2420被耦合以接收源神经网络1705中的活动的模式的表示。线性处理器2410可以各种各样的方式接收源神经网络1705中的活动的模式的表示。例如,活动的模式的表示可以作为离散事件或作为实时或非实时通信信道上的连续流被接收。输出2525被耦合以输出来自线性处理器2410的处理结果。在一些实现中,线性处理器2410可以在具有相对有限的计算性能的一个或多个计算设备上实现。例如,线性处理器2410可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现。

在图25中,分类系统2500包括源神经网络1705和神经网络2510。神经网络2510是神经网络设备,该神经网络设备被配置为基于神经网络中的活动的模式的表示(或这样的表示的近似)的特征的非线性组合执行操作。操作可以是例如对象定位操作、对象检测操作、对象分割操作、预测操作、动作选择操作等。在所例示的实现中,神经网络2510是包括输入层2520和输出层2525的前馈网络。与线性处理器2410一样,神经网络2510可以各种各样的方式接收源神经网络1705中的活动的模式的表示。

在一些实现中,神经网络2510可以在具有相对有限的计算性能的一个或多个计算设备上执行推断。例如,神经网络2510可以在个人计算机或诸如智能电话或平板计算机的移动计算设备上实现,例如,在这样的设备的神经处理单元中。像系统2400,系统2500通常将是分散的系统,在该分散的系统中,远程神经网络2510与源神经网络1705通信,例如经由数据通信网络。在一些实现中,神经网络2510可以是例如深度神经网络,诸如卷积神经网络。

在图26中,系统2600包括源近似器1905和线性处理器2410。尽管近似1200’和表示1200之间的任何差异,处理器2410仍然可以对近似1200’执行操作。

在图27中,系统2700包括源近似器1905和神经网络2510。尽管近似1200’和表示1200之间的任何差异,神经网络2510仍然可以对近似1200’执行操作。

在一些实现中,系统2600、2700可以在边设备(诸如,例如,边设备2100、2200(图21、图22))上实现。在一些实现中,系统2600、2700可以被实现为系统(诸如系统2300(图23))的一部分,在该系统中,可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练局部神经网络。

图28是一种强化学习系统2800的示意性例示,该强化学习系统包括可以使用对应于源神经网络中的活动的拓扑结构的发生的表示来训练的人工神经网络。强化学习是一种类型的机器学习,在该机器学习中,人工神经网络从关于响应于人工神经网络的决策所采取的动作的结果的反馈学习。强化学习系统通过执行动作和接收将新状态特征化的信息以及将动作的成功(或缺乏成功)特征化的奖励(reward)和/或遗憾(regret)来从环境中的一个状态移动到另一个状态。强化学习通过学习过程寻求使总奖励最大化(或使遗憾最小化)。

在所例示的实现中,强化学习系统2800中的人工神经网络是使用强化学习方法训练的深度神经网络2805(或其他深度学习架构)。在一些实现中,深度神经网络2805可以是局部人工神经网络(诸如神经网络2510(图25、图27)),并且局部地在例如汽车、飞机、机器人或其他设备上实现。然而,情况未必如此,并且在其他实现中,深度神经网络2805可以在网络化设备(networked device)的系统上实现。

除源近似器1905和深度神经网络2805之外,强化学习系统2800还包括致动器2810、一个或多个传感器2815和教师模块(teacher module)2820。在一些实现中,强化学习系统2800还包括的一个或多个附加数据源2825。

致动器2810是控制与环境2830交互的机构或系统的设备。在一些实现中,致动器2810控制物理机构或系统(例如,汽车的转向或机器人的定位)。在其他实现中,致动器2810可以控制虚拟机构或系统(例如,虚拟游戏板(game board)或投资组合(investmentportfolio))。因此,环境2830也可以是物理的或虚拟的。

传感器2815是测量环境2830的特征的设备。测量结果(measurement)中的至少一些将受控制的机构或系统与环境2830的其他方面之间的交互特征化。例如,当致动器2810操纵汽车时,传感器2815可以测量汽车的速度、方向和加速度、汽车与其他特征的接近度以及其他特征对汽车的响应中的一个或多个。作为另一个示例,当致动器2810控制投资组合时,传感器2815可以测量与该组合相关联的价值和风险。

通常,源近似器1905和教师模块2820二者被耦合以接收由传感器2815获得的测量结果中的至少一些。例如,源近似器1905可以在输入层1915处接收测量结果数据,并且输出在源神经网络中的活动的模式中出现的拓扑结构的表示的近似1200’。

教师模块2820是被配置为解释从传感器2815接收的测量结果并且向深度神经网络2805提供奖励和/或遗憾的设备。奖励是积极的,并且指示机构或系统的成功控制。遗憾是消极的,并且指示不成功或不到最佳控制。通常,教师模块2820还提供测量结果的特征化以及强化学习的奖励/遗憾。通常,测量结果的特征化是在源神经网络中的活动的模式中出现的拓扑结构的表示的近似(诸如近似1200’)。例如,教师模块2820可以读取从源近似器1905输出的近似1200’,并且将读取的近似1200’与相应的奖励/遗憾值配对。

在多个实现中,强化学习在系统2800中不实时地发生或不在通过深度神经网络2805对致动器2810的主动控制期间发生。相反,训练反馈可以由教师模块2820收集,并且在深度神经网络2805未主动地指示致动器2810时被用于强化训练。例如,在一些实现中,教师模块2820可以远离深度神经网络2805并且仅与深度神经网络2805间歇数据通信。不管强化学习是间歇的还是连续的,深度神经网络2805都可以被进化,例如,以使用从教师模块2820接收的信息来优化奖励和/或减少遗憾。

在一些实现中,系统2800还包括一个或多个额外数据源2825。源近似器1905还可以在输入层1915处从数据源2825接收数据。在这些实例中,近似1200’将由处理传感器数据和来自数据源2825的数据二者造成。

在一些实现中,由一个强化学习系统2800收集的数据可以被用于其他系统(包括其他强化学习系统)的训练或强化学习。例如,可以由教师模块2820将测量结果的特征化以及奖励/遗憾值提供给数据交换系统,该数据交换系统从各种各样的强化学习系统收集这样的数据并且在它们之中重新分配数据。此外,如上文所讨论的,测量结果的特征化可以是在源神经网络中的活动的模式中出现的拓扑结构的表示的近似,诸如近似1200’。

由强化学习系统2800执行的特定操作当然将取决于特定的操作场景。例如,在源近似器1905、深度神经网络2805、致动器2810和传感器2815是汽车的一部分的场景中,深度神经网络2805可以在操纵汽车的同时执行对象定位和/或检测操作。

在由强化学习系统2800收集的数据被用于其他系统的训练或强化学习的实现中,当执行对象定位和/或检测操作时将环境的状态特征化的奖励/遗憾值和近似1200’可以被提供给数据交换系统。然后,数据交换系统可以将奖励/遗憾值和近似1200’分配给与其他车辆相关联的其他强化学习系统2800,以用于这些其他车辆处的强化学习。例如,强化学习可以被用来使用奖励/遗憾值和近似1200’来改进第二车辆处的对象定位和/或检测操作。

然而,在其他车辆处学习的操作不必与由深度神经网络2805执行的操作相同。例如,基于行进时间的奖励/遗憾值和由将例如通过GPS数据源2825识别的位置处的出乎意料地湿的道路特征化的传感器数据的输入造成的近似1200’可以被用于另一个车辆处的路线规划操作。

本说明书中所描述操作和主题的实施方案可以数字电子电路实现,或以计算机软件、固件或硬件——包括本说明书中所公开的结构以及其结构等同物——实现,或以它们中的一个或多个的组合实现。本说明书中所描述的主题的实施方案可以被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,所述一个或多个计算机程序被编码在计算机存储介质上以用于由数据处理装置执行或以控制数据处理装置的操作。可选地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,所述传播信号被生成以编码信息以用于传输到合适的接收器装置以用于由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合或被包括在其中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理部件或介质(例如,多个CD、盘(disk)或其他存储设备)或被包括在其中。

本说明书中所描述的操作可以被实现为数据处理装置对存储在一个或多个计算机可读存储设备上的或从其他源接收的数据执行的操作。

术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,通过示例的方式包括可编程处理器、计算机、片上系统或前述中的多个或前述的组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。

计算机程序(也被称为程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言——包括编译或解释语言、声明性或过程性语言——编写,并且它可以任何形式被部署,包括作为独立的程序或作为模块、部件、子程序、对象或适合在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署以在一个计算机上被执行或在位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上被执行。

本说明书中所描述的过程和逻辑流可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。

适合于执行计算机程序的处理器通过示例的方式包括通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或被操作性地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据,或将数据传送到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或二者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一个设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制器、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪盘驱动器)中,仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,通过示例的方式包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本文所描述的主题的实施方案可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户可以向计算机提供输入所通过的键盘和定点设备(例如,鼠标或追踪球)的计算机上实现。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。

虽然本说明书包含许多具体实现细节,但是这些细节不应被解释为对任何发明或可能要求保护的内容的范围的限制,而是应被理解为对特定于特定发明的特定实施方案的特征的描述。在本说明书中在单独的实施方案的场景中描述的某些特征也可以在单个实施方案中组合实现。相反地,在单个实施方案的场景中描述的多个特征也可以在多个实施方案中单独地或以任何合适的子组合实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至这样最初要求保护,但是在一些情况下可以从组合删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,虽然在附图中以特定顺序描述了操作,但是这不应被理解为要求以所示出的特定顺序或以连续顺序执行这样的操作,或要求执行所有所例示的操作以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上文所描述的实施方案中的多种系统部件的分离不应被理解为在所有实施方案中都要求这样的分离,并且应理解,所描述的程序部件和系统通常可以在单个软件产品中集成在一起或被打包成多个软件产品。

因此,已经描述了主题的特定实现。其他实现在随附的权利要求书的范围内。在某些情况下,权利要求书中所记载的动作可以不同的顺序执行,并且仍然可以获得期望的结果。另外,在附图中所描绘的过程不必需要所示出的特定顺序或连续顺序来获得期望的结果。在某些实现中,多任务和并行处理可能是有利的。

已经描述了多个实施方案。然而,应理解,可以做出各种改型。例如,尽管表示1200是二进制表示,其中每个位单独地表示在图表中特征的存在或不存在,但是信息的其他表示是可能的。例如,多值(multi-valued)、非二进制数字的向量或矩阵可以被用来表示例如特征的存在或不存在并且可能表示这些特征的其他特征。这样的特征的一个示例是构成特征的活动的边的权重。

因此,其他实施方案在随附的权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号