递归机器学习架构的正则化
1.相关申请的交叉引用
2.本技术要求于2018年12月11日提交的美国临时申请第62/778,277号的权益和优先权,该申请的全部内容通过引用并入本文。
背景技术:3.本发明一般涉及递归机器学习模型,更具体地涉及递归机器学习模型的正则化。
4.建模系统通常使用诸如递归神经网络(rnn)或长短期记忆模型(lstm)之类的递归机器学习模型,以生成顺序预测。递归机器学习模型被配置为基于针对当前预测的潜在状态来生成后续预测,有时结合实际输入的初始序列。当前潜在状态表示关于直到当前预测之前生成的预测的上下文信息,并且基于针对先前预测的潜在状态和当前预测的值而被生成。例如,顺序预测可以是词序列,并且递归机器学习模型可以基于表示关于实际词标记的初始序列的上下文信息的当前潜在状态和直到当前词标记之前生成的预测词标记来生成针对后续词标记的预测。
5.在结构上,递归机器学习模型包括与已训练参数集合相关联的一个或多个节点层。通过将递归机器学习模型迭代应用于已知观察序列并更新参数以减少观察序列中的损失函数来训练递归机器学习模型的参数。然而,随着模型的复杂性和大小的增加,参数常常难以训练,这可能会导致将模型过度拟合到数据集或丢失可能对生成预测有用的上下文信息。尽管正则化方法已被应用来降低模型复杂性,但训练递归机器学习模型以保留重要的上下文信息并控制对连续输入数据的敏感性仍然是一个具有挑战性的问题。
技术实现要素:6.建模系统通过确定潜在状态的先验分布和潜在分布来训练递归机器学习模型。模型的参数基于散度损失而被训练,该散度损失惩罚潜在分布和先验分布之间的显著偏差。鉴于当前观察的值和一个或多个先前观察的潜在状态,当前观察的潜在分布是潜在状态的分布。鉴于与当前观察的值无关的一个或多个先前观察的潜在状态,当前观察的先验分布是潜在状态的分布,并且表示在考虑任何输入证据之前关于潜在状态的置信度。
7.通过以这种方式训练递归模型,建模系统惩罚针对连续输入的潜在状态之间的显著变化。这可以防止模型的过度拟合并且防止可能对生成预测有用的重要长期上下文信息的丢失。建模系统可以鼓励更简单的潜在状态分布,其在连续潜在状态之间具有更平滑的转移,并且保留了附加的上下文信息。此外,由于更简单的潜在状态分布,利用散度损失训练递归机器学习模型还可以减少训练时间和复杂性,因为后续的潜在状态倾向于遵循先验分布,并且可以控制它在连续输入之间变化的程度。
8.在一个实施例中,递归机器学习模型的架构被公式化为包括编码器网络和译码器网络的自动编码器。编码器网络可以被布置为与参数集合相关联的一个或多个节点层。编码器网络接收当前预测和一个或多个先前潜在状态作为输入,并通过将参数集合应用于输入来生成当前潜在状态的潜在分布。译码器网络还可以被布置为与参数集合相关联的一个
或多个节点层。译码器网络接收从潜在分布所生成的一个或多个值,并通过将参数集合应用于这些值来生成后续预测。
9.建模系统使用已知的观察序列作为训练数据来训练递归机器学习模型的参数。每个序列可以表示有序观察集合,这些观察相对于空间或时间是顺序依赖的。在训练过程期间,建模系统迭代地将递归机器学习模型应用于观察序列,并训练模型的参数以减少损失函数。损失函数可以被确定为针对序列中的每个观察的损失的组合。特别地,当前观察的损失包括随着后续观察的预测可能性的降低而增加的预测损失,以及测量当前观察的潜在状态的先验分布和潜在分布之间的差异的散度损失。
附图说明
10.图1是根据实施例的用于建模系统的系统环境的高级框图。
11.图2图示出了根据实施例的用于递归机器学习模型的示例推理过程。
12.图3是根据实施例的建模系统的架构的框图。
13.图4图示出了根据实施例的用于递归机器学习模型的示例训练过程。
14.图5图示出了根据实施例的包括嵌入层的递归机器学习模型的示例架构。
15.图6图示出了根据实施例的用于训练递归机器学习模型的方法。
16.图7a到图7c图示出了根据实施例的示例递归机器学习模型与其他现有技术模型相比的性能结果。
17.附图仅出于说明的目的描绘了本发明的各种实施例。本领域的技术人员将从以下讨论中容易地认识到,在不脱离本文所描述的本发明的原理的情况下,可以采用本文所图示的结构和方法的替代实施例。
具体实施方式
18.图1是根据实施例的用于文档分析系统110的系统环境的高级框图。由图1所示的系统环境100包括一个或多个客户端设备116、网络120和建模系统110。在替代配置中,在系统环境100中可以包括不同的和/或附加的组件。
19.建模系统110是用于训练各种机器学习模型的系统。建模系统110可以向客户端设备116的用户提供经训练的模型,或者可以使用经训练的模型来执行针对各种任务的推理。在一个实施例中,建模系统110训练可以被用来生成顺序预测的递归机器学习模型。顺序预测是有序预测集合,其中序列中的预测可以依赖于关于空间或时间的先前或后续预测的值。例如,顺序预测可以是依赖于包括在先前句子或段落中的词标记的词标记序列。作为另一个示例,顺序预测可以是依赖于前几天的历史股票价格的股票价格的时间串。
20.递归机器学习模型接收当前预测并生成后续预测。特别地,从针对当前预测的潜在状态生成后续预测,有时与实际输入的初始序列相结合。当前潜在状态表示直到当前预测之前生成的预测的上下文信息。例如,当顺序预测是词序列时,递归机器学习模型可以基于表示关于实际词标记的初始序列的上下文信息的当前潜在状态和直到当前词标记之前生成的预测词标记来生成针对后续词标记的预测。可以基于针对一个或多个先前预测的一个或多个潜在状态和当前预测的值来生成当前潜在状态。
21.在一个实施例中,递归机器学习模型的架构被公式化为包括编码器网络和译码器
网络的自动编码器。编码器网络可以被布置为与经训练参数集合相关联的一个或多个节点层。用于编码器网络的参数可以包括输入参数集合和递归参数集合。输入参数集合沿节点层传播,而递归参数集合沿时间或空间的序列传播。编码器网络接收前一步的编码器网络层和当前预测,并生成针对当前潜在状态的潜在分布。鉴于针对一个或多个先前预测的潜在状态和当前预测,潜在分布是针对潜在状态的分布。译码器网络还可以被布置为与经训练参数集合相关联的一个或多个节点层。译码器网络接收从潜在分布生成的一个或多个值,并通过将参数集合应用于这些值来生成后续预测。
22.图2图示出了根据实施例的用于递归机器学习模型的示例推理过程。如图2中所示,递归机器学习模型包括与经训练输入参数集合和经训练递归参数集合γ相关联的编码器网络递归机器学习模型还包括与经训练参数集合θ相关联的译码器网络p
θ
(
·
)。图2中所示的示例是词标记的预测,并且标记“该(the)”的先前预测和标记“狐狸(fox)”的当前预测被生成。
23.在当前迭代t处的推理期间,输入参数集合被应用于沿编码器网络层的当前预测并且递归参数集合γ被应用于前一步t
‑
1处的编码器网络层以生成针对当前潜在状态z
t
的潜在分布因此,潜在状态z
t
可以包含关于直到当前预测之前生成的预测的上下文信息。在一种实例中,从由编码器网络所输出的一个或多个统计参数中确定潜在分布从潜在分布中生成一个或多个值v
t
,并且将译码器网络p
θ
(
·
)应用于值v
t
以生成后续预测在图2中所示的示例中,后续预测是词标记“跑(runs)”,它考虑了“该”和“狐狸”的先前预测,以及在当前预测之前或之后出现的许多其他词。在一种实例中,值v
t
是潜在分布的均值,或者基于来自潜在分布的一个或多个样本而被确定。然而,该值可以是其他统计参数,诸如分布的中位数。重复此过程,直到对序列进行了所有预测。
24.返回图1,可以使用已知观察序列作为训练数据来训练递归模型的参数。每个序列可以表示有序观察集合,这些有序观察相对于空间或时间是顺序依赖的,递归机器学习模型可以使用其来学习顺序相关性。在一个实例中,建模系统110可以依赖于递归机器学习模型所针对训练的任务来访问不同类型的训练数据。例如,当顺序预测是词标记时,建模系统110可以访问诸如包含词序列的文档和段落之类的训练数据。作为另一个示例,当顺序预测是未来股票价格时,建模系统110可以访问诸如历史股票价格之类的训练数据。
25.建模系统110可以通过在前向传递步骤和反向传播步骤之间进行迭代以减少损失函数来训练递归模型的参数。在前向传递步骤期间,建模系统110通过将编码器网络的估计参数应用于前一步的编码器网络层和当前观察来生成当前观察的估计潜在分布。建模系统110通过将译码器网络的估计参数应用于从潜在分布生成的值来生成后续观察的预测可能性。针对后续观察重复此过程。在反向传播步骤期间,建模系统110将损失函数确定为针对序列中的每个观察的损失的组合。当前观察的损失可以包括随着后续观察的预测可能性的降低而增加的预测损失。建模系统110通过从损失函数反向传播一个或多个误差项来更新
递归机器学习模型的参数。
26.然而,尤其是随着递归机器学习模型的复杂性和大小增加,递归机器学习模型的参数常常难以训练。特别地,递归机器学习模型容易过度拟合,并可能会导致丢失可能对生成未来预测有用的长期上下文信息。正则化方法可以被用来限制参数的幅值,从而降低模型复杂性。然而,由于难以应用有效的正则化方法,训练递归机器学习模型仍然是一个具有挑战性的问题。
27.在一个实施例中,建模系统110通过确定潜在状态的潜在分布和先验分布来训练递归机器学习模型。除了预测损失之外,还基于发散损失来训练模型的参数,该发散损失惩罚潜在分布和先验分布之间的显著偏差。鉴于与当前观察值无关的一个或多个先前观察的潜在状态,当前观察的先验分布是潜在状态的分布。与潜在分布不同,先验分布表示在考虑输入观察之前关于潜在状态的置信度。
28.在训练过程期间,建模系统110将递归机器学习模型迭代地应用于观察序列,并训练模型的参数以减少损失函数。损失函数可以被确定为针对序列中的每个观察的损失的组合。在一个实施例中,当前观察的损失包括随着后续观察的预测可能性的降低而增加的预测损失,以及测量当前观察的潜在状态的先验分布与潜在分布之间的差异的散度损失。训练过程的更详细描述将在下面结合图4和图5进行描述。
29.通过以这种方式训练递归模型,建模系统110惩罚针对连续输入的潜在状态之间的显著变化。这可以防止模型的过度拟合并且防止可能对生成预测有用的重要长期上下文信息的丢失。建模系统110可以鼓励更简单的潜在状态分布,其在连续潜在状态之间具有更平滑的转移,并且保留了附加的上下文信息。此外,由于更简单的潜在状态分布,利用散度损失训练递归机器学习模型还可以减少训练时间和复杂性,因为后续的潜在状态倾向于遵循先验分布并促进从先验分布中采样,并且可以控制它在连续输入之间变化的程度。
30.客户端设备116的用户是向建模系统130提供请求以基于各种感兴趣的任务来训练一个或多个递归机器学习模型的各种实体。用户还可以向建模系统130提供针对感兴趣任务而定制的模型的训练数据。客户端设备116接收经训练的模型,并使用模型来执行顺序预测。例如,客户端设备116可以与对生成用于语言合成的顺序词标记预测感兴趣的自然语言处理实体相关联。作为另一个示例,客户端设备116可以与对生成用于未来投资价格的连续预测感兴趣的金融实体相关联。作为又一个示例,客户端设备116可以与对鉴于给定患者的先前就诊历史而生成估计患者的未来医院就诊的顺序预测感兴趣的医院相关联。
31.建模系统
32.图3是根据实施例的建模系统110的架构的框图。由图3所示的建模系统110包括数据管理模块320、训练模块330和预测模块335。建模系统110还包括训练语料库360。在替代配置中,不同的和/或附加的组件可以被包括在建模系统110中。
33.数据管理模块320管理被用来训练递归机器学习模型的参数的训练数据的训练语料库360。训练数据包括相对于空间或时间是顺序依赖的已知观察序列。数据管理模块320尤其还可以将训练数据编码成数字形式以供递归机器学习模型处理。例如,对于词标记序列x1,x2,...,x
t
,数据管理模块320可以将每个词标记编码为表示从例如训练语料库360中的文档获得的词的词汇表的独热(one
‑
hot)编码向量,其中与词相对应的唯一元素具有非零值。例如,当训练语料库360的词的词汇表是集合{“向前(forward)”、“向后(backward)”、
“
左(left)”、“右(right)”}时,词“左”可以被编码为向量x=[0 0 0 1],其中与该词相对应的第四个元素具有唯一的非零值。
[0034]
训练模块330通过迭代地减少损失函数来训练递归机器学习模型的参数。针对训练序列中的每个观察的损失包括预测损失和散度损失,后者惩罚针对观察的先验分布和潜在分布之间的显著偏差。在一个实施例中,在训练过程期间,递归机器学习模型另外还包括一个转移网络,用于生成潜在状态的先验分布。转移网络可以被布置为与参数集合相关联的一个或多个节点层。转移网络接收从一个或多个先前观察的潜在分布生成的一个或多个值,并通过将参数集合应用于从一个或多个先前观察的潜在分布生成的一个或多个值来生成当前观察的先验分布。
[0035]
图4图示出了根据实施例的用于递归机器学习模型的示例训练过程。训练模块330在前向传递步骤和反向传播步骤之间进行迭代以训练递归机器学习模型的参数。如图4中所示,除了编码器网络和译码器网络p
θ
(
·
)之外,递归机器学习模型另外还包括与训练参数集合ψ相关联的转移网络g
ψ
(
·
)。除了序列中的其他词标记之外,训练序列还包括词标记x
t
‑
1“小(little)”和词标记x
t“星星(star)”。
[0036]
在前向传递步骤期间,训练模块330针对序列中的每个观察生成估计的潜在分布和对应的先验分布。训练模块330还针对序列中的每个观察生成后续观察的预测可能性。具体地,对于当前观察x
t
,训练模块330通过沿编码器网络的各层将输入参数集合应用于当前观察x
t
,并且将递归参数集合γ应用于先前步骤t
‑
1的编码器网络层,来生成估计的潜在分布训练模块330还通过将转移网络g
ψ
(
·
)应用于从先前观察的潜在分布生成的一个或多个值v
t
‑1来生成估计的先验分布g
ψ
(z
t
|z
t
‑1)。训练模块330还从当前潜在分布生成一个或多个值v
t
。
[0037]
训练模块330通过将译码器网络p
θ
(
·
)应用于值v
t
来生成后续观察p
θ
(x
t+1
|z
t
)的预测可能性。针对序列中剩余的后续观察重复此过程。在一个实例中,编码器网络被配置为接收单热编码令牌向量作为输入。在这种实例中,译码器网络可以被配置为生成输出向量,其中输出向量中的每个元素对应于观察该元素的对应标记的预测可能性。
[0038]
在前向传递步骤之后,训练模块330确定针对序列中的每个观察的损失。对于当前观察x
t
,损失包括随着后续观察p
θ
(x
t+1
|z
t
)的预测可能性降低而增加的预测损失,以及惩罚观察x
t
的先验分布g
ψ
(z
t
|z
t
‑1)和潜在分布之间的显著偏差的散度损失。在一个实施例中,当前观察x
t
的预测损失由下式给出:
[0039][0040]
它对在当前潜在分布上预测后续观察x
t+1
的可能性取期望。因此,等式(1)的预测损失可以通过对后续观察的预测可能性p
θ
(x
t+1
|z
t
)取期望来确定,通过将译码器网络p
θ
(
·
)应用于前向传递步骤中的值v
t
来生成该期望。在一个实施例中,当前观察x
t
的散度损失由下式给出:
[0041]
l
d
=kl(q
φ
(z
t
|x
t
,z
t
‑1)||g
ψ
(z
t
|z
t
‑1))
ꢀꢀꢀꢀ
(2)
[0042]
其中kl(
·
)标示当前观察x
t
的潜在分布和先验分布的kullback
‑
leibler散度。因此,等式(2)的散度损失测量了当前观察x
t
的潜在分布和先验分布之间的差异。
[0043]
训练模块330将损失函数确定为针对序列中的每个观察的损失的组合。在一个实例中,观察序列的损失函数由下式确定:
[0044][0045]
其中t标示序列中的观察的索引,并且λ、γ是控制对每项的贡献的超参数。在反向传播步骤期间,训练模块330通过反向传播一个或多个误差项以减少损失函数来更新编码器网络译码器网络p
θ
(
·
)和转移网络g
ψ
(
·
)的参数。因此,通过增加λ和γ之间的比率,递归机器学习模型的参数被训练为相对于散度损失减少预测损失,并且通过减小λ和γ之间的比率,参数被训练为相对于预测损失减少散度损失。
[0046]
以这种方式,编码器网络和译码器网络p
θ
(
·
)的参数被训练以使得被用来生成后续预测的当前预测的潜在分布不会显著偏离仅基于当前预测值的先前潜在状态。这允许更简单的潜在状态的表示,以及用于递归机器学习模型的更有效的训练过程。
[0047]
在一个实例中,当前观察x
t
的潜在分布q(z
t
|x
t
,z
t
‑1)和先验分布g
ψ
(z
t
|z
t
‑1)由概率分布的统计参数定义。在图4中所示的示例中,估计的潜在分布可以是由均值μ
t
和协方差矩阵∑
t
所定义的高斯分布。估计的先验分布g
ψ
(z
t
|z
t
‑1)可能是由均值和协方差矩阵所定义的高斯分布。在这种实例中,编码器网络的最后一层可以被配置为输出定义潜在分布的统计参数。转移网络g
ψ
(
·
)的最后一层也可以被配置为输出定义先验分布g
ψ
(z
t
|z
t
‑1)的统计参数。可替代地,训练模块330可以通过将转移网络g
ψ
(
·
)的估计参数集合应用于从先前潜在分布生成的值v
t
‑1并对这些值的输出求平均来确定先验分布的统计参数。
[0048]
当先验分布被建模为高斯概率分布时,当前观察x
t
的先验分布的统计参数可以通过下式来确定:
[0049][0050][0051]
其中wμ、b
μ
、w
σ
和b
σ
是转移网络g
ψ
(
·
)的参数集合。在另一个实例中,先验分布的统计参数可以通过下式确定:
[0052][0053][0054][0055]
其中w1、b1、w2、b2、w
μ
和b
μ
是转移网络g
ψ
(
·
)的参数集合。在另一个实例中,先验分布的统计参数可以通过下式确定:
[0056]
k
t
=sigmoid(w1·
v
t
‑1+b1)
[0057][0058][0059][0060]
其中w1、b1、w2、b2、w
μ
、b
μ
、w
σ
和b
σ
是转移网络g
ψ
(
·
)的参数集合。在另一个实例中,先验分布的统计参数可以通过下式确定:
[0061][0062][0063][0064][0065]
其中w1、b1、w2、b2、w3、b3、w4、b4、w
μ
、b
μ
、w
σ
和b
σ
是转移网络g
ψ
(
·
)的参数集合。符号标示矩阵乘法,而
⊙
标示逐元素乘法。softplus函数被定义为softplus(x)=ln(1+e
x
)。在一个实例中,转移网络g
ψ
(
·
)的复杂性从等式(4)增加到(7),并且训练模块330可以依赖于数据的复杂性来选择转移网络g
ψ
(
·
)的合适架构以进行训练。
[0066]
在一个实施例中,训练模块330用编码器网络来训练递归机器学习模型,该编码器网络包括嵌入层和放置在嵌入层之后的一系列隐藏层。通过将用于嵌入层的输入参数集合应用于输入向量来生成嵌入层。通过将对应的输入参数子集应用于前一个输出来生成每个隐藏层。在一个实例中,用于递归机器学习模型的递归参数集合被配置为使得用于通过将递归参数子集应用于在前一步t
‑
1处的特定隐藏层的值来生成当前步骤t的特定隐藏层。
[0067]
图5图示出了根据实施例的包括嵌入层的递归机器学习模型的示例架构。如图5中所示,编码器网络的架构包括作为第一层的嵌入层e和放置在嵌入层e之后的多个隐藏层h1,h2,...,h
l
。在图5中所示的示例中,通过将输入参数的子集应用于词标记的输入向量来生成用于步骤t的嵌入层e
t
。在训练过程期间,这可以是当前观察x
t
的输入向量,并且在推理过程期间,这可以是当前预测的输入向量。通过将输入参数的子集应用于前一个输出并将递归参数γ的子集应用于在前一步t
‑
1处的对应隐藏层的值来生成每个后续隐藏层h
t
。
[0068]
在训练过程完成之后,用于词标记的嵌入向量e被配置为表示词在潜在空间中的嵌入,以使得针对一个词标记的嵌入与针对共享相似含义或出现在相似上下文中的其他词标记的嵌入在距离上更靠近,并且与针对含义不同或出现在不同上下文中的其他词标记的嵌入在距离上更远,这由词嵌入模型(诸如word2vec)来确定。以这种方式,编码器网络的其余层可以处理具有更好上下文信息的词标记,并且可以帮助提高模型的预测准确度。
[0069]
返回图3,预测模块335接收请求以执行一个或多个任务从而使用经训练的递归机器学习模型来生成顺序预测。类似于图2的推理过程,预测模块335可以重复地应用编码器网络和译码器网络的参数集合以生成一个或多个顺序预测。在一个示例中,顺序预测是有
序词集合。在这样的示例中,基于表示先前词预测的上下文的当前预测的潜在状态来生成后续词预测。在另一个示例中,顺序预测是对访问模式的预测,诸如患者到医院的访问模式。在这样的示例中,基于表示患者先前访问模式的上下文的当前预测的潜在状态来生成后续访问预测。
[0070]
在一个实例中,当顺序预测是词或短语标记并且译码器网络被配置为生成概率的输出向量时,预测模块335可以通过选择输出向量中与最高可能性相关联的标记来确定当前预测。在另一个实例中,预测模块335可以基于由递归机器学习模型所生成的可能性来选择输出向量中满足替代标准的标记。
[0071]
图6图示出了根据实施例的用于训练递归机器学习模型的方法。建模系统110获得602已知观察序列。已知观察序列可以是有序数据集合,递归机器学习模型可以使用有序数据集合来学习相对于空间或时间的顺序依赖性。对于序列中的每个观察,建模系统110通过将编码器网络应用于当前观察以及编码器网络针对一个或多个先前观察的值来生成604当前观察的当前潜在分布。鉴于当前观察的值和一个或多个先前观察的潜在状态,当前观察的潜在分布表示当前观察的潜在状态的分布。建模系统110还通过将转移网络应用于从先前观察的先前潜在分布所生成的一个或多个先前观察的估计的潜在状态来生成606先验分布。鉴于与当前观察值无关的一个或多个先前观察的潜在状态,当前观察的先验分布表示当前观察的潜在状态的分布。
[0072]
建模系统110从当前潜在分布生成608当前观察的估计潜在状态。建模系统110通过将译码器网络应用于当前观察的估计潜在状态来生成610用于观察后续观察的预测可能性。建模系统110将当前观察的损失确定612为预测损失和散度损失的组合。预测损失随着后续观察的预测可能性的降低而增加。散度损失测量当前观察的潜在状态的先验分布和潜在分布之间的差异。建模系统110将损失函数确定614为针对序列中的每个观察的损失的组合,并且反向传播一个或多个误差项以更新编码器网络、译码器网络和转移网络的参数。
[0073]
示例递归模型的性能结果
[0074]
图7a到图7c图示出了本文所呈现的示例递归机器学习模型与其他现有技术模型相比的性能结果。具体而言,图7a到图7c中所示的结果分别在作为“penn treebank”(ptb)数据集和“wikitext
‑
2”(wt2)数据集的子集的训练数据集上训练本文所讨论的递归机器学习模型和其他模型。ptb数据集包含10,000个词汇表,其中训练数据集中有929,590个标记,验证数据集中有73,761个标记,并且测试数据集中有82,431个标记。wt2数据集包含33,278个词汇,其中训练数据集中有2,088,628个标记,验证数据集中有217,646个标记,并且测试数据集中有245,569个标记。
[0075]
通过将模型应用于作为不与训练数据重叠的相同数据集的子集的测试数据,并比较测试数据中由模型所生成的迭代的预测词标记等于测试数据中的已知词标记的词标记比例,来确定每个模型的性能。在语言处理上下文中测量模型性能的一个度量是困惑度。困惑度指示模型预测数据集中的样本的程度。低困惑度可以指示该模型擅长生成准确的预测。
[0076]
图7a图示出了ptb数据集的困惑度。图7b图示出了wt2数据集的困惑度。除了其他类型的模型之外,“lstm”模型是一个基本两层lstm架构,具有大小为200的嵌入层、大小为400的隐藏层和大小为200的输出层。“lstm
‑
tie”模型是在架构上与lstm模型相似,不同之
处在于嵌入层的参数与输出层的参数关联。“awd
‑
lstm
‑
mos”模型是语言处理中最先进的mixture
‑
of
‑
softmaxes模型。“lstm+latentshift”模型是使用本文所描述的转移网络通过正则化过程修改的lstm模型。lstm+latentshift模型的输出层被加倍以合并由编码器网络输出的统计参数。类似地,“lstm
‑
tie+latentshift”模型是使用转移网络通过正则化过程修改的lstm
‑
tie模型,“awd
‑
lstm
‑
mos+latentshift”模型是使用转移网络通过正则化过程修改的awd
‑
lstm
‑
mos模型,其中潜在状态的大小与mos模型中的输出层的大小匹配。
[0077]
如图7a
‑
图7b中所指示的,使用本文所描述的正则化过程训练的递归机器学习模型始终优于其他最先进的递归模型,相对增益多于10%。特别地,虽然awd
‑
lstm
‑
mos模型是具有许多超参数的模型,但正则化过程能够在不更改默认超参数值的情况下改进该模型。
[0078]
图7c图示出了在ptb和wt2数据集上训练mos模型和mos+latentshift模型以达到收敛所需的时期数。如图7c中所指示的,mos+latentshift模型针对ptb数据集的收敛速度快了近3倍,并且针对wt2数据集的收敛速度快了近2倍。这是一个非常显著的加速,因为训练mos模型的计算要求很高,并且即使在多个gpu上也可能需要几天。性能结果表明,应用本文所描述的正则化过程可以减少用于训练递归机器学习模型的计算资源和复杂性,同时提高预测准确性。
[0079]
总结
[0080]
以上对本发明实施例的描述是为了说明的目的;它并不旨在详尽或将本发明限制为所公开的精确形式。相关领域的技术人员可以领会,根据上述公开内容,许多修改和变化是可能的。
[0081]
本说明书的某些部分根据对信息的操作的算法和符号表示来描述本发明的实施例。这些算法描述和表示通常被数据处理领域的技术人员用来将他们的工作的实质有效地传达给本领域的其他技术人员。尽管在功能上、计算上或逻辑上描述了这些操作,但是这些操作应被理解为通过计算机程序或等效电路、微代码等来实现。此外,在不失一般性的情况下,有时也证明将这些操作布置称为模块是方便的。所描述的操作及其相关联的模块可以以软件、固件、硬件或其任何组合来体现。
[0082]
本文所描述的任何步骤、操作或过程可以利用一个或多个硬件或软件模块单独执行或实现,或者与其他设备组合来执行或实现。在一个实施例中,软件模块利用计算机程序产品来实现,该计算机程序产品包括包含计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器执行以用于执行所描述的任何或所有步骤、操作或过程。
[0083]
本发明的实施例还可以涉及一种用于执行本文操作的装置。该装置可以为所需目的而专门构造,和/或它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以被存储在非瞬态的有形的计算机可读存储介质或者适合于存储电子指令的任何类型的介质中,其可以耦合到计算机系统总线。此外,本说明书中提及的任何计算系统可以包括单个处理器或者可以是采用多处理器设计以增加计算能力的架构。
[0084]
本发明的实施例还可以涉及通过本文所描述的计算过程产生的产品。这样的产品可以包括从计算过程产生的信息,其中信息被存储在非瞬态的有形的计算机可读存储介质上并且可以包括计算机程序产品或本文所描述的其他数据组合的任何实施例。
[0085]
最后,说明书中使用的语言主要是为了可读性和指导性目的而选择的,并且并未
被选择来刻画或限制本发明的主题。因此,本发明的范围旨在不受该详细描述的限制,而是由基于本文的申请中所发布的任何权利要求限制。因此,本发明实施例的公开内容旨在说明而非限制在以下权利要求中阐述的本发明的范围。