序列转换神经网络的制作方法

文档序号:18902255发布日期:2019-10-18 22:06阅读:269来源:国知局
序列转换神经网络的制作方法

本申请要求2016年11月4日提交的美国临时申请序列号62/418,170的优先权。在先申请的公开被认为是本申请的公开的一部分,并通过引用结合于此。

本说明书涉及使用神经网络生成输入序列的表示。



背景技术:

许多数据处理任务包括将有序的输入序列转换成有序的输出序列。例如,机器翻译系统将一种语言的输入单词序列翻译成另一种语言的单词序列。作为另一个示例,发音系统将字素的输入序列转换成音素的目标序列。



技术实现要素:

本说明书描述了在一个或多个位置的一个或多个计算机上实施为计算机程序的序列转换系统。

序列转换系统可以被配置为将输入序列映射到目标序列。例如,序列转换系统可以通过将源自然语言中的文本序列映射到目标自然语言中的翻译文本序列来实施机器翻译。自然语言处理领域中的其他应用包括文档概括,其中输入包括文档,输出包括较短的摘要;解析,其中输入包括句子,输出包括(线性化的)解析树;发音辅助,其中输入包括字素序列,输出包括音素序列;以及拼写校正,其中输入包括拼写错误的单词,输出包括预期单词。

序列转换系统具有许多其他应用,例如语音识别,其中输入包括频谱系数或波形的编码,输出包括文本;文本到语音的转换,其中输入包括与文本应该如何发音相关联的语言特征的编码,输出包括波形;代码生成,其中输入包括算法的文本描述,输出包括程序;以及蛋白质二级结构预测,其中输入包括氨基酸序列,输出可以是编码二级结构类型的单热矢量。

所描述的序列转换系统通过迭代构建当前假设的集合将输入序列映射到目标序列。每个假设都有输入前缀和对应的目标前缀。在每次迭代中,序列转换系统确定扩展假设的集合,该扩展假设的集合扩展当前假设的集合中的假设。序列转换系统首先通过直接评分模型对这些扩展假设评分,并且根据直接模型标识最高评分假设的第一子集。序列转换系统通过噪声信道评分模型对扩展假设的第一子集重新评分,并且根据噪声评分信道模型从第一子集标识最高评分假设的第二子集。序列转换系统将扩展假设的第二子集添加到当前假设的集合中。当序列转换系统确定假设的当前集合中没有一个是用于进一步扩展的候选时,序列转换系统从假设的当前集合中选择一个假设,并且对应于所选择的假设的目标前缀被指定为目标序列。

根据第一方面,提供了用于从输入序列生成目标序列的序列转换系统和计算机实施的方法。该方法/系统被配置为维护当前假设的集合。每个当前假设可以包括覆盖输入序列中的相应第一数量i个输入的输入前缀。因此,当前假设可以将i个标记(token)作为输入;这些可以包括输入前缀。这里,标记可以是表示输入序列的元素的数据项,在一些应用中是单词或单词的部分。当前假设还可以具有相应长度j的输出或目标前缀,即它可以具有相关联的j输出序列标记。因此,给定i个输入前缀的标记,假设可以包括长度为j的候选预测目标前缀。每个当前假设还可以具有相应评分,更具体地是从模型生成的评分,该模型例如基于目标和/或输入前缀来对假设的可能性进行建模。该模型可以实现为一个或多个神经网络,典型地包括至少一个递归神经网络,诸如lstm网络。假设可以实现为由i和j索引的数据项,其存储表示假设的可能性的数据;因此,当前假设的集合可以实现为矩阵。然后,该方法可以针对多个当前假设中的每一个执行多个动作,更具体地,针对输入数量i和目标前缀长度j的多个可能的组合中的每一个,例如针对输入数量i和假设长度j的每个可能的组合。这些动作可以包括扩展当前假设,以为每个这样的当前假设生成相应的扩展假设。更具体地,可以扩展可以达到可能的组合的任何当前假设;可以达到可能的组合的假设可以是具有目标前缀<=j并且具有输入数量<=i的假设。扩展假设可以是由一个目标标记扩展的假设,其可以但不必涉及通过一个或多个输入标记扩展输入前缀。因此,扩展假设可以包括使用假设来生成目标前缀的另一个标记。然后,该方法可以使用第一或直接模型来为每个扩展假设确定相应的第一或直接评分。例如,直接评分可以表示给定输入前缀的目标前缀的概率。该方法还可以根据直接评分确定第一数量的最高评分假设。优选地,该方法还使用噪声信道模型重新评分这些最高评分假设,以生成数量减少的假设。然后,该方法可以将数量减少的假设添加到当前假设的集合中,并且将每个假设与由重新评分生成的对应的评分相关联。这种方法便于使用噪声信道模型,这反过来可以提高性能并便于训练,如稍后所述。

在相关方面,提供了一种根据输入序列生成目标序列的方法,该目标序列包括在多个输出时间步的每一个处的相应输出,该输入序列包括在多个输入时间步的每一个处的相应输入。该方法可以包括维护数据(i)标识多个当前假设,每个当前假设覆盖输入序列中的相应的第一数量i个输入,并且与相应长度为j的输出假设前缀相对应,以及(ii)对每个当前假设的相应模型评分。该方法还可以包括,对于输入数量i和假设长度j的每个可能的组合:通过考虑输入序列中的附加输入来扩展可能达到该可能的组合的任何当前假设,以为每个这样的当前假设生成相应的扩展假设;以及使用辅助直接模型来为每个扩展假设确定相应的直接评分。然后,该方法还可以包括根据直接评分确定第一数量的最高评分假设;使用噪声信道模型重新评分第一数量的最高评分假设,以生成数量减少的假设;以及维护数量减少的假设,并将每一个假设与由重新评分生成的对应的评分相关联,以便进一步扩展。

在一些实施方式中,噪声信道模型包括生成以目标前缀为条件的输入前缀的可能性的信道模型,以及生成目标前缀的可能性的源模型。因此,信道模型可以表征提议的目标前缀解释输入前缀的程度。源模型可以提供表征提议的目标前缀序列是否完整(well-formed)的先验概率。如稍后所述,这降低了输出忽略支持固有高概率输出序列的输入数据的风险。另外,可以从不成对的样本中估计源模型,这有助于训练。

在一些实施方式中,源模型是语言模型,具体是生成以目标序列前缀中的前一个标记为条件的目标序列前缀中的最后一个标记的可能性的语言模型。

在一些实施方式中,信道模型是分段到分段神经转换(segmenttosegmentneuraltransduction,ssnt)模型;稍后将提供其细节。更通常地,信道模型和直接模型中的一个或两者,可以包括诸如lstm网络的递归神经网络。可以用各自的递归神经网络编码输入前缀和目标前缀,以从模型中确定各自的概率。可以使用成对的输入和输出序列样本来训练这些模型。广义而言,该方法的一些实施方式在编码输入序列的连续部分和解码输出标记之间交替。

当前假设的集合可以用于生成目标序列,具体是通过选择当前假设之一,例如具有最高评分的假设,然后将所选择的假设的目标前缀作为目标序列。因此,在一些实施方式中,系统还被配置为:确定当前假设的集合是完整的;并且作为响应,将具有最高评分并且对应的输入前缀是整个输入序列的假设作为输入序列的目标序列输出。

在一些实施方式中,直接模型生成以输入前缀为条件的目标前缀的概率。

在一些实施方式中,重新评分第一数量的最高评分假设包括使用组合模型重新评分第一数量的最高评分假设,并且其中组合模型基于直接模型、噪声信道模型和目标前缀的长度来生成假设的评分。

在一些实施方式中,组合模型为假设生成的评分是直接模型为假设生成的评分的对数、信道模型为假设生成的可能性的对数、源模型为假设生成的可能性的对数以及假设的目标前缀的长度的加权线性组合。

在一些实施方式中,使用从训练数据集中保存的开发数据(developmentdata)来调整加权线性组合的权重。

在一些实施方式中,源模型是递归神经网络。

在一些实施方式中,输入序列包括输入语言中的单词序列,并且目标序列包括单词序列到目标语言的翻译。

在一些实施方式中,输入序列包括单词序列,目标序列包括与输入语言相同的单词序列,目标序列比输入序列具有更少的单词,但是保留了输入序列的基本含义。因此,系统可以对输入序列执行改写或抽象概括。

在一些实施方式中,输入序列包括源单词,目标序列根据给定的形态属性(诸如数量、时态、人称等)包括作为基本形式源单词的变形形式(inflectedform)的目标单词。因此,该系统可以执行形态变形,这对于在翻译形态丰富的语言时减少数据稀少问题是有用的。

另一方面,提供了一种用于生成目标序列的序列转换系统,该目标序列表示根据输入序列的转换系统输出。该系统可以包括接收输入序列的输入;提供目标序列的输出;第一直接评分模型,根据给定输入序列前缀的预测输出序列前缀的概率来对候选预测输出序列前缀进行评分;以及第二噪声信道模型,至少部分基于给定预测输出序列前缀的输入序列前缀的概率来对候选预测输出序列进行评分。假设生成系统可以耦合到输入、第一模型和第二模型,以生成包括用于由第一模型和第二模型进行评分的候选预测输出序列的假设。假设生成系统可以被配置为迭代地构建当前假设的集合,每个当前假设具有来自输入序列的输入前缀和定义目标序列的前缀部分的对应的目标前缀。在每次迭代中,序列转换系统可以被配置为:通过扩展目标前缀来确定扩展当前假设的集合中的假设的扩展假设的集合;使用直接评分模型来对扩展假设评分,以根据直接模型标识最高评分假设的第一子集;使用噪声信道评分模型来对扩展假设的第一子集重新评分,以根据噪声评分信道模型来从第一子集中标识最高评分假设的第二子集;以及确定假设的当前集合中是否有/没有一个是进一步扩展的候选。作为响应,系统可以从假设的当前集合中选择一个假设,并且将与所选择的假设相对应的目标前缀作为目标序列输出。

可以实施本说明书中描述的主题的具体实施例,以便实施一个或多个以下优点。本说明书中描述的序列转换系统使用噪声信道模型和直接模型来对假设评分,因此在序列转换任务上获得比传统序列转换系统更好的性能。例如,传统序列转换系统的性能可能会受到仅使用直接模型评分引起的“解释失效(explainingaway)”效应的影响。“解释失效”是一个术语,指的是在局部标准化条件概率模型中推理的模式,在局部标准化条件概率模型中,对高度预测的潜在原因的观察引起模型忽略替代的潜在原因。在序列转换的情况下,有两个扩展目标前缀的潜在原因:被转换的输入序列和被扩展的目标前缀。在目标前缀是高度预测的情况下(例如,如果对于许多目标序列,子序列“ab”后面跟着“c”),解释失效可能引起依赖于直接模型的传统序列转换系统忽略输入前缀,并基于在目标序列中观察到的预测模式扩展目标前缀,这可能引起错误的转换。使用噪声信道模型减轻了解释失效效应,因为由噪声信道模型生成的评分另外还取决于输入前缀是目标前缀的准确转换的概率。

此外,在许多领域,可获得的不成对目标序列比输入目标对多得多;例如,斯瓦希里语-英语翻译很少,尽管英语文本丰富。仅使用直接模型的传统序列转换系统依赖于由输入-目标对组成的训练数据。本说明书中描述的序列转换系统使用噪声信道模型,并且可以利用输入-目标对和不成对的目标序列进行训练,因此通过用不成对的目标序列增加有限的成对训练数据的集合,获得比传统序列转换系统更好的性能。

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

附图说明

图1示出了示例序列转换系统。

图2是用于从输入序列生成目标序列的示例过程的流程图。

图3是从当前假设生成扩展假设的示例过程的流程图。

在不同附图中,相同的附图编号和标记表示相同的元素。

具体实施方式

图1示出了示例序列转换系统100。序列转换系统100是在一个或多个位置的一个或多个计算机上实施为计算机程序的系统的示例,在该系统中实施了下面描述的系统、组件和技术。

序列转换系统100被配置为通过迭代地增加当前假设102的集合将标记的输入序列116映射到标记的目标序列118。当前假设102的集合中的每个假设具有输入前缀和对应的目标前缀。输入前缀是输入序列的子序列,包括从输入序列的第一个标记开始的输入序列的连续标记。目标前缀是目标序列的子序列,包括从目标序列的第一个标记开始的目标序列的连续标记。例如,如果输入序列是“mynameisjohn”,那么假设可以有输入前缀“myname”和目标前缀“monnom”。标记可以是字符、单词状单元(即单词的部分)或单词;其他符号、状态或参数,或编码这些的向量,或其他数据项。输入序列的标记类型可能不同于目标序列的标记类型。

在一些实施方式中,输入序列116是源自然语言中的单词序列,对应的目标序列118是输入序列116到目标语言的翻译。例如,输入序列116可以是“mynameisjohn”,而对应的目标序列118可以是“monnomestjohn”,即英语输入序列116到法语的翻译。在这些实施方式中,标记可以是单词状单元或单词。

在一些其他实施方式中,输入序列116是单词序列,目标序列118是比输入序列116具有更少单词但保留了输入序列116的基本含义的单词序列。例如,输入序列116可以是“vietnamwillacceleratetheexportofindustrialgoodsmainlybydevelopingauxiliaryindustriesaccordingtotheministryofindustryonthursday”,而对应的目标序列118可以是“vietnamtoboostindustrialgoodsexports”。在这些实施方式中,标记可以是单词状单元或单词。

在一些其他实施方式中,根据给定的形态属性,输入序列116是源单词,目标序列118是源单词的变形形式的目标单词。例如,输入序列116可以是“leaf”,形态属性可以是“复数”,对应的目标序列118可以是单词“leaves”。在这些实施方式中,标记是字符。

系统100包括假设扩展生成器104,其生成扩展假设106,扩展假设106扩展当前假设102的集合中的假设。假设扩展生成器104通过将假设的目标前缀扩展一个目标标记,并且不扩展输入前缀或者将输入前缀扩展一个或多个输入标记来从当前假设102的集合中的假设生成扩展假设。例如,如果当前假设具有输入前缀“myname”和目标前缀“monnom”,并且输入和目标序列的标记是单词,则该假设的扩展可能具有输入前缀“mynameis”和目标前缀“monnomest”。因此,例如,可以由具有编码器-解码器架构的递归神经网络系统提供假设,并且可以通过使用递归神经网络系统来扩展假设以预测目标序列中的下一个标记。这可以但不一定需要消耗来自输入序列中的标记。当扩展假设时,系统可以扩展能够从长度为i的输入序列生成长度为j的目标序列的一些或所有当前假设。在一些实施方式中,假设可以包括类似于viterbi矩阵的概率路径矩阵的单元[i,j],存储概率值;该系统可以迭代地(递归地)从先前的单元扩展到单元[i,j]。

系统100包括对每个扩展假设106评分的直接评分模型108。直接评分模型108为扩展假设106的集合中的每个扩展假设生成评分,该评分等于以扩展假设的输入前缀为条件的扩展假设的目标前缀的概率,即目标前缀是输入前缀的准确转换的概率。在一些实施方式中,直接评分模型可以是分段到分段神经转换(ssnt)模型,如在leiyu,janbuys,philblunsom的“onlinesegmenttosegmentneuraltransduction”,proc.emnlp,2016,arxiv:1609.08194中详细描述的那样。广义而言,该模型包括一个潜在的对齐变量z,其中zj=i表示位置j处的输出标记是在读取直到位置i的输入序列时生成的。因此,模型可以确定需要多少x来对y的第j个标记建模,从而允许在观察到完整的输入序列之前开始输出序列的预测。这对在线应用很有帮助。

基于训练数据的集合来训练直接评分模型108,该训练数据包括成对的输入序列和对应的目标序列。

系统100根据由直接评分模型108生成的评分选择评分最高的k1个扩展假设作为扩展假设的第一集合110,其中k1是预定的正整数。

在一些实施方式中,系统100通过噪声信道评分模型112来对扩展假设的第一集合110重新评分。噪声信道评分模型112通过将由信道模型122生成的扩展假设的概率和由源模型120生成的扩展假设的概率相乘来生成扩展假设的评分。

信道模型122以扩展假设的目标前缀为条件生成扩展假设的输入前缀的概率,即输入前缀是目标前缀的准确转换的概率。基于训练数据的集合来训练信道模型122,该训练数据包括成对的输入序列和对应的目标序列。例如,信道模型可以是分段到分段神经转换(ssnt)模型——参见“onlinesegmenttosegmentneuraltransduction”,proc.emnlp,2016。

源模型120生成扩展假设的目标前缀的概率。通常,源模型120是语言模型,在这种情况下,源模型120生成目标前缀对应于目标序列的自然语言中的有意义短语的前缀的先验概率。例如,源模型120可以被配置为以前缀中的前一个标记为条件来生成目标前缀中的后一个标记的概率,即在目标序列的自然语言中的有意义短语中目标前缀中的后一个标记跟随前一个标记的概率。在一些实施方式中,源模型120是递归神经网络。在“recurrentneuralnetworkbasedlanguagemodel”,interspeech,vol.2,2010中描述可以用作源模型120的语言模型的示例。基于包括目标序列的训练数据的集合来训练源模型120。

在一些其他实施方式中,系统100基于噪声信道评分模型112和直接评分模型108的组合,通过组合评分模型124来对扩展假设的第一集合110重新评分。参考图2更详细地描述组合评分模型124。

系统100基于由噪声信道评分模型112或组合评分模型124对扩展假设的第一集合110重新评分并选择用于包含在扩展假设的第二集合中评分最高的k2个扩展假设来标识扩展假设的第二集合114,即扩展假设的第一集合110的子集,其中k2是小于k1的正整数。

系统100将扩展假设的第二集合114添加到当前假设102的集合中。当系统100确定当前假设102的集合完成时,系统100从当前假设102的集合中选择假设,并且将与所选择的假设相对应的目标前缀指定为目标序列118。具体地,系统100在其输入前缀与整个输入序列116相对应的所有当前假设中选择具有最高评分(即根据噪声信道评分模型112或组合评分模型124进行评分)的当前假设。

根据直接评分模型108来确定最高评分假设的数量的参数k1的值、根据噪声信道模型112或组合评分模型124来确定最高评分假设的数量的参数k2的值以及系统的其他参数,可以通过比较在不同的参数设置的情况下,系统根据从训练数据的集合中保存的开发数据的集合的性能测量来比较系统的性能,并选择得到最佳性能的参数值来调整。例如,如果系统实施机器翻译,那么性能度量可以是bleu评分。

下面参考图2更详细地描述使用系统100从输入序列生成目标序列。

图2是用于从输入序列生成目标序列的示例过程200的流程图。为了方便,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的序列转换系统,例如图1的序列转换系统100,可以执行过程200。

系统执行过程200的多次迭代,以便从输入序列生成目标序列。具体地,在每次迭代中,系统更新维护的当前假设的集合。当前假设的集合中的每个假设都与参数i和j相关联,其中i是假设的输入前缀的长度,j是假设的目标前缀的长度。在本说明书中,前缀的长度是指前缀中的标记的数量。

系统基于当前假设的集合确定扩展假设的集合(步骤202)。下面参考图3的过程300描述确定扩展假设的集合的一个示例方式。用于迭代的每个扩展假设具有一些输入前缀长度i和一些目标前缀长度j。通常,具有输入前缀长度i和目标前缀长度j的每个扩展假设扩展输入前缀长度小于或等于i且目标前缀长度为(j-1)的当前假设。

系统使用直接评分模型为扩展假设的集合中的每个扩展假设确定第一评分(步骤204)。直接评分模型为每个扩展假设生成等于以扩展假设的输入前缀为条件的扩展假设的目标前缀的概率的评分,即目标前缀是输入前缀的准确转换的概率。

系统根据直接评分模型确定具有最高评分的第一数量k1个扩展假设,其中k1是正整数(步骤206)。

系统为具有最高第一评分的k1个扩展假设中的每一个确定第二评分(步骤208)。

在一些实施方式中,系统使用噪声信道评分模型为k1个扩展假设中的每一个确定第二评分(步骤208)。噪声信道评分模型通过将信道模型生成的扩展假设的概率和源模型生成的扩展假设的概率相乘来生成扩展假设的评分。信道模型以扩展假设的目标前缀为条件生成扩展假设的输入前缀的概率,即输入前缀是目标前缀的准确转换的概率。源模型生成扩展假设的目标前缀的概率。通常,源模型是语言模型,在这种情况下,源模型生成目标前缀对应于目标序列的自然语言中的有意义短语的前缀的先验概率。

在一些其他实施方式中,系统通过基于直接评分模型和噪声信道评分模型的组合评分来确定k1个扩展假设中的每一个的第二评分。例如,由扩展假设的组合评分模型生成的评分可以通过以下定义:

λ1logp(yj|xi)+λ2logp(xi|yj)+λ3logp(yj)+λ4|yj|

其中yj是扩展假设的目标前缀,xi是扩展假设的输入前缀,p(yj|xi)是由直接评分模型生成的扩展假设的评分,p(xi|yj)是由信道模型生成的扩展假设的概率,p(yj)是由源模型生成的目标前缀的概率,|yj|是目标前缀的长度。

系统从根据第一评分的k1个最高评分扩展假设的集合中根据第二评分确定第二数量k2个的最高评分扩展假设,其中k2是小于或等于k1的正整数(步骤210)。

系统将从根据第一评分的k1个最高评分扩展假设的集合中根据第二评分确定的k2个最高评分扩展假设添加到假设的当前集合中(步骤212)。添加到假设的当前集合的每个确定的扩展假设都与评分相关联。在一些实施方式中,与扩展假设相关联的评分是噪声信道评分模型为扩展假设生成的第二评分。在一些其他实施方式中,与扩展假设相关联的评分是组合评分模型为扩展假设生成的第二评分。

系统确定当前假设的集合是否完整(步骤214)。

如果从过程200的当前迭代开始,系统已经为1和i之间的每个输入前缀长度i生成扩展假设,其中i是输入序列的长度,并且为1和j之间的每个目标前缀长度j生成扩展假设,其中j是目标序列的最大长度,则系统确定当前假设的集合是完整的。在这种情况下,系统标识具有输入前缀长度i并且在具有输入前缀长度i的所有当前假设的集合当中具有最高关联评分(即对应于整个输入序列的输入前缀)的当前假设。然后,系统将确定的假设的目标前缀指定为对应于输入序列的输出目标序列(步骤216)。

如果系统确定当前假设的集合不完整,即存在系统先前没有为其生成扩展假设的输入前缀长度i在1和i之间,目标前缀长度j在1和j之间,则过程返回到步骤202,并重复前面的步骤,以生成系统先前没有为其生成扩展假设的输入前缀长度i在1和i之间,目标前缀长度j在1和j之间的扩展假设。

图3是用于从当前假设生成扩展假设的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的序列转换系统,例如图1的序列转换系统100,可以执行过程300。

参考输入前缀长度i和目标前缀长度j的固定值来描述过程300,输入前缀长度i和目标前缀长度j对应于将由过程300生成的扩展假设的期望输入前缀长度和目标前缀长度。

如果要生成的扩展假设的目标前缀长度j等于1(步骤302),则系统将扩展假设的集合指定为输入前缀是输入序列的第一i个标记,并且目标前缀是任何目标标记的假设的集合(步骤308)。例如,如果目标序列是用英语书写的文本序列,那么目标标记可以是罗马字母。

如果要生成的扩展假设的目标前缀长度j大于1(步骤302),则系统标识当前假设的集合中的输入前缀长度小于或等于i且目标前缀长度等于(j-1)的假设(步骤304)。

系统通过为当前假设的集合中的每个标识的假设将假设的目标前缀扩展一个目标标记并将假设的输入前缀扩展为输入序列的第一i个标记来生成扩展假设(步骤306)。

本说明书结合系统和计算机程序组件使用术语“配置”。对于被配置为执行具体操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行操作或动作。对于被配置为执行具体操作或动作的一个或多个计算机程序意味着该一个或多个程序包括当由数据处理装置运行时使装置执行操作或动作的指令。

本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形实现的计算机软件或固件中、在计算机硬件中实施,包括本说明书中公开的结构及其结构等同物、或者它们的一个或多个的组合。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或者它们中的一个或多个的组合。可替代地或另外地,程序指令可以在人工生成的传播信号上编码,例如,机器生成的电、光或电磁信号,人工生成的传播信号被生成以编码信息以便传输到合适的接收器装置以供数据处理装置运行。

术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置还可以或者进一步包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置可以可选地包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。

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

在本说明书中,术语“引擎”被广泛用于指基于软件的系统、子系统或过程,其被编程为执行一个或多个特定功能。通常,引擎将被实施为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于具体的引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机运行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如fpga或asic)或专用逻辑电路和一个或多个编程的计算机的组合来执行。

适合于计算机程序的运行的计算机可以基于通用或专用微处理器或两者、或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘)以从其接收数据或者向其传送数据或者进行接收数据和传送数据两者。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(personaldigitalassistant,pda)、移动音频或视频播放器、游戏控制台、全球定位系统(globalpositioningsystem,gps)接收器或便携式存储设备(例如,通用串行总线(universalserialbus,usb)闪存驱动器),以上仅仅只是几个示例。

适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备,磁盘,例如内部硬盘或可移动磁盘,磁光盘,和cd-rom和dvd-rom磁盘。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备(例如crt(阴极射线管)或lcd(液晶显示器)监视器)以及键盘和指示设备(例如鼠标或跟踪球)的计算机上实施,显示设备用于向用户显示信息;通过键盘和指示设备用户可以向计算机提供输入。其他类型的设备也可以用于提供与用户的交互,例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互,例如,通过响应于从web浏览器接收的请求将网页发送到用户的设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息应用的智能电话)发送文本消息或其他形式的消息以及反过来从用户接收响应消息来与用户交互。

用于实施机器学习模型的数据处理装置还可以包括,例如,用于处理机器学习训练或生产(production)的公共和计算密集部分,即推理、工作负载(workload)的专用硬件加速器单元。

可以使用机器学习框架来实施和部署机器学习模型,例如tensorflow框架、microsoft认知工具包框架、apachesinga框架或apachemxnet框架。

本说明书中描述的主题的实施例可以在包括例如作为数据服务器的后端组件的计算系统中实施;或者可以在包括中间组件的计算系统中实施,该中间件组件例如应用服务器;或者可以在包括前端-终端组件的计算系统中实施,该前端-终端组件,例如,具有用户通过其可以与本说明书中描述的主题的实施方式进行交互的图形用户界面、网络浏览器或应用的客户端计算机;或者可以在包括一个或多个这样的后端组件、中间组件或前端-终端组件的任何组合的计算系统中实施。系统的组件可以由任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(localareanetwork,lan)和广域网(wideareanetwork,wan),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器之间的关系凭借在各自的计算机上运行的并且彼此之间具有客户端-服务器关系的计算机程序发生。在一些实施例中,服务器将数据(例如,html页面)传输到用户设备,例如,为了向与作为客户端的设备交互的用户显示数据和从与作为客户端的设备交互的用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。

虽然本说明书包含许多特定的实施方式细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为可以特定于具体发明的具体实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征还可以分离地或者以任何合适的子组合在多个实施例中实施。此外,虽然上面的特征可以被描述为以某些组合起作用并且甚至最初这样要求保护,但是在一些情况下可以从组合和所要求保护的组合中切除一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,虽然在附图和列举的权利要求中以具体顺序描绘了操作,但是这不应该被理解为为了获得期望的效果需要以所示的具体顺序或以次序顺序来执行这些操作、或者需要执行所有示出的操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,上面描述的实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,描述的程序组件和系统通常可以集成在单个软件产品中或者封装成多个软件产品。

已经描述了主题的具体实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的具体顺序或次序顺序来获得期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。

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