用于基于内核的机器学习的结构化正交随机特征的制作方法

文档序号:18124976发布日期:2019-07-10 09:51阅读:306来源:国知局
用于基于内核的机器学习的结构化正交随机特征的制作方法

本申请是于2017年10月25日提交的美国专利申请第15/793,455号的延续并要求其优先权,该美国专利申请要求于2016年10月26日提交的美国临时申请第62/413,011号的权益,其公开内容通过引用整体并入本文。

本申请要求于2016年10月26日提交的美国专利申请第62/413,011号的权益,其公开内容通过引用整体并入本文。



背景技术:

许多系统使用大规模机器学习来完成诸如语音识别、计算机视觉、图像和声音文件搜索和分类等的挑战性问题。多层神经网络的深度学习是一种有效的大规模方法。例如高斯和多项式内核的内核方法也已用于较小规模的问题,但缩放(scaling)内核方法已证明具有挑战性。



技术实现要素:

实现提供了一种对于高斯内核的紧凑、快速且准确的内核近似方法。这些实现根据称为结构化正交随机特征(sorf)的新框架生成针对高斯内核的无偏估计器。内核的无偏估计器ksorf涉及使用矩阵对集合的乘积计算的线性变换矩阵wsorf,每对矩阵包括正交矩阵和相应对角矩阵,其元素是遵循指定概率分布的实数。通常,正交矩阵是walsh-hadamard矩阵,指定的概率分布是rademacher分布,并且至少有两对,通常是三对矩阵相乘,以形成线性变换矩阵wsorf。

根据一个方面,一种为基于内核的机器学习系统生成输入的方法,所述基于内核的机器学习系统使用内核对数据执行分类操作,所述方法可以包括:由基于内核的机器学习系统的处理电路生成对角矩阵集合,所述对角矩阵集合中的每一个具有零的非对角元素和具有根据指定的概率分布函数分布的值的对角元素。所述方法还可以包括:由处理电路产生正交矩阵集合,所述正交矩阵集合中的每一个具有相互正交的行。所述方法还可以包括:对于对角矩阵集合中的每一个,由处理电路形成矩阵对集合,所述矩阵对集合中的每一个包括(i)该对角矩阵,以及(ii)所述正交矩阵集合中的相应正交矩阵。所述方法还可以包括:由处理电路生成所述矩阵对集合中的每一个的乘积以产生线性变换矩阵,所述线性变换矩阵是由基于内核的机器学习系统使用的内核的无偏估计器。

在附图和以下描述中阐述了一个或多个实现的细节。根据说明书和附图以及权利要求,其他特征将是显而易见的。

附图说明

图1图示了按照所公开的主题的示例电子环境。

图2图示了用于为基于内核的机器学习系统生成输入的示例处理的流程图,该基于内核的机器学习系统使用内核来对数据执行分类操作。

图3a图示示出了所公开的主题的益处的、对变化维度的高斯内核的各种近似的均方误差(mse)的示例曲线。

图3b图示示出了所公开的主题的额外益处的、对变化维度的高斯内核的各种近似的均方误差(mse)的额外示例曲线。

图4是示出了所公开的主题的额外益处的各种示例内核的各种近似的表。

图5是按照所公开的主题的用于将结构化正交随机特征与分类引擎一起使用的示例处理的流程图。

图6示出了可用于实现所描述的技术的计算机设备的示例。

图7示出了可用于实现所描述的技术的分布式计算机设备的示例。

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

具体实施方式

内核方法用于非线性学习。内核表示两个d维度数据向量之间的相似性函数。内核方法涉及将在第一数据向量x和第二数据向量y处的内核k(x,y)近似地表达为第一数据向量的特征向量函数φ(x)和第二数据向量的特征向量函数φ(y)的内积。特征向量函数通常是2d维向量,其中2d>d。根据用于近似内核的随机傅里叶特征(rff)方法,当内核为正定且平移不变的时,特征向量函数采用以下形式:

其中每个向量wj,j∈{1,2,…,d}被从概率分布函数p(w)独立同分布(i.i.d)采样,该概率分布函数p(w)定义为内核k(x-y)的傅立叶变换,即。

定义w=[w1,w2,…,wd]t。计算近似内核所需的资源由线性变换wx支配。因此,可以使用线性变换矩阵来近似高斯内核其中g是d×d矩阵,其中条目是从正态分布中采样的。(当d<d时,使用结果的前d维;当d>d时,使用多个独立生成的随机特征并级联结果。)线性变换矩阵wrff为高斯内核提供无偏估计器krff。

不幸的是,用于近似内核的rff方法有一些缺点。例如,线性变换矩阵g在空间和时间上的计算成本是o(dd),这对于高维度数据来说是昂贵的。此外,如无偏估计器krff的方差所表达的内核的近似中的误差相对较大。

与上述rff方法相反,改进的技术涉及根据称为结构化正交随机特征(sorf)的新框架生成用于高斯内核的无偏估计器。对内核的无偏估计器ksorf涉及使用矩阵对集合的乘积计算的线性变换矩阵wsorf,每对矩阵包括正交矩阵和相应对角矩阵,其元素是遵循指定概率分布的实数。通常,正交矩阵是walsh-hadamard矩阵,指定的概率分布是rademacher分布,并且至少有两对,通常是三对矩阵相乘,以形成线性变换矩阵wsorf。

有利地,线性变换矩阵wsorf具有o(d)的空间计算成本,以及o(dlogd)的时间计算成本。此外,ksorf的方差显著小于krff的方差。

图1是按照示例实现的大规模学习系统的框图。系统100可以用于生成输入向量的非线性映射,其更准确并且允许计算上有效的训练和测试支持向量机(svm)或其他类型的基于内核的机器学习系统。向量是高斯内核的近似,其可以用作诸如分类系统、聚类系统、回归系统等的各种机器学习问题的输入。例如,分类系统可以使用近似来使用线性分类器对数据项分类。图1中的系统100的描绘被描述为基于服务器的分类器系统。然而,可以使用其他配置和应用。例如,系统100可以是聚类系统、回归系统、异常检测系统等。因此,所公开的技术也涉及包括语音识别、计算机视觉、图像和声音文件搜索和分类的基于学习的应用的高效实现。

大规模学习系统100可以是采用多种不同的设备的形式的一个或多个计算设备,例如标准服务器、一组这样的服务器或机架服务器系统,诸如基于内核的机器学习服务器120。另外,系统100可以在例如膝上型计算机的个人计算机中实现。基于内核的机器学习服务器120可以是如图6所描绘的计算机设备600或如图7所描绘的计算机设备700的示例。

基于内核的机器学习服务器120包括网络接口122、一个或多个处理单元124和存储器126。网络接口122包括例如以太网适配器、令牌环适配器等,用于将从网络170接收的电子和/或光信号转换为电子形式,用于由基于内核的机器学习服务器120使用。该组处理单元124包括一个或多个处理芯片和/或组合件。存储器126包括易失性存储器(例如,ram)和非易失性存储器两者,所述非易失性存储器诸如一个或多个rom、盘驱动器、固态驱动器等。该组处理单元124和存储器126一起形成控制电路,该控制电路被配置和布置为执行如本文所述的各种方法和功能。

在一些实施例中,基于内核的机器学习服务器120的一个或多个组件可以是或者可以包括被配置为处理存储在存储器126中的指令的处理器(例如,处理单元124)。如图1所描绘的这种指令的示例包括正交矩阵管理器130、对角矩阵管理器140和机器学习管理器150。此外,如图1所示,存储器126被配置为存储各种数据,其是关于使用这种数据的相应管理器描述的。

基于内核的机器学习服务器120可以使用从数据项提取的特征向量,并生成随机化的特征映射,其例如经由高斯内核生成特征的近似。特征向量可以被认为是具有维度d的浮点数的阵列(array),或者换言之,具有d个位置的阵列。数据项可以是例如文件或搜索项的数据库。例如,数据项可以是任何种类的文件,诸如文档、图像、声音文件、视频文件等,并且可以从文件中提取特征向量。数据项也可以是数据库记录,并且可以从与数据库中的项相关的数据中提取特征。

正交矩阵管理器130被配置为生成正交矩阵数据132。正交矩阵数据132包括定义具有形成正交基的行的一个或多个矩阵的数。由正交矩阵管理器132生成的正交矩阵的大小基于维度d。例如,在一些实现中,正交矩阵管理器130被配置为生成walsh-hadamard矩阵。这些矩阵根据以下规则生成:

其中代表kronecker积。因此,walsh-hadamard矩阵是方阵,其具有2的幂的维度。响应于接收,正交矩阵管理器130然后将生成walsh-hadamard矩阵,其具有大于d的2的最小幂的维度。

对角矩阵管理器140被配置为生成对角矩阵数据144。对角矩阵数据144包括定义具有零作为非对角线元素的矩阵的数。经由指定的概率分布函数142来定义对角元素的值。对角矩阵的维度与正交矩阵数据132的正交矩阵的维度相同。在一些实现中,对角元素的值是-1或1,并且概率分布142是rademacher分布(即,硬币翻转分布)。

基于内核的机器学习服务器120被配置为从正交矩阵数据132和对角矩阵数据144形成线性变换矩阵数据146。按照这些方法,当对角矩阵数据132包括定义n个对角矩阵d1,d2,…,dn的数时,则定义线性变换矩阵数据146的线性变换矩阵wsorf等于

其中n是大于d的2的最小幂的指数,并且σ是高斯内核的宽度。在一些实现中,n至少为2;在典型的实现中,n等于3。

系统100可以使用机器学习管理器150对向量数据152执行图像搜索、语音识别等。系统100可以使用传统方法从向量数据152中提取向量,或者可以将其提供给提取的特征向量数据154。作为一些示例,提取的特征向量154可以是来自数据项中的图像文件的像素或语音波形。

在一些实现中,存储器126可为任何类型的存储器,诸如随机存取存储器、盘驱动器存储器、闪存等。在一些实现中,存储器126可实现为与基于内核的机器学习服务器120的组件相关联的多于一个存储器组件(例如,多于一个ram组件或盘驱动器存储器)。在一些实现中,存储器126可以是数据库存储器。在一些实现中,存储器126可以是或可以包括非本地存储器。例如,存储器126可以是或可以包括由多个设备(未示出)共享的存储器。在一些实现中,存储器126可以与网络内的服务器设备(未示出)相关联,并且被配置为服务基于内核的机器学习服务器120的组件。

压缩计算机120的组件(例如,模块、处理单元124)可以被配置为基于可以包括一种或多种类型的硬件、软件、固件、操作系统、运行时库等的一个或多个平台(例如,一个或多个类似或不同的平台)来操作。在一些实现中,基于内核的机器学习服务器120的组件可以被配置为在设备集群(例如,服务器群)内操作。在这样的实现中,基于内核的机器学习服务器120的组件的功能和处理可以被分发到设备集群的若干设备。

基于内核的机器学习服务器120的组件可以是或可以包括被配置为处理属性的任何类型的硬件和/或软件。在一些实现中,图1中的基于内核的机器学习服务器120的组件中示出的组件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码的模块、可以在计算机处执行的一组计算机可读指令)。例如,在一些实现中,基于内核的机器学习服务器120的组件的一个或多个部分可以是或可以包括被配置为由至少一个处理器(未示出)执行的软件模块。在一些实现中,组件的功能可以包括在与图1中所示的组件不同的模块和/或不同的组件中。

尽管未示出,但是在一些实现中,基于内核的机器学习服务器120的组件(或其部分)可以被配置为在例如数据中心(例如,云计算环境)、计算机系统、一个或多个服务器/主机设备等内操作。在一些实现中,基于内核的机器学习服务器120的组件(或其部分)可以被配置为在网络内操作。因此,基于内核的机器学习服务器120的组件(或其部分)可以被配置为在可以包括一个或多个设备和/或一个或多个服务器设备的各种类型的网络环境中起作用。例如,网络可以是或可以包括局域网(lan)、广域网(wan)等。网络可以是或可以包括无线网络和/或使用例如网关设备、网桥、交换机等实现的无线网络。网络可以包括一个或多个段和/或可以具有基于诸如互联网协议(ip)和/或专有协议的各种协议的部分。网络可以包括互联网的至少一部分。

在一些实施例中,压缩计算机120的一个或多个组件可以是或可以包括配置为处理存储在存储器中的指令的处理器。例如,正交矩阵管理器130(和/或其一部分)、对角矩阵管理器140(和/或其一部分)、以及机器学习管理器150(和/或其一部分)可以是处理器和存储器的组合,被配置为执行与实现一个或多个功能的处理有关的指令。

图2是示出了为基于内核的机器学习系统生成输入的示例方法200的流程图,该基于内核的机器学习系统使用内核对图1中所示的数据执行分类操作。方法200可以由结合图1描述的软件构造来执行,其驻留在基于内核的机器学习服务器120的存储器126中,并由一组处理单元124运行。

在202,基于内核的机器学习服务器120接收要使用高斯内核分类的向量数据的维度d。

在204,基于内核的机器学习服务器120生成具有维度2n的walsh-hadamard矩阵hn,该维度2n是大于d的2的最小幂,即

在206,基于内核的机器学习服务器120生成对角矩阵集合d1,d2,…,dn,每个对角矩阵具有等于-1或1的对角元素,并且根据rademacher分布随机采样。在一些实现中,对角矩阵集合具有至少两个对角矩阵。

在208,基于内核的机器学习服务器120形成矩阵乘积hnd1hnd2…hndn。

在210,基于内核的机器学习服务器120将矩阵乘积乘以量以形成线性变换矩阵wsorf。

图3a示出了相对于高斯内核和其他近似的精确计算、在均方误差(mse)方面的上述结构化正交随机特征(sorf)近似的结果。结果中绘制的其他近似包括:

上述随机傅里叶特征(rff)近似:其中g是具有根据正态分布采样的元素的矩阵,该正态分布是高斯内核的傅里叶变换;

正交随机特征(orf)近似,其是以下形式的近似

其中q是通过gram-schmidt正规化从随机采样的高斯矩阵g导出的正交矩阵,并且s是具有根据chi分布随机生成的元素的对角矩阵;

准蒙特卡罗(qmc)近似,类似于orf,除了根据确定性的低位移秩序列选择样本;

fastfood是对以下形式的内核的结构化矩阵近似

其中h是hadamard矩阵,g是随机高斯矩阵,其具有根据正态分布分布的值,π是置换矩阵,b是随机二进制矩阵,并且s是确保线性变换矩阵的行具有遵守规定行为的范数的缩放矩阵;

circulant是基于紧致非线性映射的内核的近似。

在曲线302、304、306、208、310和312中,维度d在曲线之间增加了2的因子。每个曲线示出了对于d>d的mse与特征向量长度d的行为。应注意,sorf近似具有比任何其他上述近似小得多的mse,并且随着d的增加,sorf相对于其他近似的mse的减小更明显。

图3b示出了对于各种近似的mse的额外的曲线。在曲线314和316中,在d=1024时比较两种不同高斯宽度的sorf、orf和rff的mse。在这些情况下,相对于rff,对于更大宽度值,sorf和orf具有更好的mse值。在曲线318中,显然,对于期望的mse值,需要至少两对walsh-hadamard矩阵和对角矩阵的乘积。

图4示出了针对变化的d和d基于sorf、orf和rff内核近似的线性svm分类器的分类精度表。从该表可以推断出sorf近似相对于rff是具有竞争力的或者更好,但是在时间和空间/存储器方面具有极大减小的资源需求。同样,线性变换矩阵wsorf的空间计算成本为o(d),时间计算成本为o(dlogd)。

图5是按照所公开的主题的用于将球形随机特征与分类引擎一起使用的示例处理500的流程图。处理500可以由诸如图1的系统100的大规模学习系统执行。处理500是使用图1的基于内核的机器学习服务器120将输入向量变换为第二向量的示例,该第二向量是输入向量的非线性近似。处理400可以从大规模学习系统接收输入数据项开始(405)。输入数据项可以是可以从中提取特征向量的任何项。示例包括图像、文档、视频文件、声音文件、具有元数据的实体、用户简档等。系统可以使用传统技术从输入数据项提取特征(504)。系统可以将特征向量规范化(506)到单元范数。然后,系统可以使用高斯随机化特征映射(例如,作为图2的处理200的一部分生成)来生成针对输入数据项的近似特征向量(508)。近似特征向量可以是具有与输入特征向量不同的维度的非线性近似。

系统可以将近似特征向量作为输入提供给分类器(510)。分类器可以访问大量存储的数据项。数据项可能已经具有对应的近似特征向量,或者可以开始生成针对数据项的近似特征向量。在一些实现中,分类器可以计算针对输入数据项的近似特征向量与数据项的存储之间的点积。在一些实现中,分类器可以使用点积来确定针对输入数据项的标签、分类等。例如,分类器可以将图像分类为动物、人、建筑物等。在一些实现中,分类器可以确定数据存储中与输入数据项最相似的项。因此,系统可以从分类器获得针对输入数据项的分类(512)。然后处理500结束。

图5的处理是使用结构正交随机特征的一个示例。特征映射(例如,来自基于内核的机器学习服务器120的输出)可以用在任何机器学习应用中,包括但不限于聚类、回归、异常分析等。因此,例如,替代步骤512可以包括获得针对输入数据项的聚类分配,获得针对输入数据项的回归分析等。此外,球形随机特征可以例如在执行处理500之前发生的训练模式中用作用于机器学习分类器的训练示例。

图6示出了可以与这里描述的技术一起使用的通用计算机设备600的示例,其可以是图1的基于内核的机器学习服务器120和/或客户端170。计算设备600旨在表示各种示例形式的计算设备,诸如膝上型计算机、台式机、工作站、个人数字助理、蜂窝电话、智能电话、平板电脑、服务器和包括可穿戴设备的其他计算设备。这里示出的组件、它们的连接和关系以及它们的功能仅意味着是示例,并不意味着限制本文档中描述和/或要求保护的发明的实现。

计算设备600包括经由接口608连接的处理器602、存储器604、存储设备606和扩展端口610。在一些实现中,计算设备600可以包括经由接口608连接的收发器646、通信接口644和gps(全球定位系统)接收器模块648以及其他组件。设备600可以通过通信接口644无线地通信,其可以在必要时包括数字信号处理电路。组件602、604、606、608、610、640、644、646和648中的每一个可以安装在公共主板上或以其他方式适当地安装。

处理器602可以处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备(诸如显示器616)上显示gui的图形信息。显示器616可以是监视器或平板触摸屏显示器。在一些实现中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。而且,可以连接多个计算设备600,每个设备提供必要操作的部分(例如,作为服务器库、一组刀片服务器或多处理器系统)。

存储器604存储计算设备600内的信息。在一个实现中,存储器604是一个或多个易失性存储器单元。在另一实现中,存储器604是一个或多个非易失性存储器单元。存储器604还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。在一些实现中,存储器604可以包括通过扩展接口提供的扩展存储器。

存储设备606能够为计算设备600提供大容量存储。在一个实现中,存储设备606可以是或包括计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储设备;或设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在这样的计算机可读介质中。该计算机程序产品还可以包括在执行时执行诸如上面描述的那些方法的一种或多种方法的指令。计算机或机器可读介质是诸如存储器604、存储设备606或处理器602上的存储器的存储设备。

接口608可以是管理用于计算设备600的带宽密集型操作的高速控制器、或管理较低带宽密集型操作的低速控制器、或这些控制器的组合。可以提供外部接口640,以便能够使设备600与其他设备进行近区域通信。在一些实现中,控制器608可以耦合到存储设备606和扩展端口614。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪、或诸如交换机或路由器的联网设备。

计算设备600可以以多种不同的形式实现,如图中所示。例如,它可以实现为标准服务器630,或者在一组这样的服务器中实现多次。它也可以作为机架服务器系统的一部分来实现。另外,它可以在诸如膝上型计算机622或智能电话636的个人计算机中实现。整个系统可以由彼此通信的多个计算设备600组成。其他配置也是可能的。

图7示出了可以与这里描述的技术一起使用的通用计算机设备700的示例,其可以是图1的服务器110。计算设备700旨在表示各种示例形式的大规模数据处理设备,诸如服务器、刀片服务器、数据中心、大型机和其他大规模计算设备。计算设备700可以是具有多个处理器的分布式系统,可能包括通过一个或多个通信网络互连的网络附接存储节点。这里示出的组件、它们的连接和关系以及它们的功能仅意味着是示例,并不意味着限制本文档中描述和/或要求保护的发明的实现。

分布式计算系统700可以包括任何数量的计算设备780。计算设备780可以包括通过局域网或广域网、专用光链路、调制解调器、网桥、路由器、交换机、有线或无线网络等进行通信的服务器或机架服务器、大型机等。

在一些实现中,每个计算设备可以包括多个机架。例如,计算设备780a包括多个机架758a-758n。每个机架可以包括一个或多个处理器,诸如处理器752a-752n和762a-762n。处理器可以包括数据处理器、网络附接存储设备和其他计算机控制的设备。在一些实现中,一个处理器可以作为主处理器操作并控制调度和数据分发任务。处理器可以通过一个或多个机架交换机758互连,并且一个或多个机架可以通过交换机778连接。交换机778可以处理多个连接的计算设备700之间的通信。

每个机架可以包括诸如存储器754和存储器764的存储器、以及诸如756和766的存储装置。存储装置756和766可以提供大容量存储器,并且可以包括易失性或非易失性存储装置,诸如网络附接的盘、软盘、硬盘、光盘、磁带、闪存或其他类似的固态存储设备或设备的阵列,包括存储区域网络或其他配置中的设备。存储装置756或766可以在多个处理器、多个机架或多个计算设备之间共享,并且可以包括存储可由一个或多个处理器执行的指令的计算机可读介质。存储器754和764可以包括例如一个或多个易失性存储器单元、一个或多个非易失性存储器单元和/或其他形式的计算机可读介质,诸如磁盘或光盘、闪存、高速缓存、随机存取存储器(ram)、只读存储器(rom)及其组合。诸如存储器754的存储器也可以在处理器752a-752n之间共享。诸如索引的数据结构可以跨例如存储装置756和存储器754存储。计算设备700可以包括未示出的其他组件,诸如控制器、总线、输入/输出设备、通信模块等。

诸如系统100的整个系统可以由彼此通信的多个计算设备700组成。例如,设备780a可以与设备780b、780c和780d通信,并且这些可以统称为系统100。作为另一个示例,图1的系统100可以包括一个或多个计算设备700。一些计算设备可以在地理上彼此靠近定位,而其他计算设备可以在地理上位于远处。系统700的布局仅是示例,并且系统可以采用其他布局或配置。

各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程系统包括至少一个可编程处理器,其可以是专用或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并向其发送数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读取存取存储器)、可编程逻辑器件(pld))。

这里描述的系统和技术可以在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与这里描述的系统和技术的实现交互),或者包括这种后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)、广域网(“wan”)和互联网。

计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

已经描述了许多实现方式。然而,在不脱离本发明的精神和范围的情况下,可以进行各种修改。另外,图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以向所描述的系统添加或从所描述的系统移除其他组件。因此,其他实施方式在所附权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1