会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

生成用于神经网络输出层的输出

阅读:109发布:2020-05-11

IPRDB可以提供生成用于神经网络输出层的输出专利检索,专利查询,专利分析的服务。并且本申请涉及生成用于神经网络输出层的输出。系统、方法和装置,包括编码在计算机存储介质上的计算机程序,用于通过神经网络处理网络输入,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层。一方面,该方法包括获得由所述一个或多个初始神经网络层产生的层输出,以及通过softmax输出层处理该层输出以产生神经网络输出。通过softmax输出层处理该层输出包括为每个可能输出值确定在多个层输出值中的出现次数;对出现在所述多个层输出值中的每个可能输出值,确定相应的求幂度量;通过根据各可能输出值的各出现次数来组合求幂度量,确定用于该层输出的归一化因子;以及对于每个层输出值,确定softmax概率值。,下面是生成用于神经网络输出层的输出专利的具体信息内容。

1.一种通过神经网络处理网络输入的方法,所述神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,所述方法包括:获得通过所述一个或多个初始神经网络层处理所述网络输入产生的层输出,所述层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个可能输出值;以及通过所述softmax输出层处理所述层输出以产生用于所述网络输入的神经网络输出,包括:对所述预定有限集合中的每个可能输出值,确定所述可能输出值在所述多个层输出值中的出现次数;

对出现在所述多个层输出值中的每个可能输出值,确定所述可能输出值的相应的求幂度量;

通过根据相应的可能输出值的相应的出现次数来组合所有所确定的求幂度量,确定用于所述层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于所述层输出值的相应的求幂度量和所述归一化因子,确定softmax概率值。

2.如权利要求1所述的方法,其中,获得所述层输出包括:

从执行所述一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值;

获得定义从所述多个初始层输出值到所述多个层输出值的映射的映射数据;以及对每个初始层输出值,基于所述映射数据确定相应的层输出值。

3.如权利要求2所述的方法,其中,所述映射数据指定用于缩放所述多个初始层输出值中的每一个以产生所述多个层输出值的缩放因子。

4.如权利要求1所述的方法,其中,所述层输出由处理设备生成,所述处理设备使用量化运算执行由所述一个或多个初始神经网络层指定的计算。

5.如权利要求1所述的方法,其中,所述层输出由处理设备生成,所述处理设备使用定点运算执行由所述一个或多个初始神经网络层指定的计算。

6.如权利要求1所述的方法,其中,所述可能输出值的预定有限集合中的每一个可能输出值映射到整数数据类型的相应值。

7.如权利要求1所述的方法,进一步包括:

通过将一个或多个浮点值转换为定点值来生成所述网络输入。

8.如权利要求1所述的方法,其中,确定所述可能输出值的相应的求幂度量包括:通过每个相应的可能输出值的乘积求幂欧拉数。

9.如权利要求1所述的方法,其中,通过将每个相应的求幂度量除以所述归一化因子来确定每个softmax概率值。

10.如权利要求1所述的方法,其中,所述可能输出值的预定有限集合中的每一个可能输出值是映射函数的输出。

11.如权利要求1所述的方法,其中,所述可能输出值的预定有限集合中的每一个可能输出值是压缩函数的输出。

12.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行用于通过神经网络处理网络输入的操作,所述神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,所述操作包括:获得通过所述一个或多个初始神经网络层处理所述网络输入产生的层输出,所述层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个可能输出值;以及通过所述softmax输出层处理所述层输出以产生用于所述网络输入的神经网络输出,包括:对所述预定有限集合中的每个可能输出值,确定所述可能输出值在所述多个层输出值中的出现次数;

对出现在所述多个层输出值中的每个可能输出值,确定所述可能输出值的相应的求幂度量;

通过根据相应的可能输出值的相应的出现次数来组合所有所确定的求幂度量,确定用于所述层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于所述层输出值的相应的求幂度量和所述归一化因子,确定softmax概率值。

13.如权利要求12所述的系统,其中,获得所述层输出包括:从执行所述一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值;

获得定义从所述多个初始层输出值到所述多个层输出值的映射的映射数据;以及对每个初始层输出值,基于所述映射数据确定相应的层输出值。

14.如权利要求12所述的系统,其中,所述层输出由处理设备生成,所述处理设备使用量化运算执行由所述一个或多个初始神经网络层指定的计算。

15.如权利要求12所述的系统,其中,所述层输出由处理设备生成,所述处理设备使用定点运算执行由所述一个或多个初始神经网络层指定的计算。

16.如权利要求12所述的系统,其中,所述可能输出值的预定有限集合中的每一个可能输出值映射到整数数据类型的相应值。

17.如权利要求12所述的系统,进一步包括:

通过将一个或多个浮点值转换为定点值来生成所述网络输入。

18.一种编码有指令的计算机可读存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行用于通过神经网络处理网络输入的操作,所述神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,所述操作包括:获得通过所述一个或多个初始神经网络层处理所述网络输入产生的层输出,所述层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个可能输出值;以及通过所述softmax输出层处理所述层输出以产生用于所述网络输入的神经网络输出,包括:对所述预定有限集合中的每个可能输出值,确定所述可能输出值在所述多个层输出值中的出现次数;

对出现在所述多个层输出值中的每个可能输出值,确定所述可能输出值的相应的求幂度量;

通过根据相应的可能输出值的相应的出现次数来组合所有所确定的求幂度量,确定用于所述层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于所述层输出值的相应的求幂度量和所述归一化因子,确定softmax概率值。

19.如权利要求18所述的计算机可读存储介质,其中,获得所述层输出包括:从执行所述一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值;

获得定义从所述多个初始层输出值到所述多个层输出值的映射的映射数据;以及对每个初始层输出值,基于所述映射数据确定相应的层输出值。

20.如权利要求18所述的计算机可读存储介质,其中,所述层输出由处理设备生成,所述处理设备使用量化运算执行由所述一个或多个初始神经网络层指定的计算。

说明书全文

生成用于神经网络输出层的输出

技术领域

[0001] 本说明书涉及生成用于神经网络输出层的输出。

背景技术

[0002] 神经网络是采用非线性单元的一层或多层来预测针对接收的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的另一层,即下一隐藏层或输出层的输入。网络的每一层根据相应的参数集的当前值,从所接收的输入生成输出。

发明内容

[0003] 本说明书描述系统能够如何处理神经网络的输出。为此,系统确定在由神经网络的初始神经网络层生成的输出中可能输出值的有限集合的每个成员的出现次数。该系统通过对每个出现值确定相应的求幂度量,来对在初始神经网络层的输出中出现的每个值确定softmax层输出。
[0004] 通常,在本说明书中描述的主题的一个创新方面能被体现在通过神经网络处理网络输入的方法中,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,该方法包括如下动作:获得通过所述一个或多个初始神经网络层处理网络输入产生的层输出,该层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个;以及通过softmax输出层处理该层输出以产生用于该网络输入的神经网络输出,包括:对该预定有限集合中的每个可能输出值,确定该可能输出值在所述多个层输出值中的出现次数;对出现在所述多个层输出值中的每个可能输出值,确定该可能输出值的相应的求幂度量;通过根据各可能输出值的各出现次数来组合求幂度量,确定用于该层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于该层输出值的相应的求幂度量和该归一化因子,确定softmax概率值。
[0005] 该方面的其他实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,其分别被配置为执行这些方法的动作。一个或多个计算机的系统能被配置成借助于安装在系统上、用来使系统执行动作的软件、固件、硬件或其任意组合,执行特定的操作或动作。一个或多个计算机程序能被配置成借助于包括当由数据处理系统执行时,使装置执行动作的指令,执行特定操作或动作。
[0006] 上述和其他实施例能分别单独或组合地可选包括下述特征中的一个或多个。特别地,一个实施例组合地包括所有下述特征。
[0007] 在一些实施方式中,获得层输出包括:从执行所述一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值;获得定义从所述多个初始层输出值到所述多个层输出值的映射的映射数据;以及对每个初始层输出值,基于该映射数据确定层输出值。在这些实施例中的一些中,该映射数据指定用于缩放所述多个初始层输出值中的每一个以产生层输出值的缩放因子。
[0008] 在一些实施方式中,该层输出由处理设备生成,该处理设备使用量化运算执行由所述一个或多个初始神经网络层指定的计算。在一些实施方式中,该层输出由处理设备生成,该处理设备使用定点运算执行由所述一个或多个初始神经网络层指定的计算。
[0009] 在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值映射到整数数据类型的相应值。在一些实施方式中,该方法进一步包括通过将一个或多个浮点值转换为定点值来生成网络输入。在一些实施方式中,确定可能输出值的相应的求幂度量包括通过每个相应的可能输出值的乘积来求幂欧拉数。在一些实施方式中,通过将每个相应的求幂度量除以归一化因子来确定每个softmax概率值。
[0010] 在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值是映射函数的输出。在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值是压缩函数的输出。
[0011] 能实现在本说明书中所述的主题的特定实施例以便实现一个或多个下述优点。能减少确定神经网络的softmax输出层的输出的计算复杂度。在使用量化运算执行计算的处理系统中,能在其上执行操作的可能值的范围受值集合所映射至的可计数值的范围限制。本说明书中所述的主题的具体实施方式通过预计算用于出现在神经网络的输出中的可计数值的归一化值,利用该处理系统的性质,由此增加归一化神经网络的输出值的效率。在这些实施方式中,预计算用于计算归一化值所需的求幂度量的值能消除用于求幂运算的硬件或软件支持的需要。
[0012] 在附图和下述描述中,阐述本说明书的主题的一个或多个实施例的细节。从该描述、附图和权利要求,该主题的其他特征、方面和优点将是显而易见的。

附图说明

[0013] 图1示出示例性神经网络处理系统。
[0014] 图2是用于从层输出生成网络输出的示例性过程的流程图。
[0015] 图3是用于将初始层输出值映射到层输出值的示例性过程的流程图。
[0016] 不同图中的相同的参考数字和标记表示相同的元件。

具体实施方式

[0017] 图1示出示例性神经网络处理系统100。神经网络处理系统100是实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中,实现下文所述的系统、组件和技术。
[0018] 神经网络处理系统100包括神经网络101。神经网络101接收网络输入141并且处理该输入141以产生网络输出161。神经网络处理系统100能够将生成的网络输出161存储在输出数据存储库中或提供该网络输出,以用于一些其他直接目的,例如用于呈现在用户设备上或由另一系统进一步处理。
[0019] 神经网络101能够被配置为接收任何类型的数字数据输入并且基于该输入来生成任何类型的得分或分类输出。
[0020] 例如,如果对神经网络101的输入是图像或从图像中提取的特征,则由神经网络101对指定图像生成的输出可以是针对对象类别集的每一个的得分,每个得分表示图像包含属于该类别的对象的图像的估计可能性。
[0021] 作为另一示例,如果对神经网络101的输入是由因特网资源(例如网页)、文档或文档部分或从因特网资源、文档或文档部分提取的特征,则由神经网络101对指定因特网资源、文档或文档部分产生的输出可以是针对主题集的每一个的得分,每个得分表示因特网资源、文档或文档部分有关该主题的估计可能性。
[0022] 作为另一示例,如果对神经网络处理系统100的输入是用于特定广告的印象场境的特征,则由神经网络101生成的输出可以是表示特定广告将被点击的估计可能性的得分。
[0023] 作为另一示例,如果对神经网络101的输入是用于用户的个性化推荐的特征,例如表征推荐的场境的特征,例如表征用户采取的先前动作的特征,由神经网络产生的输出101可以是内容项目集的每一个的得分,其中,每个得分表示用户将有利地响应推荐内容项目的估计可能性。
[0024] 作为另一示例,如果对神经网络101的输入是一种语言的文本,则由神经网络101产生的输出可以是针对另一种语言的文本集的每一个的得分,每个得分表示该另一种语言的文本是输入文本到另一种语言的正确翻译的估计的可能性。
[0025] 作为另一示例,如果对神经网络101的输入是口语话语、口语话语序列或由两者中的一个导出的特征,则由神经网络101产生的输出可以是针对文本集的每一个的得分,每个得分表示该文本是用于话语或话语的序列的正确转录的估计可能性。
[0026] 特别地,神经网络101包括一个或多个初始神经网络层110和softmax输出层120。初始神经网络层110可以是前馈或递归神经网络的输入151和隐藏152和153。初始神经网络层110被配置为接收神经网络输入并且处理神经网络输入以产生初始层输出160。通常,初始层输出160是包括预定数量的层输出值,即,最终初始层被配置输出的值的数量的数值的向量或其他有序集合。
[0027] softmax输出层120被配置为接收初始层输出160,并且通过将softmax函数应用于层输出160,基于初始层输出160生成网络输出161。
[0028] 在一些实施方式中,神经网络处理系统100在初始层输出160由softmax输出层120处理之前,修改初始层输出160。特别地,在这些实施方式中,神经网络处理系统100通过使用映射数据,将每个初始层输出值映射到另一输出值,来修改层输出160。映射数据可以将初始层输出160中的每个值映射到不同的值,例如更复杂的值,或者包括在由softmax输出层120处理值之前应用于初始层输出160中的值的缩放因子。在下文中,参考图3,更详细地描述在由softmax输出层处理值之前映射初始层输出值。
[0029] 通常,softmax函数归一化层输出160,因此,网络输出161中的每个值是预定范围(例如,在0和1之间的实值的预定范围,包括0和1在内)内的值。softmax函数也能被称为归一化指数函数。
[0030] 特别地,神经网络处理系统100通过初始神经网络层110处理网络输入141,使得层输出160中的每个值,或在神经网络处理系统100修改层输出160中的值的实施方式中,每个修改的层输出值属于可能值的预定有限集合。在下文中,参考图2描述层输出160为何具有该特性的原因。
[0031] 因此,神经网络处理系统100能够通过计算预定范围内的每个可能值的计数,并且对于出现值仅计算求幂度量和归一化因子一次,以有效的方式通过softmax输出层120来处理层输出160。在下文中,参考图2,更详细地描述以这种方式对指定层输出160生成相应的网络输出161。
[0032] 图2是用于由层输出生成网络输出的示例性过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的神经网络处理系统,例如图1的神经网络处理系统100,可以执行过程200。
[0033] 系统通过一个或多个初始神经网络层,获得通过处理网络输入产生的层输出(210)。层输出包括预定数量的层输出,其中,每个层输出值是可能输出值的预定有限集合中的相应一个。可能输出值的预定有限集合是可以包括比在一段时间内提供给softmax函数的值的数量更少数量的值的值的有限集合。
[0034] 作为生成层输出的处理设备执行计算的方式的结果,层输出值可以仅包括来自有限集合的值。在一些实施方式中,层输出由处理设备产生,该处理设备以降低的精度,即,使用量化运算,执行由一个或多个初始神经网络层指定的计算。
[0035] 量化运算涉及由第二值集表示第一值集,其中第二集合包括比第一集合更少的值。例如,第一值集可以是实数类型的值,而第二集合可以是定点数据类型的值。定点数据类型由具有小数点后的固定位数的数表示实数,同样地,能限制每个存储的值的大小和能够被存储的可能值的范围。在使用量化运算的处理系统中,第一集合的值所映射到的第二值集可以包括可能值的预定有限集合。
[0036] 在一些实施方式中,可能输出值的有限集合包括具有有限位数的整数数据类型的值集合。如果系统生成8位有符号整数类型的层输出,则可能输出值的预定有限集合的示例包括被包含在区间[-128,127]中的整数,或如果系统生成8位无符号整数类型的层输出,则包括被包含在区间[0,255]中的整数。输出值的预定有限集合可以包括任何一个或多个数据类型的值。在示例性实施方式中,可能输出值的预定有限集合可以包括区间[0,100]中的整数、所有ASCII字符和下述实数:1.1、2.2、3.3、4.4、5.5、6.6、7.7、8.8和9.9。
[0037] 系统对预定有限集合中的每个可能输出值确定可能输出值在层输出值中的出现次数(220)。在示例性实施方式中,当可能输出值的预定集合包括范围[0,7]中的整数值时,系统计数这些整数值中的每一个在层输出值中的出现次数。例如,如果整数0在层输出值中出现五次,则系统确定count(0)=5。
[0038] 系统对在层输出值中至少出现一次的每个可能输出值确定求幂度量(230)。即,对作为预定有限集合中的可能输出值中的一个的每个x,如果层输出值中的x的计数为1或以上,则系统确定x的求幂度量。
[0039] 通常,系统通过求幂欧拉数(即,数e)可能输出值,或通过将可能输出值乘以另一值的结果,来确定指定可能输出值的相应的求幂度量。在一些实施方式中,系统通过计算e^X来确定每个相应的可能输出值的相应的求幂度量,其中X是相应的可能输出值。在一些其他实施方式中,系统通过计算e^(X/T)来确定每个相应的可能输出值的相应的求幂度量,其中X是相应的可能输出值,以及T是作为正的常量值的温度值。
[0040] 在一些实施方式中,系统对诸如A律映射函数、μ律映射函数或压缩函数的函数的输出执行求幂运算。
[0041] 在一些实施方式中,系统已经对每个可能输出值预先计算相应的求幂度量,并且访问相应的预计算值来确定可能输出值的求幂度量。
[0042] 该系统通过根据可能输出值的出现次数组合求幂度量来确定用于层输出的归一化因子(即,softmax函数的分母)(240)。在一些实施方式中,为了组合求幂度量,对预定有限集合的可能输出值的集合中其相应计数为1或以上的每个成员,系统将用于该成员的计数乘以用于该成员的求幂度量。然后,系统通过相加这些乘法的结果来生成归一化因子。
[0043] 系统从用于层输出值的相应的求幂度量和归一化因子确定每个层输出值的softmax概率值(250)。特别地,系统通过将用于层输出值的求幂度量除以归一化因子,确定用于指定层输出值的每个softmax概率值。
[0044] 在一些实施方式中,在网络输出中的每个softmax概率值表示满足相应条件的归一化可能性。
[0045] 例如,当神经网络生成用于对象类别的得分时,每个softmax概率值对应于不同的对象类别,并且表示图像包括属于该类别的对象的归一化可能性。
[0046] 作为另一示例,当神经网络生成用于因特网资源、文档或文档部分的主题的得分时,每个softmax概率值对应于不同的主题,并且表示因特网资源、文档或文档部分与主题有关的归一化可能性。
[0047] 作为另一示例,当神经网络生成表示广告被点击的估计可能性的得分时,每个softmax概率值表示特定广告将被点击的归一化可能性。
[0048] 图3是用于将初始层输出值映射到层输出值的示例300的流程图。为了方便,过程300将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的神经网络处理系统,例如图1的神经网络处理系统100能够执行过程300。
[0049] 该系统从执行用于一个或多个初始神经网络层的处理的处理系统接收初始层输出值(310)。初始层输出值是一个或多个初始神经网络层的未映射输出值。
[0050] 系统获得定义从初始层输出值到层输出值的映射的映射数据(320)。在示例性实施方式中,当可能输出值的预定集合包括在范围[0,7]中的整数值时,系统获得将0映射到π、将1映射到2π、将2映射到3π等的数据(即,对每个整数值x,系统将x映射到(x+1)*π)。在一些实施方式中,映射数据指定用于缩放每个初始层输出值以生成层输出值的缩放因子。缩放因子是将乘以初始层输出值以产生相应层输出值的数。
[0051] 系统基于映射数据确定用于每个初始层输出值的层输出值(330)。如果映射数据指定对应于初始层输出值的层输出值,则系统使用该指定值来确定层输出值。如果映射数据指定缩放因子,基于初始层输出值,由该缩放因子确定层输出值,则系统以缩放因子缩放初始层输出值来确定层输出值。
[0052] 能以数字电子电路、有形嵌入的计算机软件或固件、计算机硬件,包括在本说明书中公开的结构及它们的结构等效,或它们中的一个或多个的组合,实现在本说明书中所述的主题和操作的实施例。在本说明书中所述的主题的实施例能实现为一个或多个计算机程序,即,在用于由数据处理装置执行或控制其操作的有形非瞬时存储介质上编码的计算机程序指令的一个或多个模块。计算机存储介质能是机器可读存储设备、机器可读存储基片、随机或串行存取存储设备,或它们中的一个或多个的组合。替代或附加地,程序指令能被编码在人工生成的传播信号,例如,机器生成的电、光、电磁信号上,人工生成的传播信号被生成来编码用于传输到适当的接收机装置以用于由数据处理装置执行的信息。
[0053] 术语“数据处理装置”是指数据处理硬件并且包含用于处理数据的所有装置、设备和机器,举例来说,包括可编程处理器、计算机或多处理器或计算机。该装置能是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件外,该装置能可选地包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
[0054] 计算机程序(也称为或描述为程序、软件、软件应用、应用、模块、脚本或代码)能以任何形式的编程语言,包括汇编或解释语言、说明性或过程语言编写,并且能以任何形式配置,包括作为独立程序或作为模块、部件、子例程或适合于用在计算环境中的其他单元。程序可以但不必对应于文件系统中的文件。程序能存储在保留其他程序或数据,例如以标记语言文档存储的一个或多个脚本的文件的一部分中、专用于所述程序的单个文件中,或多个协同文件,例如存储一个或多个模块、子程序或代码的一部分的文件中。计算机程序能配置成在一个计算机上或位于一个站点或分布在多个站点并且由数据通信网络互联的多个计算机上执行。
[0055] 对一个或多个计算机的系统被配置为执行特定操作或动作是指该系统在其上安装软件、固件、硬件或其组合,操作中,使系统执行操作或动作。对一个或多个计算机程序被配置成执行特定操作或动作是指一个或多个程序包括当由数据处理装置执行时,使装置执行操作或动作。
[0056] 如在本说明书中所使用的,“引擎”或“软件引擎”是指软件实现的输入/输出系统,提供不同于输入的输出。引擎能是功能性的编码块,诸如库、平台、软件开发工具包(“SDK”)或对象。每一引擎能实现在任何适当类型的计算设备,例如服务器、移动电话、平板电脑、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话,或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备上。另外,两个或以上引擎可以实现在同一计算设备,或不同计算设备上。
[0057] 在本说明书中所述的过程和逻辑流能由执行一个或多个计算机程序的一个或多个可编程计算机执行来通过在输入数据上操作实现功能。过程和逻辑流还能由专用逻辑电路,例如FPGA或ASIC,或由专用逻辑电路和一个或多个编程计算机的组合执行。
[0058] 适合于执行计算机程序的计算机能基于通用和专用微处理器或两者,或任何其他类型中央处理单元。通常,中央处理单元将从只读存储器、随机存取存储器或两者接收指令和数据。计算机的主要元件是用于实现或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器能由专用逻辑电路补充或并入该专用逻辑电路。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁性、磁光盘,或光盘,或可操作地耦合来从其接收数据或向其传送数据或两者。然而,计算机不需要具有这些设备。此外,计算机能嵌入另一设备中,例如智能电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收机、或便携式存储设备,例如通用串行总线(USB)闪速驱动,仅举几例。
[0059] 适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括半导体存储设备,例如EPROM、EEPROM和闪存设备、磁盘,例如内部硬盘或可移动盘、磁光盘以及CD-ROM和DVD-ROM盘。
[0060] 为提供与用户交互,在本说明书中所述的主题的实施例能实现在具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器以及用户能向计算机提供输入的键盘和指示设备,例如鼠标、轨迹球或存在敏感显示器或其他表面的计算机上。其他类型的设备也能用来提供与用户交互;例如,提供给用户的反馈能是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈,以及能以任何形式接收来自用户的输入,包括声频、语音或触觉输入。此外,计算机能通过向由用户使用的设备发送文档并从其接收文档来与用户交互,例如响应从Web浏览器接收的请求,向用户设备上的Web浏览器发送网页。同时,计算机能通过将文本消息或其他形式的消息发送到个人设备,例如智能电话,运行消息应用和作为回应,从用户接收响应消息,与用户交互。
[0061] 能在包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用服务器,或包括前端组件,例如具有用户通过它来与本说明书中所述的主题的实现交互的图形用户界面、Web浏览器或应用的客户计算机,或一个或多个这种后端、中间件或前端组件的任意组合的计算机系统中实现本说明书中所述的主题的实施例。系统的组件能通过任何形式或媒介的数字数据通信,例如通信网络互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
[0062] 计算机系统能包括客户机和服务器。客户机和服务器通常彼此远离并且通常通过通信网络互连。客户机和服务器的关系根据在相应的计算机上运行并且具有客户机-服务器关系的计算机程序来产生。在一些实施方式中,服务器将例如HTML页的数据传送到用户设备,例如为了向与充当客户端的设备交互的用户显示数据以及从该用户接收用户输入的目的。能在服务器处从该设备接收在用户设备处产生的数据,例如,用户交互的结果。
[0063] 尽管本说明书包含许多具体实现细节,但这些不应当解释为限制任何发明或所要求的范围,而是可以专用于具体发明的特定实施例的特征的描述。在单一实施例中,能结合实现在单独的实施例的场境中,本说明书中所述的某些特征。相反,还能在单独的多个实施例中或在任何适当的子组合中,实现在单个实施例的场境中所述的各个特征。此外,尽管上文可以将特征描述为以某些组合运作并且甚至如本身所要求的,在一些情况下,能从组合删除来自所要求的组合的一个或多个特征,以及所要求的组合可以针对子组合和/或子组合的变形。
[0064] 类似地,尽管以特定顺序在图中图示操作,但这不应当理解为要求按所示的特定顺序或按顺序执行这些操作,或应执行所有所示操作来实现所需结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统模块和组件的分离不应当理解为所有实施例中均要求这些分离,并且应当理解到所述程序组件和系统通常一起集成在单一软件产品中或封装到多软件产品中。
[0065] 在下述示例中,概述另外的实施方式:
[0066] 示例1:一种通过神经网络处理网络输入的方法,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,该方法包括:获得通过一个或多个初始神经网络层处理网络输入产生的层输出,层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个;以及通过softmax输出层处理层输出以产生用于网络输入的神经网络输出,包括:对预定有限集合中的每个可能输出值,确定可能输出值在多个层输出值中的出现次数;对出现在多个层输出值中的每个可能输出值,确定可能输出值的相应的求幂度量;通过根据可能输出值的出现次数组合求幂度量,确定用于层输出的归一化因子;以及对多个层输出值的每一个,从用于层输出值的相应的求幂度量和归一化因子,确定softmax概率值。
[0067] 示例2:如示例1的方法,其中,获得层输出包括:从执行一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,多个初始层输出值是一个或多个初始神经网络层的未映射输出值;获得定义从多个初始层输出值到多个层输出值的映射的映射数据;以及对每个初始层输出值,基于映射数据确定层输出值。
[0068] 示例3:如示例2的方法,其中,映射数据指定用于缩放多个初始层输出值中的每一个以产生层输出值的缩放因子。
[0069] 示例4:如示例1至3中的一个的方法,其中,层输出由处理设备生成,处理设备使用量化运算执行由一个或多个初始神经网络层指定的计算。
[0070] 示例5:如示例1至3中的一个的方法,其中,层输出由处理设备生成,处理设备使用定点运算执行由一个或多个初始神经网络层指定的计算。
[0071] 示例6:如示例1至5中的一个的方法,其中,可能输出值的有限集合的每一个映射到整数数据类型的相应值。
[0072] 示例7:如示例1至6中的一个的方法,进一步包括:通过将一个或多个浮点值转换为定点值来生成网络输入。
[0073] 示例8:如示例1至7中的一个的方法,其中,确定可能输出值的相应的求幂度量包括:通过每个相应的可能输出值的乘积求幂欧拉数。
[0074] 示例9:如示例1至8中的一个的方法,其中,通过将每个相应的求幂度量除以归一化因子来确定每个softmax概率值。
[0075] 示例10:如示例1至9中的一个的方法,其中,可能输出值的有限集合中的每一个是映射函数的输出。
[0076] 示例11:如示例1至9中的一个的方法,其中,可能输出值的有限集合中的每一个是压缩函数的输出。
[0077] 示例12.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,指令当被一个或多个计算机执行时使一个或多个计算机执行用于通过神经网络处理网络输入的操作,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,所述操作包括:获得通过一个或多个初始神经网络层处理网络输入产生的层输出,层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个;以及通过softmax输出层处理层输出以产生用于网络输入的神经网络输出,包括:对预定有限集合中的每个可能输出值,确定可能输出值在多个层输出值中的出现次数;对出现在多个层输出值中的每个可能输出值,确定可能输出值的相应的求幂度量;通过根据可能输出值的出现次数组合求幂度量,确定用于层输出的归一化因子;以及对多个层输出值的每一个,从用于层输出值的相应的求幂度量和归一化因子,确定softmax概率值。
[0078] 示例13:如示例12的系统,其中,获得层输出包括:从执行一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,多个初始层输出值是一个或多个初始神经网络层的未映射输出值;获得定义从多个初始层输出值到多个层输出值的映射的映射数据;以及对每个初始层输出值,基于映射数据确定层输出值。
[0079] 示例14:如示例12或13的系统,其中,层输出由处理设备生成,处理设备使用量化运算执行由一个或多个初始神经网络层指定的计算。
[0080] 示例15:如示例12或13的系统,其中,层输出由处理设备生成,处理设备使用定点运算执行由一个或多个初始神经网络层指定的计算。
[0081] 示例16:如示例12至15中的一个的系统,其中,可能输出值的有限集合的每一个映射到整数数据类型的相应值。
[0082] 示例17:如示例12至16中的一个的系统,进一步包括:通过将一个或多个浮点值转换为定点值来生成网络输入。
[0083] 示例18.一种编码有指令的计算机存储介质,指令当由一个或多个计算机执行时,使一个或多个计算机执行用于通过神经网络处理网络输入的操作,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,操作包括:获得通过一个或多个初始神经网络层处理网络输入产生的层输出,层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个;以及通过softmax输出层处理层输出以产生用于网络输入的神经网络输出,包括:对预定有限集合中的每个可能输出值,确定可能输出值在多个层输出值中的出现次数;对出现在多个层输出值中的每个可能输出值,确定可能输出值的相应的求幂度量;通过根据可能输出值的出现次数组合求幂度量,确定用于层输出的归一化因子;以及对多个层输出值的每一个,从用于层输出值的相应的求幂度量和归一化因子,确定softmax概率值。
[0084] 示例19:如示例18的计算机存储介质,其中,获得层输出包括:从执行一个或多个初始神经网络层的处理的处理系统接收多个初始层输出值,多个初始层输出值是一个或多个初始神经网络层的未映射输出值;获得定义从多个初始层输出值到多个层输出值的映射的映射数据;以及对每个初始层输出值,基于映射数据确定层输出值。
[0085] 示例20:如示例18或19中的一个的计算机存储介质,其中,层输出由处理设备生成,处理设备使用量化运算执行由一个或多个初始神经网络层指定的计算。
[0086] 已经描述了主题的具体实施例。其他实施例在下述权利要求的范围内。例如,权利要求中所述的动作能以不同顺序执行并且仍然实现所需结果。例如,在附图中所示的过程不一定要求所示的特定顺序,或顺序地顺序来实现预期结果。在某些情况下,多任务和并行处理会有利。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用