Kronecker Recurrent Units

Cijo Jose Idiap Research Institute & EPFL cijo.jose@idiap.ch Moustapha Cissé Facebook AI Research moustaphacisse@fb.com François Fleuret Idiap Research Institute & EPFL francois.fleuret@idiap.ch


摘要

我们的工作解决了递归神经网络的两个重要问题:(1)它们过度参数化,
(2) 递归矩阵是病态的。前者增加了学习的样本复杂性和培训时间。后者导致消失和梯度爆炸问题。

我们提出了一种名为Kronecker Recurrent Units(KRU)的灵活递归神经网络模型.KRU通过Kronecker因式递归矩阵实现了RNN中的参数效率。它通过对因子实施软单一约束来克服递归矩阵的病态条件。由于因子的维数很小,维持这些约束在计算上是有效的。我们对五个标准数据集的实验结果表明,与现有的复发模型相比,KRU可以将循环权重矩阵中的参数数量减少三个数量级,而无需交换统计性能。

这些结果特别表明,尽管具有高维度的复现空间是有利的,但是模型的循环部分的容量可以显着降低。

1 引言

深度神经网络已经在计算机视觉,语言分析和自然语言处理方面的广泛问题中定义了最先进的技术(Krizhevsky et al. [2012],Hinton et al. [2012],Mikolov [2012])。但是,这些模型从两个问题中解决了。 (1)它们过度参数化;因此,培训和推理需要很长时间。 (2)学习深度模型很困难,因为参数化模型的矩阵条件较差。这些困难与递归神经网络特别相关。实际上,RNN中不同参数的数量随着隐藏状态的大小的平方而增长,与享受权重共享的卷积网络相反。此外,复发矩阵的不良调节导致梯度在时间范围内以指数方式快速爆炸或消失。这个问题阻止了RNN捕获长期依赖性(Hochreiter [1991],Bengio et al. [1994])。

存在大量关于神经网络中的过度参数化的文献。 LeCun [1990] 等人首先研究了这个问题,并提出通过利用二阶信息去除神经网络中不重要的权重。接下来的几种技术包括低秩分解Denil等[2013],培训一个由预先训练好的网络Ba和Caruana [2014]预测的软目标的小型网络,低位精度训练Courbariaux等。 [2014],hashing Chen等 [2015]。这些技术主要针对前馈全连接网络。一个值得注意的例外是deep fried convnets Yang等[2015]它明确地参数化了一个计算上便宜的数据网络中的完全连接的层和参数高效的结构化线性算子,Fastfood变换Le等[2013]。很少有研究关注循环网络的特殊情况Arjovsky等[2016]。

消失和爆炸梯度的问题也得到了广泛的关注。Hochreiter和Schmidhuber[1997]在长短期记忆网络(LSTMs)的开创性工作中提出了一种有效的门控机制。随后,该技术被其它模型所采用,如用于循环神经网络和前馈神经网络的Chung等人[2015]的门控循环单元(GRU)和Srivastava 等人[2015]的公路网络。其他流行的策略包括Pascanu等人[2013]的梯度裁剪和 Le等人[2015]的递归权的正交初始化。最近,ARJOVSKY等人[2016]提出了使用酉递归权矩阵的方法。使用保范酉映射防止梯度爆炸或消失,从而有助于捕捉长期的依赖关系。结果模型称为酉演化RNN(ueRNN),因为它只研究一般酉矩阵的一个小子集,所以计算效率很高。不幸的是,由于ueRNNs只能跨越酉矩阵的一个简化子集,其表达能力是有限的Wisdom等人[2016].Wisdom等人提出[2016]提出全容量酉RNN (fuRNN) 用全维酉矩阵参数化递归矩阵来克服这个问题,从而牺牲了计算效率。事实上,在随机优化的每一步中,fuRNN需要计算代价高昂的投影步骤,它需要 O(n3) O ( n 3 ) O(n^3)时间( n n n是隐藏状态的大小),以保持对递归矩阵的酉约束。虽然用严格酉线性算子参数化递归重矩阵的思想是有吸引力的,但它存在几个问题:(1)严格的酉约束严重限制了模型的搜索空间,从而使学习过程不稳定。(2)严格的酉约束使得遗忘不相关信息变得困难。虽然这对于不消失的长期影响的问题可能不是一个问题,但是当处理那些已经消失了长期影响的现实世界问题时,它会导致失败。HANAFF等人[2016]以前曾指出,严格的酉模型在某些综合问题上的良好性能是因为它利用了这些数据集中偏向于酉递归映射的偏差,并且这些模型可能不能很好地推广到真实世界的数据集。

我们的动机是解决上面所提到的在递归网络中存在的问题。我们提出了一个新的模型称为克罗内克积回归单位(KRU)。KRU的核心是使用克罗内克因子递归矩阵,它提供了一种优雅的方法来调整参数的数量以解决当前的问题。这种分解使我们能够精细地调整n×n矩阵所需的参数的数目,从使用2×2" role="presentation" style="position: relative;">2×22×22 \times 2的因子时的 O(logn) O ( log ⁡ n ) O(\log n )到使用矩阵的大小的单一因子时的 O(n2) O ( n 2 ) O(n^2)。我们通过软酉约束来解决消失和爆炸梯度问题。由于Kronecker矩阵的特性Van Loan[2000],这个约束可以有效地实施。我们在5个标准数据集上的实验结果表明,KRU可以大幅度地减少参数的数量(因此减少了训练和推理时间),而且不影响统计的性能。在这项工作中,我们的核心贡献是一个灵活的、参数有效的、有表现力的递归神经网络模型,它对消失和爆炸梯度问题具有鲁棒性。

本文的组织结构如下:在第二节中,我们重新阐述了RNN的形式主义,并详细阐述了KRU的核心动机。在第3节中,我们介绍了克罗内克递归单位(KRU)。我们在第4节和第5节总结了我们的实验结果。

表1:符号


d,n,m d , n , m d,n,m 输入、隐藏和输出维度
xt∈Rd x t ∈ R d x_t \in R^d 或者 Cd C d C^d , ht∈Cd h t ∈ C d h_t \in C^d 在时间 t t t时输入和隐藏的状态
yt∈Rm" role="presentation" style="position: relative;">yt∈Rmyt∈Rmy_t \in R^m 或者 Cm C m C^m, yt^∈Rm y t ^ ∈ R m \hat{y_t} \in R^m 或者 Cm C m C^m 在时间t时的预测目标和RNN预测
U∈Cn×d U ∈ C n × d U \in C^{n \times d}, W∈Cn×n W ∈ C n × n W \in C^{n \times n}, V∈Cm×n V ∈ C m × n V \in C^{m \times n} 输入,递归和输出权重矩阵
b∈Rn b ∈ R n b \in R^n 或者 Cn C n C^n, c∈Rm c ∈ R m c \in R^m 或者 Cm C m C^m 隐藏和输出偏差
σ(.) σ ( . ) \sigma (.), L(y^,y) L ( y ^ , y ) L(\hat y, y) 点非线性激活函数与损失函数


2 递归神经网络形式主义

表1总结了我们在论文中使用的一些符号。 我们认为这个领域很复杂
而不是实数。 我们将在本节后面激励复杂数字的选择。
考虑一个标准的递归神经网络Elman [1990]。 给定一个T输入向量序列:
x0,x1,...,xT−1 x 0 , x 1 , . . . , x T − 1 x_0,x_1,...,x_{T-1},在时间步骤t RNN执行以下操作:

ht=σ(Wht−1+Uxt+b) h t = σ ( W h t − 1 + U x t + b )

h_t = \sigma(Wh_{t-1}+Ux_t+b)

y^t=Vht+c y ^ t = V h t + c

\hat{y}_t = Vh_t + c,
其中 y^t y ^ t \hat{y}_t是时间步长t的预测值。

2.1过参数化和计算效率

RNN中的参数总数为 c(dn+n2+n+m+nm) c ( d n + n 2 + n + m + n m ) c(dn + n^2 + n + m + nm),其中 c c c为1和2时分别对应实数和复数的参数化。 我们可以看到,参数的数量随隐藏维度的二次方增加,即O(n2)" role="presentation" style="position: relative;">O(n2)O(n2)O(n^2)。 我们在实验中显示这个二次方增长对于许多实际问题来说是过度参数化的。 此外,它对RNN的计算效率有直接的影响,因为 Wht−1 W h t − 1 Wh_{t-1}的计算需要 O(n2) O ( n 2 ) O(n^2) 时间且它递归地依赖于以前的隐态。 但是,其他组件 Uxt U x t Ux_t Vht V h t Vh_t通常可以通过对每个组件进行一次矩阵的乘法来有效地计算。也就是说,我们可以执行 U[x0,...,xT] U [ x 0 , . . . , x T ] U [x_0,...,x_T]和 V[h0,...,hT−1] V [ h 0 , . . . , h T − 1 ] V [h_0,...,h_{T -1}],这是对现代BLAS库的高效使用。 总的来说,如果我们可以控制回归矩阵 W W W中的参数个数,那么我们就可以控制计算效率。

2.2差的条件意味着梯度爆炸或消失

梯度消失和爆炸问题是指随着时间步长T增加,损失L(.)" role="presentation" style="position: relative;">L(.)L(.)L(.)的偏微分方程相对于隐态 ht h t h_t,即 ∂L∂ht ∂ L ∂ h t \frac{\partial L}{\partial h_t}的衰变或增长(Arjovsky等人[2016])。 通过应用链式法则,可以得到以下内容:(Arjovsky et al。[2016]):

||∂L∂ht||≤||W||T−t(3) | | ∂ L ∂ h t | | ≤ | | W | | T − t ( 3 )

||\frac{\partial L}{\partial h_t}|| \leq {||W||}^{T-t}\qquad\qquad (3)
从公式3明显可知,如果W的特征值的绝对值偏离1那么 ∂L∂ht ∂ L ∂ h t \frac{\partial L}{\partial h_t}可能相对于 T−t T − t T - t指数级别地爆炸或消失。 所以一个防止消梯度失和爆炸的策略就是控制 W W W的谱特征。

2.3为何用复数域

虽然Arjovsky和Wisdom等人使用复值网络并对递归矩阵进行单一的限制,这种模型的动机不明确。 这里我们给选择复值递归网络一个简单但具有说服力的理由。酋矩阵的行列式的绝对值为1。因此,在实空间中,所有酋(正交)矩阵都具有1或-1的行列式,相应地即所有旋转和反射的集合。 由于行列式是连续函数,所以在实空间中的单位集合是不连通的。 因此,对于实值网络,我们不能通过使用标准的连续优化程序来生成酋矩阵的整个集合。 相反,酉矩阵的集合在复空间是连通的,因为它的行列式是单位圆上的点,我们不会有这个问题。

3 克罗内克回归单元(KRU)

我们考虑参数化复发性矩阵W的克罗内克积为k" role="presentation" style="position: relative;">kkk个矩阵 W0,…,Wk−1 W 0 , … , W k − 1 W_0,…,W_{k−1}

W=W1⊗⋅⋅⋅⊗Wk=⊗ki=1wi。(4) W = W 1 ⊗ · · · ⊗ W k = ⊗ i = 1 k w i 。 ( 4 )

\qquad\qquad W = W_1⊗···⊗W_k=⊗{^k_{i = 1}} w_i。\qquad\qquad\qquad(4)
其中每个 Wi∈Cpi×qi W i ∈ C p i × q i W_i∈C^{p_i×q_i}且 ∏ki=0pi=∏ki=0qi=n。Wi′s ∏ i = 0 k p i = ∏ i = 0 k q i = n 。 W i ′ s \prod{^k_{i=0}}p_i = \prod{^k_{i=0}}q_i = n。Wi's被称为克罗内克因素。为了说明矩阵的克罗内克积,让我们考虑简单情况下当 ∀ipi=qi=2 ∀ i p i = q i = 2 ∀_i{p_i=q_i= 2 }。这意味着 k=log2n k = l o g 2 n k = log_2n。W递归定义如下:

W=⊗log2ni=1Wi=[w1(1,1)w1(2,1)w1(1,2)w1(2,2)]⊗log2ni=2Wi, (5)=[w1(1,1)W2w1(2,1)W2w1(1,2)W2w1(2,2)W2]⊗log2ni=3Wi。(6) W = ⊗ i = 1 l o g 2 n W i = [ w 1 ( 1 , 1 ) w 1 ( 1 , 2 ) w 1 ( 2 , 1 ) w 1 ( 2 , 2 ) ] ⊗ i = 2 l o g 2 n W i , ( 5 ) = [ w 1 ( 1 , 1 ) W 2 w 1 ( 1 , 2 ) W 2 w 1 ( 2 , 1 ) W 2 w 1 ( 2 , 2 ) W 2 ] ⊗ i = 3 l o g 2 n W i 。 ( 6 )

W =⊗{^{log{_2}n}_{i = 1}} W_i =\begin{bmatrix}\\ \\ \end{bmatrix}⊗{^{log_2n}_{i=2}}W_i,\qquad\qquad\ (5) \qquad\qquad\qquad= \begin{bmatrix}\\ \\ \end{bmatrix}⊗{^{log_2n}_{i=3}}W_i。\quad(6)
当 ∀i{pi=qi=2} ∀ i { p i = q i = 2 } ∀_i\{p_i=q_i= 2 \}参数的数量是 8log2n 8 l o g 2 n 8 log_2 n且隐藏状态计算的时间复杂度是 O(nlog2n) O ( n l o g 2 n ) O(nlog_2 n)
当 ∀i{pi=qi=2} ∀ i { p i = q i = 2 } ∀_i\{p_i=q_i= 2 \},则 k=1 k = 1 k = 1,并且我们将恢复标准复杂的递归神经网络价值。我们可以通过选择因子的数量和每个因子的大小来实现遍及每个克罗内克的表征。换句话说,克罗内克因子的数量和每个因子的大小赋予我们对参数数量和计算效率的细粒度控制。这种策略允许我们设计模型,在计算预算和统计性能之间进行适当的权衡。所有现有的模型都缺乏这种灵活性。

3.1 软酉约束

弱条件作用会导致梯度消失或梯度爆炸。不幸的是,由严格的幺正集优化组成的标准解长期存在噪声的保留问题。确实,递归矩阵的小特征值可以代表一个真正消失的长期影响,在这个意义上,有好的或坏的消失梯度。因此,实施严格的单一约束(强迫网络永远不要忘记)可能是一个糟糕的策略。一个简单的解决方法是通过使用以下的正则化方法来实现两个世界的最佳化:

||WHiWi−I||2,∀i∈1,…k(7) | | W i H W i − I | | 2 , ∀ i ∈ 1 , … k ( 7 )

||W{^H_i}W_i − I||^2,∀i∈{ 1,…k }\qquad\qquad\qquad(7)
请注意,这些约束是在克罗内克积的每个因子上执行的。这个过程在计算上非常高效,因为每个因素的通常都很小。这样做就足够了,因为如果每个克罗内克因子 W1,…,Wk W 1 , … , W k {W1,…,Wk}为酉矩阵,则整个矩阵W也为酉矩阵Van Loan [2000] ,如果各因子都近似酉,则整个矩阵也近似为酉。

这种类型的正则化最近被用于实值模型。Cisse et al.[2017] 表明,对权矩阵施加近似正交约束,使网络对对抗性样本具有鲁棒性,提高了学习速度。在度规学习中,Jose和Fleuret[2016]表明,它更好地适用于投影矩阵,从而提高了随机梯度在大范围步长上的鲁棒性以及泛化性能。

4 实验

所有的模型都是用c++实现的。我们的库利用OpenBLAS和cuBLAS分别在CPU和GPU上进行快速矩阵操作。我们将发布我们的库以重现我们在本文中报告的所有结果。我们使用tanh作为RNN和LSTM的激活函数。鉴于ueRNN,fuRNN和我们的模型,KRU使用复杂的整流线型单元Arjovsky et al.[2016]。

4.1 复制记忆问题

复制记忆问题Hochreiter and Schmidhuber[1997]测试了此模型在长时间的间断之后重新调用序列的能力。在这个问题中,每个序列的长度为 T+20 T + 20 T+20并且序列中的每个元素来自于{0,……,9}这10个类。前10个元素是从{1,…,8}中使用替换策略均匀采样得到的。接下来 T−1 T − 1 T -1元素填充为0,“空白”类后跟9,“分隔符”和其余的10个元素为“空白”类别。该模型的目标是输出一个以 T+10 T + 10 T + 10个空白元素为开头,后跟输入序列前10个元素的序列。无记忆策略的预期平均交叉熵是 10log8T+20 10 l o g 8 T + 20 \frac{10log8}{T+20}。

我们的实验以Wisdom et al.[2016]为基础,反过来Wisdom et.al是在建立在Arjovsky et al.[2016]基础之上,但是T扩展到 1000 1000 1000和 2000 2000 2000。我们的模型KRU使用 128 128 128的隐藏维数n和2x2 Kronecker因子,总共对应于约5K参数。我们使用 n=128 n = 128 n = 128(≈19K参数)的RNN, n=128 n = 128 n = 128的LSTM(≈72K参数), n=470 n = 470 n = 470的ueRNN(≈21K参数), n=128 n = 128 n = 128的fuRNN(≈37K参数)。所有的基线模型的参数都是有意比KRU要多一些。以Wisdom et al.[2016],以及Arjovsky et al.[2016]为基础,我们选择训练和测试集大小分别为100K和10K。对于设置 T=1000 T = 1000 T = 1000和 T=2000 T = 2000 T = 2000,KRU比fuRNN更快地收敛到零平均交叉熵。所有其他基线都停留在无记忆交叉熵上。

图1:T = 1000和T = 2000时复制记忆问题的学习曲线

结果如图1所示。对于复制记忆问题,我们不学习KRU的循环矩阵,我们用随机酉矩阵初始化它,只是学习隐藏到输出矩阵的输入和偏差。我们发现这种策略已经比其他所有方法更快地解决了这个问题。在这种情况下,我们的模型类似于参数化回声状态网络(ESN)。众所周知,ESN能够在正确初始化Jaeger [2001]的情况下学习长期依赖性。我们认为这个数据集不是评估RNN捕获长期依赖关系的理想基准。只需对循环矩阵进行单一初始化即可解决问题。

4.2 添加问题

以Arjovsky et al.[2016]为基础,我们描述了添加问题Hochreiter and Schmidhuber [1997]。每个输入向量由两个长度为 T T T的序列组成。第一个序列从U[0,1]" role="presentation" style="position: relative;">U[0,1]U[0,1]U [0,1]中采样。在第二个序列中,有两个元素是1,有一个’标记’,剩下的是0。第一个1在序列的前半部分中随机均匀分布,第二个1随机均匀分布在另一半的序列。网络的目标是预测与第二序列中标记位置对应的第一序列的数字之和。

我们和Arjovsky et al. [2016]中的四种设置一样,T = 100,T = 200,T = 400,T = 750。对于这四种设置,KRU使用的隐藏尺寸N为512,且 Kronecker因子 2x2,其总共对应于大约3K参数。我们使用 n=128 n = 128 n = 128(≈17K参数)的RNN, n=128 n = 128 n = 128的LSTM(≈67K参数), n=512 n = 512 n = 512的ueRNN(≈7K参数), n=128 n = 128 n = 128的fuRNN(≈33K参数)。训练和测试集大小分别选择为100K和10K。所有模型均使用RMSprop进行训练,学习率为1e-3,衰减为0.9。 RNN,LSTM和KRU使用批量大小为20,ueRNN和fuRNN使用20或50的批量大小,这里将要展示一个最佳结果。

结果以图形2表示。即使参数少得多,KRU在所有四种设置上的收敛速度都快于所有其他基线。这说明了软单一约束的有效性,它通过很长的时间步长来控制梯度的流动,从而以自适应的方式决定忘记和记忆的内容。 LSTM也融合到解决方案中,这是通过控制机器和机器的流量来实现的。然而,LSTM的参数比KRU多十倍。 ueRNN和fuRNN都收敛于 T=100 T = 100 T = 100,但正如我们所观察到的,学习不稳定。其原因在于ueRNN和fuRNN试图记住包括无关信息在内的所有事物,因为这些模型的循环矩阵是严格单一的,因此无法学习正确的假设。请注意,我们不评估当 T=400 T = 400 T = 400和 T=750 T = 750 T = 750时ueRNN的效果,因为我们发现该模型的学习不稳定并且经常发生分歧。

4.3 通过MNIST逐像素对比

图2: T=100,T=200,T=400 T = 100 , T = 200 , T = 400 T = 100,T = 200,T = 400和 T=750 T = 750 T = 750的添加问题的结果。KRU的参数一直比所有设置的基线都要好。严格单一约束的模型(Arjovsky等人在2016年的《Unitary evolution recurrent neural networks》和Scott Wisdom等人在2016年的《Full-capacity unitary recurrent neural networks》)在遗忘真正消失的长期影响方面存在问题,因此随着T增加导致收敛不佳。 而KRU和LSTM通过自适应梯度控制机制在学习正确的假设方面没有困难。

如Le等人在2015年的《A simple way to initialize recurrent networks of rectified linear units》这篇论文中所述。我们评估像素MNIST任务。 MNIST数字以像素为单位向网络显示,目标是在逐个看到所有像素之后预测数字的类别。我们考虑两项任务:(1)像素从左到右从顶部或底部开始读取,(2)像素在向网络显示之前随机排列。 这些任务的序列长度为 T=28×28=784 T = 28 × 28 = 784 T = 28×28 = 784. MNIST训练集的大小为60K,其中我们选择5K作为验证集。模型在剩余的55K点进行训练。选择给出最佳验证准确度的模型用于测试集评估。 所有模型均使用RMSprop进行训练,学习率为1e-3,衰减率为0.9。

结果总结在表2和图3中。对于未经调整的任务,即使收敛速度很慢,LSTM也能实现最先进的性能。 在排序的MNIST任务中,KRU的参数数量远远少于其他基线模型,达到了94.5的性能水平。

表2:KRU在逐像素置换MNIST的同时实现了最先进的性能,同时比其他模型的参数少4个数量级。

模型 N #参数 未调整 调整
总计 复发 有效的准确性 测试准确性 有效的准确性 测试准确性
LSTM 128 ≈68K ≈65K 98.1 97.8 91.7 91.3
ueRNN 512 ≈16K ≈3.6K 97.9 97.5 94.2 93.3
fuRNN 512 ≈540K ≈524K 97.5 96.9 94.7 94.1
KRU 512 ≈12K 72 96.3 95.6 94.7 94.5
模型 N #参数 BPC合理性 BPC测试
总计 复发
RNN 300 ≈120K 90K 1.65 1.60
RNN 600 ≈420K 360K 1.56 1.51
LSTM 150 ≈127K 90K 1.63 1.59
fuRNN 256 ≈182K ≈131K 1.98 1.93
KRU 411 ≈120K ≈38K 1.65 1.60
KRU 512 ≈103K 72 1.75 170
KRU 2048 ≈409K 88 1.60 1.55

图3:随着学习的进行逐像素MNIST的验证准确性和排列的MNIST类别预测。

图4:在Penn TreeBank数据集上用于字符级语言建模的KRU和其他模型的BPC性能。 KRU在循环矩阵中的参数较少,显着降低了训练和推理时间。

4.4 Penn TreeBank(PTB)上的字符级语言建模

我们现在考虑Penn TreeBank数据集Marcus等人的字符级语言建模. [1993] 。Penn TreeBank由训练集中的5017K个字符,验证集中的393K个字符和测试集中的442个字符组成。词汇的规模限制在10K最频繁出现的单词以及其余的单词由一个特殊的\字符Mikolov [2012]替换。唯一字符在所述数据集的总数为50,其中包括特殊\字符。

所有的模型都经过了20个时期的培训,批量为50,并使用ADAM Kingma和Ba [2014]。我们使用1e-3的学习率,这是通过交叉验证发现得到的,默认测试参数为Kingma和Ba [2014]。如果在每个时期之后我们没有看到每个字符的验证位(BPC)有所改进,则将学习速率降低0.30。时间反向传播(BPTT)在此任务所展开的是30个时间帧。

我们在图4中展示我们的结果。 KRU在回归矩阵中使用更少的参数并且执行效果非常接近RNN和LSTM。请记住,RNN中的计算瓶颈是隐式状态2.1的计算,因此在递归矩阵中具有较少的参数可显着减少训练和推理时间。还要注意,KRU也直接适用于LSTM,这可以减少参数的数量,从而提高LSTM的计算效率。我们本次不评估KRU LSTM,主要为了在这项工作中不模糊信息,同时将它推迟作为未来的工作。我们观察到严格的单一模型—fuRNN,即使使用高容量的循环矩阵,其也不能像其他模型那样推广。

4.5 TIMIT上的帧级音素分类

框架式音素分类Graves和Schmidhuber[2005]是分类中一个对应于声音帧的音素的问题。我们在现实世界的TIMIT数据集–Garofolo et al. [1993]的基础上评估这个任务的模型。 TIMIT包含4620个话语训练集,其中我们使用184个作为验证集。测试集由1680个话语组成。我们从26个滤波器组中提取12个Mel频率倒谱系数(MFCC)(工作基于:Mermelstein [1976])以及每帧能量的对数。我们还把一阶导数联系起来,得到每帧26维的特征描述符。帧大小为10ms,同时窗口大小为25ms。

反向传播时间(BPTT)展开的时间步数对应于每个序列的长度。由于每个序列具有不同的长度,这意味着对于每个样本的BPTT步骤是不同的。所有模型都使用ADAM经过20个时期的训练,批量大小为1,并且ADAM使用默认的β参数(工作基于:Kingma和Ba [2014])。对于来自η∈{1e-2,1e-3,1e-4}的每个模型,学习率被交叉验证,并且在这里将展示最佳结果。所有模型中最佳学习率为1e-3。如果我们在每个时期之后没有观察到验证错误的减少,我们再次将学习速率降低γ∈{1e-1,2e-1,3e-1}因子,其再次被交叉验证。图5总结了我们的结果。

图5:在具有挑战性的TIMIT数据集–Garofalo et al.[1993]的复发权矩阵中,KRU比基线模型表现更好,参数少3个数量级。这显著降低了RNN的训练和推理时间。我们发现LSTM的训练在这个数据集上是不稳定的,并且即使在梯度限幅时也经常发散。对于LSTM,只要学习发散,我们会重新加载具有最佳验证性能的模型。LSTM的学习曲线在开始时更陡峭,但后来由于不稳定性而导致平稳。我们在KRU和其他型号上从未遇到这些问题。

5 结论

我们提出了一种新的递归神经网络模型,其核心是Kronecker因子
递归矩阵。该分解提供了对模型容量和计算对因子的规模的要求的良好控制。此外,它使我们能够有效地实施一个软单一制约束。

实验结果表明,我们的方法表现优于在循环矩阵中使用 O(n2) O ( n 2 ) O(n^2)参数的传统方法。也许同样重要的是,这些实验表明在玩具问题(§ 4.1和§4.2)和实际问题(§4.3,4.4和§4.5)上,具有竞争力或比现有方法更好的性能可以通过少于100个参数来实现,而现有方法要求递归矩阵中要有数以万计的参数。这令人惊讶的结果提供了一个新的和对理想的可用内存架构的反直觉观点:国家应该保持高维度允许使用高容量网络将输入编码为内部状态,并且提取预测值,但是,复发动态模型本身可以并且应该能由一个低容量模型实现。

从实际角度来看,正如我们所示,我们方法的核心思想不仅适用于普通的递归神经网络,还适用于各种机器学习模型,如LSTMs,前馈网络和随机预测。我们未来的工作包括探索其他机器学习模型,并在训练期间动态增加模型的容量以在计算效率和样本复杂性之间取得完美平衡。

参考文献

Martin Arjovsky, Amar Shah, and Yoshua Bengio. Unitary evolution recurrent neural networks. In International Conference on Machine Learning, pages 1120–1128, 2016.

Jimmy Ba and Rich Caruana. Do deep nets really need to be deep? In Advances in neural information processing systems, pages 2654–2662, 2014.

Yoshua Bengio, Patrice Simard, and Paolo Frasconi. Learning long-term dependencies with gradient descent isdifficult. IEEE transactions on neural networks, 5(2):157–166, 1994.

Wenlin Chen, James Wilson, Stephen Tyree, Kilian Weinberger, and Yixin Chen. Compressing neural networks with the hashing trick. In International Conference on Machine Learning, pages 2285–2294, 2015.

Junyoung Chung, Caglar Gülçehre, Kyunghyun Cho, and Yoshua Bengio. Gated feedback recurrent neural networks. In ICML, pages 2067–2075, 2015.

Moustapha Cisse, Piotr Bojanowski, Edouard Grave, Yann Dauphin, and Nicolas Usunier. Parseval networks: Improving robustness to adversarial examples. arXiv preprint arXiv:1704.08847, 2017.

Matthieu Courbariaux, Jean-Pierre David, and Yoshua Bengio. Low precision storage for deep learning. Arxiv: 1412.7024, 2014.

Misha Denil, Babak Shakibi, Laurent Dinh, Nando de Freitas, et al. Predicting parameters in deep learning. In Advances in Neural Information Processing Systems, pages 2148–2156, 2013.

Jeffrey L Elman. Finding structure in time. Cognitive science, 14(2):179–211, 1990.

John S Garofolo, Lori F Lamel, William M Fisher, Jonathon G Fiscus, and David S Pallett. Darpa timit acoustic-phonetic continous speech corpus cd-rom. nist speech disc 1-1.1. NASA STI/Recon technical report
n, 93, 1993.

Alex Graves and Jürgen Schmidhuber. Framewise phoneme classification with bidirectional lstm and other neural network architectures. Neural Networks, 18(5):602–610, 2005.

Mikael Henaff, Arthur Szlam, and Yann LeCun. Orthogonal RNNs and long-memory tasks. arXiv preprint arXiv:1602.06662, 2016.

Geoffrey Hinton, Li Deng, Dong Yu, George E Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N Sainath, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. IEEE Signal Processing Magazine, 29(6): 82–97, 2012.

Sepp Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. PhD thesis, diploma thesis, institut für informatik, lehrstuhl prof. brauer, technische universität münchen, 1991.

Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.

Herbert Jaeger. The “echo state” approach to analysing and training recurrent neural networks-with an erratum note. Bonn, Germany: German National Research Center for Information Technology GMD Technical Report, 148(34):13, 2001.

Cijo Jose and François Fleuret. Scalable metric learning via weighted approximate rank component analysis. In European Conference on Computer Vision, pages 875–890. Springer, 2016.

Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.

Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.9

Quoc Le, Tamás Sarlós, and Alex Smola. Fastfood-approximating kernel expansions in loglinear time. In Proceedings of the international conference on machine learning, 2013.

Quoc V Le, Navdeep Jaitly, and Geoffrey E Hinton. A simple way to initialize recurrent networks of rectified linear units. arXiv preprint arXiv:1504.00941, 2015.

Yann LeCun, John S Denker, and Sara A Solla. Optimal brain damage. In Advances in neural information processing systems, pages 598–605, 1990.

Mitchell P Marcus, Mary Ann Marcinkiewicz, and Beatrice Santorini. Building a large annotated corpus of english: The penn treebank. Computational linguistics, 19(2):313–330, 1993.

Paul Mermelstein. Distance measures for speech recognition, psychological and instrumental. Pattern recognition and artificial intelligence, 116:374–388, 1976.

Tomáš Mikolov. Statistical Language Models Based on Neural Networks. PhD thesis, Ph. D. thesis, Brno University of Technology, 2012.

Razvan Pascanu, Tomas Mikolov, and Yoshua Bengio. On the difficulty of training recurrent neural networks. ICML (3), 28:1310–1318, 2013.

Rupesh Kumar Srivastava, Klaus Greff, and Jürgen Schmidhuber. Highway networks. arXiv preprint arXiv:1505.00387, 2015.

Charles F Van Loan. The ubiquitous kronecker product. Journal of computational and applied mathematics, 123(1):85–100, 2000.

Scott Wisdom, Thomas Powers, John Hershey, Jonathan Le Roux, and Les Atlas. Full-capacity unitary recurrent neural networks. In Advances In Neural Information Processing Systems, pages 4880–4888, 2016.

Zichao Yang, Marcin Moczulski, Misha Denil, Nando de Freitas, Alex Smola, Le Song, and Ziyu Wang. Deep fried convnets. In Proceedings of the IEEE International Conference on Computer Vision, pages 1476–1483,2015.

克罗内克递归单元(论文翻译)相关推荐

  1. 克罗内克内积 Kronecker product

    克罗内克内积 Kronecker product ⊗\otimes⊗ 1.1 概述 克罗内克内积是一种特殊的张量积.任何两个形状的矩阵都可以进行克罗内克内积操作. 1.2 定义 Definition ...

  2. Kroneker Tensor:克罗内克张量

    Kroneker Tensor,克罗内克张量 Kroneker张量源自Kronecker delta函数.Kronecker delta,即克罗内克函数(又称克罗内克δ函数.克罗内克δ.克罗内克符号) ...

  3. 克罗内克函数Kronecker Delta【OI Pharos 6.2.1】

    克罗内克函数Kronecker Delta 1 定义 δij={0if i≠j,1if i=j.\delta _{{ij}}={\begin{cases}0&{\text{if }}i\neq ...

  4. 矩阵Kronecker(克罗内克)积

    Kronecker(克罗内克)积 如果A是一个 m × n 的矩阵,而B是一个 p × q 的矩阵,克罗内克积A × B则是一个 mp × nq 的分块矩阵. 在R中使用kronecker来计算两个矩 ...

  5. 【基础数学】克罗内克内积 Kronecker product

    克罗内克内积 Kronecker product ⊗ 1.1 概述 克罗内克内积是一种特殊的张量积.任何两个形状的矩阵都可以进行克罗内克内积操作. 1.2 定义 Definition A⊗B的定义:A ...

  6. Eigen实现克罗内克内积

    eigen版本3.0以上 头文件: #include<eigen3/unsupported/Eigen/KroneckerProduct> //视情况自己选择 使用样例: Eigen::M ...

  7. Kronecker克罗内克 R代码实现

    一.kronecker乘积是什么? 如果A是一个m×n的矩阵,而B是一个p×q的矩阵,克罗内克积则是一个mp×nq的分块矩阵 展开即为 举个例子 二.R代码落地 x <- matrix(1:6, ...

  8. Python求矩阵的内积、外积、克罗内克直积、Khatri-Rao积

    文章目录 矩阵乘法 内积和外积 直积 Khatri-Rao积 矩阵乘法 线性代数研究的核心对象是矩阵,所谓矩阵就是由 m m m行 n n n列的数组成的一个举行的数阵,从编程的角度理解,就是二维数组 ...

  9. 论文翻译 - 深度学习社区发现综述 A Comprehensive Survey on Community Detection with Deep Learning

    为大家介绍一篇「深度学习」在社区发现(图聚类/图划分)方面应用的最新综述论文. 作者:Xing Su 原文链接:https://arxiv.org/abs/2105.12584 Github链接:ht ...

最新文章

  1. 一文详解,jvm内存分代与垃圾回收原理
  2. 《R语言游戏数据分析与挖掘》一3.4 小结
  3. ActivityManager: Warning: Activity not started, its current task has been brought to the front
  4. css如何让滚轮滚动时 不让页面滚动_中国第五届 CSS 大会参会总结
  5. iPhone开发之BASE64加密和解密
  6. python函数参数的作用是_python函数参数理解
  7. 用CSS实现的模式窗口效果,弹出固定大小的窗口
  8. 女同志50岁退休可以早领养老金,55岁退休拿的养老金比较高,哪个更划算?
  9. 用单片机测量流体流速的_旋进旋涡流量计的测量原理及优点
  10. vb杨辉三角代码编写_杨辉三角怎样用VB写杨辉三角的完整代码 – 手机爱问
  11. cam350 不能打开光绘文件_用CAM350导出GERBER文件的基本步骤
  12. 推荐5款你用过之后不舍得卸载的小众软件
  13. 《人月神话》(The Mythical Man-Month)4概念一致性:专制、民主和系统设计(System Design)...
  14. 微软bi报表服务器,安装适用于 Power BI 报表服务器的 Power BI Desktop
  15. python spilt()函数
  16. SAP中有些物料凭证不能用MBST冲销的原因分析
  17. python中main.py是什么意思_Python的__main__.py用法
  18. 脉冲响应不变法C语言程序,脉冲响应不变法-数字信号处理总结.ppt
  19. ADB卸载OPPO浏览器
  20. 计算机与现代化在线投稿,计算机与现代化审稿周期

热门文章

  1. Codeup墓地-1101
  2. python qrcode安装失败_python3安装qrcode
  3. 从原理到实践 如何拍出高质量TEM照片
  4. cgi进程设置多少 宝塔_比较CGI,FastCGI,PHP-CGI与PHP-FPM的区别
  5. 网络验证系统BSPHP,VB.NET对接教程
  6. SpringBoot前后端分离参数传递方式总结
  7. 心在痛苦的跳动着......
  8. 软件工程理论、方法与实践(第十一章)
  9. 基于STM32F103的TCS3200颜色传感器的使用
  10. Terra Aqua/MODIS遥感图像4种批量下载方式及其速度测评