LSTM如何学习长时记忆中的内在稀疏结构?

摘要:论文地址:在长短时记忆中学习内在的稀疏结构 论文代码:https:github.comwenwei202iss-rnns 引用格式:Wen W, He Y, Rajbhandari S, et al. Learning intrin
论文地址:在长短时记忆中学习内在的稀疏结构 论文代码: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权矩阵的稀疏性为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。细节应该解释清楚。
阅读全文