首页> 中国专利> 人工神经网络和利用表观遗传神经发生训练人工神经网络的方法

人工神经网络和利用表观遗传神经发生训练人工神经网络的方法

摘要

一种对根据来自旧任务的数据训练的人工神经网络进行再训练的方法,包括:利用来自不同于旧任务的新任务的数据对人工神经网络进行训练,在利用新任务对人工神经网络进行训练期间,利用S l i ced Wasserste i nD i stance计算一系列隐藏层节点的激活分布中的漂移,基于激活分布中的漂移计算要添加到至少一个隐藏层的附加节点的数量,将输入层节点、隐藏层节点和输出层节点之间的连接权重重置为在利用来自新任务的数据对人工神经网络进行训练之前的值,将附加节点添加到至少一个隐藏层,以及利用来自新任务的数据对人工神经网络进行训练。

著录项

说明书

相关申请的交叉引用

本申请要求于2018年10月24日提交的美国临时专利申请第62/750,155号和于2018年10月23日提交的美国临时专利申请第62/749,617号的优先权和权益,其全部内容均通过引用并入本文。

关于联邦政府赞助研究或开发的声明

本发明是根据合同BC2X.104.000在美国政府的支持下完成的。美国政府享有本发明的某些权利。

技术领域

本公开总体上涉及人工神经网络和利用表观遗传神经发生训练人工神经网络的方法。

背景技术

人工神经网络在各种领域和应用中被用来执行各种任务,例如字符识别、图像分类、自然语言处理以及各种模式匹配和分类任务。人工神经网络包括输入层、至少一个隐藏层和输出层,每一者都具有一系列神经元或节点。一层中的神经元的输出连接至下一层中的神经元的输入,并且“权重”与神经元之间的每个连接相关联。为了计算每个神经元的激活状态,对神经元的输入进行加权求和(即,一组输入信号乘以一组权重,然后进行求和),然后加权输入的线性组合通过传递函数传递到阈值激活函数(f(S))中。

为了对经过训练的人工神经网络进行适配以执行新任务,许多相关技术方法不将神经元添加到人工网络,而是对现有神经元之间的连接的权重进行适配。但是,此方法受到人工神经网络的信息存储容量的限制,所述信息存储能力不足以应对更多样化的任务和输入分布。

其它相关技术方法将神经元添加到经过训练的人工神经网络中,在本领域中称为神经发生,以对人工神经网络进行适配以执行新任务。然而,相关技术的神经发生通常以无原则或临时的方式添加神经元,例如,当新任务到达时,将固定的、预定数量的神经元添加到人工神经网络的每一层中,或者通过时间消耗试错方法来添加神经元。例如,由于在学习新任务时不对旧神经元之间的连接进行适配,或者强制执行网络内非常稀疏的连接模式从而导致可用于调谐的参数较少,这些相关技术方法不能完全利用不同任务之间的信息冗余。

发明内容

本公开涉及对利用来自旧任务的数据训练的人工神经网络进行再训练的方法的各种实施例。人工神经网络包括具有一系列输入层节点的输入层、具有一系列隐藏层节点的至少一个隐藏层以及具有一系列输出层节点的输出层。在实施例中,该方法包括:利用来自不同于旧任务的新任务的数据对人工神经网络进行训练,在利用新任务对人工神经网络进行训练期间,利用Sliced Wasserstein Distance(切片瓦瑟斯坦距离),计算一系列隐藏层节点的激活分布中的漂移,基于激活分布中的漂移计算要添加到至少一个隐藏层的附加节点的数量,将输入层节点、隐藏层节点和输出层节点之间的连接权重重置为在利用来自新任务的数据对人工神经网络进行训练之前其具有的多个值,将附加节点添加到至少一个隐藏层,以及利用来自新任务的数据对人工神经网络进行训练。

来自所述旧任务的数据可以包括从所述旧任务的输入和目标输出分布中保留的训练数据。

来自所述旧任务的数据可以包括根据所述旧任务的输入和目标输出分布的模型生成的合成数据。

可以根据等式1计算附加节点的数量:N

附加节点可以包括第一组附加节点和第二组附加节点,并且添加附加节点的任务可以包括将第一组附加节点添加到至少一个隐藏的第一隐藏层,以及将第二组附加节点添加到至少一个隐藏层的第二个隐藏层。一般而言,人工神经网络可以具有任何合适数量的隐藏层,并且本公开的方法可以向任何隐藏层添加任何合适数量的节点。

添加附加节点还可以包括将第一组附加节点中的每个附加节点连接至第二组附加节点中的每个附加节点。

添加附加节点可以包括将第一隐藏层中的一系列隐藏层节点连接至添加到第二隐藏层的第二组附加节点。

添加附加节点可以包括不将添加到第一隐藏层的第一组附加节点连接至第二隐藏层中的一系列隐藏层节点。

该方法还可以包括将一系列新的输出层节点添加到输出层。

添加附加节点可以包括将附加节点添加到与输出层相邻的至少一个隐藏层的最后隐藏层,以及将附加节点仅连接至一系列新的输出层节点。

该方法还可包括将与输出层相邻的至少一个隐藏层的一系列节点中的每一个都连接至一系列新的输出层节点中的每一个。

将附加节点添加到至少一个隐藏层可以包括将附加节点添加到至少一个隐藏层的第一隐藏层,并且该方法还可以包括将一系列输入层节点中的每一个连接至第一隐藏层中的附加节点中的每一个。

利用来自新任务的数据对人工神经网络进行训练包括:使用随机梯度下降来使得损失函数最小化。

本公开还涉及通过表观遗传神经发生进行训练以执行旧任务和新任务的人工神经网络的各种实施例。在一个实施例中,人工神经网络包括具有一系列输入层节点的输入层、具有一系列第一隐藏层节点和至少一个新的第一隐藏层节点的第一隐藏层、具有一系列第二隐藏层节点和至少一个新的第二隐藏层节点的第二隐藏层,以及具有一系列输出层节点的输出层。所述至少一个新的第一隐藏层节点连接至所述至少一个新的第二隐藏层节点,所述至少一个新的第一隐藏层节点不连接至所述一系列第二隐藏层节点,所述一系列第一隐藏层节点中的每一个都连接至所述至少一个新的第二隐藏层节点,并且所述一系列输入层节点中的每一个都连接至所述至少一个新的第一隐藏层节点。

输出层还可以包括一系列新的输出层节点。

第二隐藏层可以是与输出层相邻的最后隐藏层,并且至少一个新的第二层隐藏节点可以仅连接至一系列新的输出层节点。

一系列第二隐藏层节点中的每一个都可以连接至一系列输出层节点中的每一个和一系列新的输出层节点中的每一个。

第二隐藏层可以是与输出层相邻的最后隐藏层,并且至少一个新的第二层隐藏节点可以连接至一系列输出层节点中的每一个。

一系列输入层节点中的每一个都可以连接至一系列第一隐藏层节点中的每一个。

一系列的第一隐藏层节点中的每一个都可以连接至一系列第二隐藏层节点中的每一个。

提供本发明内容部分是为了介绍本公开的实施例的特征和概念的选择,其将在下面的详细描述中进一步描述。本发明内容部分并不旨在标识所要求保护的主题的关键或必要特征,也不旨在限制所要求保护的主题的范围。所描述的特征中的一个或多个可以与一个或多个其它所描述的特征组合以提供可行的设备。

附图说明

当结合以下附图考虑时,通过参考以下详细描述,本公开的实施例的特征和优点将变得更加明显。在附图中,在所有附图中使用相同的附图标记用于参考相同的特征和部件。所述附图不一定按比例绘制。

图1是示出根据本公开的一个实施例的训练人工神经网络的方法的任务流程图;

图2是根据图1的方法训练的人工神经网络的示意图;

图3是描绘根据图1所示方法的一个任务,利用Sliced-WassersteinDistance(切片瓦瑟斯坦距离)计算的人工神经网络的隐藏层的激活分布中的漂移的图;

图4是根据图1的方法训练的人工神经网络的示意图,该人工神经网络在MNIST手写数字数据集上进行测试;

图5是示出在新节点已经到达人工神经网络之后,人工神经网络的训练进度的图;以及

图6-8是将本公开的人工神经网络(PPN)的性能与遗传算法(GA)的性能进行比较的图。

具体实施方式

本公开涉及利用来自一个或多个新任务的数据训练人工神经网络的方法的各种实施例,已经利用来自一个或多个旧任务的数据对该人工神经网络进行了训练。在一个或多个实施例中,本公开的方法利用表观遗传神经发生,其包括向人工神经网络添加新的节点和连接以使得能够学习一个或多个新任务而不会降低性能或基本上不会降低先前学习的任务的性能(即,不会灾难性地忘记训练人工神经网络执行的一个或多个旧任务)。另外,本公开的方法被配置为将在一个或多个旧任务上获取的知识与新信息相集成,以通过训练旧连接和新连接两者利用较少的训练示例改善新任务的性能。此外,本公开的方法被配置为使添加到人工神经网络的新节点和连接的数量最小化,同时在一个或多个新任务上实现性能目标(即,该方法被配置为使实现一个或多个新任务的性能目标所必需的人工神经网络的规模和复杂程度的增加最小化)。

例如,根据本公开的利用表观遗传神经发生训练人工神经网络的方法可以利用在可能遇到新任务要学习并且还可能需要重新访问旧任务的任何自治或半自治系统中,而无需在旧任务上再训练人工神经网络。例如,本公开的方法可以能够在智能飞行器或智能车辆部件中进行持续学习,该智能飞行器或智能车辆部件在部件本身上存储诸如传感器和维护数据之类的信息,并且被配置为学习可以根据需要生成现实合成数据的模型。根据本公开的利用表观遗传神经发生训练人工神经网络的方法可以使得这些智能部件能够在其整个使用寿命中针对变化的环境条件、变化的飞行器/车辆配置和/或放置在不同飞行器或不同车辆上而持续学习。例如,根据本公开的利用表观遗传神经发生训练人工神经网络的方法还可以使得在许多不同的飞行器或车辆上利用单个飞行器或车辆视觉感知系统(例如,对象分类、车道标记检测和/或可驾驶表面识别)成为可能,因为这需要持续学习而又不会忘记,因此感知系统可以处理许多不同的环境、模型和模型年份。当本公开的方法用于实现飞行器或车辆视觉感知系统的持续学习时,可以将数据从飞行器或车辆上载到发生学习和测试的远程服务器,然后对感知系统的软件更新可以直接推到飞行器或车辆。

图1是示出根据来自一个或多个新任务的数据训练人工神经网络(ANN)200的方法100的任务流程图,该人工神经网络已经根据来自一个或多个旧任务的数据进行了训练,而图2是根据图1所示的方法100训练的人工神经网络200的示意图。在一个或多个实施例中,人工神经网络200包括具有一系列输入层节点202的输入层201、具有一系列第一隐藏层节点204的第一隐藏层203、具有一系列第二隐藏层节点206的第二隐藏层205和具有一系列输出层节点208的输出层207。在所示的实施例中,一系列连接209将输入层201中的每个输入层节点202都连接至第一隐藏层203中的每个第一隐藏层节点204,一系列连接210将第一隐藏层203中的每个第一隐藏层节点204连接至第二隐藏层205中的每个第二隐藏层节点206,一系列连接211将第二隐藏层205中的每个第二隐藏层节点206连接至输出层207中的每个输出层节点208。此外,相邻层中的节点之间的每个连接209、210、211都具有相关联的连接权重。此外,人工神经网络200中的每个节点202、204、206、208都与激活函数相关联,该激活函数被配置为接收到节点202、204、206、208的输入作为激活函数的参数并基于该输入计算节点202、204、206、208的输出值,以确定节点202、204、206、208的激活状态。尽管在所示的实施例中,人工神经网络200包括两个隐藏层203、205,但是在一个或多个实施例中,例如,取决于人工神经网络能够学习和执行的任务的期望复杂度,人工神经网络200可以包括任何其它适当数量的隐藏层,并且每一层都可以具有任何适当数量的节点。此外,尽管在所示的实施例中,人工神经网络200是完全连接的人工神经网络(即,每个节点都连接至相邻层中的每个节点),但是在一个或多个实施例中,人工神经网络200可以不是完全连接的。

在所示的实施例中,方法100包括将数据输入人工神经网络200的输入层201中的任务110,所述数据包括来自人工神经网络200已经被训练为执行的一个或多个旧任务的数据,以及来自人工神经网络200将要被训练为执行的一个或多个新任务的数据。来自一个或多个旧任务的数据可以是真实数据或合成数据。例如,来自一个或多个旧任务的数据可包括已从一个或多个旧任务的输入和目标输出分布中保留的一定量的训练数据(例如,5%)。在一个或多个实施例中,来自一个或多个旧任务的数据可以是根据一个或多个旧任务的输入和目标输出分布的模型生成的合成数据。

在所示的实施例中,方法100还包括计算漂移的任务120,当根据任务110利用来自一个或多个新任务的数据训练人工神经网络200时,相对于来自人工神经网络200的曾被训练用以执行的一个或多个旧任务的数据计算一个或多个隐藏层203、205中的节点204、206的激活分布中的漂移。在其中人工神经网络200包括两个隐藏层203、205的实施例中,计算漂移的任务120包括在旧任务上训练人工神经网络200已经完成之后但在新任务的训练开始之前计算概率分布P

然后,任务120包括利用Sliced Wasserstein Distance(SWD)确定概率分布P

另外,在所示的实施例中,在计算漂移D1和D2的任务120之后,方法100包括将节点202、204、206、208之间的连接209、210、211的权重重置为在开始根据新任务训练人工神经网络200之前所具有的值。最初允许改变权重的目的是为了在任务120中计算节点的激活分布中的漂移(D1、D2、DN)。

方法100还包括任务140,该任务140基于任务120中计算的漂移D1和D2计算要添加到人工神经网络200的一个或多个隐藏层203、205的节点的数量(如果有的话)。使用函数F(D)执行此任务140,该函数F(D)将任务120中由SWD确定的漂移D映射到要添加到隐藏层203、205的节点的数量N

N

其中D是在任务120中由SWD计算的漂移,b和c是用户规定的参数。用户规定的参数b和c是特定于应用的,因此用户规定的参数b和c可以是适合于方法100和人工神经网络200的预期应用的任何值。此外,在一个或多个实施例中,计算要添加到隐藏层203、205的节点的数量的任务140包括将函数F(D)的输出取整到最接近的自然数。在一个或多个实施例中,例如根据人工神经网络200正在训练学习的新任务的性质,用于将漂移映射到要添加到隐藏层的新节点的数量的函数F(D)可以具有用户规定的任何其它适当形式。

在所示的实施例中,方法100还包括将在任务140中计算出的新节点添加到人工神经网络200的一个或多个隐藏层203、205的任务150。图2示出了示例,其中任务150包括将两个新节点202’添加到输入层201,将一个节点204’添加到第一隐藏层203以及将一个节点206’添加到第二隐藏层205。在一个或多个实施例中,任务150可以包括例如根据人工神经网络正在训练学习的新任务的性质,将任何其它合适数量的节点添加到人工神经网络200的层。此外,在一个或多个实施例中,方法100可以包括将具有一系列新的输出层节点的新的输出层添加到人工神经网络200的任务。在一个或多个实施例中,方法100可以包括以下任务:仅当新任务需要识别新类型的类或者新目标输出分布与旧任务上的目标输出分布明显不同时,才将新输出层添加到人工神经网络200。

另外,在示出的实施例中,添加新节点202’、204’、206’的任务150包括根据以下方案连接新节点202’、204’、206’:(i)添加到隐藏层L的每个新节点都被连接至添加到隐藏层L+1的每个新节点,如果添加了这样的新节点(例如,添加到第一隐藏层203的新节点204’被连接至添加到第二隐藏层205的新节点206’);(ii)如果添加了新的输出层并且新节点被添加到最后的隐藏层(即,与输出层相邻的隐藏层),则被添加到最后隐藏层的每个新节点仅连接至新的输出层中的节点;(iii)如果未添加新的输出层并且新节点被添加到最后的隐藏层(即,与输出层相邻的隐藏层),则添加到最后隐藏层的每个新节点都仅连接至旧的输出层中的节点;(iv)被添加到一个或多个隐藏层的新节点不连接至一个或多个隐藏层中的旧节点(例如,被添加到第一隐藏层203的新节点204’不连接至第二隐藏层205中的旧节点206);(v)隐藏层L中的旧节点被连接至隐藏层L+1中的新节点,如果添加了这样的节点(例如,第一隐藏层203中的旧节点204连接至被添加到第二隐藏层205的新节点206’);(vi)输入层节点连接至被添加到第一隐藏层的新节点,如果添加了这样的节点(例如,输入层节点202连接至被添加到第一隐藏层203的新节点204’);以及(vii)为新连接的权重分配来自预定义分布(例如,均匀分布或高斯分布)的随机值。

在所示的实施例中,在新节点202’、204’、206’已经添加到人工神经网络200的一个或多个隐藏层并且已经根据上文描述的方案进行了与新节点202、202’、204、204’、206、206’的连接之后,方法100还包括利用来自新任务的数据训练人工神经网络200的任务160。在一个或多个实施例中,训练人工神经网络200的任务160包括利用随机梯度下降使以下损失函数最小化:

其中Y1是用于旧任务的人工神经网络的目标输出,Y2是用于新任务的人工神经网络的目标输出,θ是在学习旧任务期间(即,在添加新节点202’、204’、206’之前)存在的节点202、204、206之间的连接209、210、211上的网络权重,ψ是新添加的连接209’、210’、211’上的权重(例如,到或来自被添加到一个或多个隐藏层的新节点和/或到新输出层中的节点的新添加的连接上的权重)。利用来自新任务的数据训练人工神经网络200的任务160包括在学习新任务时训练旧权重(θ)和新权重(ψ)。损失函数(等式2)中的第一项是新任务的目标输出分布

在利用新任务训练人工神经网络200的任务160期间,监视性能增益/损失。如果在用户规定的训练时期数量之后性能尚未达到用户规定的目标,则方法100可以包括将附加节点添加到人工神经网络200的任务。例如,可以基于计算资源和/或时间约束来设置对训练时期数量的限制,并且可以基于正在使用人工神经网络200的特定应用来设置性能目标。

图4是在根据图1的方法训练之前和之后,在MNIST手写数字数据集上测试的人工神经网络300的示意图,MNIST手写数字数据集是光学字符分类的基准问题。偶数数字(0、2、4、6、8)用作“旧任务”,奇数数字(1、3、5、7、9)用作“新任务”。图4左侧的人工神经网络300描绘了已被训练用以执行旧任务(即,对奇数手写数字1、3、5、7和9进行分类)之后、但在根据图1的方法被训练用以执行新任务(即,对偶数手写数字2、4、6、8进行分类)之前的人工神经网络300。输入数据包括了784维二进制向量,其中每个向量代表手写数字的黑白像素值。在所示的实施例中,在根据图1的方法进行训练之前,人工神经网络300包括两个完全连接的隐藏层301、302以及它们各自的激活函数,每个隐藏层都分别具有一百(100)个节点303、304。在所示的实施例中,利用了在输出处具有交叉熵损失的softmax层。另外,在所示的实施例中,在利用旧任务进行训练之后但在利用新任务进行训练之前,人工神经网络300在手写数字的保持测试集上实现了98.6%的分类准确度。在利用旧任务对人工神经网络进行训练和测试后,保留了5%的旧任务训练数据,用于利用新任务对人工神经网络进行再训练。

图4右侧的人工神经网络300描绘了已经根据图1所示的方法进行训练之后的人工神经网络300。在所示的实施例中,新的输出层已经添加至人工神经网络300,因为新任务需要标识与旧任务不同的类别(即,旧任务中标识的偶数数字和新任务中标识的奇数数字在不同的类别中)。在进行新任务的训练时,利用SWD分别计算了在隐藏层301、302中的激活中的漂移D1和D2。基于漂移D1和D2的计算,根据上文描述的方案,十(10)个新节点被添加到每个隐藏层301、302并且连接这些新节点,如图4右侧的人工神经网络300所示。

然后,将节点之间的连接的权重被重置为在开始利用新任务进行训练之前的值。一旦权重被重置,通过最小化由上述等式2定义的损失来进行利用新任务的训练(即,对奇数手写数字进行分类)。在所示的实施例中,等式2中用户规定的系数λ被设置为1,该系数λ设置隐藏层中激活分布中允许的漂移量,从而控制在旧任务上保持性能与在新任务上表现良好的较小网络之间的权衡。在对旧连接和新连接上的权重进行训练之后,人工神经网络300在旧任务(即,对偶数手写数字进行分类)上实现了98.1%的准确度,在新任务(即,对奇数手写数字进行分类)上实现了98.5%的准确度。

图5是示出在新节点已经到达人工神经网络300之后,人工神经网络300的训练进度的图。如图5所示,在旧任务上几乎没有性能损失,并且在新任务上实现了同样高的效能水平。此外,人工神经网络300的整体规模仅需要增加10%(即,将10个新节点添加到最初包括100个节点的隐藏层的每一者中)。相比之下,当同时在新旧任务上训练人工神经网络300时,人工神经网络300实现了98.0%的准确度。因此,本公开的系统和方法能够以类似于同时进行的良好任务学习的准确度持续地对任务进行学习,这通常是更加容易的。

还使用MNIST光学字符识别问题的变体测试了本公开的人工神经网络以及根据本公开的各个实施例的再训练人工神经网络的方法。首先,训练了神经网络以对从0到9的手写数字的灰度图像进行分类(旧任务)。将图像展平为748维向量。该网络由具有双曲正切激活函数的3个隐藏层组成。第一、第二和第三隐藏层分别有50、30和20个神经元。通过随机生成置换掩码并将其应用于数据集中的每个数字来创建新任务。通过随机选择两个不相交的像素索引集,然后交换每个图像中的相应像素来创建置换掩码。在一组实验中,修改了每个图像中50%的像素。产生的新任务与旧任务足够相似以至于旧网络中的某些信息仍然有效,但又足够不同以至于添加新的神经元可以显著提高新任务的性能。可以添加到任何层的新的神经元的最大数量设置为50,这导致总共50

遗传算法(GA)用作与本公开的实施例进行比较的基础。由于搜索空间的离散本质,遗传算法非常适合此问题。对于GA,将个体编码为长度为三的向量,其中分量的值表示要添加到三个隐藏层的每一者中的新神经元的数量。可以添加到任何层的新神经元的最大数量为50。利用30的种群规模以及锦标赛大小为3的锦标赛选择。在所选择的种群中,个体被选择为与另一随机选择的个体以0.5的概率进行交叉,并被选择为以0.2的概率进行突变。一旦选择突变,就将个体中的每个条目随机以概率0.3均匀地突变为区间[0,50]中的值。已经发现,较高的突变率防止过早收敛到较差的解。利用了两点交叉,其中交叉点是随机均匀选择的。

将根据本公开实施例的性能(以下称为概率程序神经发生(PPN))与GA的性能进行比较。在此实施例中,PPN决定在不使用上述等式1的情况下在何处以及多少个新神经元添加到人工神经网络。两种方法合计进行了159次试验。每次试验都从新初始化的种群以及概率程序学习器(PPL)情况下的参数开始,然后优化过程运行21分钟的挂钟时间。第一分析的结果如图6和图7所示。在图6和图7的每一个中,误差线为90%置信区间。每个数字都显示了PPN(蓝色)和GA(红色)所实现的平均最佳适应度,作为分钟为单位的经过运行时间的函数。图6是2到5分钟,图7是5到21分钟。用于绘图的适应度值已移动-8.0,并已缩放10.0。这样做仅是为了提高结果的视觉可解释性。基于图6中的曲线,可以看出,平均PPN在模拟时间的前2分钟内达到了接近最优解(适应度约为60.0),而GA则需要大约5分钟才能达到适应度的相当水平。图7示出,从长远来看,PPN会继续提高并超越GA。

接下来的分析检查了PPN和GA能够找到达到特定适应度水平的方案的一致性。图8显示了在试运行中发现的最佳适应度超出了各种下限的分数。PPN的结果为蓝色,GA的结果为红色。在图8中,误差线为90%置信区间。如图8所示,对于x轴上的每个适应度下限,PPN都超过了GA的成功频率,而对于更高、更难于实现的适应度水平(>61),PPN的成功率至少是GA的两倍。这些结果表明,与GA比较,PPN找到了更好的方案。

根据本文描述的本发明实施例的人工神经网络和/或任何其它相关的智能设备或部件(例如,智能飞行器或智能车辆设备或部件)可以利用任何合适的智能硬件、固件(例如,专用集成电路)、软件或软件、固件和硬件的组合来实现。例如,人工神经网络的各种部件可以在一个集成电路(IC)芯片上或在分离的多个IC芯片上形成。此外,人工神经网络的各种部件可以在柔性印刷电路膜、带载封装(TCP)、印刷电路板(PCB)上实现,或在一个衬底上形成。此外,人工神经网络的各种部件可以是在一个或多个计算设备中的一个或多个处理器上运行的进程或线程,其执行计算机程序指令并与其它系统部件进行交互以执行本文所述的各种智能功能。计算机程序指令存储在存储器中,所述存储器可以使用诸如随机存取存储器(RAM)之类的标准存储器设备在计算设备中实现。计算机程序指令也可以存储在其它非暂时性计算机可读介质中,例如CD-ROM、闪存驱动器等。此外,本领域技术人员应认识到,各种计算设备的功能可以组合或集成到单个计算设备中,或者特定计算设备的功能可以分布在一个或多个其它计算设备上,而不背离本发明的示例性实施例的范围。

尽管已经特别参考本发明的示例性实施方式对本发明进行了详细描述,但是本文所述的示例性实施方式并非旨在穷举本发明或者将本发明的范围限制为所公开的确切形式。本发明所属领域的技术人员将理解,可以在不实质性地背离如权利要求及其等同形式所述的本发明的原理、精神和范围的情况下,对所描述的结构以及组装和操作方法进行改变和变化。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号