生成用于神经网络输出层的输出制造技术

技术编号:31739341 阅读:17 留言:0更新日期:2022-01-05 16:17
本公开涉及生成用于神经网络输出层的输出。系统、方法和装置,包括编码在计算机存储介质上的计算机程序,用于通过神经网络处理网络输入,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层。一方面,该方法包括获得由所述一个或多个初始神经网络层产生的层输出,以及通过softmax输出层处理该层输出以产生神经网络输出。通过softmax输出层处理该层输出包括为每个可能输出值确定在多个层输出值中的出现次数;对出现在所述多个层输出值中的每个可能输出值,确定相应的求幂度量;通过根据各可能输出值的各出现次数来组合求幂度量,确定用于该层输出的归一化因子;以及对于每个层输出值,确定softmax概率值。确定softmax概率值。确定softmax概率值。

【技术实现步骤摘要】
生成用于神经网络输出层的输出
[0001]分案说明
[0002]本申请属于申请日为2017年11月23日的中国专利技术专利申请201711183619.0的分案申请。


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

技术介绍

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

技术实现思路

[0005]本说明书描述系统能够如何处理神经网络的输出。为此,系统确定在由神经网络的初始神经网络层生成的输出中可能输出值的有限集合的每个成员的出现次数。该系统通过对每个出现值确定相应的求幂度量,来对在初始神经网络层的输出中出现的每个值确定softmax层输出。
[0006]通常,在本说明书中描述的主题的一个创新方面能被体现在通过神经网络处理网络输入的方法中,该神经网络具有后跟有softmax输出层的一个或多个初始神经网络层,该方法包括如下动作:获得通过所述一个或多个初始神经网络层处理网络输入产生的层输出,该层输出具有多个层输出值,以及每个层输出值是可能输出值的预定有限集合中的相应一个;以及通过softmax输出层处理该层输出以产生用于该网络输入的神经网络输出,包括:对该预定有限集合中的每个可能输出值,确定该可能输出值在所述多个层输出值中的出现次数;对出现在所述多个层输出值中的每个可能输出值,确定该可能输出值的相应的求幂度量;通过根据各可能输出值的各出现次数来组合求幂度量,确定用于该层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于该层输出值的相应的求幂度量和该归一化因子,确定softmax概率值。
[0007]该方面的其他实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,其分别被配置为执行这些方法的动作。一个或多个计算机的系统能被配置成借助于安装在系统上、用来使系统执行动作的软件、固件、硬件或其任意组合,执行特定的操作或动作。一个或多个计算机程序能被配置成借助于包括当由数据处理系统执行时,使装置执行动作的指令,执行特定操作或动作。
[0008]上述和其他实施例能分别单独或组合地可选包括下述特征中的一个或多个。特别地,一个实施例组合地包括所有下述特征。
[0009]在一些实施方式中,获得层输出包括:从执行所述一个或多个初始神经网络层的
处理的处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值;获得定义从所述多个初始层输出值到所述多个层输出值的映射的映射数据;以及对每个初始层输出值,基于该映射数据确定层输出值。在这些实施例中的一些中,该映射数据指定用于缩放所述多个初始层输出值中的每一个以产生层输出值的缩放因子。
[0010]在一些实施方式中,该层输出由处理设备生成,该处理设备使用量化运算执行由所述一个或多个初始神经网络层指定的计算。在一些实施方式中,该层输出由处理设备生成,该处理设备使用定点运算执行由所述一个或多个初始神经网络层指定的计算。
[0011]在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值映射到整数数据类型的相应值。在一些实施方式中,该方法进一步包括通过将一个或多个浮点值转换为定点值来生成网络输入。在一些实施方式中,确定可能输出值的相应的求幂度量包括通过每个相应的可能输出值的乘积来求幂欧拉数。在一些实施方式中,通过将每个相应的求幂度量除以归一化因子来确定每个softmax概率值。
[0012]在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值是映射函数的输出。在一些实施方式中,所述可能输出值的有限集合中的每一个可能输出值是压缩函数的输出。
[0013]能实现在本说明书中所述的主题的特定实施例以便实现一个或多个下述优点。能减少确定神经网络的softmax输出层的输出的计算复杂度。在使用量化运算执行计算的处理系统中,能在其上执行操作的可能值的范围受值集合所映射至的可计数值的范围限制。本说明书中所述的主题的具体实施方式通过预计算用于出现在神经网络的输出中的可计数值的归一化值,利用该处理系统的性质,由此增加归一化神经网络的输出值的效率。在这些实施方式中,预计算用于计算归一化值所需的求幂度量的值能消除用于求幂运算的硬件或软件支持的需要。
[0014]在附图和下述描述中,阐述本说明书的主题的一个或多个实施例的细节。从该描述、附图和权利要求,该主题的其他特征、方面和优点将是显而易见的。
附图说明
[0015]图1示出示例性神经网络处理系统。
[0016]图2是用于从层输出生成网络输出的示例性过程的流程图。
[0017]图3是用于将初始层输出值映射到层输出值的示例性过程的流程图。
[0018]不同图中的相同的参考数字和标记表示相同的元件。
具体实施方式
[0019]图1示出示例性神经网络处理系统100。神经网络处理系统100是实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中,实现下文所述的系统、组件和技术。
[0020]神经网络处理系统100包括神经网络101。神经网络101接收网络输入141并且处理该输入141以产生网络输出161。神经网络处理系统100能够将生成的网络输出161存储在输出数据存储库中或提供该网络输出,以用于一些其他直接目的,例如用于呈现在用户设备
上或由另一系统进一步处理。
[0021]神经网络101能够被配置为接收任何类型的数字数据输入并且基于该输入来生成任何类型的得分或分类输出。
[0022]例如,如果对神经网络101的输入是图像或从图像中提取的特征,则由神经网络101对指定图像生成的输出可以是针对对象类别集的每一个的得分,每个得分表示图像包含属于该类别的对象的图像的估计可能性。
[0023]作为另一示例,如果对神经网络101的输入是由因特网资源(例如网页)、文档或文档部分或从因特网资源、文档或文档部分提取的特征,则由神经网络101对指定因特网资源、文档或文档部分产生的输出可以是针对主题集的每一个的得分,每个得分表示因特网资源、文档或文档部分有关该主题的估计可能性。
[0024]作为另一示例,如果对神经网络处理系统100的输入是用于特定广告的印象场境的特征,则由神经网络101生成的输出可以是表示特定广告将被点击的估计可能性的得分。
[0025]作为另一示例,如果对神经网络101的输入是用于用户的个性化推荐的特征,例如表征推荐的场境的特征,例如表征用户采取的先前动作的特征,由神经网络产生的输出101可以是内容项目集的每一个的得分,其中,每个得分表示用户将有利地响应推荐内容项目的估计可能性。
[0026]作为另一示例,如果对神经网络101的输入是一种语言的文本,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过神经网络处理网络输入的方法,所述神经网络具有后跟有softmax输出层的一个或多个初始神经网络层以生成所述网络输入的神经网络输出,所述方法包括:获得通过所述一个或多个初始神经网络层处理所述网络输入生成的层输出,其中,所述初始神经网络层由处理系统实现,所述处理系统使用量化运算执行由所述一个或多个初始神经网络层指定的计算,使得由所述处理系统生成的输出值仅能够从值的预定有限集合中取值,并且其中:所述层输出具有多个层输出值,和每个层输出值是可能输出值的预定有限集合中的相应一个可能输出值;以及通过所述softmax输出层对所述层输出进行处理,以生成所述网络输入的所述神经网络输出,包括:对所述可能输出值的预定有限集合中的每个可能输出值,确定所述可能输出值在所述层输出中的所述多个层输出值当中的出现计数;对至少一次出现在所述多个层输出值中的每个可能输出值,确定所述可能输出值的相应的求幂度量;通过根据所述可能输出值的所述出现计数来组合所述求幂度量,确定用于所述层输出的归一化因子;以及对所述多个层输出值中的每一个层输出值,从用于所述层输出值的相应的求幂度量和用于所述层输出的所述归一化因子,确定softmax概率值。2.如权利要求1所述的方法,其中,获得所述层输出包括:从所述处理系统接收多个初始层输出值,所述多个初始层输出值是所述一个或多个初始神经网络层的未映射输出值,所述未映射输出值中的每一个是所述值的预定有限集合中的相应一个值;获得映射数据,所述映射数据定义从所述值的预定有限集合到所述可能层输出值的预定有限集合的映射;以及对每个初始层输出值,基于所述映射数据确定层输出值。3.如权利要求2所述的方法,其中,所述映射数据指定用于缩放所述多个初始层输出值中的每一个以生成所述层输出值的缩放因子。4.如权利要求1所述的方法,其中,所述可能输出值的有限集合中的每一个可能输出值映射到整数数据类型的相应值。5.如权利要求1所述的方法,其中,所述网络输入包括一个或多个浮点值,并且所述方法还包括:通过将所述一个或多个浮点值转换为定点值来从所述网络输入生成修改的网络输入;和将所述修改的网络输入作为输入提供给所述处理系统,以便由所述一个或多个初始浮点值进行处理。6.如权利要求1所述的方法,其中,确定所述可能输出值的相应的求幂度量包括:通过每个相应的可能输出值的乘积求幂欧拉数。7.如权利要求1所述的方法,其中,通过将每个相应的求幂度量除以所述归一化因子来确定每个softmax概率值。
8.如权利要求1所述的方法,其中,所述可能输出值的有限集合中的每一个可能输出值是映射函数的输出。9.如权利要求1所述的方法,其中,所述可能输出值的有限集合中的每一个可能输出值是压缩函数的输出。10.如权利要求1所述的方法,还包括在获得所述层输出之前:对所述可能输出值的预定有限集合中的每一个可能输出值,确定预先计算的求幂度量;和存储每个预先计算的求幂度量;并且其中,对出现在所述多个层输出值中的每一个可能输出值确定所述相应的求幂度量包括访问该可能的输出值的所存储的预先计算的求幂度量。11.一种包括一个或多个计算机和一个或多个存储设备的系统,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时,能够操作以使所述一个或多个计算机执行操作,以通过神经网络处理网络输入,所述神经网络具有后跟有softmax输出层的一个或多个初始神经网络层以生成所述网络输入的神经网络输出,所述操作包括:获得通过所述一个或多个初始神经网络层处理所述网络输入生成的层输出,其中,所述初始神经网络层由处理系统实现,所述处理系统...

【专利技术属性】
技术研发人员:雷吉纳尔德
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1