首页> 中国专利> 利用增强神经网络的转移学习

利用增强神经网络的转移学习

摘要

本申请的各实施例涉及利用增强神经网络的转移学习。选择用于以具有子模型的增强模型配置进行操作的预训练模型。使用与第二域对应的训练数据来训练子模型,而预训练模型被训练以对第一域的数据进行操作。通过将从预训练模型中的层输出的第一特征图与从子模型中的层输出的第二特征图组合,用子模型对预训练模型进行增强以形成增强模型配置。组合形成组合特征图。组合特征图被输入到子模型中的不同层中。

著录项

  • 公开/公告号CN112446488A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN202010767581.7

  • 发明设计人 刘忠国;姜范铢;赵敏植;

    申请日2020-08-03

  • 分类号G06N3/08(20060101);G06N20/00(20190101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人辛鸣

  • 地址 美国纽约阿芒克

  • 入库时间 2023-06-19 10:06:57

说明书

技术领域

本发明总体上涉及用于训练神经网络的方法、系统和计算机程序产品。更具体地,本发明涉及一种用于利用增强神经网络来进行转移学习的方法、系统和计算机程序产品。

背景技术

人工神经网络(ANN)(也简称为神经网络(NN))是由很多简单高度互连的处理元件(节点)组成的计算系统,这些处理元件(节点)通过其对外部输入的动态状态响应来处理信息。ANN是在哺乳动物大脑皮层的神经元结构之后被松散地建模但是规模要小得多的处理设备(算法和/或硬件)。大型ANN可能具有数百或数千个处理器单元,而哺乳动物的大脑具有数十亿个神经元,它们的整体交互和突发行为的大小对应地增加。

ANN用于多种数据分析目的,包括但不限于自然语言处理(NLP)、图像分析、各种类型的数据(诸如数字、文本、语音、图像或甚至噪声)的分类、以及很多其他应用。

前馈神经网络是其中单元之间的连接没有形成循环的人工神经网络。在机器学习中,卷积神经网络(CNN)是一种前馈人工神经网络,其中结点(神经元)之间的连接模式受到动物视觉皮层的组织的激发,动物视觉皮层的各个神经元被布置为响应于形成视野的重叠区域。卷积网络模仿生物过程,并且被配置为旨在在处理诸如数字图像等数据时使用最少预处理的多层感知器的变体。

循环神经网络(RNN)是一种人工神经网络,其旨在识别数据序列中的模式,诸如发源于传感器、股票市场和政府机构的文本、基因组、手写、口语或数字时间序列数据。RANN使用在网络拓扑中形成循环的递归连接(与“正常”信号流在相反方向上行进)。

深度神经网络(DNN)是在输入层与输出层之间具有多个隐藏单元层的人工神经网络。类似于浅层ANN,DANN可以对复杂的非线性关系进行建模。例如用于对象检测和解析的DNN架构生成合成模型,其中对象被表示为图像基元的分层合成。额外的层使得能够合成来自较低层的特征,以与类似地执行的浅层网络相比,具有用更少的单元来建模复杂数据的潜力。

通常,在ANN中,节点经由ANN层中的加权连接与一个或多个其他节点连接。通过将一个层的输出耦合到另一层的输入,可以将一个层连接到ANN中的另一层。

特征是被标识为在ANN的层中很重要的伪像或值。ANN的层在一个或多个输出通道上产生输出。ANN中的层输出特征图。特征图包括给定数目的通道上的每个通道的一组特征矩阵。特征矩阵包括一组特征,该组特征将作为数据矩阵被输出。特征矩阵包括与在矩阵中表示的对应特征相关联的偏差。权重或偏差是用于指示主题值的重要性的与主题值相关联的值。例如,相对较低加权的连接不如相对较高加权的连接重要,具有相对较高偏差的特征比具有相对较低偏差的另一特征更重要。

层接受由前一层作为输出而提供的特征图作为输入。接受层可以被配置为使得该层按原样接受提供层的特征图输出。替代地,接受层可以被配置为使得该层在诸如偏差改变、特征减少或在特征图被输入到接受层之前应用于特征图的其他操作等一些处理之后接受提供层的特征图输出。

必须先对ANN进行训练,然后才能将ANN用于有用目的。除非在使用时明确区分,否则经训练ANN在本文中也称为“模型”。

ANN训练使ANN经受经训练模型将在其中操作的类型和主题的训练数据。训练包括调节节点间连接的权重、层间连接的权重、用于在层处进行摄取的特征矩阵配置、层的输出处的特征图配置、特征矩阵中的特征加权或偏差、各层的输入/输出处的通道偏差、以及很多其他操作。

训练ANN在计算上是昂贵的。在其他条件相同的情况下,使用大量训练数据而训练的ANN可以但不一定必须比使用少量数据而训练的ANN更为准确。训练ANN而消耗的计算量和时间不仅是训练数据的大小的因素,而且还是ANN的大小的因素。典型的ANN可以包括数百个层中的数万个节点,调谐这些节点会消耗大量时间和计算资源。

发明内容

说明性实施例提供了一种方法、系统和计算机程序产品。实施例选择用于以具有子模型的增强模型配置进行操作的预训练模型。实施例使用处理器和存储器,使用与第二域对应的训练数据来训练子模型,其中预训练模型被训练以对第一域的数据进行操作。实施例用子模型对预训练模型进行增强以形成增强模型配置。增强包括:将从预训练模型中的层输出的第一特征图与从子模型中的层输出第二特征图组合以形成组合特征图,以及将组合特征图输入到子模型中的不同层中。

实施例选择用于以具有子模型的增强模型配置进行操作的预训练模型。实施例使用处理器和存储器,使用与第二域对应的训练数据来训练子模型,其中预训练模型被训练以对第一域的数据进行操作。实施例用子模型对预训练模型进行增强以形成增强模型配置。增强包括调节从预训练模型中的层输出的第一特征图中的通道的关注值,其中调节引起第一特征图中的通道的第一特征矩阵相对于第一特征图中的不同通道的第二特征矩阵具有更大权重。增强还包括:将第一特征图中的通道的第一特征矩阵与从子模型中的层输出的第二特征图组合以形成组合特征图;以及将组合特征图输入到子模型中的不同层中。

实施例选择用于以具有子模型的增强模型配置进行操作的预训练模型。实施例使用处理器和存储器,使用与第二域对应的训练数据来训练子模型,其中预训练模型被训练以对第一域的数据进行操作。实施例用子模型对预训练模型进行增强以形成增强模型配置。增强包括:将通道选择参数应用于从预训练模型中的层输出的第一特征图中的第一通道,其中应用引起第一特征图中的第一通道的第一特征矩阵相对于第一特征图中的不同通道的第二特征矩阵具有更大权重;重新布置来自预训练模型中的层的输出的通道的子集,子集包括通道选择参数引起通道具有大于阈值权重的权重的通道,重新布置还根据相关性准则而将第二权重向量应用于通道的子集,子集包括第一通道作为最高加权通道;将第一特征图中的第一通道的第一特征矩阵与从子模型中的层输出的第二特征图组合以形成组合特征图;以及将组合特征图输入到子模型中的不同层中。

实施例包括一种计算机可用程序产品。该计算机可用程序产品包括计算机可读存储设备以及存储在该存储设备上的程序指令。

实施例包括一种计算机系统。该计算机系统包括处理器、计算机可读存储器和计算机可读存储设备、以及存储在该存储设备上以供处理器经由存储器来执行的程序指令。

附图说明

被认为是本发明的特征的某些新颖特征在所附权利要求中提出。然而,在结合附图阅读说明性实施例的以下详细说明时,将能够最好地理解本发明本身及其优选使用方式、其他目的和优点,在附图中:

图1描绘了可以在其中实现说明性实施例的数据处理系统的网络的框图;

图2描绘了可以在其中实现说明性实施例的数据处理系统的框图;

图3描绘了可以通过说明性实施例来改进的现有技术的ANN训练方法的框图;

图4示出了现有技术的转移训练方法的不理想之处;

图5示出了根据说明性实施例的可以改善ANN的转移训练的增强方法的框图;

图6描绘了根据说明性实施例的概念上的增强ANN的框图;

图7描绘了根据说明性实施例的横向增强过程的框图;

图8描绘了根据说明性实施例的组合特征以输入到子模型层的示例方式的框图;

图9描绘了根据说明性实施例的基于关注的增强过程的框图;

图10描绘了根据说明性实施例的组合特征以输入到子模型层的示例方式的框图;

图11描绘了根据说明性实施例的通道池化过程的框图;

图12描绘了根据说明性实施例的通道池化的示例方式的框图;

图13描绘了根据说明性实施例的用于利用增强神经网络来进行转移学习的示例应用的框图;

图14描绘了根据说明性实施例的用于利用增强神经网络来进行转移学习的示例过程的流程图;

图15描绘了根据说明性实施例的用于横向增强的示例过程的流程图;

图16描绘了根据说明性实施例的用于基于关注的增强的示例过程的流程图;以及

图17描绘了根据说明性实施例的用于通道池化的示例过程的流程图。

具体实施方式

神经网络、训练ANN和机器学习都是业界公认的技术领域。这些领域中的技术现状具有某些缺点和局限性。说明性实施例的操作和/或配置赋予了附加的或新的能力以改善神经网络、训练ANN和机器学习的技术领域中的现有技术。

转移学习是一种用不同的数据集来重新训练诡计的预训练模型的方法。数据集是与主题有关的一种数据类型,经重新训练的模型在部署时将有望能够处理。说明性实施例认识到,当前可用的转移学习方法以上述方式对预训练模型进行重新训练。给定目标数据集,可以用与目标数据集相符的训练数据来简单地整体对预训练模型进行重新训练。然后,在部署时,所产生的经重新训练的模型相对于目标数据集进行操作。

说明性实施例认识到,当前,当先前训练的模型必须在不同的主题上被训练时(无论是通过转移学习还是通过新的学习),必须整体对基础ANN进行重新训练。在不同主题上对模型进行重新训练与ANN的初始训练消耗的时间和资源相当。说明性实施例认识到,从头开始整体训练未经训练的ANN、或者整体对先前训练的ANN进行重新训练消耗不希望的量的训练时间和计算资源。

除了重新训练整个ANN,转移学习的技术领域的当前状态不包括用于压缩训练时间和资源需求的机制。与训练或重新训练整个ANN相比,需要在更少的时间和更少的计算资源下对预训练模型执行转移学习。存在如下这样的需求:在新的目标数据集上实现ANN功能,而无需针对不同的目标数据集来修改预训练模型的现有训练。

说明性实施例认识到,当前可用的工具或解决方案不能解决这些需求/问题,也不能为这些需求/问题提供适当的解决方案。用于描述本发明的说明性实施例通常通过增强神经网络的转移学习来解决并且化解上述问题和其他相关问题。

实施例可以被实现为某些硬件组件和软件应用的组合。实施例的实现、或其一个或多个组件可以被配置为对现有机器学习系统的修改,其中伴随软件应用以以下各项的组合来执行:(i)机器学习系统本身;(ii)通过短程无线电或局域网(LAN)与机器学习系统通信的数据处理系统,以及(iii)通过广域网(WAN)与机器学习系统通信的数据处理系统。

实施例用子模型来增强预训练模型(其在某个数据集上训练的预训练ANN),子模型是在目标数据集上训练的不同模型。增强产生增强模型。目标数据集是增强模型所需要的数据集,并且与先前已经在其上对预训练模型进行训练的数据集不同。增强模型可以理解为组合模型,其中预训练模型的某些层经由输入/输出特征图与子模型的某些层耦合。

在一些实施例中,子模型比模型小,使得子模型包括与预训练模型相比的较少数目的节点、与预训练模型相比的较少数目的层、较少数目的模型参数、或其某种组合。通常,在说明性实施例的范围内,预训练模型和子模型可以相对于彼此具有任何尺寸,包括子模型的尺寸小于、等于或大于预训练模型。在说明性实施例的范围内,预训练模型的所有或某些层可以与子模型中的层耦合。在说明性实施例的范围内,子模型的所有或某些层可以与预训练模型中的层耦合。在预期范围内,预训练模型的不同层与子模型的不同层可以具有1:1、1:n或n:1的关系。

在不脱离说明性实施例的范围的情况下,在目标上对子模型的训练可以以任何合适的方式来执行。实施例从已经在各种数据集上训练的预训练模型的存储库中选择其对应数据集根据关系标准而至少以阈值程度与目标数据集相关的预训练模型。以本文中描述的方式用预训练模型来增强子模型,实施例实现了到增强模型的关于目标数据集的知识转移。

一个实施例执行横向增强以构建增强模型。在横向增强中,实施例将预训练模型(PL)中的层的输出与子模型(SL)中的层的输出组合以创建到子模型(SNL)中的下一层的输入。特别地,实施例将PL的特征图与SL的特征图结合以构造用于SNL的特征图输入。结合方法的一个示例包括但不限于将PL和SL的特征图级联以形成SNL输入。本领域普通技术人员将能够以其他方式组合两个特征图,而不仅限于级联,并且在说明性实施例的范围内可以想到这样的其他结合方法。例如,甚至级联也可能仅限于PL的某些特征、SL的某些特征或两者,使得并非PL(或SL)的所有特征都与SL(或PL)的所有特征级联以形成SNL的输入。

另一实施例执行通道池化增强方法以构建增强模型。通道池化是执行横向增强的另一示例方式,其中为了形成SNL的输入,实施例以期望组合来执行以下操作中的一个或多个操作:(i)从PL的输出中仅选择某些通道,(ii)从所选择的通道中提取部分但不是全部特征;(iii)调节所提取的特征的权重;(iv)选择一些但不是全部经权重调节的特征;以及(v)将(i)-(iv)的任何组合的结果与SL的输出组合。此外,在对应用于PL的输出的(i)-(iv)的任何组合的结果进行组合之前,另一实施例还相对于SL的输出来执行(i)-(iv)。在以这种方式配置的一个示例操作中,实施例仅将PL的某些通道的所选择的经权重调节的特征与SL的某些通道的某些所选择的经权重调节的特征进行组合以形成SNL的输入特征图。

例如,假定PL在10个通道上输出,每个通道产生10个特征及其对应的特征矩阵。进一步假定PL输出已经为某些通道分配了一些权重,例如,通道1的权重为10,通道2的权重为1,通道3的权重为9,通道4的权重为3,通道5的权重为1,通道6的权重为8,通道7的权重为3,通道8的权重为6,通道9的权重为7,通道10的权重为3。实施例仅选择权重为5或更高的通道,因此选择在通道1、3、6、8和9上输出的特征。现在,假定在给定特定目标数据集的情况下对某些特征进行加权。假定在实施例中,特征类型A的权重为0.8,特征类型B的权重为0.9,特征类型C的权重为0.75,特征类型D的权重为0.8,其他特征类型的权重较低。这些权重在应用于通道1、3、6、8和9的输出中的特征时从某个PL(例如,PL1)的通道1、3、6、8、9产生经权重调节的特征p、q、r和z。基于相似的通道池化逻辑(该逻辑将相同或不同的通道选择、特征选择、特征加权或其某种组合应用于不同PL的输出),实施例从另一PL(例如,PL2)的通道4、5和7产生经权重调节的特征e、g、r和t。

另一实施例执行基于关注的增强以构建增强模型。在基于关注的增强中,实施例将关注参数应用于PL的输出通道。具体地,如在横向增强或通道池化增强中,实施例将来自PL的一些或所有通道的一些或全部特征与来自SL的一些或所有通道的一些或全部特征组合。然后,实施例应用关注参数,该关注参数以权重或偏差的方式进行操作,但是用于从特定通道输出的所有特征。实施例配置一个或多个通道关注参数以将它们应用于PL和SL输出的组合中的一个或多个通道。通道关注操作以增加以这种方式受到关注的通道上特征的权重。较高关注参数使该通道上的特征比其他通道的特征高,反之亦然。以这种方式,只有PL的某些通道、SL的某些通道或两者接收到高于阈值的关注参数值,使得并非PL(或SL)的所有通道都被提升(或抑制)以形成SNL的输入。

本文中描述的利用增强神经网络的转移学习方式在与ANN中的转移学习有关的技术领域中的当前可用方法中是不可用的。本文中描述的实施例的方法在被实现为在设备或数据处理系统上执行时包括该设备或数据处理系统在加速针对新目标数据集的预训练模型的转移学习方面的功能的实质性进步。

仅作为示例关于某些类型的数据、特征、矩阵、图、权重、通道、层、节点、ANN、值、参数、计算、过滤、级联、设备、数据处理系统、环境、组件和应用来描述说明性实施例。这些和其他类似伪像的任何特定表现都不旨在限制本发明。可以在说明性实施例的范围内选择这些和其他类似伪像的任何合适的表现。

此外,可以关于任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备都可以在数据处理系统处在本地或通过数据网络将数据提供给本发明的实施例。在使用移动设备来描述实施例的情况下,在说明性实施例的范围内,适合与移动设备一起使用的任何类型的数据存储设备都可以在移动设备处在本地或通过数据网络将数据提供给这样的实施例。

仅使用特定代码、设计、架构、协议、布局、示意图和工具作为示例来描述说明性实施例,并且不限于说明性实施例。此外,在某些情况下,为了说明的清楚,仅使用特定软件、工具和数据处理环境作为示例来描述说明性实施例。说明性实施例可以与其他相当或类似目的的结构、系统、应用或架构结合使用。例如,在本发明的范围内,其他相当的移动设备、结构、系统、应用或架构可以与本发明的这样的实施例结合使用。说明性实施例可以以硬件、软件或其组合来实现。

本公开中的示例仅用于描述的清楚,而不限于说明性实施例。从本公开中可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以想到这些附加的数据、操作、动作、任务、活动和操纵。

本文中列出的任何优点仅是示例,而非旨在限制于说明性实施例。通过特定的说明性实施例可以实现附加或不同的优点。此外,特定的说明性实施例可以具有上面列出的一些、全部或没有优点。

参考附图并且特别是参考图1和2,这些附图是可以在其中实现说明性实施例的数据处理环境的示例图。图1和2仅是示例,而非旨在主张或暗示对可以在其中实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行很多修改。

图1描绘了可以在其中实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是可以在其中实现说明性实施例的计算机的网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100中连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如有线、无线通信链路或光缆。

客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,而非旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储单元108耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户端110、112和114也耦合到网络102。诸如服务器104或106、或者客户端110、112或114等数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。

仅作为示例,而非暗示对这样的架构的任何限制,图1描绘了在实施例的示例实现中可使用的某些组件。例如,服务器104和106以及客户端110、112、114仅作为示例而被描绘为服务器和客户端,而非暗示对客户端服务器架构的限制。作为另一示例,在说明性实施例的范围内,一个实施例可以分布在如图所示的几个数据处理系统、和数据网络上,而另一实施例可以在单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示集群、分区和适合于实现实施例的其他配置中的示例节点。

设备132是本文中描述的设备的示例。例如,设备132可以采取以下形式:智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适设备。被描述为在图1中的另一数据处理系统中执行的任何软件应用可以被配置为以类似方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似方式在设备132中存储或产生。

应用105实现本文中描述的实施例。应用105实现本文中描述的实施例的远程可用功能(远程)。应用111实现本文中描述的实施例的本地可用功能(local)或本机可用功能(native)。应用134实现本文中描述的实施例的本机可用功能(native)。应用105和111可以组合使用,应用105和134可以以另一组合来使用,应用105、111和134可以以另一组合来使用,以分配实施例的某些功能。应用105生成本文中描述的实施例的全部或部分。如本文中描述的,预训练模型是已经训练的ANN。如本文中描述的,子模型是另一ANN。应用105针对目标数据集使用训练数据109(其是与目标数据集对应的所配置的训练数据集的示例)来训练子模型107B。如本文中描述的,应用105用预训练模型107A增强子模型107B以形成增强模型。

服务器104和106、存储单元108、客户端110、112和114、以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接来耦合到网络102。客户端110、112和114可以是例如个人计算机或网络计算机。

在所描绘的示例中,服务器104可以向客户端110、112和114提供诸如引导文件、操作系统映像和应用等数据。在该示例中,客户端110、112和114可以是服务器104的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括未示出的附加的服务器、客户端和其他设备。

在所描绘的示例中,数据处理环境100可以是因特网。网络102可以表示使用传输控制协议/互联网协议(TCP/IP)和其他协议彼此通信的网络和网关的集合。因特网的核心是主节点或主机之间的数据通信链路的骨干,包括路由数据和消息的成千上万个商业、政府、教育和其他计算机系统。当然,数据处理环境100也可以被实现为多种不同类型的网络,诸如例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而非作为对不同说明性实施例的架构限制。

除了其他用途,数据处理环境100还可以用于实现可以在其中实现说明性实施例的客户端服务器环境。客户端服务器环境使得软件应用和数据能够分布在整个网络上,从而使得应用能够通过使用客户端数据处理系统与服务器数据处理系统之间的交互性来运行。数据处理环境100还可以采用面向服务的架构,其中分布在整个网络上的可互操作的软件组件可以被一起打包为一致的业务应用。数据处理环境100也可以采用云的形式,并且采用服务交付的云计算模型,以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,这些可配置计算资源可以以最少的管理工作量或与服务提供者的交互来被快速地供应和发布。

参考图2,该图描绘了可以在其中实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,诸如图1中的服务器104和106、或客户端110、112和114、或者可以在其中放置用于实现说明性实施例的过程的计算机可用程序代码或指令的另一种类型的设备。

数据处理系统200还表示可以在其中放置用于实现说明性实施例的过程的计算机可用程序代码或指令的数据处理系统或其中的配置,诸如图1中的数据处理系统132。数据处理系统200仅作为示例被描述为计算机,而不限于此。在不偏离本文中描述的数据处理系统200的操作和功能的一般描述的情况下,诸如图1中的设备132等其他设备形式的实现可以诸如通过添加触摸界面来修改数据处理系统200,并且甚至可以从数据处理系统200中消除所描绘的某些组件。

在所描绘的示例中,数据处理系统200采用集线器架构,该集线器架构包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH 202。

在所描绘的示例中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其他端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226以及CD-ROM 230通过总线240耦合到南桥和I/O控制器集线器204。PCI/PCIe设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM 230可以使用例如集成驱动器电子设备(IDE)、串行高级技术附件(SATA)接口、或者诸如外部SATA(eSATA)和微型SATA(mSATA)等变体。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。

诸如主存储器208、ROM 224或闪存(未示出)等存储器是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其他类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。

操作系统在处理单元206上运行。操作系统协调并且提供对图2中的数据处理系统200中的各个组件的控制。操作系统可以是用于任何类型的计算平台的商用操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象或其他类型的编程系统可以与操作系统结合操作,并且从在数据处理系统200上执行的程序或应用提供对操作系统的调用。

用于操作系统、面向对象的编程系统和诸如图1中的应用105等应用或程序的指令位于存储设备上,诸如以硬盘驱动器226上的代码226A的形式,并且可以被加载到一个或多个存储器(诸如主存储器208)中的至少一个中以供处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,该计算机实现的指令可以位于诸如例如主存储器208、只读存储器224等存储器中,或者位于一个或多个外围设备中。

此外,在一种情况下,可以通过网络201A从远程系统201B下载代码226A,其中类似的代码201C存储在存储设备201D上。在另一种情况下,可以通过网络201A将代码226A下载到远程系统201B,其中所下载的代码201C存储在存储设备201D上。

图1-2中的硬件可以根据实现而变化。除了或代替图1-2中描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效的非易失性存储器或光盘驱动器等。另外,说明性实施例的过程可以应用于多处理器数据处理系统。

在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),该PDA通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,诸如系统总线、I/O总线和PCI总线。当然,总线系统可以使用任何类型的通信结构或架构来实现,该通信结构或架构在附接到该结构或架构的不同组件或设备之间提供数据传输。

通信单元可以包括用于发射和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。

图1-2中描绘的示例和上述示例并不表示暗示架构限制。例如,除了采用移动或可穿戴设备的形式,数据处理系统200还可以是平板计算机、膝上型计算机或电话设备。

在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用在数据处理系统200中描绘的一些或所有组件的虚拟化表现以数据处理系统200的方式进行操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206表现为在主机数据处理系统中可用的所有或某些数目的硬件处理单元206的虚拟化实例,主存储器208表现为在主机数据处理系统中可用的主存储器208的全部或某些部分的虚拟化实例,磁盘226表现为在主机数据处理系统中可用的磁盘226的全部或某些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。

参考图3,该图描绘了可以通过说明性实施例来改进的现有技术的ANN训练方法的框图。配置300描绘了传统的机器学习方法和现有技术的转移学习方法。

在传统的机器学习方法中,针对特定训练数据集的主题领域在机器学习系统301中使用不同的训练数据集来配置或训练ANN。例如,如果框302表示用于对一种类型的小部件进行分类(例如,植物特征的分类)的训练数据集,则机器学习系统301对整个给定ANN(未示出)执行训练以产生可以标识和分类符合植物特征的小部件的经训练ANN。

作为另一示例,如果框304表示用于对另一类型的小部件进行分类(例如,动物物种的分类)的训练数据集,则机器学习系统301对整个给定ANN(未示出)执行训练以产生可以标识和分类符合某些物种的动物的小部件的经训练ANN。

作为另一示例,如果框306表示用于对另一类型的小部件进行分类(例如,化学性质的分类)的训练数据集,则机器学习系统301对整个给定ANN(未示出)执行训练以产生可以标识和分类符合某些化合物特性的小部件的经训练ANN。

当然,可以使用多个数据集来在多个域上训练ANN。例如,组合数据集312是由用于对一种类型的小部件进行分类(例如,如数据集302中的植物特征的分类)的训练数据集与用于对另一种类型的小部件进行分类(例如,如数据集304中的动物物种的分类)的训练数据集形成的。因此,所得到的预训练模型(未示出)包含用于执行植物或动物的分类的知识314。通过用现有知识314在数据集306上再次训练整个预训练模型,当前可用的转移学习方法将用于对另一种类型的小部件进行分类(例如,化学性质的分类)的训练数据集应用于预训练模型的现有知识314。通过本文中的说明性实施例可以认识到,这种转移训练的方法在计算上是昂贵的并且是费时的。

参考图4,该图示出了现有技术的转移训练方法的不理想之处。如配置400中描绘的,使用具有目标数据集1的预训练模型402而进行的现有技术的转移训练将为目标数据集1产生新的模型404,具有目标数据集2的预训练模型402将为目标数据集2产生新的模型406,……,具有目标数据集N的预训练模型402将为目标数据集N产生新的模型408。每个现有技术的转移训练会话将遭受本文中描述的不理想之处。此外,当要在多个目标数据集1-N上训练单个模型时,转移训练时间和计算资源仍然与目标数据集的数目和大小成比例。

参考图5,该图示出了根据说明性实施例的可以改善ANN的转移训练的增强方法的框图。如配置500中描绘的,根据实施例的转移训练使用具有目标数据集1-N的预训练模型402来产生增强模型502。实施例针对目标数据集1来训练子模型504,并且用预训练模型402增强子模型504以产生增强模型502。实施例可以针对不同的目标数据集1-N类似地配置不同的子模型504、506……508。

实施例可以根据特定实现的要求来配置,即,根据预期增强模型502将共同对其进行操作的不同目标数据集1-N的数目来配置,以用如图所示的子模型502-508中的一个或多个来增强预训练模型402。不仅使用预训练模型402中包含的知识而且还使用所选择的目标数据集1-N的主题中包含的知识来训练所得到的增强模型502。

在一个实施例中,但不一定在所有情况下,如本文中描述的,例如子模型504等子模型可以小于预训练模型402。因为预训练模型402的训练保持不受干扰,并且(优选地较小的)子模型在特定目标数据集上被训练,所以对于相同数目和大小的目标数据集,与现有技术的转移训练或传统机器学习方法中的相同度量相比,用于产生增强模型502的转移训练时间和计算资源大大减少了。

参考图6,该图描绘了根据说明性实施例的概念上的增强ANN的框图。配置600的增强模型示出了在图5中使用的预训练模型402。新的ANN 602是图5中的子模型504-508中的任何一个的示例。本文中描述的任何增强方法601可用于用预训练模型402来增强子模型602以形成本文中描述的增强模型。

取决于特定实现,预训练模型402可以包括初始卷积级402A、最终卷积级402B或两者。类似地,取决于子模型602的特定实现,子模型602可以但不一定包括初始卷积级(未示出)、最终卷积级602B或两者。步骤402A、402B和602B的描绘并非旨在于限制说明性实施例。

预训练模型402保留原始训练,例如,图3中的知识314。当接收到与预训练模型402的先前训练对应的输入604时,预训练模型402产生输出606。当输入606包括与子模型602的目标数据集对应的数据时,由预训练模型402和子模型602形成的增强模型产生输出608。

以本文中描述的方式,通过处理并且组合从一个或多个层输出的一个或多个特征(卷积层402A、B1、B2、B3、B4……Bn以及甚至最终卷积层402B的某种组合)与来自子模型602中的层的一个或多个特征以为子模型602中的另一层构建输入特征图,增强601用预训练模型402来增强子模型602。

参考图7,该图描绘了根据说明性实施例的横向增强过程的框图。包括初始级702A和最终级702B的预训练模型702分别是图6中的预训练模型402、级402A和级402B的示例。包括初始级752A和最终级752B的子模型752分别是图6中的子模型602、初始卷积级(未示出)和最终级602B的示例。层Res1、Res2、Res3……Res4是预训练模型702中的一些示例层(PL)。层S1、S2、S3……S4是子模型752中的一些示例层(SL和SNL)。输入704以及输出706和708分别是如关于图6描述的输入604以及输出606和608的示例。

根据先前描述的横向增强方法,实施例将从预训练模型702中的层(PL)输出的一个或多个通道的一个或多个特征与从子模型752中的层(SL)输出的一个或多个通道的一个或多个特征组合以形成子模型752中的下一层(SNL)的输入。例如,级702A形成PL并且贡献特征F0,如本文中描述的,特征F0在与从级752A(SL)输出的特征组合时形成层S1(SNL)的输入。类似地,级Res1形成PL并且贡献特征F1,如本文中描述的,特征F1在与从级S1(SL)输出的特征组合时形成层S2(SNL)的输入。特征F3、F4和F5以类似的方式与子模型级的输出组合以用于横向增强。

在一个实施例中,维度调节组件将卷积应用于特征图,以在与子模型752中的层的输出特征组合之前,减小包括来自若干通道的矩阵的特征图的尺寸。例如,维度调节组件应用1×1卷积以减小预训练模型702中的某个层或级的输出特征矩阵的维度。

参考图8,该图描绘了根据说明性实施例的组合特征以输入到子模型层的示例方式的框图。与图7中的伪像带有相同附图标记的图8中的伪像的含义与关于图7描述的含义相同。

详细视图802示出了用于形成子模型752中的层(SNL)的输入的示例特征组合方法(即,特征图级联)。假定层Sx是子模型752中的SL层,层Sy是子模型752中的SNL层。层Sx输出特征图Fm。具有或不具有如特定实现那样的维度减小的预训练模型702中的PL层可以贡献特征图Fp。实施例通过将Fm与Fp(或Fp与Fm,取决于特定实现的需要)级联来组合Fm和Fp。级联的Fm+Fp成为层Sy的输入特征集。

参考图9,该图描绘了根据说明性实施例的基于关注的增强过程的框图。包括初始级702A和最终级702B的预训练模型702分别是图6中的预训练模型402、级402A和级402B的示例。包括初始级952A和最终级952B的子模型952分别是图6中的子模型602、初始卷积级(未示出)和最终级602B的示例。层Res1、Res2、Res3……Res4是预训练模型702中的一些示例层(PL)。层S1、S2、S3……S4是子模型952中的一些示例层(SL和SNL)。输入704和输出706分别是如关于图6描述的输入604和输出606的示例。使用基于关注的增强而形成的增强模型为输入704中的目标数据集主题提供输出908。

具体地,模块902与子模型952结合操作以提供基于关注的增强功能。如上所述,与从特定PL输出的特定特征图中的其他通道相比,模块902强调(或取消强调)某些通道以获取更多关注或权重。在一个实施例中,与从特定SL输出的特定特征图中的其他通道相比,模块902被配置为类似地强调(或取消强调)某些通道以获取更多关注或权重。基于来自PL、SL或两者的强调通道,模块902产生结果特征集,该结果特征集用作子模型952中的SNL的输入。在实施例中,强调(或取消强调)是可配置的,使得以至少阈值相关度与目标数据集的主题无关的特征被过滤掉而使其无法到达SNL的输入。

因为不同PL可能潜在地输出不同尺寸的特征图,所以在特定实现中可能需要归一化或均衡从不同PL产生的特征图。可选地,在一个实施例中,模块904用于归一化特征图尺寸。

参考图10,该图描绘了根据说明性实施例的组合特征以输入到子模型层的示例方式的框图。与图9中的伪像带有相同附图标记的图10中的伪像的含义与关于图9描述的含义相同。

详细视图1002示出了用于形成子模型952中的层(SNL)的输入的示例特征组合方法(即,特征图的基于关注的增强)。假定层Sx是子模型952中的SL层,Sy层是子模型952中的SNL层。Sx层输出特征图Fm。预训练模型702中的PL层贡献特征图Fp。在实施例中,如上所述,模块902通过将一个或多个通道关注参数1004应用于Fm中的一个或多个通道、Fp中的一个或多个通道、或者Fm和Fp中的一个或多个通道来组合Fm和Fp。强调通道上的特征的所得到的特征图形成Sy层的输入。

一个实施例可选地应用关注缩放因子1006以调节或归一化强调通道上的特征值的范围。缩放和强调的通道上的特征的所得到的特征图形成Sy层的输入。可选地,另一实施例还将逐通道多路复用1008应用于多路复用的强调的缩放的通道特征以形成层Sy的输入特征图。

参考图11,该图描绘了根据说明性实施例的通道池化过程的框图。包括初始级702A和最终级702B的预训练模型702分别是图6中的预训练模型402、级402A和级402B的示例。层Res1、Res2、Res3……Res4是预训练模型702中的一些示例层(PL)。如上所述,预训练模型702的各个层产生特征图F0、F1、F2……。子模型(未示出)以本文中描述的方式包括SL和SNL层。输入(未示出)以图7中的输入704的方式被提供给增强模型配置。输出706是如关于图6描述的输出606的示例。使用通道池化而形成的增强模型产生用于输入中的目标数据集主题的输出。

具体地,模块1102与子模型结合操作以提供通道池化功能。如上所述,模块1102选择(或取消选择)从特定PL输出的特定特征图中的特定通道。在一个实施例中,模块1102被配置为类似地选择(或取消选择)从特定SL输出的特定特征图中的特定通道。基于从PL、SL或两者中选择的通道,模块1102产生所得到的特征集,该特征集用作子模型中的SNL的输入1104。

模块1102以本文中描述的方式将一个或多个通道索引选择参数1106应用于一个或多个通道。在通道内,还使用参数1106对特征矩阵进行加权以根据加权的通道索引1108来选择或取消选择某些特征。在一个实施例中,通道选择参数1106是可配置的,使得以至少阈值相关度与目标数据集的主题无关的特征被过滤掉而使其无法到达SNL的输入。

参考图12,该图描绘了根据说明性实施例的通道池化的示例方式的框图。特征图1202包括来自预训练模型702中的PL的N个通道的一组特征矩阵。特征图1202包括通道输出1204、1206、1208、1210、1212、1214、1216、1218和1220,使得一些通道输出的权重与其他通道输出的权重不同,以在特征图1202中获取重要性。通道输出1204-1220的不同阴影指示不同的权重。

假定通道输出1216、1204、1212和1210的权重大于阈值权重,并且引起这些通道按照所示出的重要性顺序被选择。通道池化权重1222包括N个通道中的每个通道的权重,并且这些权重取决于由特定子模型确定的重要性。实施例以逐通道多路复用方式应用权重1222,以引起来自1216、1204、1212和1210的通道按照如输出1224所示的其重要性顺序被重新布置。在一个实施例中,输出1224形成子模型中的SNL的输入特征图。

可选地,实施例对输出1224中的重新布置的通道的通道输出执行批量归一化。在一个实施例中,批量归一化输出1224在子模型中形成SNL的输入特征图。可选地,另一实施例进一步将已校正线性单元(ReLU)应用于批量归一化输出。在一个实施例中,批量归一化和已校正线性化输出1224形成子模型中的SNL的输入特征图。

参考图13,该图描绘了根据说明性实施例的用于利用增强神经网络来进行转移学习的示例应用的框图。应用1302可以被实现为图1中的应用105。

输入1304是根据新的目标数据集而配置的新的主题训练数据。输入1306是根据新的目标数据集而选择的子模型。如上所述,预训练模型1308是根据针对新的目标数据集的适合性标准来选择的。

组件1310使用训练数据1304来训练子模型1306。组件1312用从组件1310产生的经训练子模型来增强预训练模型1308。

组件1312包括子组件1314、1316和1318。子组件1314执行本文中描述的横向增强。子组件1316执行如本文中描述的基于关注的增强。子组件1316执行如本文中描述的通道池化。应用1302产生输出1320,该输出1320是针对新的目标数据集而训练的增强模型,而不必重新训练预训练模型1308。

参考图14,该图描绘了根据说明性实施例的用于利用增强神经网络来进行转移学习的示例过程的流程图。过程1400可以在图13中的应用1302中实现。

应用接收新主题的训练数据(框1402)。应用选择预训练模型(框1404)。应用选择子模型(框1406)。应用用预训练模型来增强经训练子模型(框1408)。应用使用框1402的训练数据来训练子模型(框1410)。应用输出增强模型以用于与新主题一起使用(框1412)。此后,应用结束过程1400。注意,在某些情况下,可以首先训练子模型,然后再使用预训练模型来增强子模型。

参考图15,该图描绘了根据说明性实施例的用于横向增强的示例过程的流程图。过程1500可以在图13的应用1302中实现,以作为图14中的框1410进行操作。

应用从预训练模型中的层获取与从该层输出的多个通道对应的一组特征矩阵(框1502)。应用选择通道的特征矩阵(框1504)。应用例如通过使用1×1卷积来减小或改变特征矩阵的维度(框1506)。应用将维度减小的特征矩阵与子模型中的层的输出特征矩阵组合(框1508)。应用针对可能必须以这种方式进行组合的尽可能多的矩阵来重复框1504-1508。

应用将组合特征矩阵作为输入而输入到子模型中的另一层(框1510)。应用针对可能需要为子模型而创建的尽可能多的层输入来重复框1502-1510。此后,应用结束过程1500。

参考图16,该图描绘了根据说明性实施例的用于基于关注的增强的示例过程的流程图。过程1600可以在图13的应用1302中实现,以作为图14中的框1410进行操作。

应用从预训练模型中的层获取与从该层输出的多个通道对应的一组特征矩阵(框1602)。应用针对可能必须从中收集输出的实现中所需要的尽可能多的层来重复框1602。

应用对来自一组层输出的特征图尺寸进行归一化(框1604)。应用将归一化的特征图与子模型中的层的特征输出组合(框1606)。应用调节或调谐组合中的通道关注参数(框1608)。应用可选地缩放经调谐的组合(框1610)。应用将经调谐的经缩放的组合输入到子模型中的另一层(框1612)。应用针对子模型中可能需要经调谐的经缩放的组合作为输入的任意多的层来重复框1606-1612。此后,应用结束过程1600。

参考图17,该图描绘了根据说明性实施例的用于通道池化的示例过程的流程图。过程1700可以在图13的应用1302中实现,以作为图14中的框1410进行操作。

应用从预训练模型中的层获取与从该层输出的多个通道对应的一组特征矩阵(框1702)。应用选择预训练模型中的层的输出通道的特征矩阵(框1704)。应用将通道池权重应用于特征图中的通道的特征矩阵(框1706)。应用针对可能需要以这种方式进行加权的尽可能多的通道来重复框1706。

应用输出通道的子集作为一组通道池加权通道(框1708)。应用可选地执行批量归一化(框1710),并且进一步可选地将已校正线性单元处理应用于通道池加权通道(框1712)。应用产生包括用于子模型中的另一层的通道池加权通道的输入特征图(框1714)。应用将输入的特征图输入到另一层(框1716)。此后,应用结束过程1700。

因此,在说明性实施例中提供了用于具有增强神经网络和其他相关特征、功能或操作的转移学习的计算机实现的方法、系统或装置以及计算机程序产品。在关于设备类型来描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置用于与设备类型的适当且相当的表现形式一起使用。

在实施例被描述为在应用中实现的情况下,可以在说明性实施例的范围内想到以软件即服务(SaaS)模型来交付应用。在SaaS模型中,通过在云基础架构中执行应用,将实现实施例的应用的能力提供给用户。用户可以通过诸如网络浏览器(例如,基于网络的电子邮件)等瘦客户端接口或其他轻量级客户端应用使用各种客户端设备来访问应用。用户不管理或控制基础云基础架构,包括云基础架构的网络、服务器、操作系统或存储。在某些情况下,用户甚至可能无法管理或控制SaaS应用的能力。在某些其他情况下,应用的SaaS实现可以允许有限的用户特定应用配置设置的例外。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是有形设备,其可以保留和存储供指令执行设备使用的指令。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、记忆棒、软盘、机械编码设备(诸如上面记录有指令的打孔卡或凹槽中的凸起结构、)、以及前述各项的任何合适的组合。包括但不限于本文中使用的计算机可读存储设备的计算机可读存储介质不应当被解释为本身是暂态信号,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明的实施例还可以作为与客户公司、非营利组织、政府实体、内部组织结构等的服务约定的一部分来传输。这些实施例的各方面可以包括将计算机系统配置为执行和部署实现本文中描述的一些或全部方法的软件、硬件和网络服务。这些实施例的各方面还可以包括分析客户的操作,响应于该分析来创建建议,构建用于实现建议的一部分的系统,将系统集成到现有过程和基础架构中,计量系统的使用,向系统的用户分配费用,以及对系统的使用进行计费。尽管分别通过陈述其各自的优点来描述了本发明的上述实施例,但是本发明不限于其特定组合。相反,根据本发明的预期部署,这样的实施例也可以以任何方式和数目来组合,而不会失去它们的有益效果。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号