System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
1、本说明书涉及使用神经网络来对网络输入执行机器学习任务。
2、神经网络是采用一个或多个非线性单元层来预测所接收的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应的参数集的当前值从所接收的输入生成输出。
技术实现思路
1、本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,该系统被配置为使用神经网络来处理网络输入并生成表征网络输入的网络输出。神经网络包括一个或多个网络块的序列,该一个或多个网络块各自被配置为处理包括网络输入或网络输入的中间表示的块输入并生成块输出。
2、例如,网络块的序列中的第一网络块可以处理网络输入以生成作为网络输入的中间表示的块输出。作为另一示例,嵌入子网络可以处理网络输入以生成网络输入的嵌入,这些嵌入被提供作为序列中的第一网络块的输入,该第一网络块处理嵌入以生成网络输入的中间表示。然后,每个后续网络块可以处理序列中的前一网络块的块输出。在一些实现方式中,神经网络的网络输出是序列中的最后一个网络块的块输出。在一些其他实现方式中,使用一个或多个输出神经网络层来进一步处理序列中的最后一个网络块的块输出以生成神经网络的网络输出。
3、网络块的序列可以包括一个或多个“专家”网络块。每个专家网络块包括多个不同的专家子网络,所述多个不同的专家子网络各自被配置为处理从专家网络块的块输入确定
4、与常规方法不同,专家网络块使用“子网络选择”或“专家选择”路由来将子输入路由到专家子网络,即,其中神经网络块针对每个专家子网络独立地选择块输入的元素集以供专家子网络处理。
5、可实现本说明书中所描述的主题的特定实施例,以便实现以下优点中的一者或多者。
6、通过利用包括被配置为各自处理网络块的输入的子集的多个专家子网络的网络块来实现神经网络,系统可以增加神经网络的容量,而不增加在推理时执行神经网络所需的计算资源。即,通过针对网络输入的每个元素仅选择性地激活神经网络的参数的子集,系统可以显著提高神经网络相对于具有相同数量的参数的其他神经网络的时间和计算效率。引入这种稀疏性可以允许神经网络包括比先前可行的网络参数多很多的网络参数,因为仅参数的子集用于处理任何给定的输入。
7、利用多个专家子网络实现神经网络块的一些现有系统使用“词元选择”路由,即,其中神经网络块针对块输入的每个元素独立地选择专家子网络集来处理元素。然而,这些现有系统可能遭受负载不平衡,其中一些专家子网络处理块输入的大部分或所有元素,而其他专家子网络处理块输入的极少数元素或根本不处理任何元素。这种负载不平衡可能导致次优训练,因为网络参数的一部分(对应于未充分利用的专家子网络)在训练期间没有接收到有意义的更新,并且因此没有学习以提取有用的信息。此外,使用词元选择路由的现有系统将相同量的计算资源专用于网络输入的每个元素,从而忽略不同元素的相对重要性,这可能进一步降低系统的计算效率。
8、使用本说明书中描述的技术,系统可以使用“子网络选择”或“专家选择”路由来实现具有多个专家子网络的神经网络块,即,其中神经网络块针对每个专家子网络独立地选择块输入的元素集以供专家子网络处理。子网络选择路由可以例如通过选择相同数量的k个元素以供每个专家子网络处理来确保网络块完全负载平衡。因此,训练神经网络的计算和时间效率可以得到显著提高,因为神经网络的所有参数接收到针对每个网络输入的有意义的更新。在一些实现方式中,与词元选择路由相比,使用子网络选择路由,神经网络训练系统可以将实现预定性能所需的时间和计算资源减少超过1/2。此外,子网络选择路由可以允许网络块更灵活地将计算资源分配给相应的元素,例如通过将相对重要的元素相对于相对较不重要的元素路由到更多专家子网络。
9、具体地,在其中系统在相应的不同装置上执行不同专家子网络的一些实现方式中,本说明书中描述的技术允许系统相对于现有技术(例如,相对于实现词元选择路由的系统)跨装置更有效地对神经网络的网络输入进行负载平衡。现有系统由于词元选择路由而遭受的较差的负载平衡可能损害推理性能(例如,由于降低计算和/或存储器效率,或者由于增加生成网络输出所需的时间量),这是因为执行不同专家子网络的不同装置可能具有显著不同的负载,并且因此一些装置可能未被充分利用,而其他装置可能过度工作。使用如本说明书中描述的子网络选择路由,可以在推理时“内置”完全负载平衡,系统可以跨多个装置享受显著提高的性能(例如,计算和/或存储器效率提高或生成网络输出所需的时间减少),因为多个装置各自具有类似或等同量的操作要执行。因此,相对于其他现有方法,所描述的方法通过针对分布式硬件实现方式进行优化而产生相对于常规方法可以以更高的吞吐量处理输入的系统。
10、在本说明书中描述的一些实现方式中,每个专家子网络可以通过训练被配置为处理不同类型的网络输入,从而允许专家子网络“专业化”并进一步提高神经网络的效率和性能。相对于“词元选择”路由,使用“子网络选择”路由可以进一步提高专家子网络的专业化,因为与每个专家子网络相对应的相应的路由子网络可以通过训练来学习选择特定类型的元素以供专家子网络处理。
11、在以下附图和说明书中阐述了本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将根据说明书、附图和权利要求书而变得显而易见。
本文档来自技高网...【技术保护点】
1.一种包括神经网络的系统,所述神经网络被配置为处理网络输入并针对所述网络输入生成网络输出,所述神经网络包括一个或多个网络块的序列,所述序列包括一个或多个专家网络块,所述一个或多个专家网络块被配置为执行操作,所述操作包括:
2.如权利要求1所述的系统,其中,每个专家子网络被配置为处理相同数量的子输入。
3.如权利要求2所述的系统,其中,由每个专家子网络处理的子输入的相同数量k等于:
4.如权利要求1至3中任一项所述的系统,其中,对于每个专家子网络,处理所述多个子输入以针对每个子输入生成相应的分数包括计算:
5.如权利要求4所述的系统,其中,对于每个专家子网络,根据所述相应的分数来选择所述子输入中的一者或多者包括计算:
6.如权利要求1至5中任一项所述的系统,其中,每个子输入最多由阈值数量b个不同的专家子网络来处理。
7.如权利要求6所述的系统,其中,对于每个专家子网络,根据所述相应的分数来选择所述子输入中的一者或多者包括:
8.如权利要求5或7中任一项所述的系统,其中,对于每个专家子网络i,使用所
9.如权利要求8所述的系统,其中,对于每个专家子网络i,使用所述专家子网络来处理每个选择的子输入以生成相应的子输出还包括将一个或多个偏差项添加到。
10.如权利要求8或9中任一项所述的系统,其中,对于所述多个子输入中的每一者,处理与所述子输入相对应的由相应的专家子网络生成的所述子输出以针对所述子输入生成组合子输出包括计算:
11.如权利要求1至10中任一项所述的系统,其中,对于所述多个子输入中的每一者,处理与所述子输入相对应的由相应的专家子网络生成的所述子输出以针对所述子输入生成组合子输出包括:
12.如权利要求1至11中任一项所述的系统,其中,所述多个专家子网络中的至少一些专家子网络的所述操作是并行执行的。
13.如权利要求1至12中任一项所述的系统,其中,所述多个专家子网络中的至少一些专家子网络的所述操作由相应的不同装置来执行。
14.一种方法,包括如权利要求1至13中任一项所述的操作。
15.一种或多种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行如权利要求1至13中任一项所述的操作。
...【技术特征摘要】
【国外来华专利技术】
1.一种包括神经网络的系统,所述神经网络被配置为处理网络输入并针对所述网络输入生成网络输出,所述神经网络包括一个或多个网络块的序列,所述序列包括一个或多个专家网络块,所述一个或多个专家网络块被配置为执行操作,所述操作包括:
2.如权利要求1所述的系统,其中,每个专家子网络被配置为处理相同数量的子输入。
3.如权利要求2所述的系统,其中,由每个专家子网络处理的子输入的相同数量k等于:
4.如权利要求1至3中任一项所述的系统,其中,对于每个专家子网络,处理所述多个子输入以针对每个子输入生成相应的分数包括计算:
5.如权利要求4所述的系统,其中,对于每个专家子网络,根据所述相应的分数来选择所述子输入中的一者或多者包括计算:
6.如权利要求1至5中任一项所述的系统,其中,每个子输入最多由阈值数量b个不同的专家子网络来处理。
7.如权利要求6所述的系统,其中,对于每个专家子网络,根据所述相应的分数来选择所述子输入中的一者或多者包括:
8.如权利要求5或7中任一项所述的系统,其中,对于每个专家子网络i,使用所述专家子网络来处理每个选择的子输入以生成相应的子输...
【专利技术属性】
技术研发人员:刘寒骁,国·V·勒,周彦祺,雷涛,赵宇哲,黄彦平,杜楠,陈智峰,安德鲁·M·戴,詹姆斯·劳东,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。