0. 题目
INVESTIGATION OF NODE PRUNING CRITERIA FOR NEURAL NETWORKS MODEL COMPRESSION WITH NON-LINEAR FUNCTION AND NON-UNIFORM NETWORK TOPOLOGY
具有非线性功能和非均匀网络拓扑的神经网络模型压缩的节点修剪准则的研究
1. 摘要
本文研究了针对非均匀深度学习模型(例如自动语音识别(ASR)中的声学模型)的基于节点修剪的压缩。小型修剪ASR的节点修剪已经得到了很好的研究,但是大多数研究都以Sigmoid型为激活函数,并且采用统一或简单的无旁路连接的全连接神经网络。我们提出了一种节点修剪方法,该方法可以应用于非Sigmoid型函数(例如ReLU),并且可以处理与网络拓扑相关的问题(例如旁路连接)。为了处理非Sigmoid型函数,我们扩展了节点熵技术来估计节点活动。为了应对不均匀的网络拓扑,我们提出了三个标准:层间配对,无旁路连接修剪和基于层的修剪速率配置。所提议的方法结合了这四种技术和标准,被用于压缩带有ReLU作为非线性函数,时延神经网络(TDNN)和受残差网络启发的旁路连接的Kaldi声学模型。实验结果表明,通过考虑网络拓扑,该方法在保持ASR精度可比的同时实现了31%的速度提高
关键词: Automatic Speech Recognition (ASR), Small-Footprint, Deep Neural Network, Node Pruning
自动语音识别(ASR), 小型足迹,深度神经网络,节点修剪
2. 简介
最近,过度使用参数[1、2、3](其使用的参数数量超过了最佳数量)可以训练深度学习模型,而不会出现任何问题。 另一方面,因为这样的模型需要巨大的计算成本和资源,所以通过压缩的小尺寸模型对于诸如嵌入式设备,移动计算和车载信息(IVI)应用之类的实际应用是必不可少的。 另外,也有人说模型压缩有助于减少网络复杂性和过度拟合问题[4]。 因此,已经研究了许多模型压缩技术,例如因式分解知识蒸馏和修剪[5]
基于模型稀疏性来进行矩阵分解。基于因子分解的模型压缩技术,例如奇异值分解[6],低秩矩阵分解[7]和矢量量化[8],已有报道。使用Toeplitz矩阵分解[9]和用小矩阵组合替换[10]也被报告为因式分解相关模型压缩。这些报告强调,在图像分类和自动语音识别(ASR)方面,在保持或改善原始模型的性能的同时,模型尺寸已大大减小。分解可以应用于以参数矩阵表示的网络,并且倾向于应用于简单和/或统一的全连接神经网络,例如深层神经网络(DNN)和卷积神经网络(CNN),因为它们可以轻松转换参数矩阵。但是,当将其应用于复杂网络时,当把网络转换为参数矩阵时, 有必要仔细的设计提取这样的网络或网络的一部分
知识蒸馏是另一种类型的模型压缩技术,主要通过师生训练[11,12]。 首先将具有大量参数的神经网络模型训练为教师模型。 之后,根据教师模型训练参数数量较少的学生模型,从而使两个模型的性能相似。 例如,已经报道了许多知识蒸馏技术,这些技术使用基于Kullback-Liebler距离的输出分布[13]和序列级输出分布[14]。 知识蒸馏有助于深度学习模型保持轻量级,同时由于标签平滑规则化而保持其性能[15]。 但是,在模型压缩方面,尚未很好地讨论诸如教师网络与学生网络之间的关系之类的网络拓扑的最优性
修剪已针对各种应用进行了广泛研究 例如ASR [16、17、18],图像分类[19、20、21、22、23]和翻译[24]。大多数研究集中于权重参数或节点活动作为修剪的关键。根据目标神经网络中的层,通道,节点和/或连接,对其进行修剪/共享。一些研究还采用位量化来加快处理速度,同时保持性能[18、21、25]。在[25]中,通过权重参数,节点活动和位量化的组合,在保持ASR准确性的同时,将30%的节点修剪速度提高了五倍。尽管修剪后必须进行微调,但是这些技术显著减小了神经网络的大小。此外,由于不需要分解操作和学生模型的假设,因此它们比其他方法更易于应用。但是,目前的研究有两个问题: (1) 他们只研究了简单的神经网络,例如DNN和CNN,而RNN神经网络往往具有旁路连接, 这是更泛化也既更复杂的拓扑结构。(2) 大多数研究假设使用传统的Sigmoid型函数,尽管通常使用其他非线性函数,如ReLU [26]
上述方法的普遍问题: 模型复杂度随着许多新技术的引入而不断增加,而我们简化它们的目标是简单和/或统一的神经网络,但是不幸的是对非常规和复杂的网络进行模型压缩的准则并未得到很好的讨论。我们想通过提出一种通过旁路连接和非Sigmoid型激活函数来处理非常规的复杂网络的方法来解决这个问题。为了这个目的,我们认为节点修剪方法是有前途的,因为它可以在本地应用,而无需进行矩阵分解和知识蒸馏所需的强大假设。另一方面,将假定简单和/或统一网络通过已经被提出的方法应用于复杂和非统一网络时,模型压缩可能会失败。至少,对于复杂不常规的网络,哪种节点修剪方法可以普遍应用并正确工作尚不明显。我们认为在这种情况下, 应仔细考虑网络的拓扑结构
为了解决上述问题,我们基于节点的修剪方法扩展了节点熵 [25]来处理非Sigmoid形激活函数。 我们还提出了三个标准来处理复杂的不常见(均匀的)的神经网络,即层间配对,无旁路连接修剪, 基于层的修剪比例配置。 验证了这些方法和标准: 通过选择带有时延神经网络(TDNN),分解式TDNN(TDNN-F)和旁路连接的Kaldi声学模型的任务来进行实验。 结果,确认了所提出的方法将速度提高了31%,同时保持了ASR精度可比, 并且压缩的时具有非均匀网络拓扑的模型的问题