This application discloses an improved neural network compression method, which can be used to integrate neural network pruning technology into the original training process of neural network, so as to reduce the number of training iterations, and shorten the training period of sparse neural network. This method can also be applied to pruning technology into the compression training process of a trained model, so as to achieve the compression of neural network on the premise of guaranteeing the accuracy of the model.
【技术实现步骤摘要】
一种深度神经网络压缩方法专利
本专利技术涉及一种深度神经网络的压缩方法及装置。
技术介绍
人工神经网络人工神经网络(ArtificialNeuralNetworks,ANNs),又称神经网络(NNs),是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。近年来,神经网络得到快速发展,被广泛应用于诸多领域,如图像识别、语音识别、自然语言处理、基因表达、内容推送等等。在神经网络模型,存在大量彼此连接的节点(也称“神经元”)。每个神经元,通过某种特定的输出函数(也称“激活函数”(ActivationFunction))计算处理来自其它相邻神经元的加权输入值,并且神经元之间的信息传递强度用“权值”来定义。算法通过自我学习,调整该权值。早期的神经网络只有输入和输出层两层,无法处理复杂的逻辑,限制了其实用性。深度神经网络(DeepNeuralNetwork,DNNs)通过在输入和输出层之间添加隐藏的中间层,有效提升了网络在处理复杂问题时的表现。图1示出了深度神经网络的示意图。为了适应不同的应用场景,深度神经网络进而衍生出多种不同的结构。例如,循环神经网络(RecurrentNeuralNetworks,RNNs)是一种常用的深度神经网络模型。不同于传统前向神经网络(Feed-forwardNeuralNetworks),循环神经网络本身具有记忆性,神经元既可以从上一层神经元获取信息,又可以从自身所在的隐层获取信息,这使其能够广泛应用于与时序相关的问题处理上。例如,在语音识别中,信号的前后关联很强,即,识别句子中的单词和该单词前面的单词序列关系十分紧 ...
【技术保护点】
一种稠密神经网络的压缩方法,所述稠密神经网络的神经元之间的连接关系由多个权重矩阵表示,所述方法包括:初始训练步骤,用于对初始稠密神经网络进行初始训练,使原始稠密神经网络收敛到中间稠密神经网络;压缩策略确定步骤,用于确定一个压缩周期的压缩策略,所述压缩策略至少包括:所述压缩周期内每次剪枝操作的压缩率、剪枝操作的次数和所述压缩周期的目标压缩率;和剪枝及重训步骤,用于基于所述压缩策略对中间稠密神经网络进行剪枝和重训操作,直到所述中间稠密神经网络被压缩为具有所述压缩周期的目标压缩率的稀疏神经网络。
【技术特征摘要】
1.一种稠密神经网络的压缩方法,所述稠密神经网络的神经元之间的连接关系由多个权重矩阵表示,所述方法包括:初始训练步骤,用于对初始稠密神经网络进行初始训练,使原始稠密神经网络收敛到中间稠密神经网络;压缩策略确定步骤,用于确定一个压缩周期的压缩策略,所述压缩策略至少包括:所述压缩周期内每次剪枝操作的压缩率、剪枝操作的次数和所述压缩周期的目标压缩率;和剪枝及重训步骤,用于基于所述压缩策略对中间稠密神经网络进行剪枝和重训操作,直到所述中间稠密神经网络被压缩为具有所述压缩周期的目标压缩率的稀疏神经网络。2.根据权利要求1所述的压缩方法,还包括:把所述压缩策略确定步骤和所述剪枝及重训步骤作为一个压缩周期,迭代执行多个压缩周期,直到所述中间稠密神经网络被压缩为具有最终的目标压缩率的稀疏神经网络。3.根据权利要求1所述的压缩方法,其中,每次剪枝操作的压缩率随剪枝次数线性下降至目标压缩率。4.根据权利要求1所述的压缩方法,其中,所述中间稠密神经网络是已经收敛但尚未达到所需精度的稠密神经网络。5.根据权利要求1所述的压缩方法,其中,所述剪枝及重训步骤进一步包括:剪枝步骤,用于基于本次剪枝操作的压缩率对各个矩阵进行剪枝,以获得剪枝后的神经网络;和重训步骤,用于使用训练集训练所述剪枝后的神经网络并进行权值矩阵更新,以恢复神经网络的精度。6.根据权利要求5所述的压缩方法,其中,所述剪枝及重训步骤进一步包括:迭代执行所述剪枝步骤和所述重训步骤,直到所述中间稠密神经网络被压缩为具有所述压缩周期的目标压缩率的稀疏神经网络。7.根据权利要求5所述的压缩方法,其中,所述剪枝步骤进一步包括:对每个矩阵中的所有元素按照绝对值从小到大进行排序;保留与本次剪枝的压缩率对应比例的绝对值较大的元素;以及将其余元素置零。8.根据权利要求5所述的压缩方法,其中,所述重训步骤进一步包括:获得掩码矩阵步骤,用于获得对应于所述剪枝后的神经网络的掩码矩阵,所述掩码矩阵记录所述剪枝后的神经网络的矩阵的非零元素的分布信息;和带掩码重训步骤,用于对所述剪枝后的神经网络带掩码矩阵进行重训,以恢复神经网络的精度。9.一种稠密神经网络的压缩装置,所述稠密神经网络的神经元之间的连接关系由多个权重矩阵表示,所述装置包括:初始训练模块,用于对初始稠密神经网络进行初始训练,使原始稠密神经网络收敛到中间稠密神经网络;压缩策略确定模...
【专利技术属性】
技术研发人员:李鑫,孟通,
申请(专利权)人:北京深鉴科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。