Python微信订餐小程序课程视频
https://blog.csdn.net/m0_56069948/article/details/122285951
Python实战量化交易理财系统
https://blog.csdn.net/m0_56069948/article/details/122285941
目录
摘要1 引言2 相关工作3 学习内部稀疏结构3.1 内部稀疏结构3.2 学习方法4 实验4.1 语言建模4.1.2 延伸到经常性的高速公路网络4.2 机器阅读理解5 结论致谢参考文献附录 A 由L1-规范正则化 揭示的 ISS附录B 在BIDAF中的ISS
论文地址:在长短时记忆中学习内在的稀疏结构
论文代码:https://github.com/wenwei202/iss-rnns
引用格式:Wen W, He Y, Rajbhandari S, et al. Learning intrinsic sparse structures within long short-term memory[C]. nternational Conference on Learning Representations, 2018.
摘要
模型压缩对于递归神经网络(RNN)在资源有限的用户设备和需要快速响应大规模服务请求的商业客户中的广泛采用具有重要意义。这项工作旨在通过减少LSTM单元中基本结构的大小来学习结构稀疏的长期短期记忆(LSTM),这些基本结构包括输入更新(input updataes)、门(gates)、隐藏状态(hidden states)、单元状态(cell states)和输出(outputs)。单独减小基本结构的尺寸可能会导致它们之间的尺寸不一致,从而最终得到无效的LSTM单元。为了克服这一问题,我们提出了LSTM中的内部稀疏结构(Intrinsic Sparse structure, ISS)。移除ISS的一个组件将同时将所有基本结构的尺寸减少1,从而始终保持尺寸的一致性。通过学习LSTM单元内的ISS,获得的LSTM保持规则,同时具有更小的基本结构。基于分组Lasso正则化,我们的方法在不损失Penn TreeBank数据集语言建模的情况下,获得了10.59倍的加速比。通过一个仅有2.69M权值的紧凑模型,成功地对Penn TreeBank数据集的机器问答进行了评估。我们的方法被成功地扩展到非LSTM RNN,如循环高速网(Recurrent Highway Networks,RHNs)。我们的源代码是可用的。
1 引言
模型压缩(Jaderberg et al. (2014), Han et al. (2015a), Wen et al. (2017), Louizos et al.(2017))是一类减小深度神经网络(DNN)规模以加速推理的方法。结构学习(Zoph & Le (2017), Philipp & Carbonell (2017), Cortes et al. (2017))成为DNN结构探索的一个活跃的研究领域,有可能用机器自动化取代人工进行设计空间探索。在这两种技术的交叉中,一个重要的领域是学习DNN中的紧凑结构,以使用最小的内存和执行时间进行高效的推理计算,而不损失准确性。在过去的几年里,卷积神经网络(CNN)的紧凑结构学习已经得到了广泛的探索。Han等人(2015b)提出了稀疏CNN的连接剪枝。剪枝方法在粗粒度水平上也能成功工作,如CNN中的剪枝滤波器(Li et al.(2017))和减少神经元数量(Alvarez & Salzmann (2016)). Wen et al. (2016)提出了一个学习DNN中通用紧凑结构(神经元、滤波器、滤波器形状、通道甚至层)的一般框架。
学习循环神经网络的紧凑结构更具挑战性。由于循环单元在序列中的所有时间步骤中共享,压缩LSTM cell将影响所有时间步。Narang等人最近的一项工作(2017)提出了一种剪枝方法,可以删除RNNs中多达90%的连接。连接剪枝方法稀疏了循环单元的权值,但不能显式改变基本结构,如输入更新数、门、隐藏状态、单元状态和输出。此外,得到的稀疏矩阵具有非零权的不规则/非结构化模式,这不利于现代硬件系统的高效计算(Lebedev & Lempitsky(2016))。之前关于gpu中稀疏矩阵乘法的研究(Wen et al.(2016))表明,speedup2要么是适得其反,要么是可以忽略的。更具体地说,AlexNet权矩阵的稀疏性3为67.6%、92.4%、97.2%、96.6%和94.3%,加速率分别为0.25x、0.52x、1.38x、1.04x和1.36x。这个问题也存在于cpu中。图1显示了稀疏性下的非结构化模式限制了加速。只有当稀疏度超过80%时,我们才开始观察速度的增加,即使稀疏度为95%,远低于理论的20,加速速度也在3 - 4左右。在这项工作中,我们专注于学习结构稀疏的LSTM以提高计算效率。更具体地说,我们的目标是在学习过程中同时减少基本结构的数量,使得到的LSTM保持原始原理图的密集连接,但这些基本结构的尺寸更小;这种紧凑的模型具有结构稀疏性,去掉了权重矩阵中的列和行,其计算效率如图1所示。此外,深度学习框架中的现成库可以直接用于部署简化的LSTM。细节应该解释清楚。
图1:使用非结构化和结构化稀疏性的矩阵乘法加速。速度是在英特尔至强CPU E5-2673 v3@2.40 GHz的英特尔MKL实施中测量的。W·X的广义矩阵-矩阵乘法(GEMM)是用CBLAS-SMEM实现的。选择矩阵大小以反映LSTM中常用的GEM。例如,(A)表示隐藏大小为1500、输入大小为1500、批大小为10的GEMM in LSTM。为了通过稀疏来加速GEMM,W被稀疏。在非结构化稀疏方法中,W被随机稀疏并编码为用于稀疏计算的压缩稀疏行格式(使用MKL scsrmm);在结构化稀疏方法中,W中的2k列和4k行被删除以匹配相同的稀疏度(即删除参数的百分比),从而在较小的规模下更快地进行GEMM。
循环单位是一个至关重要的挑战:由于基本结构相互交织,独立去除这些结构会导致它们的尺寸不匹配,进而导致无效的循环cell。这个问题在CNN中并不存在,在CNN中,神经元(或过滤器)可以被独立地移除,而不会破坏最终网络结构的可用性。我们的关键贡献之一是识别RNNs中的结构,这些结构应该被视为一个组,以最有效地探索基本结构的稀疏性。更具体地说,我们提出了内部稀疏结构(ISS)作为群体来实现这个目标。通过去除与ISS一个部件相关的重量,(基本结构)的尺寸/尺寸同时减少了一个。
我们在Penn Treebank数据集(Marcus et al.(1993))和SQuAD数据集(Rajpurkar et al.(2016))的语言建模中使用LSTM和RHNs来评估我们的方法。我们的方法既适用于微调,也适用于从零开始的训练。在一个包含两个隐藏大小为1500(即ISS的1500个分量)的堆叠LSTM层的RNN中(Zaremba等人(2014)),我们的方法发现,第一个LSTM和第二个LSTM的373和315的大小足以应对同样的困惑。推理速度达到10.59。结果是用相同的epoch数从头训练得到的。直接训练大小为373和315的LSTM不能达到同样的困惑,这证明了学习ISS对于模型压缩的优势。在更紧凑和最先进的模型RHN模型(Zilly等人(2017))和BiDAF模型(Seo等人(2017))中也获得了令人鼓舞的结果。
2 相关工作
DNN压缩的主要方法是降低DNN内部结构的复杂性,这些研究可以分为三类:一、去除原始DNN中的冗余结构,二、逼近DNN的原始功能(Denil等人)。(2013),Jaderberg等人。(2014),Hintonet等人。(2015),Lu等人。(2016),Prabhavalkar等人。(2016),Molchanov等人。(2017)),三、设计具有固有紧凑结构的DNN(Szegedy等人)。(2015),他等人。(2016),Wu等人。(2017),Bradbury等人。(2016))。我们的方法属于第一类。
前馈神经网络(FNNS)中消除冗余结构的研究已经得到了广泛的研究,其中最典型的是CNN。基于L1正则化(Liu et al.(2015),Park等人。(2017))或连接修剪(Han et al. (2015b), Guo et al.(2016)),连接/参数的数量可能会大幅减少。基于群组Lasso的方法被证明在减少CNN中的粗粒度结构(例如,神经元、过滤器、通道、过滤器形状,甚至层)方面是有效的(wenet al.(2016),Alvarez&Salzmann(2016),Lebedev&Lempitsky(2016),Yoon&Hwang(2017))。(2016)将ResNet中的层数从32层减少到18层,而CIFAR-10数据集的精度没有任何损失。Narang等人最近的一项工作。(2017)改进了RNN的连接修剪技术。它压缩了Deep Speech 2的大小(Amodei等人(2016))从268MB增加到32MB左右。然而,就我们所知,在RNN中减少细粒连接外,还很少进行减少粗粒结构的工作。为了填补这一空白,我们的工作目标是开发一种方法,可以学习减少LSTM单元中的基本结构数量。在学习了这些结构后,最终的LSTM仍然是常规LSTM,具有相同的连通性,但尺寸有所减小。
另一个相关的研究方向是FNN或CNN的结构学习。Zoph&Le(2017)使用强化学习来搜索良好的神经结构。Philipp&Carbonell(2017)通过使用组Lasso正则化来动态地添加和消除FNN中的神经元。Cortes等人。(2017)在现有网络中逐步加入子网络,增量减少目标函数。所有这些工作都集中在寻找FNN或CNN中的最优结构以提高分类精度。相反,这项工作的目的是学习LSTM中用于模型压缩的紧凑结构。
3 学习内部稀疏结构
3.1 内部稀疏结构
LSTMs内的计算为(Hochreiter &Schmidhuber (1997))
公式1:it=σ(xt⋅Wxi+ht−1⋅Whi+bi)ft=σ(xt⋅Wxf+ht−1⋅Whf+bf)ot=σ(xt⋅Wxo+ht−1⋅Who+bo)ut=tanh(xt⋅Wxu+ht−1⋅Whu+bu)ct=ft⊙ct−1+it⊙utht=ot⊙tanh(ct)公式1:it=σ(xt⋅Wxi+ht−1⋅Whi+bi)ft=σ(xt⋅Wxf+ht−1⋅Whf+bf)ot=σ(xt⋅Wxo+ht−1⋅Who+bo)ut=tanh(xt⋅Wxu+ht−1⋅Whu+bu)ct=ft⊙ct−1+it⊙utht=ot⊙tanh(ct)公式1:\begin{aligned} &\mathbf{i}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x i}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h i}+\mathbf{b}_{i}\right) \ &\mathbf{f}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x f}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h f}+\mathbf{b}_{f}\right) \ &\mathbf{o}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x o}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h o}+\mathbf{b}_{o}\right) \ &\mathbf{u}_{t}=\tanh \left(\mathbf{x}_{t} \cdot \mathbf{W}_{x u}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h u}+\mathbf{b}_{u}\right) \ &\mathbf{c}_{t}=\mathbf{f}_{t} \odot \mathbf{c}_{t-1}+\mathbf{i}_{t} \odot \mathbf{u}_{t} \ &\mathbf{h}_{t}=\mathbf{o}_{t} \odot \tanh \left(\mathbf{c}_{t}\right) \end{aligned}
其中⊙⊙\odot 是元素乘法,σ(⋅)σ(·)\sigma (·)是Sigmoid函数,tanh(⋅)tanh(·)tanh(·)是双曲正切函数。向量是行向量。WS是权重矩阵,其将(隐藏状态ht−1ht−1h_{t-1}和输入xtxtx_t)的级联转换为输入更新ututu_t和门(ititi_t、ftftf_t和ototo_t)。图2是Olah(2015)布局中的LSTM示意图。文中用矩形块说明了Ws的变换和相应的非线性函数。我们的目标是在LSTM中减小这种复杂结构的大小,同时保持原始原理图。由于元素运算符(“⊕”和“⊗”)的作用,图2中沿蓝色波段的所有向量必须具有相同的维度。我们将这种约束称为“维度一致性”。遵守维度一致性所需的向量包括输入更新、所有门、隐藏状态、单元状态和输出。请注意,隐藏状态通常是连接到分类器层或堆叠的LSTM层的输出。如图2所示。向量(沿蓝带)相互交织,因此从一个或几个向量中独立移除单个分量可能会导致违反维度一致性。为了克服这一点,我们提出了LSTM中的内部稀疏结构(ISS),如图2中的蓝带所示。ISS的一个组件突出显示为白色条带。通过减小ISS的大小(即蓝带的宽度),我们能够同时降低基本结构的尺寸。
图2:LSTM单元中的内部稀疏结构(ISS)
为了学习稀疏ISS,我们转向权重稀疏。公式1中共有八个权重矩阵。(1).我们以图3的形式将它们组织为TensorFlow中的基本LSTM单元。我们可以通过将图3中白色行和白色列中的所有相关权重归零来删除ISS的一个组件。为什么?假设hhh的第kkk个隐藏状态是可移除的,则下面四个权重矩阵中的第k行可以全为零(如图3中左侧白色水平线所示),因为这些权重位于接收第k个无用隐藏状态的连接上。同样,在下一层中接收到第k个隐藏态的所有连接都可以被移除,如右边的白色水平晶体所示。请注意,下一层可以是输出层、LSTM层、完全连接层或它们的组合。ISS覆盖两层或更多层,没有明确的解释,我们指的是第一层LSTM,即ISS的所有权。当第k个隐藏状态变得无用时,产生该隐藏状态的第kkk个输出门和第kkk个单元状态是可移除的。由于第k个输出门是由WxoWxoW_{xo}和WhoWhoW_{ho}中的第kkk个列生成的,因此可以将这些权重置零(如图3中的第四条垂直白线所示)。回顾图2中的计算流程,我们可以得出类似的结论:忘记门、输入门和输入更新,分别由图3中的第一、第二和第三条垂直线所示。为方便起见,我们将白色行和列中的权重称为“ISS weight组”。虽然我们建议在LSTM中使用ISS,但ISS的变体用于普通RNN,GRU(GRU)(Cho等人)。(2014))和循环Highway网(RHN)(Zilly等人(2017))也可以基于同样的理念实现
图3:在权重矩阵中应用固有稀疏结构
即使对于中等规模的LSTM,一个ISS权重组中的权重也可能非常大,为了保持初始识别性能而同时宰杀如此多的权重似乎是非常激进的。然而,拟议的ISS本质上存在于LSTM中,甚至可以通过使用L1范数正则化独立地稀疏每个权重来揭示。实验结果包含在附录A中,揭示了稀疏ISS本质上存在于LSM中,学习过程可以很容易地收敛到去掉ISS比例较高的状态。在3.2节中,我们提出了一种学习方法,显式地去除了比隐含的L1-范数正则化更多的ISS。
3.2 学习方法
假设w(n)kwk(n)w_k^{(n)}是第nnn个LSTM层(1≤n≤N1≤n≤N1≤n≤N和1≤k≤K(n)1≤k≤K(n)1≤k≤K^{(n)})中ISS的第kkk个分量中的所有权重的向量,其中NNN是LSTM层的数目,K(n)K(n)K^{(n)}是第nnn个LSTM层的ISS分量的数目(即,隐藏大小)。优化目标是在不损失精度的情况下尽可能多地删除“ISS权重组”w(n)kwk(n)w_k^{(n)}。在CNN中已经成功地研究了去除权重组(如过滤器、通道和层)的方法,如第2节中总结的。然而,这些方法在RNN中的执行情况尚不清楚。在这里,我们将基于GroupLasso(袁&Lin(2006))的方法扩展到用于ISS稀疏学习的RNN。更具体地说,在极小化函数中加入了组Lasso正则化,以鼓励ISS的稀疏性。在形式上,ISS的正则化是
公式2:R(w)=∑n=1N∑k=1K(n)∥∥w(n)k∥∥2公式2:R(w)=∑n=1N∑k=1K(n)‖wk(n)‖2公式2:R(\mathbf{w})=\sum_{n=1}^{N} \sum_{k=1}^{K^{(n)}}\left|\mathbf{w}_{k}^{(n)}\right|_{2}
其中www是所有权重的向量,并且||⋅||2||·||2||·||_2是L2L2L2范数(即欧几里德长度)。在随机梯度下降(SGD)训练中,更新每个ISS重量组的步骤为:
公式3:w(n)k←w(n)k−η⋅⎛⎝⎜∂E(w)∂w(n)k+λ⋅w(n)k∥∥w(n)k∥∥2⎞⎠⎟公式3:wk(n)←wk(n)−η⋅(∂E(w)∂wk(n)+λ⋅wk(n)‖wk(n)‖2)公式3:\mathbf{w}_{k}^{(n)} \leftarrow \mathbf{w}_{k}^{(n)}-\eta \cdot\left(\frac{\partial E(\mathbf{w})}{\partial \mathbf{w}_{k}^{(n)}}+\lambda \cdot \frac{\mathbf{w}_{k}^{(n)}}{\left|\mathbf{w}_{k}^{(n)}\right|_{2}}\right)
其中E(w)E(w)E(w)为数据丢失率,ηη\eta为学习率,λ>0λ>0\lambda>0为权衡识别精度和稀疏性的组Lasso正则化系数。正则化梯度,即公式中的最后一项。(3),是单位向量。它不断地将每个w(n)kwk(n)w_k^{(n)}的欧几里德长度压缩为零,使得ISS分量的很大一部分在学习后可以强制为全零。为了避免在计算正则化梯度时被零除,我们可以在||⋅||2||·||2||·||_2中添加一个微小的数字ϵϵ\epsilon ,即,
公式4:∥∥w(n)k∥∥2≜ϵ+∑j(w(n)kj)2−−−−−−−−−−−−√公式4:‖wk(n)‖2≜ϵ+∑j(wkj(n))2公式4:\left|\mathbf{w}_{k}^{(n)}\right|_{2} \triangleq \sqrt{\epsilon+\sum_{j}\left(w_{k j}^{(n)}\right)^{2}}
其中w(n)kjwkj(n)w_{kj}^{(n)}是w(n)KwK(n)w_K^{(n)}的第jjj个元素。我们设置ϵ=1.0e−8ϵ=1.0e−8\epsilon =1.0e−8。这种学习方法可以有效地将许多基团挤在零点附近,但由于总是存在波动的权重更新,很难将它们精确地稳定为零点。幸运的是,波动在一个以零为中心的小球内。为了在训练过程中稳定稀疏性,我们将绝对值小于预定义阈值ττ\tau 的权值置零。阈值处理按小批量进行。
4 实验
我们的实验使用已公布的模型作为基线。应用领域包括Penn TreeBank的语言建模和Team数据集的机器问答。为了得到更全面的评价,我们对LSTM模型中的ISS进行了稀疏,其中arge hidden size 1500个,small hidden size 100个。我们还将ISS方法扩展到最先进的循环公路网络(RHN)(Zilly等人, 2017))减少每层单位数。我们将阈值ττ\tau 最大话来充分利用这一优势。对于特定的应用程序,我们通过交叉验证预先设置ττ\tau 。选择对Dense模型(基线)进行稀疏而不降低其性能的最大ττ\tau 。ττ\tau 的验证只需执行一次,无需培训。对于Penn TreeBank中的堆叠LSTM,ττ\tau 为1.0e−4,对于RHN和BiDAF模型,其为4.0e−4。我们使用了(Rasley等人,2017)的HyperDrive探索λλ\lambda 的超参数。更多细节可以在我们的源代码中找到。
为了测量推理速度,实验在双路Intel Xeon CPU E5-2673 v3@2.40 GHz处理器上运行,总共有24个内核(每个插槽12个)和128 GB内存。英特尔MKL库2017更新2用于矩阵乘法运算。利用OpenMP运行时实现了并行性。我们使用英特尔C++编译器17.0生成在Windows Server 2016上运行的可执行文件。每个实验运行1000次,平均执行时间以找出执行延迟。
4.1 语言建模
4.1.1 堆叠LSTM
我们选择了一个具有两个堆叠LSTM层的RNN作为语言建模的基线(Zaremba等人(2014))。两个LSTM单元中隐藏大小都为1500(即ISS的1500个组件)。输出层的词汇量为10000个单词。输入层的词嵌入维数为1500。由于从矩阵中选择向量的计算效率很高,因此没有对词嵌入层进行稀疏化。学习ISS稀疏性采用与基线相同的训练方案,但由于group Lasso正则化也可以避免过拟合,dropout keep ratio比基线的0.35大,为0.6。所有模型都从头开始训练 55 个 epoch。结果如表1所示。注意,在不采用组Lasso正则化的情况下,使用dropout keep ratio为0.6进行训练时,基线过拟合和最低验证复杂度为97.73。复杂性和稀缺性的权衡由λλ\lambda 控制。在第二行,与基线相比,我们的方法可以将第一LSTM单元的ISS数量从1500减少到373,第二LSTM单元的ISS数量减少到315。模型尺寸从66.0 M减少到21.8M,加速速度达到10.59x。实际加速比(10.59x)甚至超过了表1所示的理论乘加减少(7.48x)-这来自于计算效率的提高。当应用结构化稀疏性时,底层权重变得更小,以便以良好的局部性适合L3缓存,从而改善了FLOPS(每秒浮点运算)。与通过连接修剪生成的非结构稀疏RNN相比,这是我们方法的一个关键优势(Narang等人。(2017)),连接修剪存在内存访问模式不规范和理论加速比较低的问题。最后,当学习一个紧凑的结构时,我们的方法可以作为结构正则化来避免过拟合。如表1中第三行所示,更小(25.2M)和更快(7.10x)的模型可以实现更低的复杂度。其学习的权重矩阵如图4所示,其中在第一LSTM和第二LSTM中分别去除了1119和965个ISS分量(白色条形)。
图4:通过组Lasso正则化学习的Intrinsic Sparse Structures(放大以获得更好的视图)原始的权重矩阵被绘制出来,蓝点是非零权重,白点代表零。为了更好地显示,原始矩阵被均匀地下采样10 *10
降低模型复杂性的一种直接方法是直接设计一个隐藏尺寸较小的RNN,并从头开始训练。与直接设计方法相比,我们的ISS方法可以自动学习LSTM中的最优结构。更重要的是,与直接设计方法相比,ISS方法学习的紧凑模型的复杂度更低。为了评估它,我们直接设计具有与表1中第二个RNN完全相同的结构的ARNN,并从头开始训练它,而不是从更大的RNN学习ISS。结果列于表1的最后一行。我们调整了丢弃保持比,以获得直接设计的RNN的最大困惑。最终的测试复杂度为85.66,比我们的ISS方法高7.01。
表1:在堆叠 LSTM 中从头开始学习 ISS 稀疏性
4.1.2 延伸到经常性的高速公路网络
循环公路网(RHN)(Zilly等人(2017))是一类最先进的递归模型,它使“一步到一步的过渡深度大于一”。在RHN中,我们将每层单元的数量定义为RHN宽度。具体来说,我们选择了Zilly等人的表1中的“变分RHN+WT”模型。(2017)为基准线。该方法有深度10个,宽度830个,共23.5M个参数,可以在不降低困惑的情况下,将RHN的宽度从830减小到517。
按照识别“ISS权重组”以减小LSTM基本结构尺寸的相同思想,我们可以识别RHN中的组以减小RHN的宽度。简而言之,一组包括H非线性变换、T门和C门以及嵌入层和输出层的权重矩阵中的对应列/行。团体规模为46520人。这些组由我们源代码4中的JSON文件指示。通过在RHN中学习ISS,我们可以同时降低单词嵌入的维度和每层单元的数量。
表2总结了结果。除了在ISS学习中使用较小的辍学率外,所有实验都是用基线中相同的超参数从头开始训练的。更大的λ,更小的RHN宽度,但更高的困惑。更重要的是,在不损失复杂性的情况下,我们的方法可以从RHN宽度为830的初始模型学习到RHN宽度为517的较小模型。这将模型尺寸减少到11.1M,减少了52.8%。此外,ISS学习可以找到宽度为726的较小的RHN模型,同时改善了表2中第二个条目所示的最新困惑。
4.2 机器阅读理解
我们通过最先进的数据集(班组)和模型(BiDAF)来评估ISS方法。小队(Ra-jpukar等人)(2016))是最近发布的阅读理解数据集,从500多篇维基百科文章的100,000多个问答对中众包而来。ExactMatch(EM)和F1得分是这项任务的两个主要指标。得分越高,模型越好。我们采用了BiDAF(Seo等人(2017)评估ISS方法在LSTM小型单位中的工作情况。BiDAF是一个紧凑型机器问答模型,总权重为2.69m。在所有LSTM单元中,国际空间站的大小只有100。BiDAF的实施由其作者提供。
BiDAF 具有字符、单词和上下文嵌入层,用于从输入句子中提取表示,接下来是双向注意层、建模层和最终输出层。LSTM 单元用于上下文嵌入层、建模层和输出层。 所有 LSTM 都是双向的(Schuster & Paliwal (1997))。 在双向 LSTM 中,有一个前向加一个后向 LSTM 分支。 这两个分支共享输入,它们的输出连接到下一个堆叠层。 我们发现很难在上下文嵌入层中删除 ISS 组件,因为表示相对密集,因为它接近输入,并且原始隐藏大小 (100) 相对较小。 在我们的实验中,我们在上下文嵌入层中排除了 LSTM,并稀疏化了所有其他 LSTM 层。 这些 LSTM 层是 BiDAF 的计算瓶颈。
我们分析了在CPU上的计算时间,发现LSTM层(不包括上下文嵌入层)占用了总推理时间的76.47%。我们将稀疏三个双向LSTM层,其中两个属于建模层,一个属于输出层。(2017年)。为简单起见,我们将建模层中第一个双向LSTM的前向(向后)路径标记为ModFwd1(ModBwd1)。SIM--通常,modFwd2和modBwd2用于第二个双向LSTM。输出层中的前向(后向)LSTMPath标记为OutFwd和OutBwd。
如3.1节所讨论的,多个并行层可以从相同的LSTM层接收隐藏状态,并且所有连接(权重)接收属于相同ISS的那些隐藏状态。例如,modFwd2和modBwd2都接收到modFwd1的隐藏状态作为输入,因此第k个“ISS权重组”包括在modFwd2和modBwd2两者中的第k行权重,加上在modFwd1内的第k个ISS分量中的权重。为简单起见,我们使用“ISS of modFwd1”来指代整个权重组。附录B的表5中包括了六个ISS的结构。我们通过微调基线和从头开始训练来了解BiDAF中的ISS稀疏性。除了采用较高的辍学保持率外,所有训练方案都保持与基线相同。经过训练,我们将绝对值小于0.02的权重置零。这不会影响Emand F1的分数,但会增加稀疏性。
表3显示了EM、F1、剩余ISS组件的数量、模型大小和推断速度。第一行是基线BiDAF。其他行通过使用ISS正则化微调基线来获得。在第二行,通过学习ISS,在EM和F1损失较小的情况下,我们可以减少除modFwd1之外的所有LSTM的ISS。例如,国际空间站近一半的部件是在OutBwd中拆除的。通过增加群体套索正则化(λ)的强度,我们可以通过丢失一些EM/F1分数来增加ISS稀疏性。权衡如表3所示。在2.63 F1失分的情况下,OutFwd和OutBwd的大小可以分别从原来的100减少到15和12。最后,我们发现很难在不损失EM/F1分数的情况下减少国际空间站的规模。这意味着BiDAF是足够紧凑的,其规模适合于计算和精度。然而,我们的方法仍然可以在可接受的性能损失下显著压缩该紧凑模型。
表 3:BiDAF 中剩余的 ISS 组件通过微调
最后,我们没有微调基线,而是使用ISS学习从头开始训练BiDAF。结果汇总在表4中。当从头开始训练时,我们的方法也很好地工作。总体而言,从头开始的训练比微调更好地平衡了所有层的稀疏性,这导致了更好的模型大小压缩和推理时间加速。“ISS权重组”的矢量长度直方图如附录C所示。
表 4:BiDAF 中剩余的 ISS 组件通过从头开始训练
5 结论
我们提出了LSTM中的本征稀疏结构(ISS)及其学习方法,以同时减少复杂LSTM结构中输入更新、门、隐藏状态、单元状态和输出的大小。通过学习ISS,可以得到一个结构稀疏的LSTM,它本质上是一个降低了隐维的规则LSTM。因此,不需要特定的软件或硬件定制来获得存储节省和计算加速。虽然ISS是与LSTM一起提出的,但它可以很容易地扩展到普通RNN、门控经常性单位(GRU)(Choet al.(2014))和经常性公路网(RHN)(Zilly等人)。(2017))。
致谢
感谢微软的研究人员和工程师对这项工作提供了宝贵的反馈,并感谢魏鹤、张飞、刘毅、雅各布·德夫林和陈洲。还要感谢JeffRasley(布朗大学微软研究院实习生)帮助我使用超光驱(Rasleyer al.(2017))进行超参数探测。这项工作得到了美国国家科学基金会CCF-1744082、NSF CCF-1725456和能源部SC0017030的部分支持。本材料中表达的任何观点、发现、结论或建议均为作者的观点,不一定反映NSF、美国能源部或其承包商的观点。
参考文献
Jose M Alvarez and Mathieu Salzmann. Learning the number of neurons in deep networks. In Advances in Neural Information Processing Systems, 2016.
Dario Amodei, Sundaram Ananthanarayanan, Rishita Anubhai, Jingliang Bai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Qiang Cheng, Guoliang Chen, et al. Deep speech 2: Endto- end speech recognition in english and mandarin. In International Conference on Machine Learning, pp. 173 182, 2016.
James Bradbury, Stephen Merity, Caiming Xiong, and Richard Socher. Quasi-recurrent neural networks. arXiv:1611.01576, 2016.
Kyunghyun Cho, Bart Van Merri enboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv:1406.1078, 2014.
Corinna Cortes, Xavi Gonzalvo, Vitaly Kuznetsov, Mehryar Mohri, and Scott Yang. Adanet: Adaptive structural learning of artificial neural networks. In Proceedings of the 34th International Conference on Machine Learning, pp. 874 883, 2017.
Misha Denil, Babak Shakibi, Laurent Dinh, Nando de Freitas, et al. Predicting parameters in deep learning. In Advances in Neural Information Processing Systems, 2013.
Yiwen Guo, Anbang Yao, and Yurong Chen. Dynamic network surgery for efficient dnns. In Advances In Neural Information Processing Systems, 2016.
Song Han, Huizi Mao, andWilliam J Dally. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv:1510.00149, 2015a.
Song Han, Jeff Pool, John Tran, and William Dally. Learning both weights and connections for efficient neural network. In Advances in Neural Information Processing Systems, 2015b.
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770 778, 2016.
Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.
Sepp Hochreiter and J urgen Schmidhuber. Long short-term memory. Neural computation, 9(8): 1735 1780, 1997.
Max Jaderberg, Andrea Vedaldi, and Andrew Zisserman. Speeding up convolutional neural networks with low rank expansions. arXiv:1405.3866, 2014.
Vadim Lebedev and Victor Lempitsky. Fast convnets using group-wise brain damage. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2554 2564, 2016.
Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning filters for efficient convnets. In International Conference on Learning Representations (ICLR), 2017.
Baoyuan Liu, MinWang, Hassan Foroosh, Marshall Tappen, and Marianna Pensky. Sparse convolutional neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 806 814, 2015.
Christos Louizos, Karen Ullrich, and Max Welling. Bayesian compression for deep learning. arXiv:1705.08665, 2017.
Zhiyun Lu, Vikas Sindhwani, and Tara N Sainath. Learning compact recurrent neural networks. In Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on, pp. 5960 5964. IEEE, 2016.
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.
Pavlo Molchanov, Stephen Tyree, Tero Karras, Timo Aila, and Jan Kautz. Pruning convolutional neural networks for resource efficient inference. In International Conference on Learning Representations (ICLR), 2017.
Sharan Narang, Gregory Diamos, Shubho Sengupta, and Erich Elsen. Exploring sparsity in recurrent neural networks. arXiv:1704.05119, 2017.
Christopher Olah. Understanding lstm networks. GITHUB blog, posted on August, 27:2015, 2015.
Jongsoo Park, Sheng Li, Wei Wen, Ping Tak Peter Tang, Hai Li, Yiran Chen, and Pradeep Dubey. Faster cnns with direct sparse convolutions and guided pruning. In International Conference on Learning Representations (ICLR), 2017.
George Philipp and Jaime G Carbonell. Nonparametric neural networks. In International Conference on Learning Representations (ICLR), 2017.
Rohit Prabhavalkar, Ouais Alsharif, Antoine Bruguier, and Lan McGraw. On the compression of recurrent neural networks with an application to lvcsr acoustic modeling for embedded speech recognition. In Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on, pp. 5970 5974. IEEE, 2016.
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. Squad: 100,000+ questions for machine comprehension of text. arXiv:1606.05250, 2016.
Jeff Rasley, Yuxiong He, Feng Yan, Olatunji Ruwase, and Rodrigo Fonseca. HyperDrive: Exploring Hyperparameters with POP Scheduling. In Proceedings of the 18th International Middleware Conference, Middleware 17. ACM, 2017.
Mike Schuster and Kuldip K Paliwal. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11):2673 2681, 1997.
Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. Bidirectional attention flow for machine comprehension. In International Conference on Learning Representations (ICLR), 2017.
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1 9, 2015.
Wei Wen, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. Learning structured sparsity in deep neural networks. In Advances in Neural Information Processing Systems, 2016.
Wei Wen, Cong Xu, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. Coordinating filters for faster deep neural networks. In The IEEE International Conference on Computer Vision (ICCV), October 2017.
Chunpeng Wu, Wei Wen, Tariq Afzal, Yongmei Zhang, Yiran Chen, and Hai Li. A compact dnn: Approaching googlenet-level accuracy of classification and domain adaptation. In Proceedings of the IEEE conference on computer vision and pattern recognition, 2017.
Jaehong Yoon and Sung Ju Hwang. Combined group and exclusive sparsity for deep neural networks. In International Conference on Machine Learning, pp. 3958 3966, 2017.
Ming Yuan and Yi Lin. Model selection and estimation in regression with grouped variables. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 68(1):49 67, 2006.
Wojciech Zaremba, Ilya Sutskever, and Oriol Vinyals. Recurrent neural network regularization. arXiv:1409.2329, 2014.
Julian Georg Zilly, Rupesh Kumar Srivastava, Jan Koutn ık, and J urgen Schmidhuber. Recurrent highway networks. In Proceedings of the 34th International Conference on Machine Learning, pp. 4189 4198, 2017. Barret Zoph and Quoc V Le. Neural architecture search with reinforcement learning. In International Conference on Learning Representations (ICLR), 2017.
附录 A 由L1-规范正则化 揭示的 ISS
图5:L1正则化揭示的内在稀疏结构(放大看更好)。最上面一行是原始的权重矩阵,蓝点是非零权重,白点代表零;
最下面一行是图3格式的权重矩阵,其中白色条是ISS组件,其权重均为零。为了更好的可视化,原始矩阵被均匀地下采样10*10
我们以Zaremba等人的大型堆叠LSTM为例。以语言建模为例,网络有两层层叠的LSTM层,其输入和状态维度均为1500,其输出层的词汇量为10000个单词。两个LSTM层的“ISS权重组”大小分别为24000和28000。验证集和测试集的复杂度分别为82.57和78.57。我们使用1范数正则化来微调这个基线LSTM。采用与基线相同的训练超参数,但较大的辍学保持比为0.6(原始为0.35)。由于
1范数也是一种正则化,以避免过度拟合,所以使用较弱的辍学。太强的辍学加上`1范数正则化可能会导致拟合不足。1-范数正则化的权衰减率为0.0001。稀疏网络的验证复杂度和测试复杂度分别为82.40和78.60,与基线基本一致。第一LSTM层、第二LSTM层和最后输出层的权值稀疏度分别为91.66%、90.32%和90.22%。图5绘制了学习的稀疏权重矩阵。顶行的稀疏矩阵显示了一些有趣的模式:有许多全零的列和行,它们的位置高度相关。这些图案的轮廓显示在最下面的一行。令我们惊讶的是,独立地稀疏个体权重可以收敛到稀疏LSTM,其中第一和第二LSTM层中的许多ISS移除-504和220 ISS组件都是全零的。
附录B 在BIDAF中的ISS
作者:凌逆战欢迎任何形式的转载,但请务必注明出处。限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。本文章不做任何商业用途,仅作为自学所用,文章后面会有参考链接,我可能会复制原作者的话,如果介意,我会修改或者删除。
转载请注明:xuhss » 论文翻译:2018_LSTM剪枝_Learning intrinsic sparse structures within long short-term memory